X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_panel.pas;h=d0eb1ce7dc3ed2ec7e4b5f0e6ac6f12b96a6fccc;hb=785fe3df9d3c82df346034780156cb63bae43ff7;hp=e88db6b18c7f715304e23662957e504e8984af35;hpb=af02bc9f8b2dea77c3bb3dbcc6d6992bd956dd89;p=d2df-sdl.git diff --git a/src/game/g_panel.pas b/src/game/g_panel.pas index e88db6b..d0eb1ce 100644 --- a/src/game/g_panel.pas +++ b/src/game/g_panel.pas @@ -110,6 +110,7 @@ type 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; @@ -125,6 +126,7 @@ type procedure SetTexture(ID: Integer; AnimLoop: Byte = 0); function GetTextureID(): Cardinal; function GetTextureCount(): Integer; + function CanChangeTexture(): Boolean; procedure SaveState (st: TStream); procedure LoadState (st: TStream); @@ -259,6 +261,7 @@ begin Enabled := True; Door := False; LiftType := 0; + hasTexTrigger := False; case PanelType of PANEL_OPENDOOR: begin Enabled := False; Door := True; end; @@ -1015,6 +1018,10 @@ begin Result := Result + 100; end; +function TPanel.CanChangeTexture(): Boolean; +begin + Result := (GetTextureCount() > 1) or hasTexTrigger; +end; const PAN_SAVE_VERSION = 1;