From c6542b4738099f6ba3e93d216210c696d8acce9c Mon Sep 17 00:00:00 2001 From: Stubbjax Date: Mon, 3 Nov 2025 09:19:03 +1100 Subject: [PATCH 1/2] tweak: Update tunnel healing fix flags --- Generals/Code/GameEngine/Include/Common/TunnelTracker.h | 2 +- Generals/Code/GameEngine/Source/Common/RTS/Player.cpp | 2 +- Generals/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp | 4 ++-- .../Source/GameLogic/Object/Contain/TunnelContain.cpp | 2 +- GeneralsMD/Code/GameEngine/Include/Common/TunnelTracker.h | 2 +- GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp | 2 +- .../Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp | 4 ++-- .../Source/GameLogic/Object/Contain/TunnelContain.cpp | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Generals/Code/GameEngine/Include/Common/TunnelTracker.h b/Generals/Code/GameEngine/Include/Common/TunnelTracker.h index 0680ac5fca9..a3c3d0adbc8 100644 --- a/Generals/Code/GameEngine/Include/Common/TunnelTracker.h +++ b/Generals/Code/GameEngine/Include/Common/TunnelTracker.h @@ -59,7 +59,7 @@ class TunnelTracker : public MemoryPoolObject, static void destroyObject( Object *obj, void *userData ); ///< Callback for Iterate Contained system static void healObject( Object *obj, void *frames ); ///< Callback for Iterate Contained system -#if RETAIL_COMPATIBLE_CRC +#if RETAIL_COMPATIBLE_BUG void healObjects(Real frames); ///< heal all objects within the tunnel #else void healObjects(); ///< heal all objects within the tunnel diff --git a/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp b/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp index c533b95b31d..25eaed7bfcc 100644 --- a/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp +++ b/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp @@ -677,7 +677,7 @@ void Player::update() } } -#if !RETAIL_COMPATIBLE_CRC +#if !RETAIL_COMPATIBLE_BUG // TheSuperHackers @bugfix Stubbjax 26/09/2025 The Tunnel System now heals // all units once per frame instead of once per frame per Tunnel Network. TunnelTracker* tunnelSystem = getTunnelSystem(); diff --git a/Generals/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp b/Generals/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp index f91af534f08..359eb251519 100644 --- a/Generals/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp +++ b/Generals/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp @@ -256,7 +256,7 @@ void TunnelTracker::destroyObject( Object *obj, void * ) // ------------------------------------------------------------------------ // heal all the objects within the tunnel system using the iterateContained function -#if RETAIL_COMPATIBLE_CRC +#if RETAIL_COMPATIBLE_BUG void TunnelTracker::healObjects(Real frames) { iterateContained(healObject, &frames, FALSE); @@ -280,7 +280,7 @@ void TunnelTracker::healObject( Object *obj, void *frames) { //get the number of frames to heal -#if RETAIL_COMPATIBLE_CRC +#if RETAIL_COMPATIBLE_BUG Real *framesForFullHeal = (Real*)frames; #else UnsignedInt* framesForFullHeal = (UnsignedInt*)frames; diff --git a/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp b/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp index 5179d5f1662..6aa60214ff9 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp @@ -403,7 +403,7 @@ UpdateSleepTime TunnelContain::update( void ) if (controllingPlayer) { TunnelTracker *tunnelSystem = controllingPlayer->getTunnelSystem(); -#if RETAIL_COMPATIBLE_CRC +#if RETAIL_COMPATIBLE_BUG if (tunnelSystem) { const TunnelContainModuleData* modData = getTunnelContainModuleData(); diff --git a/GeneralsMD/Code/GameEngine/Include/Common/TunnelTracker.h b/GeneralsMD/Code/GameEngine/Include/Common/TunnelTracker.h index b628e5b1c88..2ff42e65933 100644 --- a/GeneralsMD/Code/GameEngine/Include/Common/TunnelTracker.h +++ b/GeneralsMD/Code/GameEngine/Include/Common/TunnelTracker.h @@ -59,7 +59,7 @@ class TunnelTracker : public MemoryPoolObject, static void destroyObject( Object *obj, void *userData ); ///< Callback for Iterate Contained system static void healObject( Object *obj, void *frames ); ///< Callback for Iterate Contained system -#if RETAIL_COMPATIBLE_CRC +#if RETAIL_COMPATIBLE_BUG void healObjects(Real frames); ///< heal all objects within the tunnel #else void healObjects(); ///< heal all objects within the tunnel diff --git a/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp b/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp index 4190cb77c38..423c53a6c45 100644 --- a/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp +++ b/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp @@ -717,7 +717,7 @@ void Player::update() } } -#if !RETAIL_COMPATIBLE_CRC +#if !RETAIL_COMPATIBLE_BUG // TheSuperHackers @bugfix Stubbjax 26/09/2025 The Tunnel System now heals // all units once per frame instead of once per frame per Tunnel Network. TunnelTracker* tunnelSystem = getTunnelSystem(); diff --git a/GeneralsMD/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp b/GeneralsMD/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp index 035aac9bf34..0519addff41 100644 --- a/GeneralsMD/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp +++ b/GeneralsMD/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp @@ -257,7 +257,7 @@ void TunnelTracker::destroyObject( Object *obj, void * ) // ------------------------------------------------------------------------ // heal all the objects within the tunnel system using the iterateContained function -#if RETAIL_COMPATIBLE_CRC +#if RETAIL_COMPATIBLE_BUG void TunnelTracker::healObjects(Real frames) { iterateContained(healObject, &frames, FALSE); @@ -281,7 +281,7 @@ void TunnelTracker::healObject( Object *obj, void *frames) { //get the number of frames to heal -#if RETAIL_COMPATIBLE_CRC +#if RETAIL_COMPATIBLE_BUG Real *framesForFullHeal = (Real*)frames; #else UnsignedInt* framesForFullHeal = (UnsignedInt*)frames; diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp index b0188241dea..f064939b3da 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp @@ -539,7 +539,7 @@ UpdateSleepTime TunnelContain::update( void ) if (controllingPlayer) { TunnelTracker *tunnelSystem = controllingPlayer->getTunnelSystem(); -#if RETAIL_COMPATIBLE_CRC +#if RETAIL_COMPATIBLE_BUG if (tunnelSystem) { const TunnelContainModuleData* modData = getTunnelContainModuleData(); From 6e7dbc85b67d8d0af4b4f0463d9517e0fcc86645 Mon Sep 17 00:00:00 2001 From: Stubbjax Date: Mon, 3 Nov 2025 18:04:21 +1100 Subject: [PATCH 2/2] tweak: Update tunnel healing fix flags again --- Generals/Code/GameEngine/Include/Common/TunnelTracker.h | 2 +- Generals/Code/GameEngine/Source/Common/RTS/Player.cpp | 2 +- Generals/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp | 4 ++-- .../Source/GameLogic/Object/Contain/TunnelContain.cpp | 2 +- GeneralsMD/Code/GameEngine/Include/Common/TunnelTracker.h | 2 +- GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp | 2 +- .../Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp | 4 ++-- .../Source/GameLogic/Object/Contain/TunnelContain.cpp | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Generals/Code/GameEngine/Include/Common/TunnelTracker.h b/Generals/Code/GameEngine/Include/Common/TunnelTracker.h index a3c3d0adbc8..60806062d21 100644 --- a/Generals/Code/GameEngine/Include/Common/TunnelTracker.h +++ b/Generals/Code/GameEngine/Include/Common/TunnelTracker.h @@ -59,7 +59,7 @@ class TunnelTracker : public MemoryPoolObject, static void destroyObject( Object *obj, void *userData ); ///< Callback for Iterate Contained system static void healObject( Object *obj, void *frames ); ///< Callback for Iterate Contained system -#if RETAIL_COMPATIBLE_BUG +#if RETAIL_COMPATIBLE_BUG || RETAIL_COMPATIBLE_CRC void healObjects(Real frames); ///< heal all objects within the tunnel #else void healObjects(); ///< heal all objects within the tunnel diff --git a/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp b/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp index 25eaed7bfcc..c6c9e574f58 100644 --- a/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp +++ b/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp @@ -677,7 +677,7 @@ void Player::update() } } -#if !RETAIL_COMPATIBLE_BUG +#if !RETAIL_COMPATIBLE_BUG && !RETAIL_COMPATIBLE_CRC // TheSuperHackers @bugfix Stubbjax 26/09/2025 The Tunnel System now heals // all units once per frame instead of once per frame per Tunnel Network. TunnelTracker* tunnelSystem = getTunnelSystem(); diff --git a/Generals/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp b/Generals/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp index 359eb251519..fa492a50e28 100644 --- a/Generals/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp +++ b/Generals/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp @@ -256,7 +256,7 @@ void TunnelTracker::destroyObject( Object *obj, void * ) // ------------------------------------------------------------------------ // heal all the objects within the tunnel system using the iterateContained function -#if RETAIL_COMPATIBLE_BUG +#if RETAIL_COMPATIBLE_BUG || RETAIL_COMPATIBLE_CRC void TunnelTracker::healObjects(Real frames) { iterateContained(healObject, &frames, FALSE); @@ -280,7 +280,7 @@ void TunnelTracker::healObject( Object *obj, void *frames) { //get the number of frames to heal -#if RETAIL_COMPATIBLE_BUG +#if RETAIL_COMPATIBLE_BUG || RETAIL_COMPATIBLE_CRC Real *framesForFullHeal = (Real*)frames; #else UnsignedInt* framesForFullHeal = (UnsignedInt*)frames; diff --git a/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp b/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp index 6aa60214ff9..dfd2ab8e333 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp @@ -403,7 +403,7 @@ UpdateSleepTime TunnelContain::update( void ) if (controllingPlayer) { TunnelTracker *tunnelSystem = controllingPlayer->getTunnelSystem(); -#if RETAIL_COMPATIBLE_BUG +#if RETAIL_COMPATIBLE_BUG || RETAIL_COMPATIBLE_CRC if (tunnelSystem) { const TunnelContainModuleData* modData = getTunnelContainModuleData(); diff --git a/GeneralsMD/Code/GameEngine/Include/Common/TunnelTracker.h b/GeneralsMD/Code/GameEngine/Include/Common/TunnelTracker.h index 2ff42e65933..35209d8e9af 100644 --- a/GeneralsMD/Code/GameEngine/Include/Common/TunnelTracker.h +++ b/GeneralsMD/Code/GameEngine/Include/Common/TunnelTracker.h @@ -59,7 +59,7 @@ class TunnelTracker : public MemoryPoolObject, static void destroyObject( Object *obj, void *userData ); ///< Callback for Iterate Contained system static void healObject( Object *obj, void *frames ); ///< Callback for Iterate Contained system -#if RETAIL_COMPATIBLE_BUG +#if RETAIL_COMPATIBLE_BUG || RETAIL_COMPATIBLE_CRC void healObjects(Real frames); ///< heal all objects within the tunnel #else void healObjects(); ///< heal all objects within the tunnel diff --git a/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp b/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp index 423c53a6c45..348bd4d6605 100644 --- a/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp +++ b/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp @@ -717,7 +717,7 @@ void Player::update() } } -#if !RETAIL_COMPATIBLE_BUG +#if !RETAIL_COMPATIBLE_BUG && !RETAIL_COMPATIBLE_CRC // TheSuperHackers @bugfix Stubbjax 26/09/2025 The Tunnel System now heals // all units once per frame instead of once per frame per Tunnel Network. TunnelTracker* tunnelSystem = getTunnelSystem(); diff --git a/GeneralsMD/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp b/GeneralsMD/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp index 0519addff41..23fcfe9fba8 100644 --- a/GeneralsMD/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp +++ b/GeneralsMD/Code/GameEngine/Source/Common/RTS/TunnelTracker.cpp @@ -257,7 +257,7 @@ void TunnelTracker::destroyObject( Object *obj, void * ) // ------------------------------------------------------------------------ // heal all the objects within the tunnel system using the iterateContained function -#if RETAIL_COMPATIBLE_BUG +#if RETAIL_COMPATIBLE_BUG || RETAIL_COMPATIBLE_CRC void TunnelTracker::healObjects(Real frames) { iterateContained(healObject, &frames, FALSE); @@ -281,7 +281,7 @@ void TunnelTracker::healObject( Object *obj, void *frames) { //get the number of frames to heal -#if RETAIL_COMPATIBLE_BUG +#if RETAIL_COMPATIBLE_BUG || RETAIL_COMPATIBLE_CRC Real *framesForFullHeal = (Real*)frames; #else UnsignedInt* framesForFullHeal = (UnsignedInt*)frames; diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp index f064939b3da..ba55473d6a6 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TunnelContain.cpp @@ -539,7 +539,7 @@ UpdateSleepTime TunnelContain::update( void ) if (controllingPlayer) { TunnelTracker *tunnelSystem = controllingPlayer->getTunnelSystem(); -#if RETAIL_COMPATIBLE_BUG +#if RETAIL_COMPATIBLE_BUG || RETAIL_COMPATIBLE_CRC if (tunnelSystem) { const TunnelContainModuleData* modData = getTunnelContainModuleData();