Skip to content

Commit 0b8af6d

Browse files
authored
bugfix(behavior): Prevent fallen Angry Mob members from respawning at the Barracks after loading a save (TheSuperHackers#2314)
1 parent 92fdfb9 commit 0b8af6d

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

Generals/Code/GameEngine/Source/GameLogic/Object/Behavior/SpawnBehavior.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -984,14 +984,19 @@ void SpawnBehavior::crc( Xfer *xfer )
984984
* Version Info:
985985
* 1: Initial version
986986
* 2: Added m_initialBurstTimesInited to the save. jba.
987+
* 3: TheSuperHackers @bugfix Stubbjax 16/02/2026 Added m_initialBurstCountdown.
987988
*/
988989
// ------------------------------------------------------------------------------------------------
989990
void SpawnBehavior::xfer( Xfer *xfer )
990991
{
991992
AsciiString name;
992993

993994
// version
995+
#if RETAIL_COMPATIBLE_XFER_SAVE
994996
XferVersion currentVersion = 2;
997+
#else
998+
XferVersion currentVersion = 3;
999+
#endif
9951000
XferVersion version = currentVersion;
9961001
xfer->xferVersion( &version, currentVersion );
9971002

@@ -1003,6 +1008,10 @@ void SpawnBehavior::xfer( Xfer *xfer )
10031008
xfer->xferBool(&m_initialBurstTimesInited);
10041009
}
10051010

1011+
if (version >= 3) {
1012+
xfer->xferUnsignedInt(&m_initialBurstCountdown);
1013+
}
1014+
10061015
// spawn template
10071016
name = m_spawnTemplate ? m_spawnTemplate->getName() : AsciiString::TheEmptyString;
10081017
xfer->xferAsciiString( &name );

GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/SpawnBehavior.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,14 +1069,19 @@ void SpawnBehavior::crc( Xfer *xfer )
10691069
* Version Info:
10701070
* 1: Initial version
10711071
* 2: Added m_initialBurstTimesInited to the save. jba.
1072+
* 3: TheSuperHackers @bugfix Stubbjax 16/02/2026 Added m_initialBurstCountdown.
10721073
*/
10731074
// ------------------------------------------------------------------------------------------------
10741075
void SpawnBehavior::xfer( Xfer *xfer )
10751076
{
10761077
AsciiString name;
10771078

10781079
// version
1080+
#if RETAIL_COMPATIBLE_XFER_SAVE
10791081
XferVersion currentVersion = 2;
1082+
#else
1083+
XferVersion currentVersion = 3;
1084+
#endif
10801085
XferVersion version = currentVersion;
10811086
xfer->xferVersion( &version, currentVersion );
10821087

@@ -1088,6 +1093,10 @@ void SpawnBehavior::xfer( Xfer *xfer )
10881093
xfer->xferBool(&m_initialBurstTimesInited);
10891094
}
10901095

1096+
if (version >= 3) {
1097+
xfer->xferUnsignedInt(&m_initialBurstCountdown);
1098+
}
1099+
10911100
// spawn template
10921101
name = m_spawnTemplate ? m_spawnTemplate->getName() : AsciiString::TheEmptyString;
10931102
xfer->xferAsciiString( &name );

0 commit comments

Comments
 (0)