DEADSOFTWARE

i10n: use resourcestring and gettext for localization
[d2df-editor.git] / src / editor / f_packmap.pas
index f9bb418620c837651fb936c85030e7d0d13ddd53..f06f5c8c6b15e7715131a600304fc5abf2f1c7b3 100644 (file)
@@ -53,7 +53,7 @@ implementation
 
 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}
 
@@ -64,7 +64,7 @@ const
 
 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
@@ -91,12 +96,11 @@ begin
       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;
@@ -127,10 +131,8 @@ begin
   if data = nil then
     Exit;
 
-// Не перезаписывать WAD, а дополнить:
   if not cbAdd.Checked then
-    if FileExists(eWAD.Text) then
-      ASSERT(RenameFile(eWAD.Text, eWAD.Text + '.bak0'));
+    g_DeleteFile(eWAD.Text, '.bak0');
 
 // Читаем карту из памяти:
   mr := TMapReader_1.Create();
@@ -148,7 +150,7 @@ begin
       if IsSpecialTexture(res) then
         Continue;
 
-      g_ProcessResourceStr(res, @filename, @section, @resource);
+      g_GetResourceSection(res, filename, section, resource);
 
     // Не записывать стандартные текстуры:
       if (not cbNonStandart.Checked) or
@@ -176,7 +178,7 @@ begin
   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
@@ -201,7 +203,7 @@ begin
   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
@@ -261,7 +263,7 @@ begin
           if res = '' then
             Break;
 
-          g_ProcessResourceStr(res, @filename, @section, @resource);
+          g_GetResourceSection(res, @filename, @section, @resource);
 
         // Не записывать стандартные дополнительные текстуры:
           if (not cbNonStandart.Checked) or
@@ -307,12 +309,12 @@ begin
   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.