- Fix: wrong final destination displayed for travelling militia

- Fix: when ordering militia movement, data of another group's path can be erased
- Fix: a militia groups's path isn't always destroyed if the group is deleted
- Fix: unsafe pointer handling can result in a gamecrash when loading strategic AI data from a savegame
- Fix: traveltime calculations do not correctly handle waypoints, resulting in possible crashes

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7876 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2015-05-24 14:09:48 +00:00
parent 856b34b446
commit 32a8b75748
6 changed files with 26 additions and 5 deletions
+9 -2
View File
@@ -2295,7 +2295,7 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Strategic5");
SetThisSectorAsEnemyControlled( pGroup->ubSectorX, pGroup->ubSectorY, 0, TRUE );
RemovePGroup( pGroup );
RecalculateGarrisonWeight( i );
return TRUE;
}
}
@@ -4198,8 +4198,15 @@ BOOLEAN LoadStrategicAI( HWFILE hFile )
pGroup->ubSectorY != gWorldSectorY ||
gbWorldSectorZ )
{
UINT8 groupid = pGroup->ubGroupID;
RepollSAIGroup( pGroup );
ValidateGroup( pGroup );
// it is possible that the group gets destroyed inbetween, so recheck on that
pGroup = GetGroup( groupid );
if ( pGroup )
ValidateGroup( pGroup );
}
}
}