diff --git a/Generals/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp b/Generals/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp index e76839a56b..fd5f717b72 100644 --- a/Generals/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp +++ b/Generals/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp @@ -4672,7 +4672,8 @@ GameMessageDisposition CommandTranslator::translateGameMessage(const GameMessage //----------------------------------------------------------------------------------------- case GameMessage::MSG_NO_DRAW: { - TheWritableGlobalData->m_noDraw = REAL_TO_INT(pow(2, 32) - 1); + const Bool isZero = TheGlobalData->m_noDraw == 0u; + TheWritableGlobalData->m_noDraw = isZero ? ~0u : 0u; disp = DESTROY_MESSAGE; break; } diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp b/GeneralsMD/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp index e4c9f655da..a6f96ca201 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp @@ -5088,7 +5088,8 @@ GameMessageDisposition CommandTranslator::translateGameMessage(const GameMessage //----------------------------------------------------------------------------------------- case GameMessage::MSG_NO_DRAW: { - TheWritableGlobalData->m_noDraw = REAL_TO_INT(pow(2, 32) - 1); + const Bool isZero = TheGlobalData->m_noDraw == 0u; + TheWritableGlobalData->m_noDraw = isZero ? ~0u : 0u; disp = DESTROY_MESSAGE; break; }