mirror of
https://github.com/1dot13/source.git
synced 2026-08-19 14:20:30 +02:00
changed return type of CountAllMilitiaInFiveSectors() from UINT8 to UINT16 to fix an overflow during militia reinforcement
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9400 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -3116,7 +3116,8 @@ void CalculateAutoResolveInfo()
|
|||||||
}
|
}
|
||||||
|
|
||||||
gfTransferTacticalOppositionToAutoResolve = FALSE;
|
gfTransferTacticalOppositionToAutoResolve = FALSE;
|
||||||
gpAR->ubCivs = CountAllMilitiaInFiveSectors( gpAR->ubSectorX, gpAR->ubSectorY );
|
const UINT16 militia = CountAllMilitiaInFiveSectors( gpAR->ubSectorX, gpAR->ubSectorY );
|
||||||
|
gpAR->ubCivs = min(militia, MAXUINT8);
|
||||||
gpAR->ubMercs = 0;
|
gpAR->ubMercs = 0;
|
||||||
VObjectDesc.fCreateFlags = VOBJECT_CREATE_FROMFILE;
|
VObjectDesc.fCreateFlags = VOBJECT_CREATE_FROMFILE;
|
||||||
pGroup = gpGroupList;
|
pGroup = gpGroupList;
|
||||||
|
|||||||
@@ -207,9 +207,9 @@ UINT8 GetAdjacentSectors( UINT8 pSectors[4], INT16 sSectorX, INT16 sSectorY )
|
|||||||
return ubCounter;
|
return ubCounter;
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT8 CountAllMilitiaInFiveSectors(INT16 sMapX, INT16 sMapY)
|
UINT16 CountAllMilitiaInFiveSectors(INT16 sMapX, INT16 sMapY)
|
||||||
{
|
{
|
||||||
UINT8 ubResult = 0;
|
UINT16 ubResult = 0;
|
||||||
UINT16 pusMoveDir[4][3];
|
UINT16 pusMoveDir[4][3];
|
||||||
UINT8 ubDirNumber, ubIndex;
|
UINT8 ubDirNumber, ubIndex;
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ void GetNumberOfEnemiesInFiveSectors( INT16 sSectorX, INT16 sSectorY, UINT8 *pub
|
|||||||
void ActivateTurncoatsForAutoResolve( INT16 sSectorX, INT16 sSectorY );
|
void ActivateTurncoatsForAutoResolve( INT16 sSectorX, INT16 sSectorY );
|
||||||
BOOLEAN IsGroupInARightSectorToReinforce( GROUP *pGroup, INT16 sSectorX, INT16 sSectorY );
|
BOOLEAN IsGroupInARightSectorToReinforce( GROUP *pGroup, INT16 sSectorX, INT16 sSectorY );
|
||||||
UINT8 GetAdjacentSectors( UINT8 pSectors[4], INT16 sSectorX, INT16 sSectorY );
|
UINT8 GetAdjacentSectors( UINT8 pSectors[4], INT16 sSectorX, INT16 sSectorY );
|
||||||
UINT8 CountAllMilitiaInFiveSectors(INT16 sMapX, INT16 sMapY);
|
UINT16 CountAllMilitiaInFiveSectors(INT16 sMapX, INT16 sMapY);
|
||||||
UINT8 NumEnemiesInFiveSectors( INT16 sMapX, INT16 sMapY );
|
UINT8 NumEnemiesInFiveSectors( INT16 sMapX, INT16 sMapY );
|
||||||
|
|
||||||
//For Tactical
|
//For Tactical
|
||||||
|
|||||||
Reference in New Issue
Block a user