Fix: CTD when tring to check for panic triggers if no enemy is present

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8133 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2016-04-03 14:41:52 +00:00
parent 01ffd3eaf2
commit 6089e9a3b8
+8 -7
View File
@@ -187,7 +187,7 @@ void PossiblyMakeThisEnemyChosenOne( SOLDIERTYPE * pSoldier )
//INT8 bOldKeys;
INT8 bPanicTrigger;
INT32 sPanicTriggerGridNo;
UINT32 uiPercentEnemiesKilled;
UINT32 uiPercentEnemiesKilled = 0;
if ( ! (gTacticalStatus.fPanicFlags & PANIC_TRIGGERS_HERE) )
{
@@ -200,7 +200,6 @@ void PossiblyMakeThisEnemyChosenOne( SOLDIERTYPE * pSoldier )
return;
}
bPanicTrigger = ClosestPanicTrigger( pSoldier );
if (bPanicTrigger == -1)
{
@@ -209,7 +208,9 @@ void PossiblyMakeThisEnemyChosenOne( SOLDIERTYPE * pSoldier )
sPanicTriggerGridNo = gTacticalStatus.sPanicTriggerGridNo[ bPanicTrigger ];
uiPercentEnemiesKilled = (UINT32)( 100 * (UINT32)(gTacticalStatus.ubArmyGuysKilled) / (UINT32)( gTacticalStatus.Team[ ENEMY_TEAM ].bMenInSector + gTacticalStatus.ubArmyGuysKilled ) );
if ( gTacticalStatus.Team[ENEMY_TEAM].bMenInSector + gTacticalStatus.ubArmyGuysKilled > 0 )
uiPercentEnemiesKilled = (UINT32)( 100 * (UINT32)(gTacticalStatus.ubArmyGuysKilled) / (UINT32)( gTacticalStatus.Team[ ENEMY_TEAM ].bMenInSector + gTacticalStatus.ubArmyGuysKilled ) );
if ( gTacticalStatus.ubPanicTolerance[ bPanicTrigger ] > uiPercentEnemiesKilled )
{
// not yet... not yet
@@ -426,15 +427,15 @@ INT8 ClosestPanicTrigger( SOLDIERTYPE * pSoldier )
INT16 sDistance;
INT16 sClosestDistance = 1000;
INT8 bClosestTrigger = -1;
UINT32 uiPercentEnemiesKilled;
UINT32 uiPercentEnemiesKilled = 0;
uiPercentEnemiesKilled = (UINT32)( 100 * (UINT32)(gTacticalStatus.ubArmyGuysKilled) / (UINT32)( gTacticalStatus.Team[ ENEMY_TEAM ].bMenInSector + gTacticalStatus.ubArmyGuysKilled ) );
if ( gTacticalStatus.Team[ENEMY_TEAM].bMenInSector + gTacticalStatus.ubArmyGuysKilled > 0 )
uiPercentEnemiesKilled = (UINT32)(100 * (UINT32)(gTacticalStatus.ubArmyGuysKilled) / (UINT32)(gTacticalStatus.Team[ENEMY_TEAM].bMenInSector + gTacticalStatus.ubArmyGuysKilled));
for ( bLoop = 0; bLoop < NUM_PANIC_TRIGGERS; bLoop++ )
for ( bLoop = 0; bLoop < NUM_PANIC_TRIGGERS; ++bLoop )
{
if (!TileIsOutOfBounds(gTacticalStatus.sPanicTriggerGridNo[ bLoop ]))
{
if ( gTacticalStatus.ubPanicTolerance[ bLoop ] > uiPercentEnemiesKilled )
{
// not yet... not yet...