diff --git a/src/game/g_panel.pas b/src/game/g_panel.pas
index 2ff9af5648006d2650a0b4e5e101e781e03f3003..226515a5dc6a6381ba1d080f0e1f3bf3ac58e775 100644 (file)
--- a/src/game/g_panel.pas
+++ b/src/game/g_panel.pas
uses
e_texture, g_basic, g_map, g_game, g_gfx, e_graphics, g_weapons, g_triggers,
uses
e_texture, g_basic, g_map, g_game, g_gfx, e_graphics, g_weapons, g_triggers,
- g_console, g_language, g_monsters, g_player, g_grid, e_log, GL, utils, xstreams;
+ g_console, g_language, g_monsters, g_player, g_grid, e_log, GL, geom, utils, xstreams;
const
PANEL_SIGNATURE = $4C4E4150; // 'PANL'
const
PANEL_SIGNATURE = $4C4E4150; // 'PANL'
var Textures: TLevelTextureArray; aguid: Integer);
var
i: Integer;
var Textures: TLevelTextureArray; aguid: Integer);
var
i: Integer;
+ tnum: Integer;
begin
X := PanelRec.X;
Y := PanelRec.Y;
begin
X := PanelRec.X;
Y := PanelRec.Y;
// Òåêñòóð íåñêîëüêî - íóæíî ñîõðàíÿòü òåêóùóþ:
//if Length(FTextureIDs) > 1 then SaveIt := True;
// Òåêñòóð íåñêîëüêî - íóæíî ñîõðàíÿòü òåêóùóþ:
//if Length(FTextureIDs) > 1 then SaveIt := True;
+ if (PanelRec.TextureRec = nil) then tnum := -1 else tnum := PanelRec.tagInt;
+ if (tnum < 0) then tnum := Length(Textures);
+
// Åñëè íå ñïåöòåêñòóðà, òî çàäàåì ðàçìåðû:
// Åñëè íå ñïåöòåêñòóðà, òî çàäàåì ðàçìåðû:
- if PanelRec.TextureNum > High(Textures) then
+ if ({PanelRec.TextureNum}tnum > High(Textures)) then
begin
begin
- e_WriteLog(Format('WTF?! PanelRec.TextureNum is out of limits! (%d : %d)', [PanelRec.TextureNum, High(Textures)]), TMsgType.Fatal);
+ e_WriteLog(Format('WTF?! tnum is out of limits! (%d : %d)', [tnum, High(Textures)]), TMsgType.Warning);
FTextureWidth := 2;
FTextureHeight := 2;
FAlpha := 0;
FBlending := ByteBool(0);
end
FTextureWidth := 2;
FTextureHeight := 2;
FAlpha := 0;
FBlending := ByteBool(0);
end
- else if not g_Map_IsSpecialTexture(Textures[PanelRec.TextureNum].TextureName) then
+ else if not g_Map_IsSpecialTexture(Textures[{PanelRec.TextureNum}tnum].TextureName) then
begin
begin
- FTextureWidth := Textures[PanelRec.TextureNum].Width;
- FTextureHeight := Textures[PanelRec.TextureNum].Height;
+ FTextureWidth := Textures[{PanelRec.TextureNum}tnum].Width;
+ FTextureHeight := Textures[{PanelRec.TextureNum}tnum].Height;
FAlpha := PanelRec.Alpha;
FBlending := ByteBool(PanelRec.Flags and PANEL_FLAG_BLENDING);
end;
FAlpha := PanelRec.Alpha;
FBlending := ByteBool(PanelRec.Flags and PANEL_FLAG_BLENDING);
end;