From a55dab43b2a1bffa8668085c83f12a1c0b1f8e6b Mon Sep 17 00:00:00 2001 From: Asdow <20314541+Asdow@users.noreply.github.com> Date: Thu, 19 Jan 2023 00:47:01 +0200 Subject: [PATCH] Prevent illegal array access if GridNo = NOWHERE (#93) --- TileEngine/renderworld.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/TileEngine/renderworld.cpp b/TileEngine/renderworld.cpp index 13c86f78b..5258b73a0 100644 --- a/TileEngine/renderworld.cpp +++ b/TileEngine/renderworld.cpp @@ -1034,6 +1034,11 @@ inline UINT16 * GetShadeTable(LEVELNODE * pNode, SOLDIERTYPE * pSoldier, SOLDIER // Shade guy always lighter than scene default! { const auto GridNo = pSoldier->sGridNo; + if (GridNo == NOWHERE) + { + pShadeTable = pPaletteTable->pCurrentShade = pPaletteTable->pShades[DEFAULT_SHADE_LEVEL]; + return pShadeTable; + } UINT8 ubShadeLevel = gpWorldLevelData[GridNo].pLandHead->ubShadeLevel; // If merc is on a roof, shade according to roof brightness if (pSoldier->pathing.bLevel > 0 && gpWorldLevelData[GridNo].pRoofHead != NULL)