X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Feditor%2Ff_packmap.pas;h=00e3dc0372b3984515df0b1068ee1fb9d6de1763;hb=ecf69fd49c810dc4fe78092ec1f0204cbb719e01;hp=0c361c52e5ba19bac69a6d399ed6e039851f0716;hpb=8c3e397c5920444fc9c1a5c44747708acf1e0467;p=d2df-editor.git diff --git a/src/editor/f_packmap.pas b/src/editor/f_packmap.pas index 0c361c5..00e3dc0 100644 --- a/src/editor/f_packmap.pas +++ b/src/editor/f_packmap.pas @@ -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, e_log; {$R *.lfm} @@ -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; + 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,7 +96,6 @@ begin ASSERT(res = 0) end; FreeMem(data); - Result := True end else begin @@ -103,6 +107,7 @@ end; procedure TPackMapForm.bPackClick(Sender: TObject); var + WadFile: String; mr: TMapReader_1; mw: TMapWriter_1; data: Pointer; @@ -127,16 +132,8 @@ begin 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(); @@ -154,7 +151,7 @@ begin if IsSpecialTexture(res) then Continue; - g_ProcessResourceStr(res, @filename, @section, @resource); + g_GetResourceSection(res, filename, section, resource); // Не записывать стандартные текстуры: if (not cbNonStandart.Checked) or @@ -182,7 +179,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 @@ -207,7 +204,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 @@ -267,7 +264,7 @@ begin if res = '' then Break; - g_ProcessResourceStr(res, @filename, @section, @resource); + g_GetResourceSection(res, @filename, @section, @resource); // Не записывать стандартные дополнительные текстуры: if (not cbNonStandart.Checked) or