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"
|
||||
|
||||
/****************************************************************************************
|
||||
@@ -460,36 +461,36 @@ UINT16 usNumNodes;
|
||||
***************************************************************************************/
|
||||
BOOLEAN LightTileBlocked(INT16 iSrcX, INT16 iSrcY, INT16 iX, INT16 iY)
|
||||
{
|
||||
UINT16 usTileNo, usSrcTileNo;
|
||||
UINT32 uiTileNo, uiSrcTileNo;
|
||||
|
||||
Assert(gpWorldLevelData!=NULL);
|
||||
|
||||
usTileNo=MAPROWCOLTOPOS(iY, iX);
|
||||
usSrcTileNo=MAPROWCOLTOPOS(iSrcY, iSrcX);
|
||||
uiTileNo=MAPROWCOLTOPOS(iY, iX);
|
||||
uiSrcTileNo=MAPROWCOLTOPOS(iSrcY, iSrcX);
|
||||
|
||||
if (TileIsOutOfBounds(usTileNo))
|
||||
if (TileIsOutOfBounds(uiTileNo))
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
if (TileIsOutOfBounds(usSrcTileNo))
|
||||
if (TileIsOutOfBounds(uiSrcTileNo))
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
if(gpWorldLevelData[ usTileNo ].sHeight > gpWorldLevelData[ usSrcTileNo ].sHeight)
|
||||
if(gpWorldLevelData[ uiTileNo ].sHeight > gpWorldLevelData[ uiSrcTileNo ].sHeight)
|
||||
return(TRUE);
|
||||
{
|
||||
UINT16 usTileNo;
|
||||
UINT32 uiTileNo;
|
||||
LEVELNODE *pStruct;
|
||||
|
||||
usTileNo=MAPROWCOLTOPOS(iY, iX);
|
||||
uiTileNo=MAPROWCOLTOPOS(iY, iX);
|
||||
|
||||
pStruct = gpWorldLevelData[ usTileNo ].pStructHead;
|
||||
pStruct = gpWorldLevelData[ uiTileNo ].pStructHead;
|
||||
if ( pStruct != NULL )
|
||||
{
|
||||
// IF WE ARE A WINDOW, DO NOT BLOCK!
|
||||
if ( FindStructure( usTileNo, STRUCTURE_WALLNWINDOW ) != NULL )
|
||||
if ( FindStructure( uiTileNo, STRUCTURE_WALLNWINDOW ) != NULL )
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
@@ -509,8 +510,8 @@ BOOLEAN LightTileHasWall( INT16 iSrcX, INT16 iSrcY, INT16 iX, INT16 iY)
|
||||
{
|
||||
//LEVELNODE *pStruct;
|
||||
//UINT32 uiType;
|
||||
UINT16 usTileNo;
|
||||
UINT16 usSrcTileNo;
|
||||
UINT32 uiTileNo;
|
||||
UINT32 uiSrcTileNo;
|
||||
INT8 bDirection;
|
||||
UINT8 ubTravelCost;
|
||||
//INT8 bWallCount = 0;
|
||||
@@ -518,20 +519,20 @@ UINT8 ubTravelCost;
|
||||
|
||||
Assert(gpWorldLevelData!=NULL);
|
||||
|
||||
usTileNo=MAPROWCOLTOPOS(iY, iX);
|
||||
usSrcTileNo=MAPROWCOLTOPOS(iSrcY, iSrcX);
|
||||
uiTileNo=MAPROWCOLTOPOS(iY, iX);
|
||||
uiSrcTileNo=MAPROWCOLTOPOS(iSrcY, iSrcX);
|
||||
|
||||
if ( usTileNo == usSrcTileNo )
|
||||
if ( uiTileNo == uiSrcTileNo )
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
if ( TileIsOutOfBounds(usTileNo))
|
||||
if ( TileIsOutOfBounds(uiTileNo))
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
if ( TileIsOutOfBounds(usSrcTileNo))
|
||||
if ( TileIsOutOfBounds(uiSrcTileNo))
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
@@ -541,7 +542,7 @@ UINT8 ubTravelCost;
|
||||
bDirection = atan8( iSrcX, iSrcY, iX, iY );
|
||||
|
||||
|
||||
ubTravelCost = gubWorldMovementCosts[ usTileNo ][ bDirection ][ 0 ];
|
||||
ubTravelCost = gubWorldMovementCosts[ uiTileNo ][ bDirection ][ 0 ];
|
||||
|
||||
if ( ubTravelCost == TRAVELCOST_WALL )
|
||||
{
|
||||
@@ -550,7 +551,7 @@ UINT8 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 )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user