diff --git a/src/editor/g_map.pas b/src/editor/g_map.pas
index 15a83dcd348800152892aca67197aa3577f4fc69..0c35d481384f5164798248af97a007c9244106b7 100644 (file)
--- a/src/editor/g_map.pas
+++ b/src/editor/g_map.pas
uses
BinEditor, g_textures, Dialogs, SysUtils, CONFIG, f_main,
- Forms, Math, f_addresource_texture, WADEDITOR, g_language, g_resources;
+ Forms, Math, f_addresource_texture, WADEDITOR, g_language, g_resources, g_options;
const
OLD_ITEM_MEDKIT_SMALL = 1;
fn := fn + Res;
end
else
- fn := EditorDir + 'wads/' + Res;
+ fn := WadsDir + DirectorySeparator + Res;
g_CreateTextureWAD(SKY_TEXTURE, fn);
end;
if Res <> '' then
begin
g_ProcessResourceStr(Res, FileName, SectionName, ResName);
- g_AddResource(FileName, SectionName, utf2win(ResName), Data, Len, a);
+ g_AddResource(FileName, SectionName, ResName, Data, Len, a);
ASSERT(a = 0);
FreeMem(Data);
Result := nil
NH := 0;
MainForm.pbLoad.Position := 0;
- MainForm.lLoad.Caption := _lc[I_LOAD_WAD];
+ MainForm.lLoad.Caption := MsgLoadWad;
Application.ProcessMessages();
// Читаем ресурс карты
MapReader := TMapReader_1.Create();
- MainForm.lLoad.Caption := _lc[I_LOAD_MAP];
+ MainForm.lLoad.Caption := MsgLoadMap;
Application.ProcessMessages();
MapReader.LoadMap(pData);
begin
MainForm.pbLoad.Position := 0;
MainForm.pbLoad.Max := Length(textures);
- MainForm.lLoad.Caption := _lc[I_LOAD_TEXTURES];
+ MainForm.lLoad.Caption := MsgLoadTextures;
for a := 0 to High(textures) do
begin
if _fn = '' then
TextureRes := FileName + ustr
else
- TextureRes := EditorDir+'wads/'+ustr;
+ TextureRes := WadsDir + DirectorySeparator + ustr;
Error := False;
begin
MainForm.pbLoad.Position := 0;
MainForm.pbLoad.Max := Length(panels);
- MainForm.lLoad.Caption := _lc[I_LOAD_PANELS];
+ MainForm.lLoad.Caption := MsgLoadPanels;
for a := 0 to High(panels) do
begin
begin
MainForm.pbLoad.Position := 0;
MainForm.pbLoad.Max := Length(items);
- MainForm.lLoad.Caption := _lc[I_LOAD_ITEMS];
+ MainForm.lLoad.Caption := MsgLoadItems;
for a := 0 to High(items) do
begin
begin
MainForm.pbLoad.Position := 0;
MainForm.pbLoad.Max := Length(monsters);
- MainForm.lLoad.Caption := _lc[I_LOAD_MONSTERS];
+ MainForm.lLoad.Caption := MsgLoadMonsters;
for a := 0 to High(monsters) do
begin
begin
MainForm.pbLoad.Position := 0;
MainForm.pbLoad.Max := Length(areas);
- MainForm.lLoad.Caption := _lc[I_LOAD_AREAS];
+ MainForm.lLoad.Caption := MsgLoadAreas;
for a := 0 to High(areas) do
begin
begin
MainForm.pbLoad.Position := 0;
MainForm.pbLoad.Max := Length(triggers);
- MainForm.lLoad.Caption := _lc[I_LOAD_TRIGGERS];
+ MainForm.lLoad.Caption := MsgLoadTriggers;
for a := 0 to High(triggers) do
begin
// Открытие карты:
MainForm.pbLoad.Position := 0;
- MainForm.lLoad.Caption := _lc[I_LOAD_MAP];;
+ MainForm.lLoad.Caption := MsgLoadMap;;
Application.ProcessMessages();
map := TConfig.CreateFile(_FileName);
MainForm.pbLoad.Max := i;
MainForm.pbLoad.Position := 0;
- MainForm.lLoad.Caption := _lc[I_LOAD_TEXTURES];
+ MainForm.lLoad.Caption := MsgLoadTextures;
for a := 1 to i do
begin
MainForm.pbLoad.StepIt();
Application.ProcessMessages();
- s := TexturePrefix + UpperCase(map.ReadStr('Textures', 'TextureName'+IntToStr(a), ''));
+ s := TexturePrefix + UpperCase(win2utf(map.ReadStr('Textures', 'TextureName'+IntToStr(a), '')));
if s = TexturePrefix then
Continue;
// Нет такой текстуры - ищем в WAD карты:
- if not g_CreateTextureWAD(s, EditorDir+'wads/'+s) then
+ if not g_CreateTextureWAD(s, WadsDir + DirectorySeparator + s) then
begin
s := ExtractFileName(_FileName);
Delete(s, Length(s)-3, 4);
s := UpperCase(s) + '.WAD:TEXTURES\'+ UpperCase(win2utf(map.ReadStr('Textures', 'TextureName'+IntToStr(a), '')));
- if not g_CreateTextureWAD(s, EditorDir+'wads/'+s) then
+ if not g_CreateTextureWAD(s, WadsDir + DirectorySeparator + s) then
Continue;
end;
MainForm.pbLoad.Max := i;
MainForm.pbLoad.Position := 0;
- MainForm.lLoad.Caption := _lc[I_LOAD_PANELS];
+ MainForm.lLoad.Caption := MsgLoadPanels;
for a := 1 to i do
begin
if not map.SectionExists(section) then
Continue;
+ panel := Default(TPanel);
panel.X := map.ReadInt(section, 'X1', 0);
panel.Y := map.ReadInt(section, 'Y1', 0);
panel.Height := map.ReadInt(section, 'Height', 16);
end;
panel.Alpha := map.ReadInt(section, 'Alpha', 0);
+ panel.Blending := false;
// Текстура панели:
if panel.PanelType in [PANEL_WALL, PANEL_BACK, PANEL_FORE, PANEL_STEP] then
begin
- s := TexturePrefix + UpperCase(map.ReadStr(section, 'TextureName', ''));
+ s := TexturePrefix + UpperCase(win2utf(map.ReadStr(section, 'TextureName', '')));
if g_GetTexture(s, panel.TextureID) then
begin
MainForm.pbLoad.Max := i;
MainForm.pbLoad.Position := 0;
- MainForm.lLoad.Caption := _lc[I_LOAD_ITEMS];
+ MainForm.lLoad.Caption := MsgLoadItems;
for a := 1 to i do
begin
if not map.SectionExists(section) then
Continue;
+ item := Default(TItem);
item.X := map.ReadInt(section, 'X', 0);
item.Y := map.ReadInt(section, 'Y', 0);
item.ItemType := ITEMSCONVERT[map.ReadInt(section, 'Type', 0)];
MainForm.pbLoad.Max := i;
MainForm.pbLoad.Position := 0;
- MainForm.lLoad.Caption := _lc[I_LOAD_AREAS];
+ MainForm.lLoad.Caption := MsgLoadAreas;
for a := 1 to i do
begin
if not map.SectionExists(section) then
Continue;
+ area := Default(TArea);
area.X := map.ReadInt(section, 'X', 0);
area.Y := map.ReadInt(section, 'Y', 0);
area.AreaType := map.ReadInt(section, 'Type', 0);
end;
// Чтение параметров карты:
+ gMapInfo := Default(TMapInfo);
with gMapInfo do
begin
- Name := map.ReadStr('MapOptions', 'MapName', '');
- Description := map.ReadStr('MapOptions', 'MapDescription', '');
+ Name := win2utf(map.ReadStr('MapOptions', 'MapName', ''));
+ Description := win2utf(map.ReadStr('MapOptions', 'MapDescription', ''));
Author := '';
MusicName := DefaultMusRes;
SkyName := DefaultSkyRes;
SetLength(Description, 256);
end;
+ LoadSky(gMapInfo.SkyName);
+
map.Free();
Result := True;
SetLength(gTriggers, 0);
gTriggers := nil;
- with gMapInfo do
- begin
- Name := '';
- Description := '';
- Author := '';
- MusicName := '';
- SkyName := '';
- FileName := '';
- Height := 1600;
- Width := 1600;
- end;
+ gMapInfo := Default(TMapInfo);
+ gMapInfo.Width := 1600;
+ gMapInfo.Height := 1600;
with MainForm.lbTextureList do
begin
end;
end;
+procedure DrawContours (fPanelType: Word);
+ var i, xx, yy, ww, hh: Integer;
+begin
+ if gPanels <> nil then
+ for i := 0 to High(gPanels) do
+ if (gPanels[i].PanelType <> 0) and WordBool(gPanels[i].PanelType and fPanelType) then
+ begin
+ xx := gPanels[i].X + MapOffset.X;
+ yy := gPanels[i].Y + MapOffset.Y;
+ ww := gPanels[i].X + MapOffset.X + gPanels[i].Width - 1;
+ hh := gPanels[i].Y + MapOffset.Y + gPanels[i].Height - 1;
+ case gPanels[i].PanelType of
+ PANEL_NONE: ;
+ PANEL_WALL: e_DrawQuad(xx, yy, ww, hh, 208, 208, 208, 0);
+ PANEL_BACK: e_DrawQuad(xx, yy, ww, hh, 64, 64, 64, 0);
+ PANEL_FORE: e_DrawQuad(xx, yy, ww, hh, 128, 128, 128, 0);
+ PANEL_WATER: e_DrawQuad(xx, yy, ww, hh, 0, 0, 192, 0);
+ PANEL_ACID1: e_DrawQuad(xx, yy, ww, hh, 0, 176, 0, 0);
+ PANEL_ACID2: e_DrawQuad(xx, yy, ww, hh, 176, 0, 0, 0);
+ PANEL_STEP: e_DrawQuad(xx, yy, ww, hh, 128, 128, 128, 0);
+ PANEL_LIFTUP: e_DrawQuad(xx, yy, ww, hh, 116, 72, 36, 0);
+ PANEL_LIFTDOWN: e_DrawQuad(xx, yy, ww, hh, 116, 124, 96, 0);
+ PANEL_OPENDOOR: e_DrawQuad(xx, yy, ww, hh, 100, 220, 92, 0);
+ PANEL_CLOSEDOOR: e_DrawQuad(xx, yy, ww, hh, 212, 184, 64, 0);
+ PANEL_BLOCKMON: e_DrawQuad(xx, yy, ww, hh, 192, 0, 192, 0);
+ PANEL_LIFTLEFT: e_DrawQuad(xx, yy, ww, hh, 200, 80, 4, 0);
+ PANEL_LIFTRIGHT: e_DrawQuad(xx, yy, ww, hh, 252, 140, 56, 0);
+ else
+ assert(false)
+ end;
+ end;
+end;
+
procedure DrawMap();
var
a, w, h: Integer;
ww, hh: Word;
sel: Boolean;
r: TRectWH;
-
+ mask: Word;
begin
ID := 0;
// В режиме Превью рисуем небо:
end;
end;
+// Draw panel contours
+ mask := 0;
+ if ContourEnabled[LAYER_BACK] then
+ mask := mask or PANEL_BACK;
+ if ContourEnabled[LAYER_WALLS] then
+ mask := mask or PANEL_WALL;
+ if ContourEnabled[LAYER_FOREGROUND] then
+ mask := mask or PANEL_FORE;
+ if ContourEnabled[LAYER_STEPS] then
+ mask := mask or PANEL_STEP;
+ if ContourEnabled[LAYER_WATER] then
+ mask := mask or PANEL_WATER or PANEL_ACID1 or PANEL_ACID2
+ or PANEL_OPENDOOR or PANEL_CLOSEDOOR or PANEL_BLOCKMON
+ or PANEL_LIFTUP or PANEL_LIFTDOWN or PANEL_LIFTLEFT or PANEL_LIFTRIGHT;
+ if mask <> 0 then
+ DrawContours(mask);
+ if ContourEnabled[LAYER_ITEMS] and (gItems <> nil) then
+ for a := 0 to High(gItems) do
+ if gItems[a].ItemType <> ITEM_NONE then
+ e_DrawQuad(
+ MapOffset.X + gItems[a].X,
+ MapOffset.Y + gItems[a].Y,
+ MapOffset.X + gItems[a].X + ItemSize[gItems[a].ItemType, 0] - 1,
+ MapOffset.Y + gItems[a].Y + ItemSize[gItems[a].ItemType, 1] - 1,
+ 0, 255, 255
+ );
+ if ContourEnabled[LAYER_MONSTERS] and (gMonsters <> nil) then
+ for a := 0 to High(gMonsters) do
+ if gMonsters[a].MonsterType <> MONSTER_NONE then
+ e_DrawQuad(
+ MapOffset.X + gMonsters[a].X,
+ MapOffset.Y + gMonsters[a].Y,
+ MapOffset.X + gMonsters[a].X + MonsterSize[gMonsters[a].MonsterType].Width - 1,
+ MapOffset.Y + gMonsters[a].Y + MonsterSize[gMonsters[a].MonsterType].Height - 1,
+ 200, 0, 0
+ );
+ if ContourEnabled[LAYER_AREAS] and (gAreas <> nil) then
+ for a := 0 to High(gAreas) do
+ if gAreas[a].AreaType <> AREA_NONE then
+ e_DrawQuad(
+ MapOffset.X + gAreas[a].X,
+ MapOffset.Y + gAreas[a].Y,
+ MapOffset.X + gAreas[a].X + AreaSize[gAreas[a].AreaType].Width - 1,
+ MapOffset.Y + gAreas[a].Y + AreaSize[gAreas[a].AreaType].Height - 1,
+ 0, 255, 255
+ );
+ if ContourEnabled[LAYER_TRIGGERS] and (gTriggers <> nil) then
+ for a := 0 to High(gTriggers) do
+ if gTriggers[a].TriggerType <> TRIGGER_NONE then
+ e_DrawQuad(
+ MapOffset.X + gTriggers[a].X,
+ MapOffset.Y + gTriggers[a].Y,
+ MapOffset.X + gTriggers[a].X + gTriggers[a].Width - 1,
+ MapOffset.Y + gTriggers[a].Y + gTriggers[a].Height - 1,
+ 255, 255, 0
+ );
+
// Границы карты:
if PreviewMode = 0 then
begin
- e_DrawFillQuad(-32+MapOffset.X,
- -32+MapOffset.Y,
- gMapInfo.Width+31+MapOffset.X,
- -1+MapOffset.Y,
+ e_DrawFillQuad(0,
+ 0,
+ MainForm.RenderPanel.Width,
+ -1 + MapOffset.Y,
drEdge[0], drEdge[1], drEdge[2], drEdge[3], B_NONE); // Top
- e_DrawFillQuad(-32+MapOffset.X,
- gMapInfo.Height+MapOffset.Y,
- gMapInfo.Width+31+MapOffset.X,
- gMapInfo.Height+31+MapOffset.Y,
+ e_DrawFillQuad(0,
+ gMapInfo.Height + MapOffset.Y,
+ MainForm.RenderPanel.Width,
+ MainForm.RenderPanel.Height,
drEdge[0], drEdge[1], drEdge[2], drEdge[3], B_NONE); // Bottom
- e_DrawFillQuad(-32+MapOffset.X,
+ e_DrawFillQuad(0,
MapOffset.Y,
- -1+MapOffset.X,
- gMapInfo.Height+MapOffset.Y-1,
+ -1 + MapOffset.X,
+ gMapInfo.Height + MapOffset.Y - 1,
drEdge[0], drEdge[1], drEdge[2], drEdge[3], B_NONE); // Left
- e_DrawFillQuad(gMapInfo.Width+MapOffset.X,
+ e_DrawFillQuad(gMapInfo.Width + MapOffset.X,
MapOffset.Y,
- gMapInfo.Width+31+MapOffset.X,
- gMapInfo.Height+MapOffset.Y-1,
+ MainForm.RenderPanel.Width,
+ gMapInfo.Height + MapOffset.Y - 1,
drEdge[0], drEdge[1], drEdge[2], drEdge[3], B_NONE); // Right
end;
end;
procedure LoadData();
begin
- g_CreateTextureWAD('PREVIEW', EditorDir+'data/editor.wad:TEXTURES\CHECKERS');
- g_CreateTextureWAD('NOTEXTURE', EditorDir+'data/game.wad:TEXTURES\NOTEXTURE');
-
- g_CreateTextureWADSize('AREA_REDFLAG', EditorDir+'data/game.wad:TEXTURES\FLAGRED', 0, 0, 64, 64);
- g_CreateTextureWADSize('AREA_BLUEFLAG', EditorDir+'data/game.wad:TEXTURES\FLAGBLUE', 0, 0, 64, 64);
- g_CreateTextureWADSize('AREA_DOMFLAG', EditorDir+'data/game.wad:TEXTURES\FLAGDOM', 0, 0, 64, 64);
-
- g_CreateTextureWADSize('MONSTER_DEMON', EditorDir+'data/game.wad:MTEXTURES\DEMON_SLEEP', 0, 0, 64, 64);
- g_CreateTextureWADSize('MONSTER_IMP', EditorDir+'data/game.wad:MTEXTURES\IMP_SLEEP', 0, 0, 64, 64);
- g_CreateTextureWADSize('MONSTER_ZOMBY', EditorDir+'data/game.wad:MTEXTURES\ZOMBY_SLEEP', 0, 0, 64, 64);
- g_CreateTextureWADSize('MONSTER_SERG', EditorDir+'data/game.wad:MTEXTURES\SERG_SLEEP', 0, 0, 64, 64);
- g_CreateTextureWADSize('MONSTER_CYBER', EditorDir+'data/game.wad:MTEXTURES\CYBER_SLEEP', 0, 0, 128, 128);
- g_CreateTextureWADSize('MONSTER_CGUN', EditorDir+'data/game.wad:MTEXTURES\CGUN_SLEEP', 0, 0, 64, 64);
- g_CreateTextureWADSize('MONSTER_BARON', EditorDir+'data/game.wad:MTEXTURES\BARON_SLEEP', 0, 0, 128, 128);
- g_CreateTextureWADSize('MONSTER_KNIGHT', EditorDir+'data/game.wad:MTEXTURES\KNIGHT_SLEEP', 0, 0, 128, 128);
- g_CreateTextureWADSize('MONSTER_CACO', EditorDir+'data/game.wad:MTEXTURES\CACO_SLEEP', 0, 0, 128, 128);
- g_CreateTextureWADSize('MONSTER_SOUL', EditorDir+'data/game.wad:MTEXTURES\SOUL_SLEEP', 0, 0, 64, 64);
- g_CreateTextureWADSize('MONSTER_PAIN', EditorDir+'data/game.wad:MTEXTURES\PAIN_SLEEP', 0, 0, 128, 128);
- g_CreateTextureWADSize('MONSTER_SPIDER', EditorDir+'data/game.wad:MTEXTURES\SPIDER_SLEEP', 0, 0, 256, 128);
- g_CreateTextureWADSize('MONSTER_BSP', EditorDir+'data/game.wad:MTEXTURES\BSP_SLEEP', 0, 0, 128, 64);
- g_CreateTextureWADSize('MONSTER_MANCUB', EditorDir+'data/game.wad:MTEXTURES\MANCUB_SLEEP', 0, 0, 128, 128);
- g_CreateTextureWADSize('MONSTER_SKEL', EditorDir+'data/game.wad:MTEXTURES\SKEL_SLEEP', 0, 0, 128, 128);
- g_CreateTextureWADSize('MONSTER_VILE', EditorDir+'data/game.wad:MTEXTURES\VILE_SLEEP', 0, 0, 128, 128);
- g_CreateTextureWADSize('MONSTER_FISH', EditorDir+'data/game.wad:MTEXTURES\FISH_SLEEP', 0, 0, 32, 32);
- g_CreateTextureWADSize('MONSTER_BARREL', EditorDir+'data/game.wad:MTEXTURES\BARREL_SLEEP', 0, 0, 64, 64);
- g_CreateTextureWADSize('MONSTER_ROBO', EditorDir+'data/game.wad:MTEXTURES\ROBO_SLEEP', 0, 0, 128, 128);
- g_CreateTextureWADSize('MONSTER_MAN', EditorDir+'data/game.wad:MTEXTURES\MAN_SLEEP', 0, 0, 64, 64);
-
- g_CreateTextureWADSize('ITEM_BLUESPHERE', EditorDir+'data/game.wad:TEXTURES\SBLUE', 0, 0, 32, 32);
- g_CreateTextureWADSize('ITEM_WHITESPHERE', EditorDir+'data/game.wad:TEXTURES\SWHITE', 0, 0, 32, 32);
- g_CreateTextureWADSize('ITEM_ARMORGREEN', EditorDir+'data/game.wad:TEXTURES\ARMORGREEN', 0, 0, 32, 16);
- g_CreateTextureWADSize('ITEM_ARMORBLUE', EditorDir+'data/game.wad:TEXTURES\ARMORBLUE', 0, 0, 32, 16);
- g_CreateTextureWADSize('ITEM_INVUL', EditorDir+'data/game.wad:TEXTURES\INVUL', 0, 0, 32, 32);
- g_CreateTextureWADSize('ITEM_BOTTLE', EditorDir+'data/game.wad:TEXTURES\BOTTLE', 0, 0, 16, 32);
- g_CreateTextureWADSize('ITEM_HELMET', EditorDir+'data/game.wad:TEXTURES\HELMET', 0, 0, 16, 16);
- g_CreateTextureWADSize('ITEM_JETPACK', EditorDir+'data/game.wad:TEXTURES\JETPACK', 0, 0, 32, 32);
- g_CreateTextureWADSize('ITEM_INVIS', EditorDir+'data/game.wad:TEXTURES\INVIS', 0, 0, 32, 32);
- g_CreateTextureWADSize('ITEM_WEAPON_FLAMETHROWER', EditorDir+'data/game.wad:TEXTURES\FLAMETHROWER', 0, 0, 64, 32);
- g_CreateTextureWADSize('ITEM_AMMO_FUELCAN', EditorDir+'data/game.wad:TEXTURES\FUELCAN', 0, 0, 16, 32);
-
- g_CreateTextureWAD('ITEM_MEDKIT_SMALL', EditorDir+'data/game.wad:TEXTURES\MED1');
- g_CreateTextureWAD('ITEM_MEDKIT_LARGE', EditorDir+'data/game.wad:TEXTURES\MED2');
- g_CreateTextureWAD('ITEM_WEAPON_SAW', EditorDir+'data/game.wad:TEXTURES\SAW');
- g_CreateTextureWAD('ITEM_WEAPON_PISTOL', EditorDir+'data/game.wad:TEXTURES\PISTOL');
- g_CreateTextureWAD('ITEM_WEAPON_KASTET', EditorDir+'data/game.wad:TEXTURES\KASTET');
- g_CreateTextureWAD('ITEM_WEAPON_SHOTGUN1', EditorDir+'data/game.wad:TEXTURES\SHOTGUN1');
- g_CreateTextureWAD('ITEM_WEAPON_SHOTGUN2', EditorDir+'data/game.wad:TEXTURES\SHOTGUN2');
- g_CreateTextureWAD('ITEM_WEAPON_CHAINGUN', EditorDir+'data/game.wad:TEXTURES\MGUN');
- g_CreateTextureWAD('ITEM_WEAPON_ROCKETLAUNCHER', EditorDir+'data/game.wad:TEXTURES\RLAUNCHER');
- g_CreateTextureWAD('ITEM_WEAPON_PLASMA', EditorDir+'data/game.wad:TEXTURES\PGUN');
- g_CreateTextureWAD('ITEM_WEAPON_BFG', EditorDir+'data/game.wad:TEXTURES\BFG');
- g_CreateTextureWAD('ITEM_WEAPON_SUPERPULEMET', EditorDir+'data/game.wad:TEXTURES\SPULEMET');
- g_CreateTextureWAD('ITEM_AMMO_BULLETS', EditorDir+'data/game.wad:TEXTURES\CLIP');
- g_CreateTextureWAD('ITEM_AMMO_BULLETS_BOX', EditorDir+'data/game.wad:TEXTURES\AMMO');
- g_CreateTextureWAD('ITEM_AMMO_SHELLS', EditorDir+'data/game.wad:TEXTURES\SHELL1');
- g_CreateTextureWAD('ITEM_AMMO_SHELLS_BOX', EditorDir+'data/game.wad:TEXTURES\SHELL2');
- g_CreateTextureWAD('ITEM_AMMO_ROCKET', EditorDir+'data/game.wad:TEXTURES\ROCKET');
- g_CreateTextureWAD('ITEM_AMMO_ROCKET_BOX', EditorDir+'data/game.wad:TEXTURES\ROCKETS');
- g_CreateTextureWAD('ITEM_AMMO_CELL', EditorDir+'data/game.wad:TEXTURES\CELL');
- g_CreateTextureWAD('ITEM_AMMO_CELL_BIG', EditorDir+'data/game.wad:TEXTURES\CELL2');
- g_CreateTextureWAD('ITEM_AMMO_BACKPACK', EditorDir+'data/game.wad:TEXTURES\BPACK');
- g_CreateTextureWAD('ITEM_KEY_RED', EditorDir+'data/game.wad:TEXTURES\KEYR');
- g_CreateTextureWAD('ITEM_KEY_GREEN', EditorDir+'data/game.wad:TEXTURES\KEYG');
- g_CreateTextureWAD('ITEM_KEY_BLUE', EditorDir+'data/game.wad:TEXTURES\KEYB');
- g_CreateTextureWAD('ITEM_OXYGEN', EditorDir+'data/game.wad:TEXTURES\OXYGEN');
- g_CreateTextureWAD('ITEM_SUIT', EditorDir+'data/game.wad:TEXTURES\SUIT');
- g_CreateTextureWAD('ITEM_MEDKIT_BLACK', EditorDir+'data/game.wad:TEXTURES\BMED');
-
- g_CreateTextureWAD('AREA_PLAYERPOINT1', EditorDir+'data/editor.wad:TEXTURES\P1POINT');
- g_CreateTextureWAD('AREA_PLAYERPOINT2', EditorDir+'data/editor.wad:TEXTURES\P2POINT');
- g_CreateTextureWAD('AREA_DMPOINT', EditorDir+'data/editor.wad:TEXTURES\DMPOINT');
- g_CreateTextureWAD('AREA_REDPOINT', EditorDir+'data/editor.wad:TEXTURES\REDPOINT');
- g_CreateTextureWAD('AREA_BLUEPOINT', EditorDir+'data/editor.wad:TEXTURES\BLUEPOINT');
+ g_CreateTextureWAD('PREVIEW', EditorWad + ':TEXTURES\CHECKERS');
+ g_CreateTextureWAD('NOTEXTURE', GameWad + ':TEXTURES\NOTEXTURE');
+
+ g_CreateTextureWADSize('AREA_REDFLAG', GameWad + ':TEXTURES\FLAGRED', 0, 0, 64, 64);
+ g_CreateTextureWADSize('AREA_BLUEFLAG', GameWad + ':TEXTURES\FLAGBLUE', 0, 0, 64, 64);
+ g_CreateTextureWADSize('AREA_DOMFLAG', GameWad + ':TEXTURES\FLAGDOM', 0, 0, 64, 64);
+
+ g_CreateTextureWADSize('MONSTER_DEMON', GameWad + ':MTEXTURES\DEMON_SLEEP', 0, 0, 64, 64);
+ g_CreateTextureWADSize('MONSTER_IMP', GameWad + ':MTEXTURES\IMP_SLEEP', 0, 0, 64, 64);
+ g_CreateTextureWADSize('MONSTER_ZOMBY', GameWad + ':MTEXTURES\ZOMBY_SLEEP', 0, 0, 64, 64);
+ g_CreateTextureWADSize('MONSTER_SERG', GameWad + ':MTEXTURES\SERG_SLEEP', 0, 0, 64, 64);
+ g_CreateTextureWADSize('MONSTER_CYBER', GameWad + ':MTEXTURES\CYBER_SLEEP', 0, 0, 128, 128);
+ g_CreateTextureWADSize('MONSTER_CGUN', GameWad + ':MTEXTURES\CGUN_SLEEP', 0, 0, 64, 64);
+ g_CreateTextureWADSize('MONSTER_BARON', GameWad + ':MTEXTURES\BARON_SLEEP', 0, 0, 128, 128);
+ g_CreateTextureWADSize('MONSTER_KNIGHT', GameWad + ':MTEXTURES\KNIGHT_SLEEP', 0, 0, 128, 128);
+ g_CreateTextureWADSize('MONSTER_CACO', GameWad + ':MTEXTURES\CACO_SLEEP', 0, 0, 128, 128);
+ g_CreateTextureWADSize('MONSTER_SOUL', GameWad + ':MTEXTURES\SOUL_SLEEP', 0, 0, 64, 64);
+ g_CreateTextureWADSize('MONSTER_PAIN', GameWad + ':MTEXTURES\PAIN_SLEEP', 0, 0, 128, 128);
+ g_CreateTextureWADSize('MONSTER_SPIDER', GameWad + ':MTEXTURES\SPIDER_SLEEP', 0, 0, 256, 128);
+ g_CreateTextureWADSize('MONSTER_BSP', GameWad + ':MTEXTURES\BSP_SLEEP', 0, 0, 128, 64);
+ g_CreateTextureWADSize('MONSTER_MANCUB', GameWad + ':MTEXTURES\MANCUB_SLEEP', 0, 0, 128, 128);
+ g_CreateTextureWADSize('MONSTER_SKEL', GameWad + ':MTEXTURES\SKEL_SLEEP', 0, 0, 128, 128);
+ g_CreateTextureWADSize('MONSTER_VILE', GameWad + ':MTEXTURES\VILE_SLEEP', 0, 0, 128, 128);
+ g_CreateTextureWADSize('MONSTER_FISH', GameWad + ':MTEXTURES\FISH_SLEEP', 0, 0, 32, 32);
+ g_CreateTextureWADSize('MONSTER_BARREL', GameWad + ':MTEXTURES\BARREL_SLEEP', 0, 0, 64, 64);
+ g_CreateTextureWADSize('MONSTER_ROBO', GameWad + ':MTEXTURES\ROBO_SLEEP', 0, 0, 128, 128);
+ g_CreateTextureWADSize('MONSTER_MAN', GameWad + ':MTEXTURES\MAN_SLEEP', 0, 0, 64, 64);
+
+ g_CreateTextureWADSize('ITEM_BLUESPHERE', GameWad + ':TEXTURES\SBLUE', 0, 0, 32, 32);
+ g_CreateTextureWADSize('ITEM_WHITESPHERE', GameWad + ':TEXTURES\SWHITE', 0, 0, 32, 32);
+ g_CreateTextureWADSize('ITEM_ARMORGREEN', GameWad + ':TEXTURES\ARMORGREEN', 0, 0, 32, 16);
+ g_CreateTextureWADSize('ITEM_ARMORBLUE', GameWad + ':TEXTURES\ARMORBLUE', 0, 0, 32, 16);
+ g_CreateTextureWADSize('ITEM_INVUL', GameWad + ':TEXTURES\INVUL', 0, 0, 32, 32);
+ g_CreateTextureWADSize('ITEM_BOTTLE', GameWad + ':TEXTURES\BOTTLE', 0, 0, 16, 32);
+ g_CreateTextureWADSize('ITEM_HELMET', GameWad + ':TEXTURES\HELMET', 0, 0, 16, 16);
+ g_CreateTextureWADSize('ITEM_JETPACK', GameWad + ':TEXTURES\JETPACK', 0, 0, 32, 32);
+ g_CreateTextureWADSize('ITEM_INVIS', GameWad + ':TEXTURES\INVIS', 0, 0, 32, 32);
+ g_CreateTextureWADSize('ITEM_WEAPON_FLAMETHROWER', GameWad + ':TEXTURES\FLAMETHROWER', 0, 0, 64, 32);
+ g_CreateTextureWADSize('ITEM_AMMO_FUELCAN', GameWad + ':TEXTURES\FUELCAN', 0, 0, 16, 32);
+
+ g_CreateTextureWAD('ITEM_MEDKIT_SMALL', GameWad + ':TEXTURES\MED1');
+ g_CreateTextureWAD('ITEM_MEDKIT_LARGE', GameWad + ':TEXTURES\MED2');
+ g_CreateTextureWAD('ITEM_WEAPON_SAW', GameWad + ':TEXTURES\SAW');
+ g_CreateTextureWAD('ITEM_WEAPON_PISTOL', GameWad + ':TEXTURES\PISTOL');
+ g_CreateTextureWAD('ITEM_WEAPON_KASTET', GameWad + ':TEXTURES\KASTET');
+ g_CreateTextureWAD('ITEM_WEAPON_SHOTGUN1', GameWad + ':TEXTURES\SHOTGUN1');
+ g_CreateTextureWAD('ITEM_WEAPON_SHOTGUN2', GameWad + ':TEXTURES\SHOTGUN2');
+ g_CreateTextureWAD('ITEM_WEAPON_CHAINGUN', GameWad + ':TEXTURES\MGUN');
+ g_CreateTextureWAD('ITEM_WEAPON_ROCKETLAUNCHER', GameWad + ':TEXTURES\RLAUNCHER');
+ g_CreateTextureWAD('ITEM_WEAPON_PLASMA', GameWad + ':TEXTURES\PGUN');
+ g_CreateTextureWAD('ITEM_WEAPON_BFG', GameWad + ':TEXTURES\BFG');
+ g_CreateTextureWAD('ITEM_WEAPON_SUPERPULEMET', GameWad + ':TEXTURES\SPULEMET');
+ g_CreateTextureWAD('ITEM_AMMO_BULLETS', GameWad + ':TEXTURES\CLIP');
+ g_CreateTextureWAD('ITEM_AMMO_BULLETS_BOX', GameWad + ':TEXTURES\AMMO');
+ g_CreateTextureWAD('ITEM_AMMO_SHELLS', GameWad + ':TEXTURES\SHELL1');
+ g_CreateTextureWAD('ITEM_AMMO_SHELLS_BOX', GameWad + ':TEXTURES\SHELL2');
+ g_CreateTextureWAD('ITEM_AMMO_ROCKET', GameWad + ':TEXTURES\ROCKET');
+ g_CreateTextureWAD('ITEM_AMMO_ROCKET_BOX', GameWad + ':TEXTURES\ROCKETS');
+ g_CreateTextureWAD('ITEM_AMMO_CELL', GameWad + ':TEXTURES\CELL');
+ g_CreateTextureWAD('ITEM_AMMO_CELL_BIG', GameWad + ':TEXTURES\CELL2');
+ g_CreateTextureWAD('ITEM_AMMO_BACKPACK', GameWad + ':TEXTURES\BPACK');
+ g_CreateTextureWAD('ITEM_KEY_RED', GameWad + ':TEXTURES\KEYR');
+ g_CreateTextureWAD('ITEM_KEY_GREEN', GameWad + ':TEXTURES\KEYG');
+ g_CreateTextureWAD('ITEM_KEY_BLUE', GameWad + ':TEXTURES\KEYB');
+ g_CreateTextureWAD('ITEM_OXYGEN', GameWad + ':TEXTURES\OXYGEN');
+ g_CreateTextureWAD('ITEM_SUIT', GameWad + ':TEXTURES\SUIT');
+ g_CreateTextureWAD('ITEM_MEDKIT_BLACK', GameWad + ':TEXTURES\BMED');
+
+ g_CreateTextureWAD('AREA_PLAYERPOINT1', EditorWad + ':TEXTURES\P1POINT');
+ g_CreateTextureWAD('AREA_PLAYERPOINT2', EditorWad + ':TEXTURES\P2POINT');
+ g_CreateTextureWAD('AREA_DMPOINT', EditorWad + ':TEXTURES\DMPOINT');
+ g_CreateTextureWAD('AREA_REDPOINT', EditorWad + ':TEXTURES\REDPOINT');
+ g_CreateTextureWAD('AREA_BLUEPOINT', EditorWad + ':TEXTURES\BLUEPOINT');
end;
procedure FreeData();