mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Increase TileNo to UINT32
Bigmap grid number values go over uint16 max
This commit is contained in:
+20
-19
@@ -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 )
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user