#921 introduced a change that causes this replay replay_02162.zip to mismatch at 11:25.
The issue appears to be that the container size in OpenContain::killAllContained is reset before the loop starts, but functions inside the loop check the container size and behave differently if it's zero.
Here are a couple of examples of checks for infantry garrisoned inside buildings in GarrisonContain::onRemoving and 'downstream' functions:
|
if( getContainCount() == 0 ) |
|
if( getContainCount() > 0 ) |
|
if ( getContainCount() > 0 ) |
|
if( getContainCount() > 0 ) |
#921 introduced a change that causes this replay replay_02162.zip to mismatch at 11:25.
The issue appears to be that the container size in
OpenContain::killAllContainedis reset before the loop starts, but functions inside the loop check the container size and behave differently if it's zero.Here are a couple of examples of checks for infantry garrisoned inside buildings in
GarrisonContain::onRemovingand 'downstream' functions:GeneralsGameCode/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/GarrisonContain.cpp
Line 1673 in 7af8c63
GeneralsGameCode/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/GarrisonContain.cpp
Line 1218 in 7af8c63
GeneralsGameCode/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/GarrisonContain.cpp
Line 1249 in 7af8c63
GeneralsGameCode/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/GarrisonContain.cpp
Line 1281 in 7af8c63