diff --git a/src/game/g_panel.pas b/src/game/g_panel.pas
index e88db6b18c7f715304e23662957e504e8984af35..d0eb1ce7dc3ed2ec7e4b5f0e6ac6f12b96a6fccc 100644 (file)
--- a/src/game/g_panel.pas
+++ b/src/game/g_panel.pas
tag: Integer; // used in coldets and such; sorry; see g_map.GridTagXXX
proxyId: Integer; // proxy id in map grid (DO NOT USE!)
mapId: AnsiString; // taken directly from map file; dunno why it is here
+ hasTexTrigger: Boolean; // HACK: true when there's a trigger than can change my texture
constructor Create(PanelRec: TDynRecord;
AddTextures: TAddTextureArray;
procedure SetTexture(ID: Integer; AnimLoop: Byte = 0);
function GetTextureID(): Cardinal;
function GetTextureCount(): Integer;
+ function CanChangeTexture(): Boolean;
procedure SaveState (st: TStream);
procedure LoadState (st: TStream);
Enabled := True;
Door := False;
LiftType := 0;
+ hasTexTrigger := False;
case PanelType of
PANEL_OPENDOOR: begin Enabled := False; Door := True; end;
Result := Result + 100;
end;
+function TPanel.CanChangeTexture(): Boolean;
+begin
+ Result := (GetTextureCount() > 1) or hasTexTrigger;
+end;
const
PAN_SAVE_VERSION = 1;