DEADSOFTWARE

Holmes: increased whitespace between binding name and binding description
[d2df-sdl.git] / src / game / g_panel.pas
index 2ff9af5648006d2650a0b4e5e101e781e03f3003..226515a5dc6a6381ba1d080f0e1f3bf3ac58e775 100644 (file)
@@ -210,7 +210,7 @@ implementation
 
 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'
@@ -223,6 +223,7 @@ constructor TPanel.Create(PanelRec: TDynRecord;
                           var Textures: TLevelTextureArray; aguid: Integer);
 var
   i: Integer;
+  tnum: Integer;
 begin
   X := PanelRec.X;
   Y := PanelRec.Y;
@@ -337,19 +338,22 @@ begin
 // Òåêñòóð íåñêîëüêî - íóæíî ñîõðàíÿòü òåêóùóþ:
   //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
-    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
-  else if not g_Map_IsSpecialTexture(Textures[PanelRec.TextureNum].TextureName) then
+  else if not g_Map_IsSpecialTexture(Textures[{PanelRec.TextureNum}tnum].TextureName) then
   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;