From 6f6ffe91f82581bc2be23669445c53f7511c597e Mon Sep 17 00:00:00 2001 From: SpaceViking Date: Mon, 27 Apr 2009 23:50:45 +0000 Subject: [PATCH] Fix problem with invalid X,Y coordinates git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2780 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Strategic/MilitiaSquads.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Strategic/MilitiaSquads.cpp b/Strategic/MilitiaSquads.cpp index 0bd06fa2..15fe631e 100644 --- a/Strategic/MilitiaSquads.cpp +++ b/Strategic/MilitiaSquads.cpp @@ -1455,7 +1455,7 @@ void GenerateDirectionInfosWithCapacityCheck( INT16 sMapX, INT16 sMapY, UINT8* u #endif pSectorInfo = &( SectorInfo[ SECTOR( sMapX, sMapY - 1 ) ] ); - if(CheckStandardConditionsForDirection( sMapX, sMapY, sMapX, sMapY - 1, fWithCities, fForBattle, fOnlyCitySectors ) && + if(sMapY > MINIMUM_VALID_Y_COORDINATE && CheckStandardConditionsForDirection( sMapX, sMapY, sMapX, sMapY - 1, fWithCities, fForBattle, fOnlyCitySectors ) && pSectorInfo->ubNumberOfCivsAtLevel[ ELITE_MILITIA ] < gGameExternalOptions.iMaxMilitiaPerSector ) { pMoveDir[ *uiDirNumber ][0] = SECTOR( sMapX, sMapY - 1 ); @@ -1474,7 +1474,7 @@ void GenerateDirectionInfosWithCapacityCheck( INT16 sMapX, INT16 sMapY, UINT8* u ++(*uiDirNumber); } pSectorInfo = &( SectorInfo[ SECTOR( sMapX - 1, sMapY ) ] ); - if(CheckStandardConditionsForDirection( sMapX, sMapY, sMapX - 1, sMapY, fWithCities, fForBattle, fOnlyCitySectors ) && + if(sMapX > MINIMUM_VALID_X_COORDINATE && CheckStandardConditionsForDirection( sMapX, sMapY, sMapX - 1, sMapY, fWithCities, fForBattle, fOnlyCitySectors ) && pSectorInfo->ubNumberOfCivsAtLevel[ ELITE_MILITIA ] < gGameExternalOptions.iMaxMilitiaPerSector) { pMoveDir[ *uiDirNumber ][0] = SECTOR( sMapX - 1, sMapY ); @@ -1493,7 +1493,7 @@ void GenerateDirectionInfosWithCapacityCheck( INT16 sMapX, INT16 sMapY, UINT8* u ++(*uiDirNumber); } pSectorInfo = &( SectorInfo[ SECTOR( sMapX , sMapY + 1 ) ] ); - if(CheckStandardConditionsForDirection( sMapX, sMapY, sMapX, sMapY + 1, fWithCities, fForBattle, fOnlyCitySectors ) && + if(sMapY < MAXIMUM_VALID_Y_COORDINATE && CheckStandardConditionsForDirection( sMapX, sMapY, sMapX, sMapY + 1, fWithCities, fForBattle, fOnlyCitySectors ) && pSectorInfo->ubNumberOfCivsAtLevel[ ELITE_MILITIA ] < gGameExternalOptions.iMaxMilitiaPerSector ) { pMoveDir[ *uiDirNumber ][0] = SECTOR( sMapX, sMapY + 1 ); @@ -1512,7 +1512,7 @@ void GenerateDirectionInfosWithCapacityCheck( INT16 sMapX, INT16 sMapY, UINT8* u ++(*uiDirNumber); } pSectorInfo = &( SectorInfo[ SECTOR( sMapX + 1 , sMapY ) ] ); - if(CheckStandardConditionsForDirection( sMapX, sMapY, sMapX + 1, sMapY, fWithCities, fForBattle, fOnlyCitySectors ) && + if(sMapX < MAXIMUM_VALID_X_COORDINATE && CheckStandardConditionsForDirection( sMapX, sMapY, sMapX + 1, sMapY, fWithCities, fForBattle, fOnlyCitySectors ) && pSectorInfo->ubNumberOfCivsAtLevel[ ELITE_MILITIA ] < gGameExternalOptions.iMaxMilitiaPerSector ) { pMoveDir[ *uiDirNumber ][0] = SECTOR( sMapX + 1, sMapY );