X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-editor.git;a=blobdiff_plain;f=src%2Feditor%2Fg_map.pas;h=15a83dcd348800152892aca67197aa3577f4fc69;hp=fa091deb2cb1c32b6aed93c8fa2975c85e798385;hb=c31a0cde6506576625aab584c2c45aac9168f2dd;hpb=a77aef1652fcbea68ad2f5a7816625bce8debb00 diff --git a/src/editor/g_map.pas b/src/editor/g_map.pas index fa091de..15a83dc 100644 --- a/src/editor/g_map.pas +++ b/src/editor/g_map.pas @@ -246,7 +246,7 @@ implementation uses BinEditor, g_textures, Dialogs, SysUtils, CONFIG, f_main, - Forms, Math, f_addresource_texture, WADEDITOR, g_language; + Forms, Math, f_addresource_texture, WADEDITOR, g_language, g_resources; const OLD_ITEM_MEDKIT_SMALL = 1; @@ -1053,7 +1053,6 @@ end; function SaveMap(Res: String): Pointer; var - WAD: TWADEditor_1; MapWriter: TMapWriter_1; textures: TTexturesRec1Array; panels: TPanelsRec1Array; @@ -1071,7 +1070,6 @@ var Len: LongWord; begin - WAD := nil; textures := nil; panels := nil; items := nil; @@ -1083,17 +1081,6 @@ begin Data := nil; Len := 0; -// Открываем WAD, если надо: - if Res <> '' then - begin - WAD := TWADEditor_1.Create(); - g_ProcessResourceStr(Res, FileName, SectionName, ResName); - if not WAD.ReadFile(FileName) then - WAD.FreeWAD(); - - WAD.CreateImage(); - end; - MapWriter := TMapWriter_1.Create(); // Сохраняем заголовок: @@ -1350,19 +1337,17 @@ begin // Записываем в WAD, если надо: if Res <> '' then - begin - s := utf2win(ResName); - WAD.RemoveResource('', s); - WAD.AddResource(Data, Len, s, ''); - WAD.SaveTo(FileName); - - FreeMem(Data); - WAD.Free(); - - Result := nil; - end + begin + g_ProcessResourceStr(Res, FileName, SectionName, ResName); + g_AddResource(FileName, SectionName, utf2win(ResName), Data, Len, a); + ASSERT(a = 0); + FreeMem(Data); + Result := nil + end else - Result := Data; + begin + Result := Data + end end; procedure AddTexture(res: String; Error: Boolean); @@ -1383,7 +1368,6 @@ end; function LoadMap(Res: String): Boolean; var - WAD: TWADEditor_1; MapReader: TMapReader_1; Header: TMapHeaderRec_1; textures: TTexturesRec1Array; @@ -1423,24 +1407,10 @@ begin MainForm.lLoad.Caption := _lc[I_LOAD_WAD]; Application.ProcessMessages(); -// Открываем WAD: - WAD := TWADEditor_1.Create(); +// Читаем ресурс карты g_ProcessResourceStr(Res, FileName, SectionName, ResName); - - if not WAD.ReadFile(FileName) then - begin - WAD.Free(); - Exit; - end; - -// Читаем ресурс карты: - if not WAD.GetResource('', utf2win(ResName), pData, Len) then - begin - WAD.Free(); - Exit; - end; - - WAD.Free(); + g_ReadResource(FileName, SectionName, ResName, pData, Len); + if pData = nil then Exit; MapReader := TMapReader_1.Create();