summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d35d7fb)
raw | patch | inline | side by side (parent: d35d7fb)
author | DeaDDooMER <deaddoomer@deadsoftware.ru> | |
Sun, 16 Jan 2022 21:35:18 +0000 (00:35 +0300) | ||
committer | DeaDDooMER <deaddoomer@deadsoftware.ru> | |
Fri, 9 Jun 2023 07:53:11 +0000 (10:53 +0300) |
src/game/g_panel.pas | patch | blob | history |
diff --git a/src/game/g_panel.pas b/src/game/g_panel.pas
index 71c653e29e8330a6924f182ceef8a485d5537ef8..e3c52b0b16eee4352455895550cd27f586590e0d 100644 (file)
--- a/src/game/g_panel.pas
+++ b/src/game/g_panel.pas
{ T P a n e l : }
+ function FindTextureByName (const name: String): Integer;
+ var i: Integer;
+ begin
+ Result := -1;
+ if Textures <> nil then
+ begin
+ for i := 0 to High(Textures) do
+ begin
+ if Textures[i].TextureName = name then
+ begin
+ Result := i;
+ break;
+ end
+ end
+ end
+ end;
+
constructor TPanel.Create(PanelRec: TDynRecord;
AddTextures: TAddTextureArray;
CurTex: Integer;
begin
SetLength(FTextureIDs, 1);
FTextureIDs[0].Anim := False;
-
-{
- // !!! set this
case PanelRec.PanelType of
- PANEL_WATER:
- FTextureIDs[0].Tex := LongWord(TEXTURE_SPECIAL_WATER);
- PANEL_ACID1:
- FTextureIDs[0].Tex := LongWord(TEXTURE_SPECIAL_ACID1);
- PANEL_ACID2:
- FTextureIDs[0].Tex := LongWord(TEXTURE_SPECIAL_ACID2);
+ PANEL_WATER: FTextureIDs[0].Texture := FindTextureByName(TEXTURE_NAME_WATER);
+ PANEL_ACID1: FTextureIDs[0].Texture := FindTextureByName(TEXTURE_NAME_ACID1);
+ PANEL_ACID2: FTextureIDs[0].Texture := FindTextureByName(TEXTURE_NAME_ACID2);
end;
-}
-
FCurTexture := 0;
Exit;
end;
LastAnimLoop := AnimLoop;
end;
-function TPanel.GetTextureID(): DWORD;
-begin
- Result := LongWord(TEXTURE_NONE);
-// if (FCurTexture >= 0) then
-// begin
-// if FTextureIDs[FCurTexture].Anim then
-// Result := Textures[FTextureIDs[FCurTexture].Texture].FramesID
-// else
-// Result := Textures[FTextureIDs[FCurTexture].Texture].TextureID
-{
- // !!! old behavior
- if FTextureIDs[FCurTexture].Anim then
- Result := FTextureIDs[FCurTexture].AnTex.FramesID
- else
- Result := FTextureIDs[FCurTexture].Tex;
-}
-// end
-end;
+ function TPanel.GetTextureID(): DWORD;
+ var Texture: Integer;
+ begin
+ Result := LongWord(TEXTURE_NONE);
+ if (FCurTexture >= 0) then
+ begin
+ Texture := FTextureIDs[FCurTexture].Texture;
+ case Textures[Texture].TextureName of
+ TEXTURE_NAME_WATER: Result := DWORD(TEXTURE_SPECIAL_WATER);
+ TEXTURE_NAME_ACID1: Result := DWORD(TEXTURE_SPECIAL_ACID1);
+ TEXTURE_NAME_ACID2: Result := DWORD(TEXTURE_SPECIAL_ACID2);
+ end
+ end
+ end;
function TPanel.GetTextureCount(): Integer;
begin