From f5e3e7d7ff9f0aca5acd43ded156939986fa52c3 Mon Sep 17 00:00:00 2001 From: Overhaul Date: Tue, 7 Aug 2007 04:22:10 +0000 Subject: [PATCH] Fix for uninitialized group in reinforcements git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@1168 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Strategic/Queen Command.cpp | 10 ---------- Strategic/Reinforcement.cpp | 13 +++++++++++++ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Strategic/Queen Command.cpp b/Strategic/Queen Command.cpp index 281c5dd1..18e3c1af 100644 --- a/Strategic/Queen Command.cpp +++ b/Strategic/Queen Command.cpp @@ -1221,16 +1221,6 @@ void AddPossiblePendingEnemiesToBattle() break; } - AddEnemiesToBattle( pGroup, ubInsertionCode, - pSector->ubNumAdmins - pSector->ubAdminsInBattle, - pSector->ubNumTroops - pSector->ubTroopsInBattle, - pSector->ubNumElites - pSector->ubElitesInBattle, - FALSE ); - - pSector->ubAdminsInBattle = pSector->ubNumAdmins; - pSector->ubTroopsInBattle = pSector->ubNumTroops; - pSector->ubElitesInBattle = pSector->ubNumElites; - // Assume we added one since there are supposedly more available and room for them ubSlots--; } diff --git a/Strategic/Reinforcement.cpp b/Strategic/Reinforcement.cpp index 633f6b5d..a7413e38 100644 --- a/Strategic/Reinforcement.cpp +++ b/Strategic/Reinforcement.cpp @@ -285,6 +285,8 @@ UINT8 DoReinforcementAsPendingEnemy( INT16 sMapX, INT16 sMapY ) for(;;) { ubIndex = Random(ubDirNumber); +#if 0 +// This should be handled in AddPossiblePendingEnemiesToBattle if( NumMobileEnemiesInSector( SECTORX( pusMoveDir[ ubIndex ][ 0 ] ), SECTORY( pusMoveDir[ ubIndex ][ 0 ] ) ) && GetEnemyGroupInSector( SECTORX( pusMoveDir[ ubIndex][ 0 ] ), SECTORY( pusMoveDir[ ubIndex ][ 0 ] ) ) ) { UINT8 numElite; @@ -329,6 +331,7 @@ UINT8 DoReinforcementAsPendingEnemy( INT16 sMapX, INT16 sMapY ) return (UINT8)pusMoveDir[ ubIndex ][ 2 ]; } } +#endif if( NumEnemiesInSector( SECTORX( pusMoveDir[ ubIndex ][ 0 ] ), SECTORY( pusMoveDir[ ubIndex ][ 0 ] ) ) > gubReinforcementMinEnemyStaticGroupSize ) { @@ -348,6 +351,16 @@ UINT8 DoReinforcementAsPendingEnemy( INT16 sMapX, INT16 sMapY ) (pSector->ubNumAdmins)--; } + AddEnemiesToBattle( NULL, (UINT8)pusMoveDir[ ubIndex ][ 2 ], + pThisSector->ubNumAdmins - pThisSector->ubAdminsInBattle, + pThisSector->ubNumTroops - pThisSector->ubTroopsInBattle, + pThisSector->ubNumElites - pThisSector->ubElitesInBattle, + FALSE ); + + pThisSector->ubAdminsInBattle = pThisSector->ubNumAdmins; + pThisSector->ubTroopsInBattle = pThisSector->ubNumTroops; + pThisSector->ubElitesInBattle = pThisSector->ubNumElites; + return (UINT8)pusMoveDir[ ubIndex ][ 2 ]; } }