index 0c361c52e5ba19bac69a6d399ed6e039851f0716..f06f5c8c6b15e7715131a600304fc5abf2f1c7b3 100644 (file)
--- a/src/editor/f_packmap.pas
+++ b/src/editor/f_packmap.pas
uses
BinEditor, WADEDITOR, g_map, MAPREADER, MAPWRITER, MAPSTRUCT,
- f_main, math, g_language, g_resources;
+ f_main, math, g_language, g_resources, g_options, e_log;
{$R *.lfm}
procedure TPackMapForm.bSelectWADClick(Sender: TObject);
begin
- SaveDialog.Filter := _lc[I_FILE_FILTER_WAD];
+ SaveDialog.Filter := MsgFileFilterWad;
if SaveDialog.Execute() then
eWAD.Text := SaveDialog.FileName;
@@ -74,11 +74,16 @@ function ProcessResource(wad_to, section_to, filename, section, resource: String
var
data: Pointer;
res, len: Integer;
+ us, un: String;
begin
+ Result := True;
if filename = '' then
- g_ProcessResourceStr(OpenedMap, @filename, nil, nil)
+ g_GetResourceSection(OpenedMap, filename, us, un)
else
- filename := EditorDir + 'wads/' + filename;
+ filename := WadsDir + DirectorySeparator + filename;
+ e_WriteLog('ProcessResource: "' + wad_to + '" "' + section_to + '" "' + filename + '" "' + section + '" "' + resource + '"', MSG_NOTIFY);
+
+ if resource = '' then Exit;
g_ReadResource(filename, section, resource, data, len);
if data <> nil then
ASSERT(res = 0)
end;
FreeMem(data);
- Result := True
end
else
begin
- //MessageBox(0, PChar(Format(_lc[I_MSG_WAD_ERROR], [ExtractFileName(filename)])), PChar(_lc[I_MSG_ERROR]), MB_OK + MB_ICONERROR);
- MessageBox(0, PChar(Format(_lc[I_MSG_RES_ERROR], [filename, section, resource])), PChar(_lc[I_MSG_ERROR]), MB_OK + MB_ICONERROR);
+ //Application.MessageBox(PChar(Format(MsgMsgWadError, [ExtractFileName(filename)])), PChar(MsgMsgError), MB_OK + MB_ICONERROR);
+ Application.MessageBox(PChar(Format(MsgMsgResError, [filename, section, resource])), PChar(MsgMsgError), MB_OK + MB_ICONERROR);
Result := False
end
end;
if data = nil then
Exit;
-// Не перезаписывать WAD, а дополнить:
if not cbAdd.Checked then
- begin
- if FileExists(eWAD.Text) then
- begin
- if FileExists(eWAD.Text + '.bak0') then
- ASSERT(DeleteFile(eWAD.Text + '.bak0'));
- ASSERT(RenameFile(eWAD.Text, eWAD.Text + '.bak0'))
- end
- end;
+ g_DeleteFile(eWAD.Text, '.bak0');
// Читаем карту из памяти:
mr := TMapReader_1.Create();
if IsSpecialTexture(res) then
Continue;
- g_ProcessResourceStr(res, @filename, @section, @resource);
+ g_GetResourceSection(res, filename, section, resource);
// Не записывать стандартные текстуры:
if (not cbNonStandart.Checked) or
if cbSky.Checked then
begin
res := win2utf(header.SkyName);
- g_ProcessResourceStr(res, @filename, @section, @resource);
+ g_GetResourceSection(res, filename, section, resource);
// Не записывать стандартное небо:
if (not cbNonStandart.Checked) or
if cbMusic.Checked then
begin
res := win2utf(header.MusicName);
- g_ProcessResourceStr(res, @filename, @section, @resource);
+ g_GetResourceSection(res, filename, section, resource);
// Не записывать стандартную музыку:
if (not cbNonStandart.Checked) or
if res = '' then
Break;
- g_ProcessResourceStr(res, @filename, @section, @resource);
+ g_GetResourceSection(res, @filename, @section, @resource);
// Не записывать стандартные дополнительные текстуры:
if (not cbNonStandart.Checked) or
Close();
ASSERT(a = 0); (* saved *)
- MessageDlg(Format(_lc[I_MSG_PACKED], [eResource.Text, ExtractFileName(eWAD.Text)]), mtInformation, [mbOK], 0);
+ MessageDlg(Format(MsgMsgPacked, [eResource.Text, ExtractFileName(eWAD.Text)]), mtInformation, [mbOK], 0);
end;
procedure TPackMapForm.FormCreate(Sender: TObject);
begin
- SaveDialog.InitialDir := EditorDir;
+ SaveDialog.InitialDir := MapsDir;
end;
end.