X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_panel.pas;h=d1a2c3bb6a98195ffea8e622349d27e3279c5417;hb=308e38b7e47d95142f20c5f020f176924b7f877e;hp=8a2265af842d9a546aa5eea28bd1c384875b43b1;hpb=ff104a8cdc79693b7546d839605ec73ae135d904;p=d2df-sdl.git diff --git a/src/game/g_panel.pas b/src/game/g_panel.pas index 8a2265a..d1a2c3b 100644 --- a/src/game/g_panel.pas +++ b/src/game/g_panel.pas @@ -1,3 +1,4 @@ +{$MODE DELPHI} unit g_panel; interface @@ -61,8 +62,8 @@ type implementation uses - g_basic, g_map, MAPDEF, g_game, e_graphics, - g_console, g_language; + SysUtils, g_basic, g_map, MAPDEF, g_game, e_graphics, + g_console, g_language, e_log; const PANEL_SIGNATURE = $4C4E4150; // 'PANL' @@ -197,7 +198,15 @@ begin SaveIt := True; // Åñëè íå ñïåöòåêñòóðà, òî çàäàåì ðàçìåðû: - if not g_Map_IsSpecialTexture(Textures[PanelRec.TextureNum].TextureName) then + if PanelRec.TextureNum > High(Textures) then + begin + e_WriteLog(Format('WTF?! PanelRec.TextureNum is out of limits! (%d : %d)', [PanelRec.TextureNum, High(Textures)]), MSG_FATALERROR); + FTextureWidth := 2; + FTextureHeight := 2; + FAlpha := 0; + FBlending := ByteBool(0); + end + else if not g_Map_IsSpecialTexture(Textures[PanelRec.TextureNum].TextureName) then begin FTextureWidth := Textures[PanelRec.TextureNum].Width; FTextureHeight := Textures[PanelRec.TextureNum].Height;