diff --git a/src/editor/g_map.pas b/src/editor/g_map.pas
index fa091deb2cb1c32b6aed93c8fa2975c85e798385..d461fd818d8de50f3452d2c0b510e86a85e3f12e 100644 (file)
--- a/src/editor/g_map.pas
+++ b/src/editor/g_map.pas
uses
BinEditor, g_textures, Dialogs, SysUtils, CONFIG, f_main,
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;
const
OLD_ITEM_MEDKIT_SMALL = 1;
function SaveMap(Res: String): Pointer;
var
function SaveMap(Res: String): Pointer;
var
- WAD: TWADEditor_1;
MapWriter: TMapWriter_1;
textures: TTexturesRec1Array;
panels: TPanelsRec1Array;
MapWriter: TMapWriter_1;
textures: TTexturesRec1Array;
panels: TPanelsRec1Array;
Len: LongWord;
begin
Len: LongWord;
begin
- WAD := nil;
textures := nil;
panels := nil;
items := nil;
textures := nil;
panels := nil;
items := nil;
Data := nil;
Len := 0;
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();
// Сохраняем заголовок:
MapWriter := TMapWriter_1.Create();
// Сохраняем заголовок:
// Записываем в WAD, если надо:
if Res <> '' then
// Записываем в 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, ResName, Data, Len, a);
+ ASSERT(a = 0);
+ FreeMem(Data);
+ Result := nil
+ end
else
else
- Result := Data;
+ begin
+ Result := Data
+ end
end;
procedure AddTexture(res: String; Error: Boolean);
end;
procedure AddTexture(res: String; Error: Boolean);
function LoadMap(Res: String): Boolean;
var
function LoadMap(Res: String): Boolean;
var
- WAD: TWADEditor_1;
MapReader: TMapReader_1;
Header: TMapHeaderRec_1;
textures: TTexturesRec1Array;
MapReader: TMapReader_1;
Header: TMapHeaderRec_1;
textures: TTexturesRec1Array;
MainForm.lLoad.Caption := _lc[I_LOAD_WAD];
Application.ProcessMessages();
MainForm.lLoad.Caption := _lc[I_LOAD_WAD];
Application.ProcessMessages();
-// Открываем WAD:
- WAD := TWADEditor_1.Create();
+// Читаем ресурс карты
g_ProcessResourceStr(Res, FileName, SectionName, ResName);
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();
MapReader := TMapReader_1.Create();