Increase TileNo to UINT32

Bigmap grid number values go over uint16 max
This commit is contained in:
Asdow
2025-04-05 16:20:37 +03:00
parent 4823ef4929
commit f21cb38647
+20 -19
View File
@@ -1,3 +1,4 @@
#pragma optimize("", off)
#include "builddefines.h" #include "builddefines.h"
/**************************************************************************************** /****************************************************************************************
@@ -460,36 +461,36 @@ UINT16 usNumNodes;
***************************************************************************************/ ***************************************************************************************/
BOOLEAN LightTileBlocked(INT16 iSrcX, INT16 iSrcY, INT16 iX, INT16 iY) BOOLEAN LightTileBlocked(INT16 iSrcX, INT16 iSrcY, INT16 iX, INT16 iY)
{ {
UINT16 usTileNo, usSrcTileNo; UINT32 uiTileNo, uiSrcTileNo;
Assert(gpWorldLevelData!=NULL); Assert(gpWorldLevelData!=NULL);
usTileNo=MAPROWCOLTOPOS(iY, iX); uiTileNo=MAPROWCOLTOPOS(iY, iX);
usSrcTileNo=MAPROWCOLTOPOS(iSrcY, iSrcX); uiSrcTileNo=MAPROWCOLTOPOS(iSrcY, iSrcX);
if (TileIsOutOfBounds(usTileNo)) if (TileIsOutOfBounds(uiTileNo))
{ {
return( FALSE ); return( FALSE );
} }
if (TileIsOutOfBounds(usSrcTileNo)) if (TileIsOutOfBounds(uiSrcTileNo))
{ {
return( FALSE ); return( FALSE );
} }
if(gpWorldLevelData[ usTileNo ].sHeight > gpWorldLevelData[ usSrcTileNo ].sHeight) if(gpWorldLevelData[ uiTileNo ].sHeight > gpWorldLevelData[ uiSrcTileNo ].sHeight)
return(TRUE); return(TRUE);
{ {
UINT16 usTileNo; UINT32 uiTileNo;
LEVELNODE *pStruct; LEVELNODE *pStruct;
usTileNo=MAPROWCOLTOPOS(iY, iX); uiTileNo=MAPROWCOLTOPOS(iY, iX);
pStruct = gpWorldLevelData[ usTileNo ].pStructHead; pStruct = gpWorldLevelData[ uiTileNo ].pStructHead;
if ( pStruct != NULL ) if ( pStruct != NULL )
{ {
// IF WE ARE A WINDOW, DO NOT BLOCK! // IF WE ARE A WINDOW, DO NOT BLOCK!
if ( FindStructure( usTileNo, STRUCTURE_WALLNWINDOW ) != NULL ) if ( FindStructure( uiTileNo, STRUCTURE_WALLNWINDOW ) != NULL )
{ {
return( FALSE ); return( FALSE );
} }
@@ -509,8 +510,8 @@ BOOLEAN LightTileHasWall( INT16 iSrcX, INT16 iSrcY, INT16 iX, INT16 iY)
{ {
//LEVELNODE *pStruct; //LEVELNODE *pStruct;
//UINT32 uiType; //UINT32 uiType;
UINT16 usTileNo; UINT32 uiTileNo;
UINT16 usSrcTileNo; UINT32 uiSrcTileNo;
INT8 bDirection; INT8 bDirection;
UINT8 ubTravelCost; UINT8 ubTravelCost;
//INT8 bWallCount = 0; //INT8 bWallCount = 0;
@@ -518,20 +519,20 @@ UINT8 ubTravelCost;
Assert(gpWorldLevelData!=NULL); Assert(gpWorldLevelData!=NULL);
usTileNo=MAPROWCOLTOPOS(iY, iX); uiTileNo=MAPROWCOLTOPOS(iY, iX);
usSrcTileNo=MAPROWCOLTOPOS(iSrcY, iSrcX); uiSrcTileNo=MAPROWCOLTOPOS(iSrcY, iSrcX);
if ( usTileNo == usSrcTileNo ) if ( uiTileNo == uiSrcTileNo )
{ {
return( FALSE ); return( FALSE );
} }
if ( TileIsOutOfBounds(usTileNo)) if ( TileIsOutOfBounds(uiTileNo))
{ {
return( FALSE ); return( FALSE );
} }
if ( TileIsOutOfBounds(usSrcTileNo)) if ( TileIsOutOfBounds(uiSrcTileNo))
{ {
return( FALSE ); return( FALSE );
} }
@@ -541,7 +542,7 @@ UINT8 ubTravelCost;
bDirection = atan8( iSrcX, iSrcY, iX, iY ); bDirection = atan8( iSrcX, iSrcY, iX, iY );
ubTravelCost = gubWorldMovementCosts[ usTileNo ][ bDirection ][ 0 ]; ubTravelCost = gubWorldMovementCosts[ uiTileNo ][ bDirection ][ 0 ];
if ( ubTravelCost == TRAVELCOST_WALL ) if ( ubTravelCost == TRAVELCOST_WALL )
{ {
@@ -550,7 +551,7 @@ UINT8 ubTravelCost;
if ( IS_TRAVELCOST_DOOR( ubTravelCost ) ) if ( IS_TRAVELCOST_DOOR( ubTravelCost ) )
{ {
ubTravelCost = DoorTravelCost( NULL, usTileNo, ubTravelCost, TRUE, NULL ); ubTravelCost = DoorTravelCost( NULL, uiTileNo, ubTravelCost, TRUE, NULL );
if ( ubTravelCost == TRAVELCOST_OBSTACLE || ubTravelCost == TRAVELCOST_DOOR ) if ( ubTravelCost == TRAVELCOST_OBSTACLE || ubTravelCost == TRAVELCOST_DOOR )
{ {