From 390e5d8319aa1bb0e05ac39432ff63a8a6c5b862 Mon Sep 17 00:00:00 2001
From: stm <14291421+stephanmeesters@users.noreply.github.com>
Date: Mon, 6 Jul 2026 21:22:46 +0200
Subject: [PATCH] unify: Move various identical files to Core
---
Core/GameEngine/CMakeLists.txt | 464 ++++-----
.../Include/Common/BezFwdIterator.h | 0
.../GameEngine/Include/Common/BezierSegment.h | 0
.../Include/Common/CriticalSection.h | 0
.../GameEngine/Include/Common/DamageFX.h | 0
.../GameEngine/Include/Common/DataChunk.h | 0
.../GameEngine/Include/Common/Dict.h | 0
.../GameEngine/Include/Common/Directory.h | 0
.../GameEngine/Include/Common/DisabledTypes.h | 0
.../Include/Common/DiscreteCircle.h | 0
.../GameEngine/Include/Common/Geometry.h | 0
.../GameEngine/Include/Common/Handicap.h | 0
.../GameEngine/Include/Common/KindOf.h | 0
.../GameEngine/Include/Common/Language.h | 0
.../GameEngine/Include/Common/List.h | 0
.../GameEngine/Include/Common/MiniLog.h | 0
.../GameEngine/Include/Common/MissionStats.h | 0
.../GameEngine/Include/Common/PerfTimer.h | 0
.../GameEngine/Include/Common/PlayerList.h | 0
.../Include/Common/QuotedPrintable.h | 0
.../GameEngine/Include/Common/Science.h | 0
.../GameEngine/Include/Common/ScoreKeeper.h | 0
.../GameEngine/Include/Common/StackDump.h | 0
.../GameEngine/Include/Common/TerrainTypes.h | 0
.../GameEngine/Include/Common/Upgrade.h | 0
.../GameEngine/Include/Common/encrypt.h | 0
.../GameEngine/Include/Common/version.h | 0
.../GameEngine/Include/GameClient/Diplomacy.h | 0
.../GameClient/EstablishConnectionsMenu.h | 0
.../Include/GameClient/ExtendedMessageBox.h | 0
.../Include/GameClient/GameInfoWindow.h | 0
.../Include/GameClient/MessageBox.h | 0
.../Include/GameClient/ShellMenuScheme.h | 0
.../GameEngine/Include/GameLogic/AIDock.h | 0
.../GameLogic/Module/ActiveShroudUpgrade.h | 0
.../Include/GameLogic/Module/BoneFXDamage.h | 0
.../GameLogic/Module/BridgeScaffoldBehavior.h | 0
.../GameLogic/Module/BridgeTowerBehavior.h | 0
.../GameLogic/Module/CheckpointUpdate.h | 0
.../GameLogic/Module/CleanupHazardUpdate.h | 0
.../GameLogic/Module/CostModifierUpgrade.h | 0
.../Include/GameLogic/Module/CreateCrateDie.h | 0
.../Include/GameLogic/Module/CreateModule.h | 0
.../Include/GameLogic/Module/CrushDie.h | 0
.../Include/GameLogic/Module/DamDie.h | 0
.../Include/GameLogic/Module/DamageModule.h | 0
.../Include/GameLogic/Module/DeletionUpdate.h | 0
.../Include/GameLogic/Module/DestroyModule.h | 0
.../Include/GameLogic/Module/DieModule.h | 0
.../Module/DynamicGeometryInfoUpdate.h | 0
.../Include/GameLogic/Module/EjectPilotDie.h | 0
.../GameLogic/Module/EnemyNearUpdate.h | 0
.../Module/ExperienceScalarUpgrade.h | 0
.../GameLogic/Module/FireSpreadUpdate.h | 0
.../GameLogic/Module/FireWeaponCollide.h | 0
.../GameLogic/Module/FlammableUpdate.h | 0
.../Include/GameLogic/Module/FloatUpdate.h | 0
.../Include/GameLogic/Module/HealContain.h | 0
.../GameLogic/Module/HealCrateCollide.h | 0
.../GameLogic/Module/HeightDieUpdate.h | 0
.../Include/GameLogic/Module/HighlanderBody.h | 0
.../Include/GameLogic/Module/HijackerUpdate.h | 0
.../Include/GameLogic/Module/ImmortalBody.h | 0
.../GameLogic/Module/InstantDeathBehavior.h | 0
.../Include/GameLogic/Module/KeepObjectDie.h | 0
.../Include/GameLogic/Module/LifetimeUpdate.h | 0
.../GameLogic/Module/LocomotorSetUpgrade.h | 0
.../GameLogic/Module/MaxHealthUpgrade.h | 0
.../GameLogic/Module/MobMemberSlavedUpdate.h | 0
.../Module/NeutronMissileSlowDeathUpdate.h | 0
.../GameLogic/Module/ObjectCreationUpgrade.h | 0
.../GameLogic/Module/ObjectDefectionHelper.h | 0
.../Include/GameLogic/Module/ObjectHelper.h | 0
.../GameLogic/Module/ObjectRepulsorHelper.h | 0
.../GameLogic/Module/ObjectSMCHelper.h | 0
.../Module/ObjectWeaponStatusHelper.h | 0
.../GameLogic/Module/OverchargeBehavior.h | 0
.../GameLogic/Module/POWTruckAIUpdate.h | 0
.../GameLogic/Module/POWTruckBehavior.h | 0
.../GameLogic/Module/PilotFindVehicleUpdate.h | 0
.../GameLogic/Module/PowerPlantUpdate.h | 0
.../GameLogic/Module/PowerPlantUpgrade.h | 0
.../Include/GameLogic/Module/PreorderCreate.h | 0
.../GameLogic/Module/PrisonDockUpdate.h | 0
.../Include/GameLogic/Module/ProneUpdate.h | 0
.../Module/PropagandaCenterBehavior.h | 0
.../Module/QueueProductionExitUpdate.h | 0
.../Include/GameLogic/Module/RadarUpdate.h | 0
.../Include/GameLogic/Module/RadarUpgrade.h | 0
.../GameLogic/Module/RadiusDecalUpdate.h | 0
.../Module/RailedTransportAIUpdate.h | 0
.../GameLogic/Module/RailedTransportContain.h | 0
.../GameLogic/Module/RepairDockUpdate.h | 0
.../GameLogic/Module/ShroudCrateCollide.h | 0
.../Module/SpawnPointProductionExitUpdate.h | 0
.../Include/GameLogic/Module/SpecialAbility.h | 0
.../Module/SpecialPowerCompletionDie.h | 0
.../GameLogic/Module/SpecialPowerCreate.h | 0
.../GameLogic/Module/SpyVisionSpecialPower.h | 0
.../Include/GameLogic/Module/SquishCollide.h | 0
.../GameLogic/Module/StatusBitsUpgrade.h | 0
.../Include/GameLogic/Module/StructureBody.h | 0
.../GameLogic/Module/SubObjectsUpgrade.h | 0
.../GameLogic/Module/SupplyCenterCreate.h | 0
.../GameLogic/Module/SupplyWarehouseCreate.h | 0
.../Module/SupplyWarehouseCripplingBehavior.h | 0
.../Module/SupplyWarehouseDockUpdate.h | 0
.../GameLogic/Module/TensileFormationUpdate.h | 0
.../GameLogic/Module/UnitCrateCollide.h | 0
.../Module/UnpauseSpecialPowerUpgrade.h | 0
.../Include/GameLogic/Module/UpgradeDie.h | 0
.../GameLogic/Module/VeterancyCrateCollide.h | 0
.../GameLogic/Module/VeterancyGainCreate.h | 0
.../Include/GameLogic/Module/WanderAIUpdate.h | 0
.../GameLogic/Module/WeaponBonusUpgrade.h | 0
.../GameLogic/Module/WeaponSetUpgrade.h | 0
.../GameEngine/Include/GameLogic/Squad.h | 0
.../Source/Common/Bezier/BezFwdIterator.cpp | 0
.../Source/Common/Bezier/BezierSegment.cpp | 0
.../GameEngine/Source/Common/DamageFX.cpp | 0
.../GameEngine/Source/Common/Dict.cpp | 0
.../Source/Common/DiscreteCircle.cpp | 0
.../GameEngine/Source/Common/Language.cpp | 0
.../GameEngine/Source/Common/MiniLog.cpp | 0
.../GameEngine/Source/Common/PerfTimer.cpp | 0
.../GameEngine/Source/Common/RTS/Handicap.cpp | 0
.../Source/Common/RTS/MissionStats.cpp | 0
.../Source/Common/RTS/PlayerList.cpp | 0
.../GameEngine/Source/Common/RTS/Science.cpp | 0
.../Source/Common/RTS/ScoreKeeper.cpp | 0
.../Source/Common/System/CriticalSection.cpp | 0
.../Source/Common/System/DataChunk.cpp | 0
.../Source/Common/System/Directory.cpp | 0
.../Source/Common/System/DisabledTypes.cpp | 0
.../Source/Common/System/Geometry.cpp | 0
.../Source/Common/System/KindOf.cpp | 0
.../GameEngine/Source/Common/System/List.cpp | 0
.../Source/Common/System/QuotedPrintable.cpp | 0
.../Source/Common/System/StackDump.cpp | 0
.../Source/Common/System/Upgrade.cpp | 0
.../Source/Common/System/encrypt.cpp | 0
.../GameEngine/Source/Common/TerrainTypes.cpp | 0
.../GameEngine/Source/Common/version.cpp | 0
.../EstablishConnectionsMenu.cpp | 0
.../GameClient/GUI/GUICallbacks/Diplomacy.cpp | 0
.../GUI/GUICallbacks/ExtendedMessageBox.cpp | 0
.../GUI/GUICallbacks/Menus/GameInfoWindow.cpp | 0
.../GUI/GUICallbacks/MessageBox.cpp | 0
.../GameClient/GUI/Shell/ShellMenuScheme.cpp | 0
.../GameEngine/Source/GameLogic/AI/AIDock.cpp | 0
.../GameEngine/Source/GameLogic/AI/Squad.cpp | 0
.../Behavior/BridgeScaffoldBehavior.cpp | 0
.../Object/Behavior/BridgeTowerBehavior.cpp | 0
.../Object/Behavior/InstantDeathBehavior.cpp | 0
.../Object/Behavior/OverchargeBehavior.cpp | 0
.../Object/Behavior/POWTruckBehavior.cpp | 0
.../Behavior/PropagandaCenterBehavior.cpp | 0
.../SupplyWarehouseCripplingBehavior.cpp | 0
.../GameLogic/Object/Body/HighlanderBody.cpp | 0
.../GameLogic/Object/Body/ImmortalBody.cpp | 0
.../GameLogic/Object/Body/StructureBody.cpp | 0
.../Collide/CrateCollide/HealCrateCollide.cpp | 0
.../CrateCollide/ShroudCrateCollide.cpp | 0
.../Collide/CrateCollide/UnitCrateCollide.cpp | 0
.../CrateCollide/VeterancyCrateCollide.cpp | 0
.../Object/Collide/FireWeaponCollide.cpp | 0
.../Object/Collide/SquishCollide.cpp | 0
.../GameLogic/Object/Contain/HealContain.cpp | 0
.../Object/Contain/RailedTransportContain.cpp | 0
.../GameLogic/Object/Create/CreateModule.cpp | 0
.../Object/Create/PreorderCreate.cpp | 0
.../Object/Create/SpecialPowerCreate.cpp | 0
.../Object/Create/SupplyCenterCreate.cpp | 0
.../Object/Create/SupplyWarehouseCreate.cpp | 0
.../Object/Create/VeterancyGainCreate.cpp | 0
.../GameLogic/Object/Damage/BoneFXDamage.cpp | 0
.../GameLogic/Object/Damage/DamageModule.cpp | 0
.../Object/Destroy/DestroyModule.cpp | 0
.../GameLogic/Object/Die/CreateCrateDie.cpp | 0
.../Source/GameLogic/Object/Die/CrushDie.cpp | 0
.../Source/GameLogic/Object/Die/DamDie.cpp | 0
.../Source/GameLogic/Object/Die/DieModule.cpp | 0
.../GameLogic/Object/Die/EjectPilotDie.cpp | 0
.../GameLogic/Object/Die/KeepObjectDie.cpp | 0
.../Object/Die/SpecialPowerCompletionDie.cpp | 0
.../GameLogic/Object/Die/UpgradeDie.cpp | 0
.../Object/Helper/ObjectDefectionHelper.cpp | 0
.../GameLogic/Object/Helper/ObjectHelper.cpp | 0
.../Object/Helper/ObjectRepulsorHelper.cpp | 0
.../Object/Helper/ObjectSMCHelper.cpp | 0
.../Helper/ObjectWeaponStatusHelper.cpp | 0
.../Object/SpecialPower/SpecialAbility.cpp | 0
.../SpecialPower/SpyVisionSpecialPower.cpp | 0
.../Update/AIUpdate/POWTruckAIUpdate.cpp | 0
.../AIUpdate/RailedTransportAIUpdate.cpp | 0
.../Object/Update/AIUpdate/WanderAIUpdate.cpp | 0
.../Object/Update/CheckpointUpdate.cpp | 0
.../Object/Update/CleanupHazardUpdate.cpp | 0
.../Object/Update/DeletionUpdate.cpp | 0
.../Update/DockUpdate/PrisonDockUpdate.cpp | 0
.../Update/DockUpdate/RepairDockUpdate.cpp | 0
.../DockUpdate/SupplyWarehouseDockUpdate.cpp | 0
.../Update/DynamicGeometryInfoUpdate.cpp | 0
.../Object/Update/EnemyNearUpdate.cpp | 0
.../Object/Update/FireSpreadUpdate.cpp | 0
.../Object/Update/FlammableUpdate.cpp | 0
.../GameLogic/Object/Update/FloatUpdate.cpp | 0
.../Object/Update/HeightDieUpdate.cpp | 0
.../Object/Update/HijackerUpdate.cpp | 0
.../Object/Update/LifetimeUpdate.cpp | 0
.../Object/Update/MobMemberSlavedUpdate.cpp | 0
.../Update/NeutronMissileSlowDeathUpdate.cpp | 0
.../Object/Update/PilotFindVehicleUpdate.cpp | 0
.../Object/Update/PowerPlantUpdate.cpp | 0
.../QueueProductionExitUpdate.cpp | 0
.../SpawnPointProductionExitUpdate.cpp | 0
.../GameLogic/Object/Update/ProneUpdate.cpp | 0
.../GameLogic/Object/Update/RadarUpdate.cpp | 0
.../Object/Update/RadiusDecalUpdate.cpp | 0
.../Object/Update/TensileFormationUpdate.cpp | 0
.../Object/Upgrade/ActiveShroudUpgrade.cpp | 0
.../Object/Upgrade/CostModifierUpgrade.cpp | 0
.../Upgrade/ExperienceScalarUpgrade.cpp | 0
.../Object/Upgrade/LocomotorSetUpgrade.cpp | 0
.../Object/Upgrade/MaxHealthUpgrade.cpp | 0
.../Object/Upgrade/ObjectCreationUpgrade.cpp | 0
.../Object/Upgrade/PowerPlantUpgrade.cpp | 0
.../GameLogic/Object/Upgrade/RadarUpgrade.cpp | 0
.../Object/Upgrade/StatusBitsUpgrade.cpp | 0
.../Object/Upgrade/SubObjectsUpgrade.cpp | 0
.../Upgrade/UnpauseSpecialPowerUpgrade.cpp | 0
.../Object/Upgrade/WeaponBonusUpgrade.cpp | 0
.../Object/Upgrade/WeaponSetUpgrade.cpp | 0
Generals/Code/GameEngine/CMakeLists.txt | 464 ++++-----
.../Include/Common/BezFwdIterator.h | 51 -
.../GameEngine/Include/Common/BezierSegment.h | 69 --
.../Include/Common/CriticalSection.h | 101 --
.../Code/GameEngine/Include/Common/DamageFX.h | 165 ---
.../GameEngine/Include/Common/DataChunk.h | 231 -----
.../Code/GameEngine/Include/Common/Dict.h | 361 -------
.../GameEngine/Include/Common/Directory.h | 91 --
.../GameEngine/Include/Common/DisabledTypes.h | 112 --
.../Include/Common/DiscreteCircle.h | 73 --
.../Code/GameEngine/Include/Common/Geometry.h | 190 ----
.../Code/GameEngine/Include/Common/Handicap.h | 116 ---
.../Code/GameEngine/Include/Common/KindOf.h | 221 ----
.../Code/GameEngine/Include/Common/Language.h | 80 --
.../Code/GameEngine/Include/Common/List.h | 173 ----
.../Code/GameEngine/Include/Common/MiniLog.h | 48 -
.../GameEngine/Include/Common/MissionStats.h | 84 --
.../GameEngine/Include/Common/PerfTimer.h | 320 ------
.../GameEngine/Include/Common/PlayerList.h | 170 ---
.../Include/Common/QuotedPrintable.h | 36 -
.../Code/GameEngine/Include/Common/Science.h | 133 ---
.../GameEngine/Include/Common/ScoreKeeper.h | 140 ---
.../GameEngine/Include/Common/StackDump.h | 68 --
.../GameEngine/Include/Common/TerrainTypes.h | 238 -----
.../Code/GameEngine/Include/Common/Upgrade.h | 268 -----
.../Code/GameEngine/Include/Common/encrypt.h | 36 -
.../Code/GameEngine/Include/Common/version.h | 127 ---
.../GameEngine/Include/GameClient/Diplomacy.h | 35 -
.../GameClient/EstablishConnectionsMenu.h | 55 -
.../Include/GameClient/ExtendedMessageBox.h | 69 --
.../Include/GameClient/GameInfoWindow.h | 40 -
.../Include/GameClient/MessageBox.h | 46 -
.../Include/GameClient/ShellMenuScheme.h | 152 ---
.../GameEngine/Include/GameLogic/AIDock.h | 202 ----
.../GameLogic/Module/ActiveShroudUpgrade.h | 74 --
.../Include/GameLogic/Module/BoneFXDamage.h | 65 --
.../GameLogic/Module/BridgeScaffoldBehavior.h | 111 --
.../GameLogic/Module/BridgeTowerBehavior.h | 94 --
.../GameLogic/Module/CheckpointUpdate.h | 87 --
.../GameLogic/Module/CleanupHazardUpdate.h | 90 --
.../GameLogic/Module/CostModifierUpgrade.h | 114 --
.../Include/GameLogic/Module/CreateCrateDie.h | 93 --
.../Include/GameLogic/Module/CreateModule.h | 83 --
.../Include/GameLogic/Module/CrushDie.h | 100 --
.../Include/GameLogic/Module/DamDie.h | 63 --
.../Include/GameLogic/Module/DamageModule.h | 105 --
.../Include/GameLogic/Module/DeletionUpdate.h | 85 --
.../Include/GameLogic/Module/DestroyModule.h | 63 --
.../Include/GameLogic/Module/DieModule.h | 105 --
.../Module/DynamicGeometryInfoUpdate.h | 101 --
.../Include/GameLogic/Module/EjectPilotDie.h | 71 --
.../GameLogic/Module/EnemyNearUpdate.h | 83 --
.../Module/ExperienceScalarUpgrade.h | 71 --
.../GameLogic/Module/FireSpreadUpdate.h | 75 --
.../GameLogic/Module/FireWeaponCollide.h | 79 --
.../GameLogic/Module/FlammableUpdate.h | 113 --
.../Include/GameLogic/Module/FloatUpdate.h | 73 --
.../Include/GameLogic/Module/HealContain.h | 72 --
.../GameLogic/Module/HealCrateCollide.h | 55 -
.../GameLogic/Module/HeightDieUpdate.h | 78 --
.../Include/GameLogic/Module/HighlanderBody.h | 56 -
.../Include/GameLogic/Module/HijackerUpdate.h | 91 --
.../Include/GameLogic/Module/ImmortalBody.h | 56 -
.../GameLogic/Module/InstantDeathBehavior.h | 75 --
.../Include/GameLogic/Module/KeepObjectDie.h | 55 -
.../Include/GameLogic/Module/LifetimeUpdate.h | 84 --
.../GameLogic/Module/LocomotorSetUpgrade.h | 56 -
.../GameLogic/Module/MaxHealthUpgrade.h | 73 --
.../GameLogic/Module/MobMemberSlavedUpdate.h | 132 ---
.../Module/NeutronMissileSlowDeathUpdate.h | 111 --
.../GameLogic/Module/ObjectCreationUpgrade.h | 76 --
.../GameLogic/Module/ObjectDefectionHelper.h | 79 --
.../Include/GameLogic/Module/ObjectHelper.h | 60 --
.../GameLogic/Module/ObjectRepulsorHelper.h | 57 -
.../GameLogic/Module/ObjectSMCHelper.h | 57 -
.../Module/ObjectWeaponStatusHelper.h | 80 --
.../GameLogic/Module/OverchargeBehavior.h | 113 --
.../GameLogic/Module/POWTruckAIUpdate.h | 145 ---
.../GameLogic/Module/POWTruckBehavior.h | 70 --
.../GameLogic/Module/PilotFindVehicleUpdate.h | 78 --
.../GameLogic/Module/PowerPlantUpdate.h | 98 --
.../GameLogic/Module/PowerPlantUpgrade.h | 61 --
.../Include/GameLogic/Module/PreorderCreate.h | 57 -
.../GameLogic/Module/PrisonDockUpdate.h | 58 --
.../Include/GameLogic/Module/ProneUpdate.h | 77 --
.../Module/PropagandaCenterBehavior.h | 85 --
.../Module/QueueProductionExitUpdate.h | 125 ---
.../Include/GameLogic/Module/RadarUpdate.h | 87 --
.../Include/GameLogic/Module/RadarUpgrade.h | 77 --
.../GameLogic/Module/RadiusDecalUpdate.h | 83 --
.../Module/RailedTransportAIUpdate.h | 95 --
.../GameLogic/Module/RailedTransportContain.h | 56 -
.../GameLogic/Module/RepairDockUpdate.h | 75 --
.../GameLogic/Module/ShroudCrateCollide.h | 55 -
.../Module/SpawnPointProductionExitUpdate.h | 99 --
.../Include/GameLogic/Module/SpecialAbility.h | 64 --
.../Module/SpecialPowerCompletionDie.h | 89 --
.../GameLogic/Module/SpecialPowerCreate.h | 56 -
.../GameLogic/Module/SpyVisionSpecialPower.h | 72 --
.../Include/GameLogic/Module/SquishCollide.h | 57 -
.../GameLogic/Module/StatusBitsUpgrade.h | 105 --
.../Include/GameLogic/Module/StructureBody.h | 78 --
.../GameLogic/Module/SubObjectsUpgrade.h | 87 --
.../GameLogic/Module/SupplyCenterCreate.h | 56 -
.../GameLogic/Module/SupplyWarehouseCreate.h | 55 -
.../Module/SupplyWarehouseCripplingBehavior.h | 89 --
.../Module/SupplyWarehouseDockUpdate.h | 77 --
.../GameLogic/Module/TensileFormationUpdate.h | 89 --
.../GameLogic/Module/UnitCrateCollide.h | 82 --
.../Module/UnpauseSpecialPowerUpgrade.h | 74 --
.../Include/GameLogic/Module/UpgradeDie.h | 77 --
.../GameLogic/Module/VeterancyCrateCollide.h | 92 --
.../GameLogic/Module/VeterancyGainCreate.h | 69 --
.../Include/GameLogic/Module/WanderAIUpdate.h | 62 --
.../GameLogic/Module/WeaponBonusUpgrade.h | 89 --
.../GameLogic/Module/WeaponSetUpgrade.h | 56 -
.../Code/GameEngine/Include/GameLogic/Squad.h | 96 --
.../Source/Common/Bezier/BezFwdIterator.cpp | 120 ---
.../Source/Common/Bezier/BezierSegment.cpp | 246 -----
.../GameEngine/Source/Common/DamageFX.cpp | 324 ------
.../Code/GameEngine/Source/Common/Dict.cpp | 549 ----------
.../Source/Common/DiscreteCircle.cpp | 114 --
.../GameEngine/Source/Common/Language.cpp | 69 --
.../Code/GameEngine/Source/Common/MiniLog.cpp | 88 --
.../GameEngine/Source/Common/PerfTimer.cpp | 663 ------------
.../GameEngine/Source/Common/RTS/Handicap.cpp | 126 ---
.../Source/Common/RTS/MissionStats.cpp | 113 --
.../Source/Common/RTS/PlayerList.cpp | 484 ---------
.../GameEngine/Source/Common/RTS/Science.cpp | 376 -------
.../Source/Common/RTS/ScoreKeeper.cpp | 565 ----------
.../Source/Common/System/CriticalSection.cpp | 39 -
.../Source/Common/System/DataChunk.cpp | 980 ------------------
.../Source/Common/System/Directory.cpp | 135 ---
.../Source/Common/System/DisabledTypes.cpp | 57 -
.../Source/Common/System/Geometry.cpp | 600 -----------
.../Source/Common/System/KindOf.cpp | 187 ----
.../GameEngine/Source/Common/System/List.cpp | 451 --------
.../Source/Common/System/QuotedPrintable.cpp | 206 ----
.../Source/Common/System/StackDump.cpp | 640 ------------
.../Source/Common/System/Upgrade.cpp | 501 ---------
.../Source/Common/System/encrypt.cpp | 104 --
.../GameEngine/Source/Common/TerrainTypes.cpp | 165 ---
.../Code/GameEngine/Source/Common/version.cpp | 453 --------
.../EstablishConnectionsMenu.cpp | 144 ---
.../GameClient/GUI/GUICallbacks/Diplomacy.cpp | 597 -----------
.../GUI/GUICallbacks/ExtendedMessageBox.cpp | 308 ------
.../GUI/GUICallbacks/Menus/GameInfoWindow.cpp | 290 ------
.../GUI/GUICallbacks/MessageBox.cpp | 265 -----
.../GameClient/GUI/Shell/ShellMenuScheme.cpp | 323 ------
.../GameEngine/Source/GameLogic/AI/AIDock.cpp | 819 ---------------
.../GameEngine/Source/GameLogic/AI/Squad.cpp | 266 -----
.../Behavior/BridgeScaffoldBehavior.cpp | 366 -------
.../Object/Behavior/BridgeTowerBehavior.cpp | 335 ------
.../Object/Behavior/InstantDeathBehavior.cpp | 214 ----
.../Object/Behavior/OverchargeBehavior.cpp | 331 ------
.../Object/Behavior/POWTruckBehavior.cpp | 157 ---
.../Behavior/PropagandaCenterBehavior.cpp | 282 -----
.../SupplyWarehouseCripplingBehavior.cpp | 184 ----
.../GameLogic/Object/Body/HighlanderBody.cpp | 101 --
.../GameLogic/Object/Body/ImmortalBody.cpp | 106 --
.../GameLogic/Object/Body/StructureBody.cpp | 108 --
.../Collide/CrateCollide/HealCrateCollide.cpp | 106 --
.../CrateCollide/ShroudCrateCollide.cpp | 105 --
.../Collide/CrateCollide/UnitCrateCollide.cpp | 132 ---
.../CrateCollide/VeterancyCrateCollide.cpp | 210 ----
.../Object/Collide/FireWeaponCollide.cpp | 174 ----
.../Object/Collide/SquishCollide.cpp | 170 ---
.../GameLogic/Object/Contain/HealContain.cpp | 222 ----
.../Object/Contain/RailedTransportContain.cpp | 158 ---
.../GameLogic/Object/Create/CreateModule.cpp | 94 --
.../Object/Create/PreorderCreate.cpp | 109 --
.../Object/Create/SpecialPowerCreate.cpp | 113 --
.../Object/Create/SupplyCenterCreate.cpp | 119 ---
.../Object/Create/SupplyWarehouseCreate.cpp | 110 --
.../Object/Create/VeterancyGainCreate.cpp | 139 ---
.../GameLogic/Object/Damage/BoneFXDamage.cpp | 118 ---
.../GameLogic/Object/Damage/DamageModule.cpp | 71 --
.../Object/Destroy/DestroyModule.cpp | 89 --
.../GameLogic/Object/Die/CreateCrateDie.cpp | 293 ------
.../Source/GameLogic/Object/Die/CrushDie.cpp | 248 -----
.../Source/GameLogic/Object/Die/DamDie.cpp | 149 ---
.../Source/GameLogic/Object/Die/DieModule.cpp | 123 ---
.../GameLogic/Object/Die/EjectPilotDie.cpp | 152 ---
.../GameLogic/Object/Die/KeepObjectDie.cpp | 102 --
.../Object/Die/SpecialPowerCompletionDie.cpp | 131 ---
.../GameLogic/Object/Die/UpgradeDie.cpp | 127 ---
.../Object/Helper/ObjectDefectionHelper.cpp | 180 ----
.../GameLogic/Object/Helper/ObjectHelper.cpp | 99 --
.../Object/Helper/ObjectRepulsorHelper.cpp | 93 --
.../Object/Helper/ObjectSMCHelper.cpp | 93 --
.../Helper/ObjectWeaponStatusHelper.cpp | 80 --
.../Object/SpecialPower/SpecialAbility.cpp | 137 ---
.../SpecialPower/SpyVisionSpecialPower.cpp | 167 ---
.../Update/AIUpdate/POWTruckAIUpdate.cpp | 917 ----------------
.../AIUpdate/RailedTransportAIUpdate.cpp | 416 --------
.../Object/Update/AIUpdate/WanderAIUpdate.cpp | 103 --
.../Object/Update/CheckpointUpdate.cpp | 223 ----
.../Object/Update/CleanupHazardUpdate.cpp | 371 -------
.../Object/Update/DeletionUpdate.cpp | 150 ---
.../Update/DockUpdate/PrisonDockUpdate.cpp | 129 ---
.../Update/DockUpdate/RepairDockUpdate.cpp | 200 ----
.../DockUpdate/SupplyWarehouseDockUpdate.cpp | 229 ----
.../Update/DynamicGeometryInfoUpdate.cpp | 265 -----
.../Object/Update/EnemyNearUpdate.cpp | 153 ---
.../Object/Update/FireSpreadUpdate.cpp | 220 ----
.../Object/Update/FlammableUpdate.cpp | 340 ------
.../GameLogic/Object/Update/FloatUpdate.cpp | 180 ----
.../Object/Update/HeightDieUpdate.cpp | 321 ------
.../Object/Update/HijackerUpdate.cpp | 261 -----
.../Object/Update/LifetimeUpdate.cpp | 133 ---
.../Object/Update/MobMemberSlavedUpdate.cpp | 463 ---------
.../Update/NeutronMissileSlowDeathUpdate.cpp | 528 ----------
.../Object/Update/PilotFindVehicleUpdate.cpp | 225 ----
.../Object/Update/PowerPlantUpdate.cpp | 161 ---
.../QueueProductionExitUpdate.cpp | 349 -------
.../SpawnPointProductionExitUpdate.cpp | 241 -----
.../GameLogic/Object/Update/ProneUpdate.cpp | 163 ---
.../GameLogic/Object/Update/RadarUpdate.cpp | 173 ----
.../Object/Update/RadiusDecalUpdate.cpp | 127 ---
.../Object/Update/TensileFormationUpdate.cpp | 475 ---------
.../Object/Upgrade/ActiveShroudUpgrade.cpp | 130 ---
.../Object/Upgrade/CostModifierUpgrade.cpp | 213 ----
.../Upgrade/ExperienceScalarUpgrade.cpp | 127 ---
.../Object/Upgrade/LocomotorSetUpgrade.cpp | 97 --
.../Object/Upgrade/MaxHealthUpgrade.cpp | 132 ---
.../Object/Upgrade/ObjectCreationUpgrade.cpp | 139 ---
.../Object/Upgrade/PowerPlantUpgrade.cpp | 181 ----
.../GameLogic/Object/Upgrade/RadarUpgrade.cpp | 183 ----
.../Object/Upgrade/StatusBitsUpgrade.cpp | 148 ---
.../Object/Upgrade/SubObjectsUpgrade.cpp | 166 ---
.../Upgrade/UnpauseSpecialPowerUpgrade.cpp | 134 ---
.../Object/Upgrade/WeaponBonusUpgrade.cpp | 133 ---
.../Object/Upgrade/WeaponSetUpgrade.cpp | 97 --
GeneralsMD/Code/GameEngine/CMakeLists.txt | 464 ++++-----
scripts/cpp/unify_move_files.py | 235 ++++-
468 files changed, 930 insertions(+), 39024 deletions(-)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/BezFwdIterator.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/BezierSegment.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/CriticalSection.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/DamageFX.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/DataChunk.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/Dict.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/Directory.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/DisabledTypes.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/DiscreteCircle.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/Geometry.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/Handicap.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/KindOf.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/Language.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/List.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/MiniLog.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/MissionStats.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/PerfTimer.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/PlayerList.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/QuotedPrintable.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/Science.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/ScoreKeeper.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/StackDump.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/TerrainTypes.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/Upgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/encrypt.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/Common/version.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameClient/Diplomacy.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameClient/EstablishConnectionsMenu.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameClient/ExtendedMessageBox.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameClient/GameInfoWindow.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameClient/MessageBox.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameClient/ShellMenuScheme.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/AIDock.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/ActiveShroudUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/BoneFXDamage.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/BridgeScaffoldBehavior.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/BridgeTowerBehavior.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/CheckpointUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/CleanupHazardUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/CostModifierUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/CreateCrateDie.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/CreateModule.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/CrushDie.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/DamDie.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/DamageModule.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/DeletionUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/DestroyModule.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/DieModule.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/DynamicGeometryInfoUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/EjectPilotDie.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/EnemyNearUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/ExperienceScalarUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/FireSpreadUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/FireWeaponCollide.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/FlammableUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/FloatUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/HealContain.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/HealCrateCollide.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/HeightDieUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/HighlanderBody.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/HijackerUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/ImmortalBody.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/InstantDeathBehavior.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/KeepObjectDie.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/LifetimeUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/LocomotorSetUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/MaxHealthUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/MobMemberSlavedUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/ObjectCreationUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/ObjectDefectionHelper.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/ObjectHelper.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/ObjectRepulsorHelper.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/ObjectSMCHelper.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/ObjectWeaponStatusHelper.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/OverchargeBehavior.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/POWTruckAIUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/POWTruckBehavior.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/PilotFindVehicleUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/PowerPlantUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/PowerPlantUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/PreorderCreate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/PrisonDockUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/ProneUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/PropagandaCenterBehavior.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/QueueProductionExitUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/RadarUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/RadarUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/RadiusDecalUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/RailedTransportAIUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/RailedTransportContain.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/RepairDockUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/ShroudCrateCollide.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/SpawnPointProductionExitUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/SpecialAbility.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/SpecialPowerCompletionDie.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/SpecialPowerCreate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/SpyVisionSpecialPower.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/SquishCollide.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/StatusBitsUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/StructureBody.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/SubObjectsUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/SupplyCenterCreate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/SupplyWarehouseCreate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/SupplyWarehouseDockUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/TensileFormationUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/UnitCrateCollide.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/UpgradeDie.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/VeterancyCrateCollide.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/VeterancyGainCreate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/WanderAIUpdate.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/WeaponBonusUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Module/WeaponSetUpgrade.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Include/GameLogic/Squad.h (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/Bezier/BezFwdIterator.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/Bezier/BezierSegment.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/DamageFX.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/Dict.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/DiscreteCircle.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/Language.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/MiniLog.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/PerfTimer.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/RTS/Handicap.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/RTS/MissionStats.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/RTS/PlayerList.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/RTS/Science.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/RTS/ScoreKeeper.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/System/CriticalSection.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/System/DataChunk.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/System/Directory.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/System/DisabledTypes.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/System/Geometry.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/System/KindOf.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/System/List.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/System/QuotedPrintable.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/System/StackDump.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/System/Upgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/System/encrypt.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/TerrainTypes.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/Common/version.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameClient/GUI/EstablishConnectionsMenu/EstablishConnectionsMenu.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameClient/GUI/GUICallbacks/Diplomacy.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameClient/GUI/GUICallbacks/ExtendedMessageBox.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/GameInfoWindow.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameClient/GUI/GUICallbacks/MessageBox.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameClient/GUI/Shell/ShellMenuScheme.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/AI/AIDock.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/AI/Squad.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Behavior/BridgeScaffoldBehavior.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Behavior/BridgeTowerBehavior.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Behavior/InstantDeathBehavior.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Behavior/OverchargeBehavior.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Behavior/POWTruckBehavior.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Behavior/PropagandaCenterBehavior.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Behavior/SupplyWarehouseCripplingBehavior.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Body/HighlanderBody.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Body/ImmortalBody.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Body/StructureBody.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Collide/FireWeaponCollide.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Collide/SquishCollide.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Contain/HealContain.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Contain/RailedTransportContain.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Create/CreateModule.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Create/PreorderCreate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Create/SpecialPowerCreate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Create/SupplyCenterCreate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Create/SupplyWarehouseCreate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Create/VeterancyGainCreate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Damage/BoneFXDamage.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Damage/DamageModule.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Destroy/DestroyModule.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Die/CreateCrateDie.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Die/CrushDie.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Die/DamDie.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Die/DieModule.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Die/EjectPilotDie.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Die/KeepObjectDie.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Die/SpecialPowerCompletionDie.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Die/UpgradeDie.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Helper/ObjectDefectionHelper.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Helper/ObjectHelper.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Helper/ObjectRepulsorHelper.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Helper/ObjectSMCHelper.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Helper/ObjectWeaponStatusHelper.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/SpecialPower/SpecialAbility.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/SpecialPower/SpyVisionSpecialPower.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/AIUpdate/POWTruckAIUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/AIUpdate/RailedTransportAIUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/AIUpdate/WanderAIUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/CheckpointUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/CleanupHazardUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/DeletionUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/DockUpdate/PrisonDockUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/DockUpdate/RepairDockUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/DockUpdate/SupplyWarehouseDockUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/DynamicGeometryInfoUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/EnemyNearUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/FireSpreadUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/FlammableUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/FloatUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/HeightDieUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/HijackerUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/LifetimeUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/MobMemberSlavedUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/NeutronMissileSlowDeathUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/PilotFindVehicleUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/PowerPlantUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/SpawnPointProductionExitUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/ProneUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/RadarUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/RadiusDecalUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Update/TensileFormationUpdate.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/ActiveShroudUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/CostModifierUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/ExperienceScalarUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/LocomotorSetUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/MaxHealthUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/ObjectCreationUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/PowerPlantUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/RadarUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/StatusBitsUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/SubObjectsUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/UnpauseSpecialPowerUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/WeaponBonusUpgrade.cpp (100%)
rename {GeneralsMD/Code => Core}/GameEngine/Source/GameLogic/Object/Upgrade/WeaponSetUpgrade.cpp (100%)
delete mode 100644 Generals/Code/GameEngine/Include/Common/BezFwdIterator.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/BezierSegment.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/CriticalSection.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/DamageFX.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/DataChunk.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/Dict.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/Directory.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/DisabledTypes.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/DiscreteCircle.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/Geometry.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/Handicap.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/KindOf.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/Language.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/List.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/MiniLog.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/MissionStats.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/PerfTimer.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/PlayerList.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/QuotedPrintable.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/Science.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/ScoreKeeper.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/StackDump.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/TerrainTypes.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/Upgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/encrypt.h
delete mode 100644 Generals/Code/GameEngine/Include/Common/version.h
delete mode 100644 Generals/Code/GameEngine/Include/GameClient/Diplomacy.h
delete mode 100644 Generals/Code/GameEngine/Include/GameClient/EstablishConnectionsMenu.h
delete mode 100644 Generals/Code/GameEngine/Include/GameClient/ExtendedMessageBox.h
delete mode 100644 Generals/Code/GameEngine/Include/GameClient/GameInfoWindow.h
delete mode 100644 Generals/Code/GameEngine/Include/GameClient/MessageBox.h
delete mode 100644 Generals/Code/GameEngine/Include/GameClient/ShellMenuScheme.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/AIDock.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/ActiveShroudUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/BoneFXDamage.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/BridgeScaffoldBehavior.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/BridgeTowerBehavior.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/CheckpointUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/CleanupHazardUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/CostModifierUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/CreateCrateDie.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/CreateModule.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/CrushDie.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/DamDie.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/DamageModule.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/DeletionUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/DestroyModule.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/DieModule.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/DynamicGeometryInfoUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/EjectPilotDie.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/EnemyNearUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/ExperienceScalarUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/FireSpreadUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/FireWeaponCollide.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/FlammableUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/FloatUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/HealContain.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/HealCrateCollide.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/HeightDieUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/HighlanderBody.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/HijackerUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/ImmortalBody.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/InstantDeathBehavior.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/KeepObjectDie.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/LifetimeUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/LocomotorSetUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/MaxHealthUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/MobMemberSlavedUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/ObjectCreationUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/ObjectDefectionHelper.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/ObjectHelper.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/ObjectRepulsorHelper.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/ObjectSMCHelper.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/ObjectWeaponStatusHelper.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/OverchargeBehavior.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/POWTruckAIUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/POWTruckBehavior.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/PilotFindVehicleUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/PreorderCreate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/PrisonDockUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/ProneUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/PropagandaCenterBehavior.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/QueueProductionExitUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/RadarUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/RadarUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/RadiusDecalUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/RailedTransportAIUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/RailedTransportContain.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/RepairDockUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/ShroudCrateCollide.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/SpawnPointProductionExitUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/SpecialAbility.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCompletionDie.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCreate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/SpyVisionSpecialPower.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/SquishCollide.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/StatusBitsUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/StructureBody.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/SubObjectsUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/SupplyCenterCreate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCreate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseDockUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/TensileFormationUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/UnitCrateCollide.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/UpgradeDie.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/VeterancyCrateCollide.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/VeterancyGainCreate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/WanderAIUpdate.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/WeaponBonusUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Module/WeaponSetUpgrade.h
delete mode 100644 Generals/Code/GameEngine/Include/GameLogic/Squad.h
delete mode 100644 Generals/Code/GameEngine/Source/Common/Bezier/BezFwdIterator.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/Bezier/BezierSegment.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/DamageFX.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/Dict.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/DiscreteCircle.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/Language.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/MiniLog.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/PerfTimer.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/RTS/Handicap.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/RTS/MissionStats.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/RTS/PlayerList.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/RTS/Science.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/RTS/ScoreKeeper.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/System/CriticalSection.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/System/DataChunk.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/System/Directory.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/System/DisabledTypes.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/System/Geometry.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/System/KindOf.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/System/List.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/System/QuotedPrintable.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/System/StackDump.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/System/Upgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/System/encrypt.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/TerrainTypes.cpp
delete mode 100644 Generals/Code/GameEngine/Source/Common/version.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameClient/GUI/EstablishConnectionsMenu/EstablishConnectionsMenu.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Diplomacy.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/ExtendedMessageBox.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/GameInfoWindow.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/MessageBox.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameClient/GUI/Shell/ShellMenuScheme.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/AI/AIDock.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/AI/Squad.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Behavior/BridgeScaffoldBehavior.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Behavior/BridgeTowerBehavior.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Behavior/InstantDeathBehavior.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Behavior/OverchargeBehavior.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Behavior/POWTruckBehavior.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Behavior/PropagandaCenterBehavior.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Behavior/SupplyWarehouseCripplingBehavior.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Body/HighlanderBody.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Body/ImmortalBody.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Body/StructureBody.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Collide/FireWeaponCollide.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Collide/SquishCollide.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Contain/HealContain.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Contain/RailedTransportContain.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Create/CreateModule.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Create/PreorderCreate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Create/SpecialPowerCreate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Create/SupplyCenterCreate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Create/SupplyWarehouseCreate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Create/VeterancyGainCreate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Damage/BoneFXDamage.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Damage/DamageModule.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Destroy/DestroyModule.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Die/CreateCrateDie.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Die/CrushDie.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Die/DamDie.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Die/DieModule.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Die/EjectPilotDie.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Die/KeepObjectDie.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Die/SpecialPowerCompletionDie.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Die/UpgradeDie.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectDefectionHelper.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectHelper.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectRepulsorHelper.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectSMCHelper.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectWeaponStatusHelper.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/SpecialPower/SpecialAbility.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/SpecialPower/SpyVisionSpecialPower.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/POWTruckAIUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/RailedTransportAIUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/WanderAIUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/CheckpointUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/CleanupHazardUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/DeletionUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/DockUpdate/PrisonDockUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/DockUpdate/RepairDockUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/DockUpdate/SupplyWarehouseDockUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/DynamicGeometryInfoUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/EnemyNearUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/FireSpreadUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/FlammableUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/FloatUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/HeightDieUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/HijackerUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/LifetimeUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/MobMemberSlavedUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/NeutronMissileSlowDeathUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/PilotFindVehicleUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/PowerPlantUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/SpawnPointProductionExitUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/ProneUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/RadarUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/RadiusDecalUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Update/TensileFormationUpdate.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/ActiveShroudUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/CostModifierUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/ExperienceScalarUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/LocomotorSetUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/MaxHealthUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/ObjectCreationUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/PowerPlantUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/RadarUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/StatusBitsUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/SubObjectsUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/UnpauseSpecialPowerUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/WeaponBonusUpgrade.cpp
delete mode 100644 Generals/Code/GameEngine/Source/GameLogic/Object/Upgrade/WeaponSetUpgrade.cpp
diff --git a/Core/GameEngine/CMakeLists.txt b/Core/GameEngine/CMakeLists.txt
index 5b46ed92663..0ea82c0f04c 100644
--- a/Core/GameEngine/CMakeLists.txt
+++ b/Core/GameEngine/CMakeLists.txt
@@ -13,8 +13,8 @@ set(GAMEENGINE_SRC
Include/Common/AudioRequest.h
Include/Common/AudioSettings.h
# Include/Common/BattleHonors.h
-# Include/Common/BezFwdIterator.h
-# Include/Common/BezierSegment.h
+ Include/Common/BezFwdIterator.h
+ Include/Common/BezierSegment.h
# Include/Common/BitFlags.h
# Include/Common/BitFlagsIO.h
# Include/Common/BorderColors.h
@@ -23,19 +23,19 @@ set(GAMEENGINE_SRC
# Include/Common/CommandLine.h
Include/Common/crc.h
Include/Common/CRCDebug.h
-# Include/Common/CriticalSection.h
+ Include/Common/CriticalSection.h
# Include/Common/CustomMatchPreferences.h
-# Include/Common/DamageFX.h
-# Include/Common/DataChunk.h
+ Include/Common/DamageFX.h
+ Include/Common/DataChunk.h
Include/Common/Debug.h
Include/Common/Diagnostic/SimulationMathCrc.h
-# Include/Common/Dict.h
-# Include/Common/Directory.h
-# Include/Common/DisabledTypes.h
-# Include/Common/DiscreteCircle.h
+ Include/Common/Dict.h
+ Include/Common/Directory.h
+ Include/Common/DisabledTypes.h
+ Include/Common/DiscreteCircle.h
# Include/Common/DrawModule.h
Include/Common/DynamicAudioEventInfo.h
-# Include/Common/encrypt.h
+ Include/Common/encrypt.h
# Include/Common/Energy.h
Include/Common/Errors.h
Include/Common/file.h
@@ -56,26 +56,26 @@ set(GAMEENGINE_SRC
# Include/Common/GameStateMap.h
Include/Common/GameType.h
Include/Common/GameUtility.h
-# Include/Common/Geometry.h
+ Include/Common/Geometry.h
# Include/Common/GlobalData.h
-# Include/Common/Handicap.h
+ Include/Common/Handicap.h
# Include/Common/IgnorePreferences.h
Include/Common/INI.h
# Include/Common/INIException.h
-# Include/Common/KindOf.h
+ Include/Common/KindOf.h
# Include/Common/LadderPreferences.h
-# Include/Common/Language.h
+ Include/Common/Language.h
# Include/Common/LatchRestore.h
-# Include/Common/List.h
+ Include/Common/List.h
Include/Common/LocalFile.h
Include/Common/LocalFileSystem.h
Include/Common/MapObject.h
# Include/Common/MapReaderWriterInfo.h
# Include/Common/MessageStream.h
Include/Common/MiniDumper.h
-# Include/Common/MiniLog.h
+ Include/Common/MiniLog.h
Include/Common/MiscAudio.h
-# Include/Common/MissionStats.h
+ Include/Common/MissionStats.h
# Include/Common/ModelState.h
# Include/Common/Module.h
# Include/Common/ModuleFactory.h
@@ -89,13 +89,13 @@ set(GAMEENGINE_SRC
# Include/Common/Override.h
# Include/Common/PartitionSolver.h
# Include/Common/PerfMetrics.h
-# Include/Common/PerfTimer.h
+ Include/Common/PerfTimer.h
# Include/Common/Player.h
-# Include/Common/PlayerList.h
+ Include/Common/PlayerList.h
# Include/Common/PlayerTemplate.h
# Include/Common/ProductionPrerequisite.h
# Include/Common/QuickmatchPreferences.h
-# Include/Common/QuotedPrintable.h
+ Include/Common/QuotedPrintable.h
Include/Common/Radar.h
Include/Common/RAMFile.h
Include/Common/RandomValue.h
@@ -103,9 +103,9 @@ set(GAMEENGINE_SRC
# Include/Common/Registry.h
Include/Common/ReplaySimulation.h
# Include/Common/ResourceGatheringManager.h
-# Include/Common/Science.h
+ Include/Common/Science.h
# Include/Common/ScopedMutex.h
-# Include/Common/ScoreKeeper.h
+ Include/Common/ScoreKeeper.h
#Include/Common/simpleplayer.h # unused
# Include/Common/SkirmishBattleHonors.h
# Include/Common/SkirmishPreferences.h
@@ -114,7 +114,7 @@ set(GAMEENGINE_SRC
# Include/Common/SpecialPower.h
# Include/Common/SpecialPowerMaskType.h
# Include/Common/SpecialPowerType.h
-# Include/Common/StackDump.h
+ Include/Common/StackDump.h
# Include/Common/StateMachine.h
# Include/Common/StatsCollector.h
Include/Common/STLTypedefs.h
@@ -122,7 +122,7 @@ set(GAMEENGINE_SRC
Include/Common/SubsystemInterface.h
# Include/Common/Team.h
# Include/Common/Terrain.h
-# Include/Common/TerrainTypes.h
+ Include/Common/TerrainTypes.h
# Include/Common/Thing.h
# Include/Common/ThingFactory.h
# Include/Common/ThingSort.h
@@ -130,10 +130,10 @@ set(GAMEENGINE_SRC
# Include/Common/TunnelTracker.h
Include/Common/UnicodeString.h
# Include/Common/UnitTimings.h
-# Include/Common/Upgrade.h
+ Include/Common/Upgrade.h
#Include/Common/urllaunch.h # unused
Include/Common/UserPreferences.h
-# Include/Common/version.h
+ Include/Common/version.h
# Include/Common/WellKnownKeys.h
Include/Common/WorkerProcess.h
Include/Common/Xfer.h
@@ -154,7 +154,7 @@ set(GAMEENGINE_SRC
Include/GameClient/ControlBarScheme.h
Include/GameClient/Credits.h
Include/GameClient/DebugDisplay.h
-# Include/GameClient/Diplomacy.h
+ Include/GameClient/Diplomacy.h
# Include/GameClient/DisconnectMenu.h
Include/GameClient/Display.h
Include/GameClient/DisplayString.h
@@ -162,9 +162,9 @@ set(GAMEENGINE_SRC
# Include/GameClient/Drawable.h
# Include/GameClient/DrawableInfo.h
Include/GameClient/DrawGroupInfo.h
-# Include/GameClient/EstablishConnectionsMenu.h
+ Include/GameClient/EstablishConnectionsMenu.h
# Include/GameClient/Eva.h
-# Include/GameClient/ExtendedMessageBox.h
+ Include/GameClient/ExtendedMessageBox.h
# Include/GameClient/FontDesc.h
Include/GameClient/FXList.h
Include/GameClient/Gadget.h
@@ -180,7 +180,7 @@ set(GAMEENGINE_SRC
Include/GameClient/GadgetTextEntry.h
# Include/GameClient/GameClient.h
Include/GameClient/GameFont.h
-# Include/GameClient/GameInfoWindow.h
+ Include/GameClient/GameInfoWindow.h
Include/GameClient/GameText.h
Include/GameClient/GameWindow.h
Include/GameClient/GameWindowGlobal.h
@@ -204,7 +204,7 @@ set(GAMEENGINE_SRC
Include/GameClient/LoadScreen.h
Include/GameClient/LookAtXlat.h
Include/GameClient/MapUtil.h
-# Include/GameClient/MessageBox.h
+ Include/GameClient/MessageBox.h
Include/GameClient/MetaEvent.h
Include/GameClient/Module/AnimatedParticleSysBoneClientUpdate.h
Include/GameClient/Module/BeaconClientUpdate.h
@@ -221,7 +221,7 @@ set(GAMEENGINE_SRC
# Include/GameClient/Shadow.h
# Include/GameClient/Shell.h
# Include/GameClient/ShellHooks.h
-# Include/GameClient/ShellMenuScheme.h
+ Include/GameClient/ShellMenuScheme.h
Include/GameClient/Smudge.h
Include/GameClient/Snow.h
Include/GameClient/Statistics.h
@@ -235,7 +235,7 @@ set(GAMEENGINE_SRC
Include/GameClient/WindowXlat.h
Include/GameClient/WinInstanceData.h
# Include/GameLogic/AI.h
-# Include/GameLogic/AIDock.h
+ Include/GameLogic/AIDock.h
# Include/GameLogic/AIGuard.h
# Include/GameLogic/AIGuardRetaliate.h
Include/GameLogic/AIPathfind.h
@@ -257,7 +257,7 @@ set(GAMEENGINE_SRC
# Include/GameLogic/LocomotorSet.h
Include/GameLogic/LogicRandomValue.h
# Include/GameLogic/Module/ActiveBody.h
-# Include/GameLogic/Module/ActiveShroudUpgrade.h
+ Include/GameLogic/Module/ActiveShroudUpgrade.h
# Include/GameLogic/Module/AIUpdate.h
# Include/GameLogic/Module/AnimationSteeringUpdate.h
# Include/GameLogic/Module/ArmorUpgrade.h
@@ -272,64 +272,64 @@ set(GAMEENGINE_SRC
# Include/GameLogic/Module/BattlePlanUpdate.h
# Include/GameLogic/Module/BehaviorModule.h
# Include/GameLogic/Module/BodyModule.h
-# Include/GameLogic/Module/BoneFXDamage.h
+ Include/GameLogic/Module/BoneFXDamage.h
# Include/GameLogic/Module/BoneFXUpdate.h
# Include/GameLogic/Module/BridgeBehavior.h
-# Include/GameLogic/Module/BridgeScaffoldBehavior.h
-# Include/GameLogic/Module/BridgeTowerBehavior.h
+ Include/GameLogic/Module/BridgeScaffoldBehavior.h
+ Include/GameLogic/Module/BridgeTowerBehavior.h
# Include/GameLogic/Module/BunkerBusterBehavior.h
# Include/GameLogic/Module/CashBountyPower.h
# Include/GameLogic/Module/CashHackSpecialPower.h
# Include/GameLogic/Module/CaveContain.h
-# Include/GameLogic/Module/CheckpointUpdate.h
+ Include/GameLogic/Module/CheckpointUpdate.h
# Include/GameLogic/Module/ChinookAIUpdate.h
# Include/GameLogic/Module/CleanupAreaPower.h
-# Include/GameLogic/Module/CleanupHazardUpdate.h
+ Include/GameLogic/Module/CleanupHazardUpdate.h
# Include/GameLogic/Module/CollideModule.h
# Include/GameLogic/Module/CommandButtonHuntUpdate.h
# Include/GameLogic/Module/CommandSetUpgrade.h
# Include/GameLogic/Module/ContainModule.h
# Include/GameLogic/Module/ConvertToCarBombCrateCollide.h
# Include/GameLogic/Module/ConvertToHijackedVehicleCrateCollide.h
-# Include/GameLogic/Module/CostModifierUpgrade.h
+ Include/GameLogic/Module/CostModifierUpgrade.h
# Include/GameLogic/Module/CountermeasuresBehavior.h
# Include/GameLogic/Module/CrateCollide.h
-# Include/GameLogic/Module/CreateCrateDie.h
-# Include/GameLogic/Module/CreateModule.h
+ Include/GameLogic/Module/CreateCrateDie.h
+ Include/GameLogic/Module/CreateModule.h
# Include/GameLogic/Module/CreateObjectDie.h
-# Include/GameLogic/Module/CrushDie.h
-# Include/GameLogic/Module/DamageModule.h
-# Include/GameLogic/Module/DamDie.h
+ Include/GameLogic/Module/CrushDie.h
+ Include/GameLogic/Module/DamageModule.h
+ Include/GameLogic/Module/DamDie.h
# Include/GameLogic/Module/DefaultProductionExitUpdate.h
# Include/GameLogic/Module/DefectorSpecialPower.h
-# Include/GameLogic/Module/DeletionUpdate.h
+ Include/GameLogic/Module/DeletionUpdate.h
# Include/GameLogic/Module/DeliverPayloadAIUpdate.h
# Include/GameLogic/Module/DemoralizeSpecialPower.h
# Include/GameLogic/Module/DemoTrapUpdate.h
# Include/GameLogic/Module/DeployStyleAIUpdate.h
# Include/GameLogic/Module/DestroyDie.h
-# Include/GameLogic/Module/DestroyModule.h
-# Include/GameLogic/Module/DieModule.h
+ Include/GameLogic/Module/DestroyModule.h
+ Include/GameLogic/Module/DieModule.h
# Include/GameLogic/Module/DockUpdate.h
# Include/GameLogic/Module/DozerAIUpdate.h
# Include/GameLogic/Module/DumbProjectileBehavior.h
-# Include/GameLogic/Module/DynamicGeometryInfoUpdate.h
+ Include/GameLogic/Module/DynamicGeometryInfoUpdate.h
# Include/GameLogic/Module/DynamicShroudClearingRangeUpdate.h
-# Include/GameLogic/Module/EjectPilotDie.h
+ Include/GameLogic/Module/EjectPilotDie.h
# Include/GameLogic/Module/EMPUpdate.h
-# Include/GameLogic/Module/EnemyNearUpdate.h
-# Include/GameLogic/Module/ExperienceScalarUpgrade.h
+ Include/GameLogic/Module/EnemyNearUpdate.h
+ Include/GameLogic/Module/ExperienceScalarUpgrade.h
# Include/GameLogic/Module/FireOCLAfterWeaponCooldownUpdate.h
-# Include/GameLogic/Module/FireSpreadUpdate.h
+ Include/GameLogic/Module/FireSpreadUpdate.h
# Include/GameLogic/Module/FirestormDynamicGeometryInfoUpdate.h
-# Include/GameLogic/Module/FireWeaponCollide.h
+ Include/GameLogic/Module/FireWeaponCollide.h
# Include/GameLogic/Module/FireWeaponPower.h
# Include/GameLogic/Module/FireWeaponUpdate.h
# Include/GameLogic/Module/FireWeaponWhenDamagedBehavior.h
# Include/GameLogic/Module/FireWeaponWhenDeadBehavior.h
-# Include/GameLogic/Module/FlammableUpdate.h
+ Include/GameLogic/Module/FlammableUpdate.h
# Include/GameLogic/Module/FlightDeckBehavior.h
-# Include/GameLogic/Module/FloatUpdate.h
+ Include/GameLogic/Module/FloatUpdate.h
# Include/GameLogic/Module/FXListDie.h
# Include/GameLogic/Module/GarrisonContain.h
# Include/GameLogic/Module/GenerateMinefieldBehavior.h
@@ -337,79 +337,79 @@ set(GAMEENGINE_SRC
# Include/GameLogic/Module/GrantStealthBehavior.h
# Include/GameLogic/Module/GrantUpgradeCreate.h
# Include/GameLogic/Module/HackInternetAIUpdate.h
-# Include/GameLogic/Module/HealContain.h
-# Include/GameLogic/Module/HealCrateCollide.h
-# Include/GameLogic/Module/HeightDieUpdate.h
+ Include/GameLogic/Module/HealContain.h
+ Include/GameLogic/Module/HealCrateCollide.h
+ Include/GameLogic/Module/HeightDieUpdate.h
# Include/GameLogic/Module/HelicopterSlowDeathUpdate.h
# Include/GameLogic/Module/HelixContain.h
-# Include/GameLogic/Module/HighlanderBody.h
-# Include/GameLogic/Module/HijackerUpdate.h
+ Include/GameLogic/Module/HighlanderBody.h
+ Include/GameLogic/Module/HijackerUpdate.h
# Include/GameLogic/Module/HiveStructureBody.h
# Include/GameLogic/Module/HordeUpdate.h
-# Include/GameLogic/Module/ImmortalBody.h
+ Include/GameLogic/Module/ImmortalBody.h
# Include/GameLogic/Module/InactiveBody.h
-# Include/GameLogic/Module/InstantDeathBehavior.h
+ Include/GameLogic/Module/InstantDeathBehavior.h
# Include/GameLogic/Module/InternetHackContain.h
# Include/GameLogic/Module/JetAIUpdate.h
# Include/GameLogic/Module/JetSlowDeathBehavior.h
-# Include/GameLogic/Module/KeepObjectDie.h
+ Include/GameLogic/Module/KeepObjectDie.h
# Include/GameLogic/Module/LaserUpdate.h
-# Include/GameLogic/Module/LifetimeUpdate.h
+ Include/GameLogic/Module/LifetimeUpdate.h
# Include/GameLogic/Module/LockWeaponCreate.h
-# Include/GameLogic/Module/LocomotorSetUpgrade.h
-# Include/GameLogic/Module/MaxHealthUpgrade.h
+ Include/GameLogic/Module/LocomotorSetUpgrade.h
+ Include/GameLogic/Module/MaxHealthUpgrade.h
# Include/GameLogic/Module/MinefieldBehavior.h
# Include/GameLogic/Module/MissileAIUpdate.h
# Include/GameLogic/Module/MissileLauncherBuildingUpdate.h
-# Include/GameLogic/Module/MobMemberSlavedUpdate.h
+ Include/GameLogic/Module/MobMemberSlavedUpdate.h
# Include/GameLogic/Module/MobNexusContain.h
# Include/GameLogic/Module/ModelConditionUpgrade.h
# Include/GameLogic/Module/MoneyCrateCollide.h
# Include/GameLogic/Module/NeutronBlastBehavior.h
-# Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h
+ Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h
# Include/GameLogic/Module/NeutronMissileUpdate.h
-# Include/GameLogic/Module/ObjectCreationUpgrade.h
-# Include/GameLogic/Module/ObjectDefectionHelper.h
-# Include/GameLogic/Module/ObjectHelper.h
-# Include/GameLogic/Module/ObjectRepulsorHelper.h
-# Include/GameLogic/Module/ObjectSMCHelper.h
-# Include/GameLogic/Module/ObjectWeaponStatusHelper.h
+ Include/GameLogic/Module/ObjectCreationUpgrade.h
+ Include/GameLogic/Module/ObjectDefectionHelper.h
+ Include/GameLogic/Module/ObjectHelper.h
+ Include/GameLogic/Module/ObjectRepulsorHelper.h
+ Include/GameLogic/Module/ObjectSMCHelper.h
+ Include/GameLogic/Module/ObjectWeaponStatusHelper.h
# Include/GameLogic/Module/OCLSpecialPower.h
# Include/GameLogic/Module/OCLUpdate.h
# Include/GameLogic/Module/OpenContain.h
-# Include/GameLogic/Module/OverchargeBehavior.h
+ Include/GameLogic/Module/OverchargeBehavior.h
# Include/GameLogic/Module/OverlordContain.h
# Include/GameLogic/Module/ParachuteContain.h
# Include/GameLogic/Module/ParkingPlaceBehavior.h
# Include/GameLogic/Module/ParticleUplinkCannonUpdate.h
# Include/GameLogic/Module/PassengersFireUpgrade.h
# Include/GameLogic/Module/PhysicsUpdate.h
-# Include/GameLogic/Module/PilotFindVehicleUpdate.h
+ Include/GameLogic/Module/PilotFindVehicleUpdate.h
# Include/GameLogic/Module/PointDefenseLaserUpdate.h
# Include/GameLogic/Module/PoisonedBehavior.h
-# Include/GameLogic/Module/PowerPlantUpdate.h
-# Include/GameLogic/Module/PowerPlantUpgrade.h
-# Include/GameLogic/Module/POWTruckAIUpdate.h
-# Include/GameLogic/Module/POWTruckBehavior.h
-# Include/GameLogic/Module/PreorderCreate.h
+ Include/GameLogic/Module/PowerPlantUpdate.h
+ Include/GameLogic/Module/PowerPlantUpgrade.h
+ Include/GameLogic/Module/POWTruckAIUpdate.h
+ Include/GameLogic/Module/POWTruckBehavior.h
+ Include/GameLogic/Module/PreorderCreate.h
# Include/GameLogic/Module/PrisonBehavior.h
-# Include/GameLogic/Module/PrisonDockUpdate.h
+ Include/GameLogic/Module/PrisonDockUpdate.h
# Include/GameLogic/Module/ProductionUpdate.h
# Include/GameLogic/Module/ProjectileStreamUpdate.h
-# Include/GameLogic/Module/ProneUpdate.h
-# Include/GameLogic/Module/PropagandaCenterBehavior.h
+ Include/GameLogic/Module/ProneUpdate.h
+ Include/GameLogic/Module/PropagandaCenterBehavior.h
# Include/GameLogic/Module/PropagandaTowerBehavior.h
-# Include/GameLogic/Module/QueueProductionExitUpdate.h
-# Include/GameLogic/Module/RadarUpdate.h
-# Include/GameLogic/Module/RadarUpgrade.h
-# Include/GameLogic/Module/RadiusDecalUpdate.h
-# Include/GameLogic/Module/RailedTransportAIUpdate.h
-# Include/GameLogic/Module/RailedTransportContain.h
+ Include/GameLogic/Module/QueueProductionExitUpdate.h
+ Include/GameLogic/Module/RadarUpdate.h
+ Include/GameLogic/Module/RadarUpgrade.h
+ Include/GameLogic/Module/RadiusDecalUpdate.h
+ Include/GameLogic/Module/RailedTransportAIUpdate.h
+ Include/GameLogic/Module/RailedTransportContain.h
# Include/GameLogic/Module/RailedTransportDockUpdate.h
# Include/GameLogic/Module/RailroadGuideAIUpdate.h
# Include/GameLogic/Module/RebuildHoleBehavior.h
# Include/GameLogic/Module/RebuildHoleExposeDie.h
-# Include/GameLogic/Module/RepairDockUpdate.h
+ Include/GameLogic/Module/RepairDockUpdate.h
# Include/GameLogic/Module/ReplaceObjectUpgrade.h
# Include/GameLogic/Module/RiderChangeContain.h
# Include/GameLogic/Module/SabotageCommandCenterCrateCollide.h
@@ -421,62 +421,62 @@ set(GAMEENGINE_SRC
# Include/GameLogic/Module/SabotageSupplyCenterCrateCollide.h
# Include/GameLogic/Module/SabotageSupplyDropzoneCrateCollide.h
# Include/GameLogic/Module/SalvageCrateCollide.h
-# Include/GameLogic/Module/ShroudCrateCollide.h
+ Include/GameLogic/Module/ShroudCrateCollide.h
# Include/GameLogic/Module/SlavedUpdate.h
# Include/GameLogic/Module/SlowDeathBehavior.h
# Include/GameLogic/Module/SmartBombTargetHomingUpdate.h
# Include/GameLogic/Module/SpawnBehavior.h
-# Include/GameLogic/Module/SpawnPointProductionExitUpdate.h
-# Include/GameLogic/Module/SpecialAbility.h
+ Include/GameLogic/Module/SpawnPointProductionExitUpdate.h
+ Include/GameLogic/Module/SpecialAbility.h
# Include/GameLogic/Module/SpecialAbilityUpdate.h
-# Include/GameLogic/Module/SpecialPowerCompletionDie.h
-# Include/GameLogic/Module/SpecialPowerCreate.h
+ Include/GameLogic/Module/SpecialPowerCompletionDie.h
+ Include/GameLogic/Module/SpecialPowerCreate.h
# Include/GameLogic/Module/SpecialPowerModule.h
# Include/GameLogic/Module/SpecialPowerUpdateModule.h
# Include/GameLogic/Module/SpectreGunshipDeploymentUpdate.h
# Include/GameLogic/Module/SpectreGunshipUpdate.h
-# Include/GameLogic/Module/SpyVisionSpecialPower.h
+ Include/GameLogic/Module/SpyVisionSpecialPower.h
# Include/GameLogic/Module/SpyVisionUpdate.h
-# Include/GameLogic/Module/SquishCollide.h
-# Include/GameLogic/Module/StatusBitsUpgrade.h
+ Include/GameLogic/Module/SquishCollide.h
+ Include/GameLogic/Module/StatusBitsUpgrade.h
# Include/GameLogic/Module/StatusDamageHelper.h
# Include/GameLogic/Module/StealthDetectorUpdate.h
# Include/GameLogic/Module/StealthUpdate.h
# Include/GameLogic/Module/StealthUpgrade.h
# Include/GameLogic/Module/StickyBombUpdate.h
-# Include/GameLogic/Module/StructureBody.h
+ Include/GameLogic/Module/StructureBody.h
# Include/GameLogic/Module/StructureCollapseUpdate.h
# Include/GameLogic/Module/StructureToppleUpdate.h
# Include/GameLogic/Module/SubdualDamageHelper.h
-# Include/GameLogic/Module/SubObjectsUpgrade.h
-# Include/GameLogic/Module/SupplyCenterCreate.h
+ Include/GameLogic/Module/SubObjectsUpgrade.h
+ Include/GameLogic/Module/SupplyCenterCreate.h
# Include/GameLogic/Module/SupplyCenterDockUpdate.h
# Include/GameLogic/Module/SupplyCenterProductionExitUpdate.h
# Include/GameLogic/Module/SupplyTruckAIUpdate.h
-# Include/GameLogic/Module/SupplyWarehouseCreate.h
-# Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h
-# Include/GameLogic/Module/SupplyWarehouseDockUpdate.h
+ Include/GameLogic/Module/SupplyWarehouseCreate.h
+ Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h
+ Include/GameLogic/Module/SupplyWarehouseDockUpdate.h
# Include/GameLogic/Module/TechBuildingBehavior.h
# Include/GameLogic/Module/TempWeaponBonusHelper.h
-# Include/GameLogic/Module/TensileFormationUpdate.h
+ Include/GameLogic/Module/TensileFormationUpdate.h
# Include/GameLogic/Module/ToppleUpdate.h
# Include/GameLogic/Module/TransitionDamageFX.h
# Include/GameLogic/Module/TransportAIUpdate.h
# Include/GameLogic/Module/TransportContain.h
# Include/GameLogic/Module/TunnelContain.h
# Include/GameLogic/Module/UndeadBody.h
-# Include/GameLogic/Module/UnitCrateCollide.h
-# Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h
+ Include/GameLogic/Module/UnitCrateCollide.h
+ Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h
# Include/GameLogic/Module/UpdateModule.h
-# Include/GameLogic/Module/UpgradeDie.h
+ Include/GameLogic/Module/UpgradeDie.h
# Include/GameLogic/Module/UpgradeModule.h
-# Include/GameLogic/Module/VeterancyCrateCollide.h
-# Include/GameLogic/Module/VeterancyGainCreate.h
-# Include/GameLogic/Module/WanderAIUpdate.h
+ Include/GameLogic/Module/VeterancyCrateCollide.h
+ Include/GameLogic/Module/VeterancyGainCreate.h
+ Include/GameLogic/Module/WanderAIUpdate.h
# Include/GameLogic/Module/WaveGuideUpdate.h
# Include/GameLogic/Module/WeaponBonusUpdate.h
-# Include/GameLogic/Module/WeaponBonusUpgrade.h
-# Include/GameLogic/Module/WeaponSetUpgrade.h
+ Include/GameLogic/Module/WeaponBonusUpgrade.h
+ Include/GameLogic/Module/WeaponSetUpgrade.h
# Include/GameLogic/Module/WorkerAIUpdate.h
# Include/GameLogic/Object.h
# Include/GameLogic/ObjectCreationList.h
@@ -492,7 +492,7 @@ set(GAMEENGINE_SRC
# Include/GameLogic/ScriptEngine.h
# Include/GameLogic/Scripts.h
# Include/GameLogic/SidesList.h
-# Include/GameLogic/Squad.h
+ Include/GameLogic/Squad.h
# Include/GameLogic/TerrainLogic.h
# Include/GameLogic/TurretAI.h
# Include/GameLogic/VictoryConditions.h
@@ -565,16 +565,16 @@ set(GAMEENGINE_SRC
Source/Common/Audio/GameSounds.cpp
#Source/Common/Audio/simpleplayer.cpp # unused
#Source/Common/Audio/urllaunch.cpp # unused
-# Source/Common/Bezier/BezFwdIterator.cpp
-# Source/Common/Bezier/BezierSegment.cpp
+ Source/Common/Bezier/BezFwdIterator.cpp
+ Source/Common/Bezier/BezierSegment.cpp
# Source/Common/BitFlags.cpp
# Source/Common/CommandLine.cpp
Source/Common/crc.cpp
Source/Common/CRCDebug.cpp
-# Source/Common/DamageFX.cpp
+ Source/Common/DamageFX.cpp
Source/Common/Diagnostic/SimulationMathCrc.cpp
-# Source/Common/Dict.cpp
-# Source/Common/DiscreteCircle.cpp
+ Source/Common/Dict.cpp
+ Source/Common/DiscreteCircle.cpp
Source/Common/FramePacer.cpp
Source/Common/FrameRateLimit.cpp
# Source/Common/GameEngine.cpp
@@ -610,30 +610,30 @@ set(GAMEENGINE_SRC
# Source/Common/INI/INIWater.cpp
# Source/Common/INI/INIWeapon.cpp
# Source/Common/INI/INIWebpageURL.cpp
-# Source/Common/Language.cpp
+ Source/Common/Language.cpp
# Source/Common/MessageStream.cpp
-# Source/Common/MiniLog.cpp
+ Source/Common/MiniLog.cpp
# Source/Common/MultiplayerSettings.cpp
# Source/Common/NameKeyGenerator.cpp
Source/Common/OptionPreferences.cpp
# Source/Common/PartitionSolver.cpp
-# Source/Common/PerfTimer.cpp
+ Source/Common/PerfTimer.cpp
Source/Common/RandomValue.cpp
# Source/Common/Recorder.cpp
Source/Common/ReplaySimulation.cpp
Source/Common/RTS/AcademyStats.cpp
# Source/Common/RTS/ActionManager.cpp
# Source/Common/RTS/Energy.cpp
-# Source/Common/RTS/Handicap.cpp
-# Source/Common/RTS/MissionStats.cpp
+ Source/Common/RTS/Handicap.cpp
+ Source/Common/RTS/MissionStats.cpp
# Source/Common/RTS/Money.cpp
# Source/Common/RTS/Player.cpp
-# Source/Common/RTS/PlayerList.cpp
+ Source/Common/RTS/PlayerList.cpp
# Source/Common/RTS/PlayerTemplate.cpp
# Source/Common/RTS/ProductionPrerequisite.cpp
# Source/Common/RTS/ResourceGatheringManager.cpp
-# Source/Common/RTS/Science.cpp
-# Source/Common/RTS/ScoreKeeper.cpp
+ Source/Common/RTS/Science.cpp
+ Source/Common/RTS/ScoreKeeper.cpp
# Source/Common/RTS/SpecialPower.cpp
# Source/Common/RTS/Team.cpp
# Source/Common/RTS/TunnelTracker.cpp
@@ -644,12 +644,12 @@ set(GAMEENGINE_SRC
Source/Common/System/ArchiveFileSystem.cpp
Source/Common/System/AsciiString.cpp
# Source/Common/System/BuildAssistant.cpp
-# Source/Common/System/CriticalSection.cpp
-# Source/Common/System/DataChunk.cpp
+ Source/Common/System/CriticalSection.cpp
+ Source/Common/System/DataChunk.cpp
Source/Common/System/Debug.cpp
-# Source/Common/System/Directory.cpp
-# Source/Common/System/DisabledTypes.cpp
-# Source/Common/System/encrypt.cpp
+ Source/Common/System/Directory.cpp
+ Source/Common/System/DisabledTypes.cpp
+ Source/Common/System/encrypt.cpp
Source/Common/System/File.cpp
Source/Common/System/FileSystem.cpp
# Source/Common/System/FunctionLexicon.cpp
@@ -657,31 +657,31 @@ set(GAMEENGINE_SRC
#Source/Common/System/GameMemory.cpp # is conditionally appended
#Source/Common/System/GameMemoryInit.cpp # is conditionally appended
Source/Common/System/GameType.cpp
-# Source/Common/System/Geometry.cpp
-# Source/Common/System/KindOf.cpp
-# Source/Common/System/List.cpp
+ Source/Common/System/Geometry.cpp
+ Source/Common/System/KindOf.cpp
+ Source/Common/System/List.cpp
Source/Common/System/LocalFile.cpp
Source/Common/System/LocalFileSystem.cpp
Source/Common/System/MiniDumper.cpp
Source/Common/System/ObjectStatusTypes.cpp
-# Source/Common/System/QuotedPrintable.cpp
+ Source/Common/System/QuotedPrintable.cpp
Source/Common/System/Radar.cpp
Source/Common/System/RAMFile.cpp
# Source/Common/System/registry.cpp
# Source/Common/System/SaveGame/GameState.cpp
# Source/Common/System/SaveGame/GameStateMap.cpp
Source/Common/System/Snapshot.cpp
-# Source/Common/System/StackDump.cpp
+ Source/Common/System/StackDump.cpp
Source/Common/System/StreamingArchiveFile.cpp
Source/Common/System/SubsystemInterface.cpp
# Source/Common/System/Trig.cpp
Source/Common/System/UnicodeString.cpp
-# Source/Common/System/Upgrade.cpp
+ Source/Common/System/Upgrade.cpp
Source/Common/System/Xfer.cpp
Source/Common/System/XferCRC.cpp
Source/Common/System/XferLoad.cpp
Source/Common/System/XferSave.cpp
-# Source/Common/TerrainTypes.cpp
+ Source/Common/TerrainTypes.cpp
# Source/Common/Thing/DrawModule.cpp
# Source/Common/Thing/Module.cpp
# Source/Common/Thing/ModuleFactory.cpp
@@ -689,7 +689,7 @@ set(GAMEENGINE_SRC
# Source/Common/Thing/ThingFactory.cpp
# Source/Common/Thing/ThingTemplate.cpp
Source/Common/UserPreferences.cpp
-# Source/Common/version.cpp
+ Source/Common/version.cpp
Source/Common/WorkerProcess.cpp
Source/GameClient/ClientInstance.cpp
Source/GameClient/Color.cpp
@@ -724,7 +724,7 @@ set(GAMEENGINE_SRC
Source/GameClient/GUI/ControlBar/ControlBarStructureInventory.cpp
Source/GameClient/GUI/ControlBar/ControlBarUnderConstruction.cpp
# Source/GameClient/GUI/DisconnectMenu/DisconnectMenu.cpp
-# Source/GameClient/GUI/EstablishConnectionsMenu/EstablishConnectionsMenu.cpp
+ Source/GameClient/GUI/EstablishConnectionsMenu/EstablishConnectionsMenu.cpp
Source/GameClient/GUI/Gadget/GadgetCheckBox.cpp
Source/GameClient/GUI/Gadget/GadgetComboBox.cpp
Source/GameClient/GUI/Gadget/GadgetHorizontalSlider.cpp
@@ -745,8 +745,8 @@ set(GAMEENGINE_SRC
# Source/GameClient/GUI/GameWindowTransitionsStyles.cpp
Source/GameClient/GUI/GUICallbacks/ControlBarCallback.cpp
Source/GameClient/GUI/GUICallbacks/ControlBarPopupDescription.cpp
-# Source/GameClient/GUI/GUICallbacks/Diplomacy.cpp
-# Source/GameClient/GUI/GUICallbacks/ExtendedMessageBox.cpp
+ Source/GameClient/GUI/GUICallbacks/Diplomacy.cpp
+ Source/GameClient/GUI/GUICallbacks/ExtendedMessageBox.cpp
# Source/GameClient/GUI/GUICallbacks/GeneralsExpPoints.cpp
# Source/GameClient/GUI/GUICallbacks/IMECandidate.cpp
# Source/GameClient/GUI/GUICallbacks/InGameChat.cpp
@@ -757,7 +757,7 @@ set(GAMEENGINE_SRC
# Source/GameClient/GUI/GUICallbacks/Menus/DisconnectWindow.cpp
# Source/GameClient/GUI/GUICallbacks/Menus/DownloadMenu.cpp
# Source/GameClient/GUI/GUICallbacks/Menus/EstablishConnectionsWindow.cpp
-# Source/GameClient/GUI/GUICallbacks/Menus/GameInfoWindow.cpp
+ Source/GameClient/GUI/GUICallbacks/Menus/GameInfoWindow.cpp
# Source/GameClient/GUI/GUICallbacks/Menus/KeyboardOptionsMenu.cpp
# Source/GameClient/GUI/GUICallbacks/Menus/LanGameOptionsMenu.cpp
# Source/GameClient/GUI/GUICallbacks/Menus/LanLobbyMenu.cpp
@@ -792,14 +792,14 @@ set(GAMEENGINE_SRC
# Source/GameClient/GUI/GUICallbacks/Menus/WOLQuickMatchMenu.cpp
# Source/GameClient/GUI/GUICallbacks/Menus/WOLStatusMenu.cpp
# Source/GameClient/GUI/GUICallbacks/Menus/WOLWelcomeMenu.cpp
-# Source/GameClient/GUI/GUICallbacks/MessageBox.cpp
+ Source/GameClient/GUI/GUICallbacks/MessageBox.cpp
# Source/GameClient/GUI/GUICallbacks/ReplayControls.cpp
Source/GameClient/GUI/HeaderTemplate.cpp
Source/GameClient/GUI/IMEManager.cpp
Source/GameClient/GUI/LoadScreen.cpp
Source/GameClient/GUI/ProcessAnimateWindow.cpp
# Source/GameClient/GUI/Shell/Shell.cpp
-# Source/GameClient/GUI/Shell/ShellMenuScheme.cpp
+ Source/GameClient/GUI/Shell/ShellMenuScheme.cpp
Source/GameClient/GUI/WindowLayout.cpp
Source/GameClient/GUI/WindowVideoManager.cpp
Source/GameClient/GUI/WinInstanceData.cpp
@@ -838,7 +838,7 @@ set(GAMEENGINE_SRC
Source/GameClient/View.cpp
Source/GameClient/Water.cpp
# Source/GameLogic/AI/AI.cpp
-# Source/GameLogic/AI/AIDock.cpp
+ Source/GameLogic/AI/AIDock.cpp
# Source/GameLogic/AI/AIGroup.cpp
# Source/GameLogic/AI/AIGuard.cpp
# Source/GameLogic/AI/AIGuardRetaliate.cpp
@@ -847,7 +847,7 @@ set(GAMEENGINE_SRC
# Source/GameLogic/AI/AISkirmishPlayer.cpp
# Source/GameLogic/AI/AIStates.cpp
# Source/GameLogic/AI/AITNGuard.cpp
-# Source/GameLogic/AI/Squad.cpp
+ Source/GameLogic/AI/Squad.cpp
# Source/GameLogic/AI/TurretAI.cpp
# Source/GameLogic/Map/PolygonTrigger.cpp
# Source/GameLogic/Map/SidesList.cpp
@@ -857,8 +857,8 @@ set(GAMEENGINE_SRC
# Source/GameLogic/Object/Behavior/BattleBusSlowDeathBehavior.cpp
# Source/GameLogic/Object/Behavior/BehaviorModule.cpp
# Source/GameLogic/Object/Behavior/BridgeBehavior.cpp
-# Source/GameLogic/Object/Behavior/BridgeScaffoldBehavior.cpp
-# Source/GameLogic/Object/Behavior/BridgeTowerBehavior.cpp
+ Source/GameLogic/Object/Behavior/BridgeScaffoldBehavior.cpp
+ Source/GameLogic/Object/Behavior/BridgeTowerBehavior.cpp
# Source/GameLogic/Object/Behavior/BunkerBusterBehavior.cpp
# Source/GameLogic/Object/Behavior/CountermeasuresBehavior.cpp
# Source/GameLogic/Object/Behavior/DumbProjectileBehavior.cpp
@@ -867,35 +867,35 @@ set(GAMEENGINE_SRC
# Source/GameLogic/Object/Behavior/FlightDeckBehavior.cpp
# Source/GameLogic/Object/Behavior/GenerateMinefieldBehavior.cpp
# Source/GameLogic/Object/Behavior/GrantStealthBehavior.cpp
-# Source/GameLogic/Object/Behavior/InstantDeathBehavior.cpp
+ Source/GameLogic/Object/Behavior/InstantDeathBehavior.cpp
# Source/GameLogic/Object/Behavior/JetSlowDeathBehavior.cpp
# Source/GameLogic/Object/Behavior/MinefieldBehavior.cpp
# Source/GameLogic/Object/Behavior/NeutonBlastBehavior.cpp
-# Source/GameLogic/Object/Behavior/OverchargeBehavior.cpp
+ Source/GameLogic/Object/Behavior/OverchargeBehavior.cpp
# Source/GameLogic/Object/Behavior/ParkingPlaceBehavior.cpp
# Source/GameLogic/Object/Behavior/PoisonedBehavior.cpp
-# Source/GameLogic/Object/Behavior/POWTruckBehavior.cpp
+ Source/GameLogic/Object/Behavior/POWTruckBehavior.cpp
# Source/GameLogic/Object/Behavior/PrisonBehavior.cpp
-# Source/GameLogic/Object/Behavior/PropagandaCenterBehavior.cpp
+ Source/GameLogic/Object/Behavior/PropagandaCenterBehavior.cpp
# Source/GameLogic/Object/Behavior/PropagandaTowerBehavior.cpp
# Source/GameLogic/Object/Behavior/RebuildHoleBehavior.cpp
# Source/GameLogic/Object/Behavior/SlowDeathBehavior.cpp
# Source/GameLogic/Object/Behavior/SpawnBehavior.cpp
-# Source/GameLogic/Object/Behavior/SupplyWarehouseCripplingBehavior.cpp
+ Source/GameLogic/Object/Behavior/SupplyWarehouseCripplingBehavior.cpp
# Source/GameLogic/Object/Behavior/TechBuildingBehavior.cpp
# Source/GameLogic/Object/Body/ActiveBody.cpp
# Source/GameLogic/Object/Body/BodyModule.cpp
-# Source/GameLogic/Object/Body/HighlanderBody.cpp
+ Source/GameLogic/Object/Body/HighlanderBody.cpp
# Source/GameLogic/Object/Body/HiveStructureBody.cpp
-# Source/GameLogic/Object/Body/ImmortalBody.cpp
+ Source/GameLogic/Object/Body/ImmortalBody.cpp
# Source/GameLogic/Object/Body/InactiveBody.cpp
-# Source/GameLogic/Object/Body/StructureBody.cpp
+ Source/GameLogic/Object/Body/StructureBody.cpp
# Source/GameLogic/Object/Body/UndeadBody.cpp
# Source/GameLogic/Object/Collide/CollideModule.cpp
# Source/GameLogic/Object/Collide/CrateCollide/ConvertToCarBombCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/ConvertToHijackedVehicleCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/CrateCollide.cpp
-# Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp
+ Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/MoneyCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SabotageCommandCenterCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SabotageFakeBuilding.cpp
@@ -906,56 +906,56 @@ set(GAMEENGINE_SRC
# Source/GameLogic/Object/Collide/CrateCollide/SabotageSupplyCenterCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SabotageSupplyDropzoneCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SalvageCrateCollide.cpp
-# Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp
-# Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp
-# Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp
-# Source/GameLogic/Object/Collide/FireWeaponCollide.cpp
-# Source/GameLogic/Object/Collide/SquishCollide.cpp
+ Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp
+ Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp
+ Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp
+ Source/GameLogic/Object/Collide/FireWeaponCollide.cpp
+ Source/GameLogic/Object/Collide/SquishCollide.cpp
# Source/GameLogic/Object/Contain/CaveContain.cpp
# Source/GameLogic/Object/Contain/GarrisonContain.cpp
-# Source/GameLogic/Object/Contain/HealContain.cpp
+ Source/GameLogic/Object/Contain/HealContain.cpp
# Source/GameLogic/Object/Contain/HelixContain.cpp
# Source/GameLogic/Object/Contain/InternetHackContain.cpp
# Source/GameLogic/Object/Contain/MobNexusContain.cpp
# Source/GameLogic/Object/Contain/OpenContain.cpp
# Source/GameLogic/Object/Contain/OverlordContain.cpp
# Source/GameLogic/Object/Contain/ParachuteContain.cpp
-# Source/GameLogic/Object/Contain/RailedTransportContain.cpp
+ Source/GameLogic/Object/Contain/RailedTransportContain.cpp
# Source/GameLogic/Object/Contain/RiderChangeContain.cpp
# Source/GameLogic/Object/Contain/TransportContain.cpp
# Source/GameLogic/Object/Contain/TunnelContain.cpp
-# Source/GameLogic/Object/Create/CreateModule.cpp
+ Source/GameLogic/Object/Create/CreateModule.cpp
# Source/GameLogic/Object/Create/GrantUpgradeCreate.cpp
# Source/GameLogic/Object/Create/LockWeaponCreate.cpp
-# Source/GameLogic/Object/Create/PreorderCreate.cpp
-# Source/GameLogic/Object/Create/SpecialPowerCreate.cpp
-# Source/GameLogic/Object/Create/SupplyCenterCreate.cpp
-# Source/GameLogic/Object/Create/SupplyWarehouseCreate.cpp
-# Source/GameLogic/Object/Create/VeterancyGainCreate.cpp
-# Source/GameLogic/Object/Damage/BoneFXDamage.cpp
-# Source/GameLogic/Object/Damage/DamageModule.cpp
+ Source/GameLogic/Object/Create/PreorderCreate.cpp
+ Source/GameLogic/Object/Create/SpecialPowerCreate.cpp
+ Source/GameLogic/Object/Create/SupplyCenterCreate.cpp
+ Source/GameLogic/Object/Create/SupplyWarehouseCreate.cpp
+ Source/GameLogic/Object/Create/VeterancyGainCreate.cpp
+ Source/GameLogic/Object/Damage/BoneFXDamage.cpp
+ Source/GameLogic/Object/Damage/DamageModule.cpp
# Source/GameLogic/Object/Damage/TransitionDamageFX.cpp
-# Source/GameLogic/Object/Destroy/DestroyModule.cpp
-# Source/GameLogic/Object/Die/CreateCrateDie.cpp
+ Source/GameLogic/Object/Destroy/DestroyModule.cpp
+ Source/GameLogic/Object/Die/CreateCrateDie.cpp
# Source/GameLogic/Object/Die/CreateObjectDie.cpp
-# Source/GameLogic/Object/Die/CrushDie.cpp
-# Source/GameLogic/Object/Die/DamDie.cpp
+ Source/GameLogic/Object/Die/CrushDie.cpp
+ Source/GameLogic/Object/Die/DamDie.cpp
# Source/GameLogic/Object/Die/DestroyDie.cpp
-# Source/GameLogic/Object/Die/DieModule.cpp
-# Source/GameLogic/Object/Die/EjectPilotDie.cpp
+ Source/GameLogic/Object/Die/DieModule.cpp
+ Source/GameLogic/Object/Die/EjectPilotDie.cpp
# Source/GameLogic/Object/Die/FXListDie.cpp
-# Source/GameLogic/Object/Die/KeepObjectDie.cpp
+ Source/GameLogic/Object/Die/KeepObjectDie.cpp
# Source/GameLogic/Object/Die/RebuildHoleExposeDie.cpp
-# Source/GameLogic/Object/Die/SpecialPowerCompletionDie.cpp
-# Source/GameLogic/Object/Die/UpgradeDie.cpp
+ Source/GameLogic/Object/Die/SpecialPowerCompletionDie.cpp
+ Source/GameLogic/Object/Die/UpgradeDie.cpp
# Source/GameLogic/Object/ExperienceTracker.cpp
# Source/GameLogic/Object/FiringTracker.cpp
# Source/GameLogic/Object/GhostObject.cpp
-# Source/GameLogic/Object/Helper/ObjectDefectionHelper.cpp
-# Source/GameLogic/Object/Helper/ObjectHelper.cpp
-# Source/GameLogic/Object/Helper/ObjectRepulsorHelper.cpp
-# Source/GameLogic/Object/Helper/ObjectSMCHelper.cpp
-# Source/GameLogic/Object/Helper/ObjectWeaponStatusHelper.cpp
+ Source/GameLogic/Object/Helper/ObjectDefectionHelper.cpp
+ Source/GameLogic/Object/Helper/ObjectHelper.cpp
+ Source/GameLogic/Object/Helper/ObjectRepulsorHelper.cpp
+ Source/GameLogic/Object/Helper/ObjectSMCHelper.cpp
+ Source/GameLogic/Object/Helper/ObjectWeaponStatusHelper.cpp
# Source/GameLogic/Object/Helper/StatusDamageHelper.cpp
# Source/GameLogic/Object/Helper/SubdualDamageHelper.cpp
# Source/GameLogic/Object/Helper/TempWeaponBonusHelper.cpp
@@ -973,9 +973,9 @@ set(GAMEENGINE_SRC
# Source/GameLogic/Object/SpecialPower/DemoralizeSpecialPower.cpp
# Source/GameLogic/Object/SpecialPower/FireWeaponPower.cpp
# Source/GameLogic/Object/SpecialPower/OCLSpecialPower.cpp
-# Source/GameLogic/Object/SpecialPower/SpecialAbility.cpp
+ Source/GameLogic/Object/SpecialPower/SpecialAbility.cpp
# Source/GameLogic/Object/SpecialPower/SpecialPowerModule.cpp
-# Source/GameLogic/Object/SpecialPower/SpyVisionSpecialPower.cpp
+ Source/GameLogic/Object/SpecialPower/SpyVisionSpecialPower.cpp
# Source/GameLogic/Object/Update/AIUpdate.cpp
# Source/GameLogic/Object/Update/AIUpdate/AssaultTransportAIUpdate.cpp
# Source/GameLogic/Object/Update/AIUpdate/ChinookAIUpdate.cpp
@@ -985,12 +985,12 @@ set(GAMEENGINE_SRC
# Source/GameLogic/Object/Update/AIUpdate/HackInternetAIUpdate.cpp
# Source/GameLogic/Object/Update/AIUpdate/JetAIUpdate.cpp
# Source/GameLogic/Object/Update/AIUpdate/MissileAIUpdate.cpp
-# Source/GameLogic/Object/Update/AIUpdate/POWTruckAIUpdate.cpp
-# Source/GameLogic/Object/Update/AIUpdate/RailedTransportAIUpdate.cpp
+ Source/GameLogic/Object/Update/AIUpdate/POWTruckAIUpdate.cpp
+ Source/GameLogic/Object/Update/AIUpdate/RailedTransportAIUpdate.cpp
# Source/GameLogic/Object/Update/AIUpdate/RailroadGuideAIUpdate.cpp
# Source/GameLogic/Object/Update/AIUpdate/SupplyTruckAIUpdate.cpp
# Source/GameLogic/Object/Update/AIUpdate/TransportAIUpdate.cpp
-# Source/GameLogic/Object/Update/AIUpdate/WanderAIUpdate.cpp
+ Source/GameLogic/Object/Update/AIUpdate/WanderAIUpdate.cpp
# Source/GameLogic/Object/Update/AIUpdate/WorkerAIUpdate.cpp
# Source/GameLogic/Object/Update/AnimationSteeringUpdate.cpp
# Source/GameLogic/Object/Update/AssistedTargetingUpdate.cpp
@@ -999,52 +999,52 @@ set(GAMEENGINE_SRC
# Source/GameLogic/Object/Update/BaseRenerateUpdate.cpp
# Source/GameLogic/Object/Update/BattlePlanUpdate.cpp
# Source/GameLogic/Object/Update/BoneFXUpdate.cpp
-# Source/GameLogic/Object/Update/CheckpointUpdate.cpp
-# Source/GameLogic/Object/Update/CleanupHazardUpdate.cpp
+ Source/GameLogic/Object/Update/CheckpointUpdate.cpp
+ Source/GameLogic/Object/Update/CleanupHazardUpdate.cpp
# Source/GameLogic/Object/Update/CommandButtonHuntUpdate.cpp
-# Source/GameLogic/Object/Update/DeletionUpdate.cpp
+ Source/GameLogic/Object/Update/DeletionUpdate.cpp
# Source/GameLogic/Object/Update/DemoTrapUpdate.cpp
# Source/GameLogic/Object/Update/DockUpdate/DockUpdate.cpp
-# Source/GameLogic/Object/Update/DockUpdate/PrisonDockUpdate.cpp
+ Source/GameLogic/Object/Update/DockUpdate/PrisonDockUpdate.cpp
# Source/GameLogic/Object/Update/DockUpdate/RailedTransportDockUpdate.cpp
-# Source/GameLogic/Object/Update/DockUpdate/RepairDockUpdate.cpp
+ Source/GameLogic/Object/Update/DockUpdate/RepairDockUpdate.cpp
# Source/GameLogic/Object/Update/DockUpdate/SupplyCenterDockUpdate.cpp
-# Source/GameLogic/Object/Update/DockUpdate/SupplyWarehouseDockUpdate.cpp
-# Source/GameLogic/Object/Update/DynamicGeometryInfoUpdate.cpp
+ Source/GameLogic/Object/Update/DockUpdate/SupplyWarehouseDockUpdate.cpp
+ Source/GameLogic/Object/Update/DynamicGeometryInfoUpdate.cpp
# Source/GameLogic/Object/Update/DynamicShroudClearingRangeUpdate.cpp
# Source/GameLogic/Object/Update/EMPUpdate.cpp
-# Source/GameLogic/Object/Update/EnemyNearUpdate.cpp
+ Source/GameLogic/Object/Update/EnemyNearUpdate.cpp
# Source/GameLogic/Object/Update/FireOCLAfterWeaponCooldownUpdate.cpp
-# Source/GameLogic/Object/Update/FireSpreadUpdate.cpp
+ Source/GameLogic/Object/Update/FireSpreadUpdate.cpp
# Source/GameLogic/Object/Update/FirestormDynamicGeometryInfoUpdate.cpp
# Source/GameLogic/Object/Update/FireWeaponUpdate.cpp
-# Source/GameLogic/Object/Update/FlammableUpdate.cpp
-# Source/GameLogic/Object/Update/FloatUpdate.cpp
-# Source/GameLogic/Object/Update/HeightDieUpdate.cpp
+ Source/GameLogic/Object/Update/FlammableUpdate.cpp
+ Source/GameLogic/Object/Update/FloatUpdate.cpp
+ Source/GameLogic/Object/Update/HeightDieUpdate.cpp
# Source/GameLogic/Object/Update/HelicopterSlowDeathUpdate.cpp
-# Source/GameLogic/Object/Update/HijackerUpdate.cpp
+ Source/GameLogic/Object/Update/HijackerUpdate.cpp
# Source/GameLogic/Object/Update/HordeUpdate.cpp
# Source/GameLogic/Object/Update/LaserUpdate.cpp
-# Source/GameLogic/Object/Update/LifetimeUpdate.cpp
+ Source/GameLogic/Object/Update/LifetimeUpdate.cpp
# Source/GameLogic/Object/Update/MissileLauncherBuildingUpdate.cpp
-# Source/GameLogic/Object/Update/MobMemberSlavedUpdate.cpp
-# Source/GameLogic/Object/Update/NeutronMissileSlowDeathUpdate.cpp
+ Source/GameLogic/Object/Update/MobMemberSlavedUpdate.cpp
+ Source/GameLogic/Object/Update/NeutronMissileSlowDeathUpdate.cpp
# Source/GameLogic/Object/Update/NeutronMissileUpdate.cpp
# Source/GameLogic/Object/Update/OCLUpdate.cpp
# Source/GameLogic/Object/Update/ParticleUplinkCannonUpdate.cpp
# Source/GameLogic/Object/Update/PhysicsUpdate.cpp
-# Source/GameLogic/Object/Update/PilotFindVehicleUpdate.cpp
+ Source/GameLogic/Object/Update/PilotFindVehicleUpdate.cpp
# Source/GameLogic/Object/Update/PointDefenseLaserUpdate.cpp
-# Source/GameLogic/Object/Update/PowerPlantUpdate.cpp
+ Source/GameLogic/Object/Update/PowerPlantUpdate.cpp
# Source/GameLogic/Object/Update/ProductionExitUpdate/DefaultProductionExitUpdate.cpp
-# Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp
-# Source/GameLogic/Object/Update/ProductionExitUpdate/SpawnPointProductionExitUpdate.cpp
+ Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp
+ Source/GameLogic/Object/Update/ProductionExitUpdate/SpawnPointProductionExitUpdate.cpp
# Source/GameLogic/Object/Update/ProductionExitUpdate/SupplyCenterProductionExitUpdate.cpp
# Source/GameLogic/Object/Update/ProductionUpdate.cpp
# Source/GameLogic/Object/Update/ProjectileStreamUpdate.cpp
-# Source/GameLogic/Object/Update/ProneUpdate.cpp
-# Source/GameLogic/Object/Update/RadarUpdate.cpp
-# Source/GameLogic/Object/Update/RadiusDecalUpdate.cpp
+ Source/GameLogic/Object/Update/ProneUpdate.cpp
+ Source/GameLogic/Object/Update/RadarUpdate.cpp
+ Source/GameLogic/Object/Update/RadiusDecalUpdate.cpp
# Source/GameLogic/Object/Update/SlavedUpdate.cpp
# Source/GameLogic/Object/Update/SmartBombTargetHomingUpdate.cpp
# Source/GameLogic/Object/Update/SpecialAbilityUpdate.cpp
@@ -1057,32 +1057,32 @@ set(GAMEENGINE_SRC
# Source/GameLogic/Object/Update/StickyBombUpdate.cpp
# Source/GameLogic/Object/Update/StructureCollapseUpdate.cpp
# Source/GameLogic/Object/Update/StructureToppleUpdate.cpp
-# Source/GameLogic/Object/Update/TensileFormationUpdate.cpp
+ Source/GameLogic/Object/Update/TensileFormationUpdate.cpp
# Source/GameLogic/Object/Update/ToppleUpdate.cpp
# Source/GameLogic/Object/Update/UpdateModule.cpp
# Source/GameLogic/Object/Update/WaveGuideUpdate.cpp
# Source/GameLogic/Object/Update/WeaponBonusUpdate.cpp
-# Source/GameLogic/Object/Upgrade/ActiveShroudUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/ActiveShroudUpgrade.cpp
# Source/GameLogic/Object/Upgrade/ArmorUpgrade.cpp
# Source/GameLogic/Object/Upgrade/CommandSetUpgrade.cpp
-# Source/GameLogic/Object/Upgrade/CostModifierUpgrade.cpp
-# Source/GameLogic/Object/Upgrade/ExperienceScalarUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/CostModifierUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/ExperienceScalarUpgrade.cpp
# Source/GameLogic/Object/Upgrade/GrantScienceUpgrade.cpp
-# Source/GameLogic/Object/Upgrade/LocomotorSetUpgrade.cpp
-# Source/GameLogic/Object/Upgrade/MaxHealthUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/LocomotorSetUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/MaxHealthUpgrade.cpp
# Source/GameLogic/Object/Upgrade/ModelConditionUpgrade.cpp
-# Source/GameLogic/Object/Upgrade/ObjectCreationUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/ObjectCreationUpgrade.cpp
# Source/GameLogic/Object/Upgrade/PassengersFireUpgrade.cpp
-# Source/GameLogic/Object/Upgrade/PowerPlantUpgrade.cpp
-# Source/GameLogic/Object/Upgrade/RadarUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/PowerPlantUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/RadarUpgrade.cpp
# Source/GameLogic/Object/Upgrade/ReplaceObjectUpgrade.cpp
-# Source/GameLogic/Object/Upgrade/StatusBitsUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/StatusBitsUpgrade.cpp
# Source/GameLogic/Object/Upgrade/StealthUpgrade.cpp
-# Source/GameLogic/Object/Upgrade/SubObjectsUpgrade.cpp
-# Source/GameLogic/Object/Upgrade/UnpauseSpecialPowerUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/SubObjectsUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/UnpauseSpecialPowerUpgrade.cpp
# Source/GameLogic/Object/Upgrade/UpgradeModule.cpp
-# Source/GameLogic/Object/Upgrade/WeaponBonusUpgrade.cpp
-# Source/GameLogic/Object/Upgrade/WeaponSetUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/WeaponBonusUpgrade.cpp
+ Source/GameLogic/Object/Upgrade/WeaponSetUpgrade.cpp
# Source/GameLogic/Object/Weapon.cpp
# Source/GameLogic/Object/WeaponSet.cpp
# Source/GameLogic/ScriptEngine/ScriptActions.cpp
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/BezFwdIterator.h b/Core/GameEngine/Include/Common/BezFwdIterator.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/BezFwdIterator.h
rename to Core/GameEngine/Include/Common/BezFwdIterator.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/BezierSegment.h b/Core/GameEngine/Include/Common/BezierSegment.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/BezierSegment.h
rename to Core/GameEngine/Include/Common/BezierSegment.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/CriticalSection.h b/Core/GameEngine/Include/Common/CriticalSection.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/CriticalSection.h
rename to Core/GameEngine/Include/Common/CriticalSection.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/DamageFX.h b/Core/GameEngine/Include/Common/DamageFX.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/DamageFX.h
rename to Core/GameEngine/Include/Common/DamageFX.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/DataChunk.h b/Core/GameEngine/Include/Common/DataChunk.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/DataChunk.h
rename to Core/GameEngine/Include/Common/DataChunk.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/Dict.h b/Core/GameEngine/Include/Common/Dict.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/Dict.h
rename to Core/GameEngine/Include/Common/Dict.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/Directory.h b/Core/GameEngine/Include/Common/Directory.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/Directory.h
rename to Core/GameEngine/Include/Common/Directory.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/DisabledTypes.h b/Core/GameEngine/Include/Common/DisabledTypes.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/DisabledTypes.h
rename to Core/GameEngine/Include/Common/DisabledTypes.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/DiscreteCircle.h b/Core/GameEngine/Include/Common/DiscreteCircle.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/DiscreteCircle.h
rename to Core/GameEngine/Include/Common/DiscreteCircle.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/Geometry.h b/Core/GameEngine/Include/Common/Geometry.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/Geometry.h
rename to Core/GameEngine/Include/Common/Geometry.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/Handicap.h b/Core/GameEngine/Include/Common/Handicap.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/Handicap.h
rename to Core/GameEngine/Include/Common/Handicap.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/KindOf.h b/Core/GameEngine/Include/Common/KindOf.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/KindOf.h
rename to Core/GameEngine/Include/Common/KindOf.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/Language.h b/Core/GameEngine/Include/Common/Language.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/Language.h
rename to Core/GameEngine/Include/Common/Language.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/List.h b/Core/GameEngine/Include/Common/List.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/List.h
rename to Core/GameEngine/Include/Common/List.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/MiniLog.h b/Core/GameEngine/Include/Common/MiniLog.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/MiniLog.h
rename to Core/GameEngine/Include/Common/MiniLog.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/MissionStats.h b/Core/GameEngine/Include/Common/MissionStats.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/MissionStats.h
rename to Core/GameEngine/Include/Common/MissionStats.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/PerfTimer.h b/Core/GameEngine/Include/Common/PerfTimer.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/PerfTimer.h
rename to Core/GameEngine/Include/Common/PerfTimer.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/PlayerList.h b/Core/GameEngine/Include/Common/PlayerList.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/PlayerList.h
rename to Core/GameEngine/Include/Common/PlayerList.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/QuotedPrintable.h b/Core/GameEngine/Include/Common/QuotedPrintable.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/QuotedPrintable.h
rename to Core/GameEngine/Include/Common/QuotedPrintable.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/Science.h b/Core/GameEngine/Include/Common/Science.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/Science.h
rename to Core/GameEngine/Include/Common/Science.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/ScoreKeeper.h b/Core/GameEngine/Include/Common/ScoreKeeper.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/ScoreKeeper.h
rename to Core/GameEngine/Include/Common/ScoreKeeper.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/StackDump.h b/Core/GameEngine/Include/Common/StackDump.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/StackDump.h
rename to Core/GameEngine/Include/Common/StackDump.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/TerrainTypes.h b/Core/GameEngine/Include/Common/TerrainTypes.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/TerrainTypes.h
rename to Core/GameEngine/Include/Common/TerrainTypes.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/Upgrade.h b/Core/GameEngine/Include/Common/Upgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/Upgrade.h
rename to Core/GameEngine/Include/Common/Upgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/encrypt.h b/Core/GameEngine/Include/Common/encrypt.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/encrypt.h
rename to Core/GameEngine/Include/Common/encrypt.h
diff --git a/GeneralsMD/Code/GameEngine/Include/Common/version.h b/Core/GameEngine/Include/Common/version.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/Common/version.h
rename to Core/GameEngine/Include/Common/version.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameClient/Diplomacy.h b/Core/GameEngine/Include/GameClient/Diplomacy.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameClient/Diplomacy.h
rename to Core/GameEngine/Include/GameClient/Diplomacy.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameClient/EstablishConnectionsMenu.h b/Core/GameEngine/Include/GameClient/EstablishConnectionsMenu.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameClient/EstablishConnectionsMenu.h
rename to Core/GameEngine/Include/GameClient/EstablishConnectionsMenu.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameClient/ExtendedMessageBox.h b/Core/GameEngine/Include/GameClient/ExtendedMessageBox.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameClient/ExtendedMessageBox.h
rename to Core/GameEngine/Include/GameClient/ExtendedMessageBox.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameClient/GameInfoWindow.h b/Core/GameEngine/Include/GameClient/GameInfoWindow.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameClient/GameInfoWindow.h
rename to Core/GameEngine/Include/GameClient/GameInfoWindow.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameClient/MessageBox.h b/Core/GameEngine/Include/GameClient/MessageBox.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameClient/MessageBox.h
rename to Core/GameEngine/Include/GameClient/MessageBox.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameClient/ShellMenuScheme.h b/Core/GameEngine/Include/GameClient/ShellMenuScheme.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameClient/ShellMenuScheme.h
rename to Core/GameEngine/Include/GameClient/ShellMenuScheme.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/AIDock.h b/Core/GameEngine/Include/GameLogic/AIDock.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/AIDock.h
rename to Core/GameEngine/Include/GameLogic/AIDock.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ActiveShroudUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/ActiveShroudUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ActiveShroudUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/ActiveShroudUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/BoneFXDamage.h b/Core/GameEngine/Include/GameLogic/Module/BoneFXDamage.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/BoneFXDamage.h
rename to Core/GameEngine/Include/GameLogic/Module/BoneFXDamage.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/BridgeScaffoldBehavior.h b/Core/GameEngine/Include/GameLogic/Module/BridgeScaffoldBehavior.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/BridgeScaffoldBehavior.h
rename to Core/GameEngine/Include/GameLogic/Module/BridgeScaffoldBehavior.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/BridgeTowerBehavior.h b/Core/GameEngine/Include/GameLogic/Module/BridgeTowerBehavior.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/BridgeTowerBehavior.h
rename to Core/GameEngine/Include/GameLogic/Module/BridgeTowerBehavior.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CheckpointUpdate.h b/Core/GameEngine/Include/GameLogic/Module/CheckpointUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CheckpointUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/CheckpointUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CleanupHazardUpdate.h b/Core/GameEngine/Include/GameLogic/Module/CleanupHazardUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CleanupHazardUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/CleanupHazardUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CostModifierUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/CostModifierUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CostModifierUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/CostModifierUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CreateCrateDie.h b/Core/GameEngine/Include/GameLogic/Module/CreateCrateDie.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CreateCrateDie.h
rename to Core/GameEngine/Include/GameLogic/Module/CreateCrateDie.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CreateModule.h b/Core/GameEngine/Include/GameLogic/Module/CreateModule.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CreateModule.h
rename to Core/GameEngine/Include/GameLogic/Module/CreateModule.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CrushDie.h b/Core/GameEngine/Include/GameLogic/Module/CrushDie.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/CrushDie.h
rename to Core/GameEngine/Include/GameLogic/Module/CrushDie.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DamDie.h b/Core/GameEngine/Include/GameLogic/Module/DamDie.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DamDie.h
rename to Core/GameEngine/Include/GameLogic/Module/DamDie.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DamageModule.h b/Core/GameEngine/Include/GameLogic/Module/DamageModule.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DamageModule.h
rename to Core/GameEngine/Include/GameLogic/Module/DamageModule.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DeletionUpdate.h b/Core/GameEngine/Include/GameLogic/Module/DeletionUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DeletionUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/DeletionUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DestroyModule.h b/Core/GameEngine/Include/GameLogic/Module/DestroyModule.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DestroyModule.h
rename to Core/GameEngine/Include/GameLogic/Module/DestroyModule.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DieModule.h b/Core/GameEngine/Include/GameLogic/Module/DieModule.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DieModule.h
rename to Core/GameEngine/Include/GameLogic/Module/DieModule.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DynamicGeometryInfoUpdate.h b/Core/GameEngine/Include/GameLogic/Module/DynamicGeometryInfoUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/DynamicGeometryInfoUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/DynamicGeometryInfoUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/EjectPilotDie.h b/Core/GameEngine/Include/GameLogic/Module/EjectPilotDie.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/EjectPilotDie.h
rename to Core/GameEngine/Include/GameLogic/Module/EjectPilotDie.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/EnemyNearUpdate.h b/Core/GameEngine/Include/GameLogic/Module/EnemyNearUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/EnemyNearUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/EnemyNearUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ExperienceScalarUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/ExperienceScalarUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ExperienceScalarUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/ExperienceScalarUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/FireSpreadUpdate.h b/Core/GameEngine/Include/GameLogic/Module/FireSpreadUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/FireSpreadUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/FireSpreadUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/FireWeaponCollide.h b/Core/GameEngine/Include/GameLogic/Module/FireWeaponCollide.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/FireWeaponCollide.h
rename to Core/GameEngine/Include/GameLogic/Module/FireWeaponCollide.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/FlammableUpdate.h b/Core/GameEngine/Include/GameLogic/Module/FlammableUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/FlammableUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/FlammableUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/FloatUpdate.h b/Core/GameEngine/Include/GameLogic/Module/FloatUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/FloatUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/FloatUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/HealContain.h b/Core/GameEngine/Include/GameLogic/Module/HealContain.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/HealContain.h
rename to Core/GameEngine/Include/GameLogic/Module/HealContain.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/HealCrateCollide.h b/Core/GameEngine/Include/GameLogic/Module/HealCrateCollide.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/HealCrateCollide.h
rename to Core/GameEngine/Include/GameLogic/Module/HealCrateCollide.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/HeightDieUpdate.h b/Core/GameEngine/Include/GameLogic/Module/HeightDieUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/HeightDieUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/HeightDieUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/HighlanderBody.h b/Core/GameEngine/Include/GameLogic/Module/HighlanderBody.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/HighlanderBody.h
rename to Core/GameEngine/Include/GameLogic/Module/HighlanderBody.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/HijackerUpdate.h b/Core/GameEngine/Include/GameLogic/Module/HijackerUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/HijackerUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/HijackerUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ImmortalBody.h b/Core/GameEngine/Include/GameLogic/Module/ImmortalBody.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ImmortalBody.h
rename to Core/GameEngine/Include/GameLogic/Module/ImmortalBody.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/InstantDeathBehavior.h b/Core/GameEngine/Include/GameLogic/Module/InstantDeathBehavior.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/InstantDeathBehavior.h
rename to Core/GameEngine/Include/GameLogic/Module/InstantDeathBehavior.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/KeepObjectDie.h b/Core/GameEngine/Include/GameLogic/Module/KeepObjectDie.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/KeepObjectDie.h
rename to Core/GameEngine/Include/GameLogic/Module/KeepObjectDie.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/LifetimeUpdate.h b/Core/GameEngine/Include/GameLogic/Module/LifetimeUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/LifetimeUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/LifetimeUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/LocomotorSetUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/LocomotorSetUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/LocomotorSetUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/LocomotorSetUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/MaxHealthUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/MaxHealthUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/MaxHealthUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/MaxHealthUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/MobMemberSlavedUpdate.h b/Core/GameEngine/Include/GameLogic/Module/MobMemberSlavedUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/MobMemberSlavedUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/MobMemberSlavedUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h b/Core/GameEngine/Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectCreationUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/ObjectCreationUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectCreationUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/ObjectCreationUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectDefectionHelper.h b/Core/GameEngine/Include/GameLogic/Module/ObjectDefectionHelper.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectDefectionHelper.h
rename to Core/GameEngine/Include/GameLogic/Module/ObjectDefectionHelper.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectHelper.h b/Core/GameEngine/Include/GameLogic/Module/ObjectHelper.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectHelper.h
rename to Core/GameEngine/Include/GameLogic/Module/ObjectHelper.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectRepulsorHelper.h b/Core/GameEngine/Include/GameLogic/Module/ObjectRepulsorHelper.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectRepulsorHelper.h
rename to Core/GameEngine/Include/GameLogic/Module/ObjectRepulsorHelper.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectSMCHelper.h b/Core/GameEngine/Include/GameLogic/Module/ObjectSMCHelper.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectSMCHelper.h
rename to Core/GameEngine/Include/GameLogic/Module/ObjectSMCHelper.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectWeaponStatusHelper.h b/Core/GameEngine/Include/GameLogic/Module/ObjectWeaponStatusHelper.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ObjectWeaponStatusHelper.h
rename to Core/GameEngine/Include/GameLogic/Module/ObjectWeaponStatusHelper.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/OverchargeBehavior.h b/Core/GameEngine/Include/GameLogic/Module/OverchargeBehavior.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/OverchargeBehavior.h
rename to Core/GameEngine/Include/GameLogic/Module/OverchargeBehavior.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/POWTruckAIUpdate.h b/Core/GameEngine/Include/GameLogic/Module/POWTruckAIUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/POWTruckAIUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/POWTruckAIUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/POWTruckBehavior.h b/Core/GameEngine/Include/GameLogic/Module/POWTruckBehavior.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/POWTruckBehavior.h
rename to Core/GameEngine/Include/GameLogic/Module/POWTruckBehavior.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PilotFindVehicleUpdate.h b/Core/GameEngine/Include/GameLogic/Module/PilotFindVehicleUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PilotFindVehicleUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/PilotFindVehicleUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpdate.h b/Core/GameEngine/Include/GameLogic/Module/PowerPlantUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/PowerPlantUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/PowerPlantUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/PowerPlantUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PreorderCreate.h b/Core/GameEngine/Include/GameLogic/Module/PreorderCreate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PreorderCreate.h
rename to Core/GameEngine/Include/GameLogic/Module/PreorderCreate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PrisonDockUpdate.h b/Core/GameEngine/Include/GameLogic/Module/PrisonDockUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PrisonDockUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/PrisonDockUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ProneUpdate.h b/Core/GameEngine/Include/GameLogic/Module/ProneUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ProneUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/ProneUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PropagandaCenterBehavior.h b/Core/GameEngine/Include/GameLogic/Module/PropagandaCenterBehavior.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/PropagandaCenterBehavior.h
rename to Core/GameEngine/Include/GameLogic/Module/PropagandaCenterBehavior.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/QueueProductionExitUpdate.h b/Core/GameEngine/Include/GameLogic/Module/QueueProductionExitUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/QueueProductionExitUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/QueueProductionExitUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RadarUpdate.h b/Core/GameEngine/Include/GameLogic/Module/RadarUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RadarUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/RadarUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RadarUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/RadarUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RadarUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/RadarUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RadiusDecalUpdate.h b/Core/GameEngine/Include/GameLogic/Module/RadiusDecalUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RadiusDecalUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/RadiusDecalUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RailedTransportAIUpdate.h b/Core/GameEngine/Include/GameLogic/Module/RailedTransportAIUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RailedTransportAIUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/RailedTransportAIUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RailedTransportContain.h b/Core/GameEngine/Include/GameLogic/Module/RailedTransportContain.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RailedTransportContain.h
rename to Core/GameEngine/Include/GameLogic/Module/RailedTransportContain.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RepairDockUpdate.h b/Core/GameEngine/Include/GameLogic/Module/RepairDockUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/RepairDockUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/RepairDockUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ShroudCrateCollide.h b/Core/GameEngine/Include/GameLogic/Module/ShroudCrateCollide.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ShroudCrateCollide.h
rename to Core/GameEngine/Include/GameLogic/Module/ShroudCrateCollide.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SpawnPointProductionExitUpdate.h b/Core/GameEngine/Include/GameLogic/Module/SpawnPointProductionExitUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SpawnPointProductionExitUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/SpawnPointProductionExitUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SpecialAbility.h b/Core/GameEngine/Include/GameLogic/Module/SpecialAbility.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SpecialAbility.h
rename to Core/GameEngine/Include/GameLogic/Module/SpecialAbility.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCompletionDie.h b/Core/GameEngine/Include/GameLogic/Module/SpecialPowerCompletionDie.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCompletionDie.h
rename to Core/GameEngine/Include/GameLogic/Module/SpecialPowerCompletionDie.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCreate.h b/Core/GameEngine/Include/GameLogic/Module/SpecialPowerCreate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCreate.h
rename to Core/GameEngine/Include/GameLogic/Module/SpecialPowerCreate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SpyVisionSpecialPower.h b/Core/GameEngine/Include/GameLogic/Module/SpyVisionSpecialPower.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SpyVisionSpecialPower.h
rename to Core/GameEngine/Include/GameLogic/Module/SpyVisionSpecialPower.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SquishCollide.h b/Core/GameEngine/Include/GameLogic/Module/SquishCollide.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SquishCollide.h
rename to Core/GameEngine/Include/GameLogic/Module/SquishCollide.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/StatusBitsUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/StatusBitsUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/StatusBitsUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/StatusBitsUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/StructureBody.h b/Core/GameEngine/Include/GameLogic/Module/StructureBody.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/StructureBody.h
rename to Core/GameEngine/Include/GameLogic/Module/StructureBody.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SubObjectsUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/SubObjectsUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SubObjectsUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/SubObjectsUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SupplyCenterCreate.h b/Core/GameEngine/Include/GameLogic/Module/SupplyCenterCreate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SupplyCenterCreate.h
rename to Core/GameEngine/Include/GameLogic/Module/SupplyCenterCreate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCreate.h b/Core/GameEngine/Include/GameLogic/Module/SupplyWarehouseCreate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCreate.h
rename to Core/GameEngine/Include/GameLogic/Module/SupplyWarehouseCreate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h b/Core/GameEngine/Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h
rename to Core/GameEngine/Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseDockUpdate.h b/Core/GameEngine/Include/GameLogic/Module/SupplyWarehouseDockUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseDockUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/SupplyWarehouseDockUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/TensileFormationUpdate.h b/Core/GameEngine/Include/GameLogic/Module/TensileFormationUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/TensileFormationUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/TensileFormationUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/UnitCrateCollide.h b/Core/GameEngine/Include/GameLogic/Module/UnitCrateCollide.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/UnitCrateCollide.h
rename to Core/GameEngine/Include/GameLogic/Module/UnitCrateCollide.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/UpgradeDie.h b/Core/GameEngine/Include/GameLogic/Module/UpgradeDie.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/UpgradeDie.h
rename to Core/GameEngine/Include/GameLogic/Module/UpgradeDie.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/VeterancyCrateCollide.h b/Core/GameEngine/Include/GameLogic/Module/VeterancyCrateCollide.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/VeterancyCrateCollide.h
rename to Core/GameEngine/Include/GameLogic/Module/VeterancyCrateCollide.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/VeterancyGainCreate.h b/Core/GameEngine/Include/GameLogic/Module/VeterancyGainCreate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/VeterancyGainCreate.h
rename to Core/GameEngine/Include/GameLogic/Module/VeterancyGainCreate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/WanderAIUpdate.h b/Core/GameEngine/Include/GameLogic/Module/WanderAIUpdate.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/WanderAIUpdate.h
rename to Core/GameEngine/Include/GameLogic/Module/WanderAIUpdate.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/WeaponBonusUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/WeaponBonusUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/WeaponBonusUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/WeaponBonusUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Module/WeaponSetUpgrade.h b/Core/GameEngine/Include/GameLogic/Module/WeaponSetUpgrade.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Module/WeaponSetUpgrade.h
rename to Core/GameEngine/Include/GameLogic/Module/WeaponSetUpgrade.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameLogic/Squad.h b/Core/GameEngine/Include/GameLogic/Squad.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameLogic/Squad.h
rename to Core/GameEngine/Include/GameLogic/Squad.h
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/Bezier/BezFwdIterator.cpp b/Core/GameEngine/Source/Common/Bezier/BezFwdIterator.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/Bezier/BezFwdIterator.cpp
rename to Core/GameEngine/Source/Common/Bezier/BezFwdIterator.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/Bezier/BezierSegment.cpp b/Core/GameEngine/Source/Common/Bezier/BezierSegment.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/Bezier/BezierSegment.cpp
rename to Core/GameEngine/Source/Common/Bezier/BezierSegment.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/DamageFX.cpp b/Core/GameEngine/Source/Common/DamageFX.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/DamageFX.cpp
rename to Core/GameEngine/Source/Common/DamageFX.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/Dict.cpp b/Core/GameEngine/Source/Common/Dict.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/Dict.cpp
rename to Core/GameEngine/Source/Common/Dict.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/DiscreteCircle.cpp b/Core/GameEngine/Source/Common/DiscreteCircle.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/DiscreteCircle.cpp
rename to Core/GameEngine/Source/Common/DiscreteCircle.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/Language.cpp b/Core/GameEngine/Source/Common/Language.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/Language.cpp
rename to Core/GameEngine/Source/Common/Language.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/MiniLog.cpp b/Core/GameEngine/Source/Common/MiniLog.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/MiniLog.cpp
rename to Core/GameEngine/Source/Common/MiniLog.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/PerfTimer.cpp b/Core/GameEngine/Source/Common/PerfTimer.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/PerfTimer.cpp
rename to Core/GameEngine/Source/Common/PerfTimer.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/RTS/Handicap.cpp b/Core/GameEngine/Source/Common/RTS/Handicap.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/RTS/Handicap.cpp
rename to Core/GameEngine/Source/Common/RTS/Handicap.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/RTS/MissionStats.cpp b/Core/GameEngine/Source/Common/RTS/MissionStats.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/RTS/MissionStats.cpp
rename to Core/GameEngine/Source/Common/RTS/MissionStats.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/RTS/PlayerList.cpp b/Core/GameEngine/Source/Common/RTS/PlayerList.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/RTS/PlayerList.cpp
rename to Core/GameEngine/Source/Common/RTS/PlayerList.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/RTS/Science.cpp b/Core/GameEngine/Source/Common/RTS/Science.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/RTS/Science.cpp
rename to Core/GameEngine/Source/Common/RTS/Science.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/RTS/ScoreKeeper.cpp b/Core/GameEngine/Source/Common/RTS/ScoreKeeper.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/RTS/ScoreKeeper.cpp
rename to Core/GameEngine/Source/Common/RTS/ScoreKeeper.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/CriticalSection.cpp b/Core/GameEngine/Source/Common/System/CriticalSection.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/System/CriticalSection.cpp
rename to Core/GameEngine/Source/Common/System/CriticalSection.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/DataChunk.cpp b/Core/GameEngine/Source/Common/System/DataChunk.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/System/DataChunk.cpp
rename to Core/GameEngine/Source/Common/System/DataChunk.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/Directory.cpp b/Core/GameEngine/Source/Common/System/Directory.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/System/Directory.cpp
rename to Core/GameEngine/Source/Common/System/Directory.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/DisabledTypes.cpp b/Core/GameEngine/Source/Common/System/DisabledTypes.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/System/DisabledTypes.cpp
rename to Core/GameEngine/Source/Common/System/DisabledTypes.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/Geometry.cpp b/Core/GameEngine/Source/Common/System/Geometry.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/System/Geometry.cpp
rename to Core/GameEngine/Source/Common/System/Geometry.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/KindOf.cpp b/Core/GameEngine/Source/Common/System/KindOf.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/System/KindOf.cpp
rename to Core/GameEngine/Source/Common/System/KindOf.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/List.cpp b/Core/GameEngine/Source/Common/System/List.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/System/List.cpp
rename to Core/GameEngine/Source/Common/System/List.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/QuotedPrintable.cpp b/Core/GameEngine/Source/Common/System/QuotedPrintable.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/System/QuotedPrintable.cpp
rename to Core/GameEngine/Source/Common/System/QuotedPrintable.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/StackDump.cpp b/Core/GameEngine/Source/Common/System/StackDump.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/System/StackDump.cpp
rename to Core/GameEngine/Source/Common/System/StackDump.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/Upgrade.cpp b/Core/GameEngine/Source/Common/System/Upgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/System/Upgrade.cpp
rename to Core/GameEngine/Source/Common/System/Upgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/encrypt.cpp b/Core/GameEngine/Source/Common/System/encrypt.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/System/encrypt.cpp
rename to Core/GameEngine/Source/Common/System/encrypt.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/TerrainTypes.cpp b/Core/GameEngine/Source/Common/TerrainTypes.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/TerrainTypes.cpp
rename to Core/GameEngine/Source/Common/TerrainTypes.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/version.cpp b/Core/GameEngine/Source/Common/version.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/version.cpp
rename to Core/GameEngine/Source/Common/version.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/EstablishConnectionsMenu/EstablishConnectionsMenu.cpp b/Core/GameEngine/Source/GameClient/GUI/EstablishConnectionsMenu/EstablishConnectionsMenu.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameClient/GUI/EstablishConnectionsMenu/EstablishConnectionsMenu.cpp
rename to Core/GameEngine/Source/GameClient/GUI/EstablishConnectionsMenu/EstablishConnectionsMenu.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Diplomacy.cpp b/Core/GameEngine/Source/GameClient/GUI/GUICallbacks/Diplomacy.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Diplomacy.cpp
rename to Core/GameEngine/Source/GameClient/GUI/GUICallbacks/Diplomacy.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/ExtendedMessageBox.cpp b/Core/GameEngine/Source/GameClient/GUI/GUICallbacks/ExtendedMessageBox.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/ExtendedMessageBox.cpp
rename to Core/GameEngine/Source/GameClient/GUI/GUICallbacks/ExtendedMessageBox.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/GameInfoWindow.cpp b/Core/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/GameInfoWindow.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/GameInfoWindow.cpp
rename to Core/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/GameInfoWindow.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/MessageBox.cpp b/Core/GameEngine/Source/GameClient/GUI/GUICallbacks/MessageBox.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/MessageBox.cpp
rename to Core/GameEngine/Source/GameClient/GUI/GUICallbacks/MessageBox.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/Shell/ShellMenuScheme.cpp b/Core/GameEngine/Source/GameClient/GUI/Shell/ShellMenuScheme.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameClient/GUI/Shell/ShellMenuScheme.cpp
rename to Core/GameEngine/Source/GameClient/GUI/Shell/ShellMenuScheme.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIDock.cpp b/Core/GameEngine/Source/GameLogic/AI/AIDock.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIDock.cpp
rename to Core/GameEngine/Source/GameLogic/AI/AIDock.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/AI/Squad.cpp b/Core/GameEngine/Source/GameLogic/AI/Squad.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/AI/Squad.cpp
rename to Core/GameEngine/Source/GameLogic/AI/Squad.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/BridgeScaffoldBehavior.cpp b/Core/GameEngine/Source/GameLogic/Object/Behavior/BridgeScaffoldBehavior.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/BridgeScaffoldBehavior.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Behavior/BridgeScaffoldBehavior.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/BridgeTowerBehavior.cpp b/Core/GameEngine/Source/GameLogic/Object/Behavior/BridgeTowerBehavior.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/BridgeTowerBehavior.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Behavior/BridgeTowerBehavior.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/InstantDeathBehavior.cpp b/Core/GameEngine/Source/GameLogic/Object/Behavior/InstantDeathBehavior.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/InstantDeathBehavior.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Behavior/InstantDeathBehavior.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/OverchargeBehavior.cpp b/Core/GameEngine/Source/GameLogic/Object/Behavior/OverchargeBehavior.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/OverchargeBehavior.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Behavior/OverchargeBehavior.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/POWTruckBehavior.cpp b/Core/GameEngine/Source/GameLogic/Object/Behavior/POWTruckBehavior.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/POWTruckBehavior.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Behavior/POWTruckBehavior.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/PropagandaCenterBehavior.cpp b/Core/GameEngine/Source/GameLogic/Object/Behavior/PropagandaCenterBehavior.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/PropagandaCenterBehavior.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Behavior/PropagandaCenterBehavior.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/SupplyWarehouseCripplingBehavior.cpp b/Core/GameEngine/Source/GameLogic/Object/Behavior/SupplyWarehouseCripplingBehavior.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior/SupplyWarehouseCripplingBehavior.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Behavior/SupplyWarehouseCripplingBehavior.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Body/HighlanderBody.cpp b/Core/GameEngine/Source/GameLogic/Object/Body/HighlanderBody.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Body/HighlanderBody.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Body/HighlanderBody.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Body/ImmortalBody.cpp b/Core/GameEngine/Source/GameLogic/Object/Body/ImmortalBody.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Body/ImmortalBody.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Body/ImmortalBody.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Body/StructureBody.cpp b/Core/GameEngine/Source/GameLogic/Object/Body/StructureBody.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Body/StructureBody.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Body/StructureBody.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp b/Core/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp b/Core/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp b/Core/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp b/Core/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/FireWeaponCollide.cpp b/Core/GameEngine/Source/GameLogic/Object/Collide/FireWeaponCollide.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/FireWeaponCollide.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Collide/FireWeaponCollide.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/SquishCollide.cpp b/Core/GameEngine/Source/GameLogic/Object/Collide/SquishCollide.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Collide/SquishCollide.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Collide/SquishCollide.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/HealContain.cpp b/Core/GameEngine/Source/GameLogic/Object/Contain/HealContain.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/HealContain.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Contain/HealContain.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/RailedTransportContain.cpp b/Core/GameEngine/Source/GameLogic/Object/Contain/RailedTransportContain.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/RailedTransportContain.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Contain/RailedTransportContain.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/CreateModule.cpp b/Core/GameEngine/Source/GameLogic/Object/Create/CreateModule.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/CreateModule.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Create/CreateModule.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/PreorderCreate.cpp b/Core/GameEngine/Source/GameLogic/Object/Create/PreorderCreate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/PreorderCreate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Create/PreorderCreate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/SpecialPowerCreate.cpp b/Core/GameEngine/Source/GameLogic/Object/Create/SpecialPowerCreate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/SpecialPowerCreate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Create/SpecialPowerCreate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/SupplyCenterCreate.cpp b/Core/GameEngine/Source/GameLogic/Object/Create/SupplyCenterCreate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/SupplyCenterCreate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Create/SupplyCenterCreate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/SupplyWarehouseCreate.cpp b/Core/GameEngine/Source/GameLogic/Object/Create/SupplyWarehouseCreate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/SupplyWarehouseCreate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Create/SupplyWarehouseCreate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/VeterancyGainCreate.cpp b/Core/GameEngine/Source/GameLogic/Object/Create/VeterancyGainCreate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Create/VeterancyGainCreate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Create/VeterancyGainCreate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Damage/BoneFXDamage.cpp b/Core/GameEngine/Source/GameLogic/Object/Damage/BoneFXDamage.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Damage/BoneFXDamage.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Damage/BoneFXDamage.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Damage/DamageModule.cpp b/Core/GameEngine/Source/GameLogic/Object/Damage/DamageModule.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Damage/DamageModule.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Damage/DamageModule.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Destroy/DestroyModule.cpp b/Core/GameEngine/Source/GameLogic/Object/Destroy/DestroyModule.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Destroy/DestroyModule.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Destroy/DestroyModule.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/CreateCrateDie.cpp b/Core/GameEngine/Source/GameLogic/Object/Die/CreateCrateDie.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/CreateCrateDie.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Die/CreateCrateDie.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/CrushDie.cpp b/Core/GameEngine/Source/GameLogic/Object/Die/CrushDie.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/CrushDie.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Die/CrushDie.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/DamDie.cpp b/Core/GameEngine/Source/GameLogic/Object/Die/DamDie.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/DamDie.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Die/DamDie.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/DieModule.cpp b/Core/GameEngine/Source/GameLogic/Object/Die/DieModule.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/DieModule.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Die/DieModule.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/EjectPilotDie.cpp b/Core/GameEngine/Source/GameLogic/Object/Die/EjectPilotDie.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/EjectPilotDie.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Die/EjectPilotDie.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/KeepObjectDie.cpp b/Core/GameEngine/Source/GameLogic/Object/Die/KeepObjectDie.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/KeepObjectDie.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Die/KeepObjectDie.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/SpecialPowerCompletionDie.cpp b/Core/GameEngine/Source/GameLogic/Object/Die/SpecialPowerCompletionDie.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/SpecialPowerCompletionDie.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Die/SpecialPowerCompletionDie.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/UpgradeDie.cpp b/Core/GameEngine/Source/GameLogic/Object/Die/UpgradeDie.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Die/UpgradeDie.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Die/UpgradeDie.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectDefectionHelper.cpp b/Core/GameEngine/Source/GameLogic/Object/Helper/ObjectDefectionHelper.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectDefectionHelper.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Helper/ObjectDefectionHelper.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectHelper.cpp b/Core/GameEngine/Source/GameLogic/Object/Helper/ObjectHelper.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectHelper.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Helper/ObjectHelper.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectRepulsorHelper.cpp b/Core/GameEngine/Source/GameLogic/Object/Helper/ObjectRepulsorHelper.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectRepulsorHelper.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Helper/ObjectRepulsorHelper.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectSMCHelper.cpp b/Core/GameEngine/Source/GameLogic/Object/Helper/ObjectSMCHelper.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectSMCHelper.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Helper/ObjectSMCHelper.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectWeaponStatusHelper.cpp b/Core/GameEngine/Source/GameLogic/Object/Helper/ObjectWeaponStatusHelper.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Helper/ObjectWeaponStatusHelper.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Helper/ObjectWeaponStatusHelper.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/SpecialPower/SpecialAbility.cpp b/Core/GameEngine/Source/GameLogic/Object/SpecialPower/SpecialAbility.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/SpecialPower/SpecialAbility.cpp
rename to Core/GameEngine/Source/GameLogic/Object/SpecialPower/SpecialAbility.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/SpecialPower/SpyVisionSpecialPower.cpp b/Core/GameEngine/Source/GameLogic/Object/SpecialPower/SpyVisionSpecialPower.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/SpecialPower/SpyVisionSpecialPower.cpp
rename to Core/GameEngine/Source/GameLogic/Object/SpecialPower/SpyVisionSpecialPower.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/POWTruckAIUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/AIUpdate/POWTruckAIUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/POWTruckAIUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/AIUpdate/POWTruckAIUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/RailedTransportAIUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/AIUpdate/RailedTransportAIUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/RailedTransportAIUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/AIUpdate/RailedTransportAIUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/WanderAIUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/AIUpdate/WanderAIUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/WanderAIUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/AIUpdate/WanderAIUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/CheckpointUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/CheckpointUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/CheckpointUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/CheckpointUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/CleanupHazardUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/CleanupHazardUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/CleanupHazardUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/CleanupHazardUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/DeletionUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/DeletionUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/DeletionUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/DeletionUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/DockUpdate/PrisonDockUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/DockUpdate/PrisonDockUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/DockUpdate/PrisonDockUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/DockUpdate/PrisonDockUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/DockUpdate/RepairDockUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/DockUpdate/RepairDockUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/DockUpdate/RepairDockUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/DockUpdate/RepairDockUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/DockUpdate/SupplyWarehouseDockUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/DockUpdate/SupplyWarehouseDockUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/DockUpdate/SupplyWarehouseDockUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/DockUpdate/SupplyWarehouseDockUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/DynamicGeometryInfoUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/DynamicGeometryInfoUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/DynamicGeometryInfoUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/DynamicGeometryInfoUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/EnemyNearUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/EnemyNearUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/EnemyNearUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/EnemyNearUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/FireSpreadUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/FireSpreadUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/FireSpreadUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/FireSpreadUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/FlammableUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/FlammableUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/FlammableUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/FlammableUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/FloatUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/FloatUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/FloatUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/FloatUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/HeightDieUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/HeightDieUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/HeightDieUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/HeightDieUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/HijackerUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/HijackerUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/HijackerUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/HijackerUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/LifetimeUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/LifetimeUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/LifetimeUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/LifetimeUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/MobMemberSlavedUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/MobMemberSlavedUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/MobMemberSlavedUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/MobMemberSlavedUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/NeutronMissileSlowDeathUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/NeutronMissileSlowDeathUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/NeutronMissileSlowDeathUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/NeutronMissileSlowDeathUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/PilotFindVehicleUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/PilotFindVehicleUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/PilotFindVehicleUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/PilotFindVehicleUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/PowerPlantUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/PowerPlantUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/PowerPlantUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/PowerPlantUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/SpawnPointProductionExitUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/SpawnPointProductionExitUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/SpawnPointProductionExitUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/SpawnPointProductionExitUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProneUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/ProneUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProneUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/ProneUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/RadarUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/RadarUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/RadarUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/RadarUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/RadiusDecalUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/RadiusDecalUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/RadiusDecalUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/RadiusDecalUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/TensileFormationUpdate.cpp b/Core/GameEngine/Source/GameLogic/Object/Update/TensileFormationUpdate.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/TensileFormationUpdate.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Update/TensileFormationUpdate.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/ActiveShroudUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/ActiveShroudUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/ActiveShroudUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/ActiveShroudUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/CostModifierUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/CostModifierUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/CostModifierUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/CostModifierUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/ExperienceScalarUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/ExperienceScalarUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/ExperienceScalarUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/ExperienceScalarUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/LocomotorSetUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/LocomotorSetUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/LocomotorSetUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/LocomotorSetUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/MaxHealthUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/MaxHealthUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/MaxHealthUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/MaxHealthUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/ObjectCreationUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/ObjectCreationUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/ObjectCreationUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/ObjectCreationUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/PowerPlantUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/PowerPlantUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/PowerPlantUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/PowerPlantUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/RadarUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/RadarUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/RadarUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/RadarUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/StatusBitsUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/StatusBitsUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/StatusBitsUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/StatusBitsUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/SubObjectsUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/SubObjectsUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/SubObjectsUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/SubObjectsUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/UnpauseSpecialPowerUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/UnpauseSpecialPowerUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/UnpauseSpecialPowerUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/UnpauseSpecialPowerUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/WeaponBonusUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/WeaponBonusUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/WeaponBonusUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/WeaponBonusUpgrade.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/WeaponSetUpgrade.cpp b/Core/GameEngine/Source/GameLogic/Object/Upgrade/WeaponSetUpgrade.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Upgrade/WeaponSetUpgrade.cpp
rename to Core/GameEngine/Source/GameLogic/Object/Upgrade/WeaponSetUpgrade.cpp
diff --git a/Generals/Code/GameEngine/CMakeLists.txt b/Generals/Code/GameEngine/CMakeLists.txt
index a5ceb7603de..4f16db08868 100644
--- a/Generals/Code/GameEngine/CMakeLists.txt
+++ b/Generals/Code/GameEngine/CMakeLists.txt
@@ -11,8 +11,8 @@ set(GAMEENGINE_SRC
# Include/Common/AudioRequest.h
# Include/Common/AudioSettings.h
Include/Common/BattleHonors.h
- Include/Common/BezFwdIterator.h
- Include/Common/BezierSegment.h
+# Include/Common/BezFwdIterator.h
+# Include/Common/BezierSegment.h
Include/Common/BitFlags.h
Include/Common/BitFlagsIO.h
Include/Common/BuildAssistant.h
@@ -20,17 +20,17 @@ set(GAMEENGINE_SRC
Include/Common/CommandLine.h
# Include/Common/crc.h
# Include/Common/CRCDebug.h
- Include/Common/CriticalSection.h
+# Include/Common/CriticalSection.h
Include/Common/CustomMatchPreferences.h
- Include/Common/DamageFX.h
- Include/Common/DataChunk.h
+# Include/Common/DamageFX.h
+# Include/Common/DataChunk.h
# Include/Common/Debug.h
- Include/Common/Dict.h
- Include/Common/Directory.h
- Include/Common/DisabledTypes.h
- Include/Common/DiscreteCircle.h
+# Include/Common/Dict.h
+# Include/Common/Directory.h
+# Include/Common/DisabledTypes.h
+# Include/Common/DiscreteCircle.h
Include/Common/DrawModule.h
- Include/Common/encrypt.h
+# Include/Common/encrypt.h
Include/Common/Energy.h
# Include/Common/Errors.h
# Include/Common/file.h
@@ -48,25 +48,25 @@ set(GAMEENGINE_SRC
Include/Common/GameState.h
Include/Common/GameStateMap.h
# Include/Common/GameType.h
- Include/Common/Geometry.h
+# Include/Common/Geometry.h
Include/Common/GlobalData.h
- Include/Common/Handicap.h
+# Include/Common/Handicap.h
Include/Common/IgnorePreferences.h
# Include/Common/INI.h
Include/Common/INIException.h
- Include/Common/KindOf.h
+# Include/Common/KindOf.h
Include/Common/LadderPreferences.h
- Include/Common/Language.h
+# Include/Common/Language.h
Include/Common/LatchRestore.h
- Include/Common/List.h
+# Include/Common/List.h
# Include/Common/LocalFile.h
# Include/Common/LocalFileSystem.h
# Include/Common/MapObject.h
Include/Common/MapReaderWriterInfo.h
Include/Common/MessageStream.h
- Include/Common/MiniLog.h
+# Include/Common/MiniLog.h
# Include/Common/MiscAudio.h
- Include/Common/MissionStats.h
+# Include/Common/MissionStats.h
Include/Common/ModelState.h
Include/Common/Module.h
Include/Common/ModuleFactory.h
@@ -79,13 +79,13 @@ set(GAMEENGINE_SRC
Include/Common/Override.h
Include/Common/PartitionSolver.h
Include/Common/PerfMetrics.h
- Include/Common/PerfTimer.h
+# Include/Common/PerfTimer.h
Include/Common/Player.h
- Include/Common/PlayerList.h
+# Include/Common/PlayerList.h
Include/Common/PlayerTemplate.h
Include/Common/ProductionPrerequisite.h
Include/Common/QuickmatchPreferences.h
- Include/Common/QuotedPrintable.h
+# Include/Common/QuotedPrintable.h
# Include/Common/Radar.h
# Include/Common/RAMFile.h
# Include/Common/RandomValue.h
@@ -93,8 +93,8 @@ set(GAMEENGINE_SRC
# Include/Common/ReplaySimulation.h
Include/Common/Registry.h
Include/Common/ResourceGatheringManager.h
- Include/Common/Science.h
- Include/Common/ScoreKeeper.h
+# Include/Common/Science.h
+# Include/Common/ScoreKeeper.h
Include/Common/SkirmishBattleHonors.h
Include/Common/SkirmishPreferences.h
# Include/Common/Snapshot.h
@@ -102,7 +102,7 @@ set(GAMEENGINE_SRC
Include/Common/SpecialPower.h
Include/Common/SpecialPowerMaskType.h
Include/Common/SpecialPowerType.h
- Include/Common/StackDump.h
+# Include/Common/StackDump.h
Include/Common/StateMachine.h
Include/Common/StatsCollector.h
# Include/Common/STLTypedefs.h
@@ -110,7 +110,7 @@ set(GAMEENGINE_SRC
# Include/Common/SubsystemInterface.h
Include/Common/Team.h
Include/Common/Terrain.h
- Include/Common/TerrainTypes.h
+# Include/Common/TerrainTypes.h
Include/Common/Thing.h
Include/Common/ThingFactory.h
Include/Common/ThingSort.h
@@ -118,9 +118,9 @@ set(GAMEENGINE_SRC
Include/Common/TunnelTracker.h
# Include/Common/UnicodeString.h
Include/Common/UnitTimings.h
- Include/Common/Upgrade.h
+# Include/Common/Upgrade.h
# Include/Common/UserPreferences.h
- Include/Common/version.h
+# Include/Common/version.h
Include/Common/WellKnownKeys.h
# Include/Common/WorkerProcess.h
# Include/Common/Xfer.h
@@ -141,7 +141,7 @@ set(GAMEENGINE_SRC
# Include/GameClient/ControlBarScheme.h
# Include/GameClient/Credits.h
# Include/GameClient/DebugDisplay.h
- Include/GameClient/Diplomacy.h
+# Include/GameClient/Diplomacy.h
Include/GameClient/DisconnectMenu.h
# Include/GameClient/Display.h
# Include/GameClient/DisplayString.h
@@ -149,9 +149,9 @@ set(GAMEENGINE_SRC
Include/GameClient/Drawable.h
Include/GameClient/DrawableInfo.h
# Include/GameClient/DrawGroupInfo.h
- Include/GameClient/EstablishConnectionsMenu.h
+# Include/GameClient/EstablishConnectionsMenu.h
Include/GameClient/Eva.h
- Include/GameClient/ExtendedMessageBox.h
+# Include/GameClient/ExtendedMessageBox.h
Include/GameClient/FontDesc.h
# Include/GameClient/FXList.h
# Include/GameClient/Gadget.h
@@ -167,7 +167,7 @@ set(GAMEENGINE_SRC
# Include/GameClient/GadgetTextEntry.h
Include/GameClient/GameClient.h
# Include/GameClient/GameFont.h
- Include/GameClient/GameInfoWindow.h
+# Include/GameClient/GameInfoWindow.h
# Include/GameClient/GameText.h
# Include/GameClient/GameWindow.h
# Include/GameClient/GameWindowGlobal.h
@@ -191,7 +191,7 @@ set(GAMEENGINE_SRC
# Include/GameClient/LoadScreen.h
# Include/GameClient/LookAtXlat.h
# Include/GameClient/MapUtil.h
- Include/GameClient/MessageBox.h
+# Include/GameClient/MessageBox.h
# Include/GameClient/MetaEvent.h
# Include/GameClient/Module/AnimatedParticleSysBoneClientUpdate.h
# Include/GameClient/Module/BeaconClientUpdate.h
@@ -207,7 +207,7 @@ set(GAMEENGINE_SRC
Include/GameClient/Shadow.h
Include/GameClient/Shell.h
Include/GameClient/ShellHooks.h
- Include/GameClient/ShellMenuScheme.h
+# Include/GameClient/ShellMenuScheme.h
# Include/GameClient/Statistics.h
# Include/GameClient/TerrainRoads.h
# Include/GameClient/TerrainVisual.h
@@ -219,7 +219,7 @@ set(GAMEENGINE_SRC
# Include/GameClient/WindowXlat.h
# Include/GameClient/WinInstanceData.h
Include/GameLogic/AI.h
- Include/GameLogic/AIDock.h
+# Include/GameLogic/AIDock.h
Include/GameLogic/AIGuard.h
# Include/GameLogic/AIPathfind.h
Include/GameLogic/AIPlayer.h
@@ -240,7 +240,7 @@ set(GAMEENGINE_SRC
Include/GameLogic/LocomotorSet.h
# Include/GameLogic/LogicRandomValue.h
Include/GameLogic/Module/ActiveBody.h
- Include/GameLogic/Module/ActiveShroudUpgrade.h
+# Include/GameLogic/Module/ActiveShroudUpgrade.h
Include/GameLogic/Module/AIUpdate.h
Include/GameLogic/Module/ArmorUpgrade.h
Include/GameLogic/Module/AssaultTransportAIUpdate.h
@@ -253,183 +253,183 @@ set(GAMEENGINE_SRC
Include/GameLogic/Module/BattlePlanUpdate.h
Include/GameLogic/Module/BehaviorModule.h
Include/GameLogic/Module/BodyModule.h
- Include/GameLogic/Module/BoneFXDamage.h
+# Include/GameLogic/Module/BoneFXDamage.h
Include/GameLogic/Module/BoneFXUpdate.h
Include/GameLogic/Module/BridgeBehavior.h
- Include/GameLogic/Module/BridgeScaffoldBehavior.h
- Include/GameLogic/Module/BridgeTowerBehavior.h
+# Include/GameLogic/Module/BridgeScaffoldBehavior.h
+# Include/GameLogic/Module/BridgeTowerBehavior.h
Include/GameLogic/Module/CashBountyPower.h
Include/GameLogic/Module/CashHackSpecialPower.h
Include/GameLogic/Module/CaveContain.h
- Include/GameLogic/Module/CheckpointUpdate.h
+# Include/GameLogic/Module/CheckpointUpdate.h
Include/GameLogic/Module/ChinookAIUpdate.h
Include/GameLogic/Module/CleanupAreaPower.h
- Include/GameLogic/Module/CleanupHazardUpdate.h
+# Include/GameLogic/Module/CleanupHazardUpdate.h
Include/GameLogic/Module/CollideModule.h
Include/GameLogic/Module/CommandButtonHuntUpdate.h
Include/GameLogic/Module/CommandSetUpgrade.h
Include/GameLogic/Module/ContainModule.h
Include/GameLogic/Module/ConvertToCarBombCrateCollide.h
Include/GameLogic/Module/ConvertToHijackedVehicleCrateCollide.h
- Include/GameLogic/Module/CostModifierUpgrade.h
+# Include/GameLogic/Module/CostModifierUpgrade.h
Include/GameLogic/Module/CrateCollide.h
- Include/GameLogic/Module/CreateCrateDie.h
- Include/GameLogic/Module/CreateModule.h
+# Include/GameLogic/Module/CreateCrateDie.h
+# Include/GameLogic/Module/CreateModule.h
Include/GameLogic/Module/CreateObjectDie.h
- Include/GameLogic/Module/CrushDie.h
- Include/GameLogic/Module/DamageModule.h
- Include/GameLogic/Module/DamDie.h
+# Include/GameLogic/Module/CrushDie.h
+# Include/GameLogic/Module/DamageModule.h
+# Include/GameLogic/Module/DamDie.h
Include/GameLogic/Module/DefaultProductionExitUpdate.h
Include/GameLogic/Module/DefectorSpecialPower.h
Include/GameLogic/Module/DelayedUpgrade.h
Include/GameLogic/Module/DelayedWeaponSetUpgradeUpdate.h
- Include/GameLogic/Module/DeletionUpdate.h
+# Include/GameLogic/Module/DeletionUpdate.h
Include/GameLogic/Module/DeliverPayloadAIUpdate.h
Include/GameLogic/Module/DemoralizeSpecialPower.h
Include/GameLogic/Module/DemoTrapUpdate.h
Include/GameLogic/Module/DeployStyleAIUpdate.h
Include/GameLogic/Module/DestroyDie.h
- Include/GameLogic/Module/DestroyModule.h
- Include/GameLogic/Module/DieModule.h
+# Include/GameLogic/Module/DestroyModule.h
+# Include/GameLogic/Module/DieModule.h
Include/GameLogic/Module/DockUpdate.h
Include/GameLogic/Module/DozerAIUpdate.h
Include/GameLogic/Module/DumbProjectileBehavior.h
- Include/GameLogic/Module/DynamicGeometryInfoUpdate.h
+# Include/GameLogic/Module/DynamicGeometryInfoUpdate.h
Include/GameLogic/Module/DynamicShroudClearingRangeUpdate.h
- Include/GameLogic/Module/EjectPilotDie.h
+# Include/GameLogic/Module/EjectPilotDie.h
Include/GameLogic/Module/EMPUpdate.h
- Include/GameLogic/Module/EnemyNearUpdate.h
- Include/GameLogic/Module/ExperienceScalarUpgrade.h
+# Include/GameLogic/Module/EnemyNearUpdate.h
+# Include/GameLogic/Module/ExperienceScalarUpgrade.h
Include/GameLogic/Module/FireOCLAfterWeaponCooldownUpdate.h
- Include/GameLogic/Module/FireSpreadUpdate.h
+# Include/GameLogic/Module/FireSpreadUpdate.h
Include/GameLogic/Module/FirestormDynamicGeometryInfoUpdate.h
- Include/GameLogic/Module/FireWeaponCollide.h
+# Include/GameLogic/Module/FireWeaponCollide.h
Include/GameLogic/Module/FireWeaponUpdate.h
Include/GameLogic/Module/FireWeaponWhenDamagedBehavior.h
Include/GameLogic/Module/FireWeaponWhenDeadBehavior.h
- Include/GameLogic/Module/FlammableUpdate.h
- Include/GameLogic/Module/FloatUpdate.h
+# Include/GameLogic/Module/FlammableUpdate.h
+# Include/GameLogic/Module/FloatUpdate.h
Include/GameLogic/Module/FXListDie.h
Include/GameLogic/Module/GarrisonContain.h
Include/GameLogic/Module/GenerateMinefieldBehavior.h
Include/GameLogic/Module/GrantUpgradeCreate.h
Include/GameLogic/Module/HackInternetAIUpdate.h
- Include/GameLogic/Module/HealContain.h
- Include/GameLogic/Module/HealCrateCollide.h
- Include/GameLogic/Module/HeightDieUpdate.h
+# Include/GameLogic/Module/HealContain.h
+# Include/GameLogic/Module/HealCrateCollide.h
+# Include/GameLogic/Module/HeightDieUpdate.h
Include/GameLogic/Module/HelicopterSlowDeathUpdate.h
- Include/GameLogic/Module/HighlanderBody.h
- Include/GameLogic/Module/HijackerUpdate.h
+# Include/GameLogic/Module/HighlanderBody.h
+# Include/GameLogic/Module/HijackerUpdate.h
Include/GameLogic/Module/HiveStructureBody.h
Include/GameLogic/Module/HordeUpdate.h
- Include/GameLogic/Module/ImmortalBody.h
+# Include/GameLogic/Module/ImmortalBody.h
Include/GameLogic/Module/InactiveBody.h
- Include/GameLogic/Module/InstantDeathBehavior.h
+# Include/GameLogic/Module/InstantDeathBehavior.h
Include/GameLogic/Module/JetAIUpdate.h
Include/GameLogic/Module/JetSlowDeathBehavior.h
- Include/GameLogic/Module/KeepObjectDie.h
+# Include/GameLogic/Module/KeepObjectDie.h
Include/GameLogic/Module/LaserUpdate.h
- Include/GameLogic/Module/LifetimeUpdate.h
- Include/GameLogic/Module/LocomotorSetUpgrade.h
- Include/GameLogic/Module/MaxHealthUpgrade.h
+# Include/GameLogic/Module/LifetimeUpdate.h
+# Include/GameLogic/Module/LocomotorSetUpgrade.h
+# Include/GameLogic/Module/MaxHealthUpgrade.h
Include/GameLogic/Module/MinefieldBehavior.h
Include/GameLogic/Module/MissileAIUpdate.h
Include/GameLogic/Module/MissileLauncherBuildingUpdate.h
- Include/GameLogic/Module/MobMemberSlavedUpdate.h
+# Include/GameLogic/Module/MobMemberSlavedUpdate.h
Include/GameLogic/Module/MobNexusContain.h
Include/GameLogic/Module/MoneyCrateCollide.h
- Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h
+# Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h
Include/GameLogic/Module/NeutronMissileUpdate.h
- Include/GameLogic/Module/ObjectCreationUpgrade.h
- Include/GameLogic/Module/ObjectDefectionHelper.h
- Include/GameLogic/Module/ObjectHelper.h
- Include/GameLogic/Module/ObjectRepulsorHelper.h
- Include/GameLogic/Module/ObjectSMCHelper.h
- Include/GameLogic/Module/ObjectWeaponStatusHelper.h
+# Include/GameLogic/Module/ObjectCreationUpgrade.h
+# Include/GameLogic/Module/ObjectDefectionHelper.h
+# Include/GameLogic/Module/ObjectHelper.h
+# Include/GameLogic/Module/ObjectRepulsorHelper.h
+# Include/GameLogic/Module/ObjectSMCHelper.h
+# Include/GameLogic/Module/ObjectWeaponStatusHelper.h
Include/GameLogic/Module/OCLSpecialPower.h
Include/GameLogic/Module/OCLUpdate.h
Include/GameLogic/Module/OpenContain.h
- Include/GameLogic/Module/OverchargeBehavior.h
+# Include/GameLogic/Module/OverchargeBehavior.h
Include/GameLogic/Module/OverlordContain.h
Include/GameLogic/Module/ParachuteContain.h
Include/GameLogic/Module/ParkingPlaceBehavior.h
Include/GameLogic/Module/ParticleUplinkCannonUpdate.h
Include/GameLogic/Module/PhysicsUpdate.h
- Include/GameLogic/Module/PilotFindVehicleUpdate.h
+# Include/GameLogic/Module/PilotFindVehicleUpdate.h
Include/GameLogic/Module/PointDefenseLaserUpdate.h
Include/GameLogic/Module/PoisonedBehavior.h
- Include/GameLogic/Module/PowerPlantUpdate.h
- Include/GameLogic/Module/PowerPlantUpgrade.h
- Include/GameLogic/Module/POWTruckAIUpdate.h
- Include/GameLogic/Module/POWTruckBehavior.h
- Include/GameLogic/Module/PreorderCreate.h
+# Include/GameLogic/Module/PowerPlantUpdate.h
+# Include/GameLogic/Module/PowerPlantUpgrade.h
+# Include/GameLogic/Module/POWTruckAIUpdate.h
+# Include/GameLogic/Module/POWTruckBehavior.h
+# Include/GameLogic/Module/PreorderCreate.h
Include/GameLogic/Module/PrisonBehavior.h
- Include/GameLogic/Module/PrisonDockUpdate.h
+# Include/GameLogic/Module/PrisonDockUpdate.h
Include/GameLogic/Module/ProductionUpdate.h
Include/GameLogic/Module/ProjectileStreamUpdate.h
- Include/GameLogic/Module/ProneUpdate.h
- Include/GameLogic/Module/PropagandaCenterBehavior.h
+# Include/GameLogic/Module/ProneUpdate.h
+# Include/GameLogic/Module/PropagandaCenterBehavior.h
Include/GameLogic/Module/PropagandaTowerBehavior.h
- Include/GameLogic/Module/QueueProductionExitUpdate.h
- Include/GameLogic/Module/RadarUpdate.h
- Include/GameLogic/Module/RadarUpgrade.h
- Include/GameLogic/Module/RadiusDecalUpdate.h
- Include/GameLogic/Module/RailedTransportAIUpdate.h
- Include/GameLogic/Module/RailedTransportContain.h
+# Include/GameLogic/Module/QueueProductionExitUpdate.h
+# Include/GameLogic/Module/RadarUpdate.h
+# Include/GameLogic/Module/RadarUpgrade.h
+# Include/GameLogic/Module/RadiusDecalUpdate.h
+# Include/GameLogic/Module/RailedTransportAIUpdate.h
+# Include/GameLogic/Module/RailedTransportContain.h
Include/GameLogic/Module/RailedTransportDockUpdate.h
Include/GameLogic/Module/RailroadGuideAIUpdate.h
Include/GameLogic/Module/RebuildHoleBehavior.h
Include/GameLogic/Module/RebuildHoleExposeDie.h
- Include/GameLogic/Module/RepairDockUpdate.h
+# Include/GameLogic/Module/RepairDockUpdate.h
Include/GameLogic/Module/SalvageCrateCollide.h
- Include/GameLogic/Module/ShroudCrateCollide.h
+# Include/GameLogic/Module/ShroudCrateCollide.h
Include/GameLogic/Module/SlavedUpdate.h
Include/GameLogic/Module/SlowDeathBehavior.h
Include/GameLogic/Module/SpawnBehavior.h
- Include/GameLogic/Module/SpawnPointProductionExitUpdate.h
- Include/GameLogic/Module/SpecialAbility.h
+# Include/GameLogic/Module/SpawnPointProductionExitUpdate.h
+# Include/GameLogic/Module/SpecialAbility.h
Include/GameLogic/Module/SpecialAbilityUpdate.h
- Include/GameLogic/Module/SpecialPowerCompletionDie.h
- Include/GameLogic/Module/SpecialPowerCreate.h
+# Include/GameLogic/Module/SpecialPowerCompletionDie.h
+# Include/GameLogic/Module/SpecialPowerCreate.h
Include/GameLogic/Module/SpecialPowerModule.h
Include/GameLogic/Module/SpecialPowerUpdateModule.h
- Include/GameLogic/Module/SpyVisionSpecialPower.h
+# Include/GameLogic/Module/SpyVisionSpecialPower.h
Include/GameLogic/Module/SpyVisionUpdate.h
- Include/GameLogic/Module/SquishCollide.h
- Include/GameLogic/Module/StatusBitsUpgrade.h
+# Include/GameLogic/Module/SquishCollide.h
+# Include/GameLogic/Module/StatusBitsUpgrade.h
Include/GameLogic/Module/StealthDetectorUpdate.h
Include/GameLogic/Module/StealthUpdate.h
Include/GameLogic/Module/StealthUpgrade.h
Include/GameLogic/Module/StickyBombUpdate.h
- Include/GameLogic/Module/StructureBody.h
+# Include/GameLogic/Module/StructureBody.h
Include/GameLogic/Module/StructureCollapseUpdate.h
Include/GameLogic/Module/StructureToppleUpdate.h
- Include/GameLogic/Module/SubObjectsUpgrade.h
- Include/GameLogic/Module/SupplyCenterCreate.h
+# Include/GameLogic/Module/SubObjectsUpgrade.h
+# Include/GameLogic/Module/SupplyCenterCreate.h
Include/GameLogic/Module/SupplyCenterDockUpdate.h
Include/GameLogic/Module/SupplyCenterProductionExitUpdate.h
Include/GameLogic/Module/SupplyTruckAIUpdate.h
- Include/GameLogic/Module/SupplyWarehouseCreate.h
- Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h
- Include/GameLogic/Module/SupplyWarehouseDockUpdate.h
+# Include/GameLogic/Module/SupplyWarehouseCreate.h
+# Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h
+# Include/GameLogic/Module/SupplyWarehouseDockUpdate.h
Include/GameLogic/Module/TechBuildingBehavior.h
- Include/GameLogic/Module/TensileFormationUpdate.h
+# Include/GameLogic/Module/TensileFormationUpdate.h
Include/GameLogic/Module/ToppleUpdate.h
Include/GameLogic/Module/TransitionDamageFX.h
Include/GameLogic/Module/TransportAIUpdate.h
Include/GameLogic/Module/TransportContain.h
Include/GameLogic/Module/TunnelContain.h
- Include/GameLogic/Module/UnitCrateCollide.h
- Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h
+# Include/GameLogic/Module/UnitCrateCollide.h
+# Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h
Include/GameLogic/Module/UpdateModule.h
- Include/GameLogic/Module/UpgradeDie.h
+# Include/GameLogic/Module/UpgradeDie.h
Include/GameLogic/Module/UpgradeModule.h
- Include/GameLogic/Module/VeterancyCrateCollide.h
- Include/GameLogic/Module/VeterancyGainCreate.h
- Include/GameLogic/Module/WanderAIUpdate.h
+# Include/GameLogic/Module/VeterancyCrateCollide.h
+# Include/GameLogic/Module/VeterancyGainCreate.h
+# Include/GameLogic/Module/WanderAIUpdate.h
Include/GameLogic/Module/WaveGuideUpdate.h
- Include/GameLogic/Module/WeaponBonusUpgrade.h
- Include/GameLogic/Module/WeaponSetUpgrade.h
+# Include/GameLogic/Module/WeaponBonusUpgrade.h
+# Include/GameLogic/Module/WeaponSetUpgrade.h
Include/GameLogic/Module/WorkerAIUpdate.h
Include/GameLogic/Object.h
Include/GameLogic/ObjectCreationList.h
@@ -445,7 +445,7 @@ set(GAMEENGINE_SRC
Include/GameLogic/ScriptEngine.h
Include/GameLogic/Scripts.h
Include/GameLogic/SidesList.h
- Include/GameLogic/Squad.h
+# Include/GameLogic/Squad.h
Include/GameLogic/TerrainLogic.h
Include/GameLogic/TurretAI.h
Include/GameLogic/VictoryConditions.h
@@ -517,15 +517,15 @@ set(GAMEENGINE_SRC
# Source/Common/Audio/GameSounds.cpp
#Source/Common/Audio/simpleplayer.cpp # unused
#Source/Common/Audio/urllaunch.cpp # unused
- Source/Common/Bezier/BezFwdIterator.cpp
- Source/Common/Bezier/BezierSegment.cpp
+# Source/Common/Bezier/BezFwdIterator.cpp
+# Source/Common/Bezier/BezierSegment.cpp
Source/Common/BitFlags.cpp
Source/Common/CommandLine.cpp
# Source/Common/crc.cpp
# Source/Common/CRCDebug.cpp
- Source/Common/DamageFX.cpp
- Source/Common/Dict.cpp
- Source/Common/DiscreteCircle.cpp
+# Source/Common/DamageFX.cpp
+# Source/Common/Dict.cpp
+# Source/Common/DiscreteCircle.cpp
Source/Common/GameEngine.cpp
Source/Common/GameLOD.cpp
Source/Common/GameMain.cpp
@@ -558,27 +558,27 @@ set(GAMEENGINE_SRC
Source/Common/INI/INIWater.cpp
Source/Common/INI/INIWeapon.cpp
Source/Common/INI/INIWebpageURL.cpp
- Source/Common/Language.cpp
+# Source/Common/Language.cpp
Source/Common/MessageStream.cpp
- Source/Common/MiniLog.cpp
+# Source/Common/MiniLog.cpp
Source/Common/MultiplayerSettings.cpp
Source/Common/NameKeyGenerator.cpp
Source/Common/PartitionSolver.cpp
- Source/Common/PerfTimer.cpp
+# Source/Common/PerfTimer.cpp
# Source/Common/RandomValue.cpp
Source/Common/Recorder.cpp
Source/Common/RTS/ActionManager.cpp
Source/Common/RTS/Energy.cpp
- Source/Common/RTS/Handicap.cpp
- Source/Common/RTS/MissionStats.cpp
+# Source/Common/RTS/Handicap.cpp
+# Source/Common/RTS/MissionStats.cpp
Source/Common/RTS/Money.cpp
Source/Common/RTS/Player.cpp
- Source/Common/RTS/PlayerList.cpp
+# Source/Common/RTS/PlayerList.cpp
Source/Common/RTS/PlayerTemplate.cpp
Source/Common/RTS/ProductionPrerequisite.cpp
Source/Common/RTS/ResourceGatheringManager.cpp
- Source/Common/RTS/Science.cpp
- Source/Common/RTS/ScoreKeeper.cpp
+# Source/Common/RTS/Science.cpp
+# Source/Common/RTS/ScoreKeeper.cpp
Source/Common/RTS/SpecialPower.cpp
Source/Common/RTS/Team.cpp
Source/Common/RTS/TunnelTracker.cpp
@@ -589,43 +589,43 @@ set(GAMEENGINE_SRC
# Source/Common/System/ArchiveFileSystem.cpp
# Source/Common/System/AsciiString.cpp
Source/Common/System/BuildAssistant.cpp
- Source/Common/System/CriticalSection.cpp
- Source/Common/System/DataChunk.cpp
+# Source/Common/System/CriticalSection.cpp
+# Source/Common/System/DataChunk.cpp
# Source/Common/System/Debug.cpp
- Source/Common/System/Directory.cpp
- Source/Common/System/DisabledTypes.cpp
- Source/Common/System/encrypt.cpp
+# Source/Common/System/Directory.cpp
+# Source/Common/System/DisabledTypes.cpp
+# Source/Common/System/encrypt.cpp
# Source/Common/System/File.cpp
# Source/Common/System/FileSystem.cpp
Source/Common/System/FunctionLexicon.cpp
# Source/Common/System/GameCommon.cpp
#Source/Common/System/GameMemory.cpp
# Source/Common/System/GameType.cpp
- Source/Common/System/Geometry.cpp
- Source/Common/System/KindOf.cpp
- Source/Common/System/List.cpp
+# Source/Common/System/Geometry.cpp
+# Source/Common/System/KindOf.cpp
+# Source/Common/System/List.cpp
# Source/Common/System/LocalFile.cpp
# Source/Common/System/LocalFileSystem.cpp
#Source/Common/System/MemoryInit.cpp
# Source/Common/System/ObjectStatusTypes.cpp
- Source/Common/System/QuotedPrintable.cpp
+# Source/Common/System/QuotedPrintable.cpp
# Source/Common/System/Radar.cpp
# Source/Common/System/RAMFile.cpp
Source/Common/System/registry.cpp
Source/Common/System/SaveGame/GameState.cpp
Source/Common/System/SaveGame/GameStateMap.cpp
# Source/Common/System/Snapshot.cpp
- Source/Common/System/StackDump.cpp
+# Source/Common/System/StackDump.cpp
# Source/Common/System/StreamingArchiveFile.cpp
# Source/Common/System/SubsystemInterface.cpp
Source/Common/System/Trig.cpp
# Source/Common/System/UnicodeString.cpp
- Source/Common/System/Upgrade.cpp
+# Source/Common/System/Upgrade.cpp
# Source/Common/System/Xfer.cpp
# Source/Common/System/XferCRC.cpp
# Source/Common/System/XferLoad.cpp
# Source/Common/System/XferSave.cpp
- Source/Common/TerrainTypes.cpp
+# Source/Common/TerrainTypes.cpp
Source/Common/Thing/DrawModule.cpp
Source/Common/Thing/Module.cpp
Source/Common/Thing/ModuleFactory.cpp
@@ -633,7 +633,7 @@ set(GAMEENGINE_SRC
Source/Common/Thing/ThingFactory.cpp
Source/Common/Thing/ThingTemplate.cpp
# Source/Common/UserPreferences.cpp
- Source/Common/version.cpp
+# Source/Common/version.cpp
# Source/Common/WorkerProcess.cpp
# Source/GameClient/ClientInstance.cpp
# Source/GameClient/Color.cpp
@@ -668,7 +668,7 @@ set(GAMEENGINE_SRC
# Source/GameClient/GUI/ControlBar/ControlBarStructureInventory.cpp
# Source/GameClient/GUI/ControlBar/ControlBarUnderConstruction.cpp
Source/GameClient/GUI/DisconnectMenu/DisconnectMenu.cpp
- Source/GameClient/GUI/EstablishConnectionsMenu/EstablishConnectionsMenu.cpp
+# Source/GameClient/GUI/EstablishConnectionsMenu/EstablishConnectionsMenu.cpp
# Source/GameClient/GUI/Gadget/GadgetCheckBox.cpp
# Source/GameClient/GUI/Gadget/GadgetComboBox.cpp
# Source/GameClient/GUI/Gadget/GadgetHorizontalSlider.cpp
@@ -689,8 +689,8 @@ set(GAMEENGINE_SRC
Source/GameClient/GUI/GameWindowTransitionsStyles.cpp
# Source/GameClient/GUI/GUICallbacks/ControlBarCallback.cpp
# Source/GameClient/GUI/GUICallbacks/ControlBarPopupDescription.cpp
- Source/GameClient/GUI/GUICallbacks/Diplomacy.cpp
- Source/GameClient/GUI/GUICallbacks/ExtendedMessageBox.cpp
+# Source/GameClient/GUI/GUICallbacks/Diplomacy.cpp
+# Source/GameClient/GUI/GUICallbacks/ExtendedMessageBox.cpp
Source/GameClient/GUI/GUICallbacks/GeneralsExpPoints.cpp
Source/GameClient/GUI/GUICallbacks/IMECandidate.cpp
Source/GameClient/GUI/GUICallbacks/InGameChat.cpp
@@ -700,7 +700,7 @@ set(GAMEENGINE_SRC
Source/GameClient/GUI/GUICallbacks/Menus/DisconnectWindow.cpp
Source/GameClient/GUI/GUICallbacks/Menus/DownloadMenu.cpp
Source/GameClient/GUI/GUICallbacks/Menus/EstablishConnectionsWindow.cpp
- Source/GameClient/GUI/GUICallbacks/Menus/GameInfoWindow.cpp
+# Source/GameClient/GUI/GUICallbacks/Menus/GameInfoWindow.cpp
Source/GameClient/GUI/GUICallbacks/Menus/KeyboardOptionsMenu.cpp
Source/GameClient/GUI/GUICallbacks/Menus/LanGameOptionsMenu.cpp
Source/GameClient/GUI/GUICallbacks/Menus/LanLobbyMenu.cpp
@@ -735,14 +735,14 @@ set(GAMEENGINE_SRC
Source/GameClient/GUI/GUICallbacks/Menus/WOLQuickMatchMenu.cpp
Source/GameClient/GUI/GUICallbacks/Menus/WOLStatusMenu.cpp
Source/GameClient/GUI/GUICallbacks/Menus/WOLWelcomeMenu.cpp
- Source/GameClient/GUI/GUICallbacks/MessageBox.cpp
+# Source/GameClient/GUI/GUICallbacks/MessageBox.cpp
Source/GameClient/GUI/GUICallbacks/ReplayControls.cpp
# Source/GameClient/GUI/HeaderTemplate.cpp
# Source/GameClient/GUI/IMEManager.cpp
# Source/GameClient/GUI/LoadScreen.cpp
# Source/GameClient/GUI/ProcessAnimateWindow.cpp
Source/GameClient/GUI/Shell/Shell.cpp
- Source/GameClient/GUI/Shell/ShellMenuScheme.cpp
+# Source/GameClient/GUI/Shell/ShellMenuScheme.cpp
# Source/GameClient/GUI/WindowLayout.cpp
# Source/GameClient/GUI/WindowVideoManager.cpp
# Source/GameClient/GUI/WinInstanceData.cpp
@@ -777,7 +777,7 @@ set(GAMEENGINE_SRC
# Source/GameClient/View.cpp
# Source/GameClient/Water.cpp
Source/GameLogic/AI/AI.cpp
- Source/GameLogic/AI/AIDock.cpp
+# Source/GameLogic/AI/AIDock.cpp
Source/GameLogic/AI/AIGroup.cpp
Source/GameLogic/AI/AIGuard.cpp
# Source/GameLogic/AI/AIPathfind.cpp
@@ -785,7 +785,7 @@ set(GAMEENGINE_SRC
Source/GameLogic/AI/AISkirmishPlayer.cpp
Source/GameLogic/AI/AIStates.cpp
Source/GameLogic/AI/AITNGuard.cpp
- Source/GameLogic/AI/Squad.cpp
+# Source/GameLogic/AI/Squad.cpp
Source/GameLogic/AI/TurretAI.cpp
Source/GameLogic/Map/PolygonTrigger.cpp
Source/GameLogic/Map/SidesList.cpp
@@ -794,87 +794,87 @@ set(GAMEENGINE_SRC
Source/GameLogic/Object/Behavior/AutoHealBehavior.cpp
Source/GameLogic/Object/Behavior/BehaviorModule.cpp
Source/GameLogic/Object/Behavior/BridgeBehavior.cpp
- Source/GameLogic/Object/Behavior/BridgeScaffoldBehavior.cpp
- Source/GameLogic/Object/Behavior/BridgeTowerBehavior.cpp
+# Source/GameLogic/Object/Behavior/BridgeScaffoldBehavior.cpp
+# Source/GameLogic/Object/Behavior/BridgeTowerBehavior.cpp
Source/GameLogic/Object/Behavior/DumbProjectileBehavior.cpp
Source/GameLogic/Object/Behavior/FireWeaponWhenDamagedBehavior.cpp
Source/GameLogic/Object/Behavior/FireWeaponWhenDeadBehavior.cpp
Source/GameLogic/Object/Behavior/GenerateMinefieldBehavior.cpp
- Source/GameLogic/Object/Behavior/InstantDeathBehavior.cpp
+# Source/GameLogic/Object/Behavior/InstantDeathBehavior.cpp
Source/GameLogic/Object/Behavior/JetSlowDeathBehavior.cpp
Source/GameLogic/Object/Behavior/MinefieldBehavior.cpp
- Source/GameLogic/Object/Behavior/OverchargeBehavior.cpp
+# Source/GameLogic/Object/Behavior/OverchargeBehavior.cpp
Source/GameLogic/Object/Behavior/ParkingPlaceBehavior.cpp
Source/GameLogic/Object/Behavior/PoisonedBehavior.cpp
- Source/GameLogic/Object/Behavior/POWTruckBehavior.cpp
+# Source/GameLogic/Object/Behavior/POWTruckBehavior.cpp
Source/GameLogic/Object/Behavior/PrisonBehavior.cpp
- Source/GameLogic/Object/Behavior/PropagandaCenterBehavior.cpp
+# Source/GameLogic/Object/Behavior/PropagandaCenterBehavior.cpp
Source/GameLogic/Object/Behavior/PropagandaTowerBehavior.cpp
Source/GameLogic/Object/Behavior/RebuildHoleBehavior.cpp
Source/GameLogic/Object/Behavior/SlowDeathBehavior.cpp
Source/GameLogic/Object/Behavior/SpawnBehavior.cpp
- Source/GameLogic/Object/Behavior/SupplyWarehouseCripplingBehavior.cpp
+# Source/GameLogic/Object/Behavior/SupplyWarehouseCripplingBehavior.cpp
Source/GameLogic/Object/Behavior/TechBuildingBehavior.cpp
Source/GameLogic/Object/Body/ActiveBody.cpp
Source/GameLogic/Object/Body/BodyModule.cpp
- Source/GameLogic/Object/Body/HighlanderBody.cpp
+# Source/GameLogic/Object/Body/HighlanderBody.cpp
Source/GameLogic/Object/Body/HiveStructureBody.cpp
- Source/GameLogic/Object/Body/ImmortalBody.cpp
+# Source/GameLogic/Object/Body/ImmortalBody.cpp
Source/GameLogic/Object/Body/InactiveBody.cpp
- Source/GameLogic/Object/Body/StructureBody.cpp
+# Source/GameLogic/Object/Body/StructureBody.cpp
Source/GameLogic/Object/Collide/CollideModule.cpp
Source/GameLogic/Object/Collide/CrateCollide/ConvertToCarBombCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/ConvertToHijackedVehicleCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/CrateCollide.cpp
- Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp
+# Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/MoneyCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/SalvageCrateCollide.cpp
- Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp
- Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp
- Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp
- Source/GameLogic/Object/Collide/FireWeaponCollide.cpp
- Source/GameLogic/Object/Collide/SquishCollide.cpp
+# Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp
+# Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp
+# Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp
+# Source/GameLogic/Object/Collide/FireWeaponCollide.cpp
+# Source/GameLogic/Object/Collide/SquishCollide.cpp
Source/GameLogic/Object/Contain/CaveContain.cpp
Source/GameLogic/Object/Contain/GarrisonContain.cpp
- Source/GameLogic/Object/Contain/HealContain.cpp
+# Source/GameLogic/Object/Contain/HealContain.cpp
Source/GameLogic/Object/Contain/MobNexusContain.cpp
Source/GameLogic/Object/Contain/OpenContain.cpp
Source/GameLogic/Object/Contain/OverlordContain.cpp
Source/GameLogic/Object/Contain/ParachuteContain.cpp
- Source/GameLogic/Object/Contain/RailedTransportContain.cpp
+# Source/GameLogic/Object/Contain/RailedTransportContain.cpp
Source/GameLogic/Object/Contain/TransportContain.cpp
Source/GameLogic/Object/Contain/TunnelContain.cpp
- Source/GameLogic/Object/Create/CreateModule.cpp
+# Source/GameLogic/Object/Create/CreateModule.cpp
Source/GameLogic/Object/Create/GrantUpgradeCreate.cpp
- Source/GameLogic/Object/Create/PreorderCreate.cpp
- Source/GameLogic/Object/Create/SpecialPowerCreate.cpp
- Source/GameLogic/Object/Create/SupplyCenterCreate.cpp
- Source/GameLogic/Object/Create/SupplyWarehouseCreate.cpp
- Source/GameLogic/Object/Create/VeterancyGainCreate.cpp
- Source/GameLogic/Object/Damage/BoneFXDamage.cpp
- Source/GameLogic/Object/Damage/DamageModule.cpp
+# Source/GameLogic/Object/Create/PreorderCreate.cpp
+# Source/GameLogic/Object/Create/SpecialPowerCreate.cpp
+# Source/GameLogic/Object/Create/SupplyCenterCreate.cpp
+# Source/GameLogic/Object/Create/SupplyWarehouseCreate.cpp
+# Source/GameLogic/Object/Create/VeterancyGainCreate.cpp
+# Source/GameLogic/Object/Damage/BoneFXDamage.cpp
+# Source/GameLogic/Object/Damage/DamageModule.cpp
Source/GameLogic/Object/Damage/TransitionDamageFX.cpp
- Source/GameLogic/Object/Destroy/DestroyModule.cpp
- Source/GameLogic/Object/Die/CreateCrateDie.cpp
+# Source/GameLogic/Object/Destroy/DestroyModule.cpp
+# Source/GameLogic/Object/Die/CreateCrateDie.cpp
Source/GameLogic/Object/Die/CreateObjectDie.cpp
- Source/GameLogic/Object/Die/CrushDie.cpp
- Source/GameLogic/Object/Die/DamDie.cpp
+# Source/GameLogic/Object/Die/CrushDie.cpp
+# Source/GameLogic/Object/Die/DamDie.cpp
Source/GameLogic/Object/Die/DestroyDie.cpp
- Source/GameLogic/Object/Die/DieModule.cpp
- Source/GameLogic/Object/Die/EjectPilotDie.cpp
+# Source/GameLogic/Object/Die/DieModule.cpp
+# Source/GameLogic/Object/Die/EjectPilotDie.cpp
Source/GameLogic/Object/Die/FXListDie.cpp
- Source/GameLogic/Object/Die/KeepObjectDie.cpp
+# Source/GameLogic/Object/Die/KeepObjectDie.cpp
Source/GameLogic/Object/Die/RebuildHoleExposeDie.cpp
- Source/GameLogic/Object/Die/SpecialPowerCompletionDie.cpp
- Source/GameLogic/Object/Die/UpgradeDie.cpp
+# Source/GameLogic/Object/Die/SpecialPowerCompletionDie.cpp
+# Source/GameLogic/Object/Die/UpgradeDie.cpp
Source/GameLogic/Object/ExperienceTracker.cpp
Source/GameLogic/Object/FiringTracker.cpp
Source/GameLogic/Object/GhostObject.cpp
- Source/GameLogic/Object/Helper/ObjectDefectionHelper.cpp
- Source/GameLogic/Object/Helper/ObjectHelper.cpp
- Source/GameLogic/Object/Helper/ObjectRepulsorHelper.cpp
- Source/GameLogic/Object/Helper/ObjectSMCHelper.cpp
- Source/GameLogic/Object/Helper/ObjectWeaponStatusHelper.cpp
+# Source/GameLogic/Object/Helper/ObjectDefectionHelper.cpp
+# Source/GameLogic/Object/Helper/ObjectHelper.cpp
+# Source/GameLogic/Object/Helper/ObjectRepulsorHelper.cpp
+# Source/GameLogic/Object/Helper/ObjectSMCHelper.cpp
+# Source/GameLogic/Object/Helper/ObjectWeaponStatusHelper.cpp
Source/GameLogic/Object/Locomotor.cpp
Source/GameLogic/Object/Object.cpp
Source/GameLogic/Object/ObjectCreationList.cpp
@@ -888,9 +888,9 @@ set(GAMEENGINE_SRC
Source/GameLogic/Object/SpecialPower/DefectorSpecialPower.cpp
Source/GameLogic/Object/SpecialPower/DemoralizeSpecialPower.cpp
Source/GameLogic/Object/SpecialPower/OCLSpecialPower.cpp
- Source/GameLogic/Object/SpecialPower/SpecialAbility.cpp
+# Source/GameLogic/Object/SpecialPower/SpecialAbility.cpp
Source/GameLogic/Object/SpecialPower/SpecialPowerModule.cpp
- Source/GameLogic/Object/SpecialPower/SpyVisionSpecialPower.cpp
+# Source/GameLogic/Object/SpecialPower/SpyVisionSpecialPower.cpp
Source/GameLogic/Object/Update/AIUpdate.cpp
Source/GameLogic/Object/Update/AIUpdate/AssaultTransportAIUpdate.cpp
Source/GameLogic/Object/Update/AIUpdate/ChinookAIUpdate.cpp
@@ -900,12 +900,12 @@ set(GAMEENGINE_SRC
Source/GameLogic/Object/Update/AIUpdate/HackInternetAIUpdate.cpp
Source/GameLogic/Object/Update/AIUpdate/JetAIUpdate.cpp
Source/GameLogic/Object/Update/AIUpdate/MissileAIUpdate.cpp
- Source/GameLogic/Object/Update/AIUpdate/POWTruckAIUpdate.cpp
- Source/GameLogic/Object/Update/AIUpdate/RailedTransportAIUpdate.cpp
+# Source/GameLogic/Object/Update/AIUpdate/POWTruckAIUpdate.cpp
+# Source/GameLogic/Object/Update/AIUpdate/RailedTransportAIUpdate.cpp
Source/GameLogic/Object/Update/AIUpdate/RailroadGuideAIUpdate.cpp
Source/GameLogic/Object/Update/AIUpdate/SupplyTruckAIUpdate.cpp
Source/GameLogic/Object/Update/AIUpdate/TransportAIUpdate.cpp
- Source/GameLogic/Object/Update/AIUpdate/WanderAIUpdate.cpp
+# Source/GameLogic/Object/Update/AIUpdate/WanderAIUpdate.cpp
Source/GameLogic/Object/Update/AIUpdate/WorkerAIUpdate.cpp
Source/GameLogic/Object/Update/AssistedTargetingUpdate.cpp
Source/GameLogic/Object/Update/AutoDepositUpdate.cpp
@@ -913,53 +913,53 @@ set(GAMEENGINE_SRC
Source/GameLogic/Object/Update/BaseRenerateUpdate.cpp
Source/GameLogic/Object/Update/BattlePlanUpdate.cpp
Source/GameLogic/Object/Update/BoneFXUpdate.cpp
- Source/GameLogic/Object/Update/CheckpointUpdate.cpp
- Source/GameLogic/Object/Update/CleanupHazardUpdate.cpp
+# Source/GameLogic/Object/Update/CheckpointUpdate.cpp
+# Source/GameLogic/Object/Update/CleanupHazardUpdate.cpp
Source/GameLogic/Object/Update/CommandButtonHuntUpdate.cpp
Source/GameLogic/Object/Update/DelayedWeaponSetUpgradeUpdate.cpp
- Source/GameLogic/Object/Update/DeletionUpdate.cpp
+# Source/GameLogic/Object/Update/DeletionUpdate.cpp
Source/GameLogic/Object/Update/DemoTrapUpdate.cpp
Source/GameLogic/Object/Update/DockUpdate/DockUpdate.cpp
- Source/GameLogic/Object/Update/DockUpdate/PrisonDockUpdate.cpp
+# Source/GameLogic/Object/Update/DockUpdate/PrisonDockUpdate.cpp
Source/GameLogic/Object/Update/DockUpdate/RailedTransportDockUpdate.cpp
- Source/GameLogic/Object/Update/DockUpdate/RepairDockUpdate.cpp
+# Source/GameLogic/Object/Update/DockUpdate/RepairDockUpdate.cpp
Source/GameLogic/Object/Update/DockUpdate/SupplyCenterDockUpdate.cpp
- Source/GameLogic/Object/Update/DockUpdate/SupplyWarehouseDockUpdate.cpp
- Source/GameLogic/Object/Update/DynamicGeometryInfoUpdate.cpp
+# Source/GameLogic/Object/Update/DockUpdate/SupplyWarehouseDockUpdate.cpp
+# Source/GameLogic/Object/Update/DynamicGeometryInfoUpdate.cpp
Source/GameLogic/Object/Update/DynamicShroudClearingRangeUpdate.cpp
Source/GameLogic/Object/Update/EMPUpdate.cpp
- Source/GameLogic/Object/Update/EnemyNearUpdate.cpp
+# Source/GameLogic/Object/Update/EnemyNearUpdate.cpp
Source/GameLogic/Object/Update/FireOCLAfterWeaponCooldownUpdate.cpp
- Source/GameLogic/Object/Update/FireSpreadUpdate.cpp
+# Source/GameLogic/Object/Update/FireSpreadUpdate.cpp
Source/GameLogic/Object/Update/FirestormDynamicGeometryInfoUpdate.cpp
Source/GameLogic/Object/Update/FireWeaponUpdate.cpp
- Source/GameLogic/Object/Update/FlammableUpdate.cpp
- Source/GameLogic/Object/Update/FloatUpdate.cpp
- Source/GameLogic/Object/Update/HeightDieUpdate.cpp
+# Source/GameLogic/Object/Update/FlammableUpdate.cpp
+# Source/GameLogic/Object/Update/FloatUpdate.cpp
+# Source/GameLogic/Object/Update/HeightDieUpdate.cpp
Source/GameLogic/Object/Update/HelicopterSlowDeathUpdate.cpp
- Source/GameLogic/Object/Update/HijackerUpdate.cpp
+# Source/GameLogic/Object/Update/HijackerUpdate.cpp
Source/GameLogic/Object/Update/HordeUpdate.cpp
Source/GameLogic/Object/Update/LaserUpdate.cpp
- Source/GameLogic/Object/Update/LifetimeUpdate.cpp
+# Source/GameLogic/Object/Update/LifetimeUpdate.cpp
Source/GameLogic/Object/Update/MissileLauncherBuildingUpdate.cpp
- Source/GameLogic/Object/Update/MobMemberSlavedUpdate.cpp
- Source/GameLogic/Object/Update/NeutronMissileSlowDeathUpdate.cpp
+# Source/GameLogic/Object/Update/MobMemberSlavedUpdate.cpp
+# Source/GameLogic/Object/Update/NeutronMissileSlowDeathUpdate.cpp
Source/GameLogic/Object/Update/NeutronMissileUpdate.cpp
Source/GameLogic/Object/Update/OCLUpdate.cpp
Source/GameLogic/Object/Update/ParticleUplinkCannonUpdate.cpp
Source/GameLogic/Object/Update/PhysicsUpdate.cpp
- Source/GameLogic/Object/Update/PilotFindVehicleUpdate.cpp
+# Source/GameLogic/Object/Update/PilotFindVehicleUpdate.cpp
Source/GameLogic/Object/Update/PointDefenseLaserUpdate.cpp
- Source/GameLogic/Object/Update/PowerPlantUpdate.cpp
+# Source/GameLogic/Object/Update/PowerPlantUpdate.cpp
Source/GameLogic/Object/Update/ProductionExitUpdate/DefaultProductionExitUpdate.cpp
- Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp
- Source/GameLogic/Object/Update/ProductionExitUpdate/SpawnPointProductionExitUpdate.cpp
+# Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp
+# Source/GameLogic/Object/Update/ProductionExitUpdate/SpawnPointProductionExitUpdate.cpp
Source/GameLogic/Object/Update/ProductionExitUpdate/SupplyCenterProductionExitUpdate.cpp
Source/GameLogic/Object/Update/ProductionUpdate.cpp
Source/GameLogic/Object/Update/ProjectileStreamUpdate.cpp
- Source/GameLogic/Object/Update/ProneUpdate.cpp
- Source/GameLogic/Object/Update/RadarUpdate.cpp
- Source/GameLogic/Object/Update/RadiusDecalUpdate.cpp
+# Source/GameLogic/Object/Update/ProneUpdate.cpp
+# Source/GameLogic/Object/Update/RadarUpdate.cpp
+# Source/GameLogic/Object/Update/RadiusDecalUpdate.cpp
Source/GameLogic/Object/Update/SlavedUpdate.cpp
Source/GameLogic/Object/Update/SpecialAbilityUpdate.cpp
Source/GameLogic/Object/Update/SpyVisionUpdate.cpp
@@ -968,28 +968,28 @@ set(GAMEENGINE_SRC
Source/GameLogic/Object/Update/StickyBombUpdate.cpp
Source/GameLogic/Object/Update/StructureCollapseUpdate.cpp
Source/GameLogic/Object/Update/StructureToppleUpdate.cpp
- Source/GameLogic/Object/Update/TensileFormationUpdate.cpp
+# Source/GameLogic/Object/Update/TensileFormationUpdate.cpp
Source/GameLogic/Object/Update/ToppleUpdate.cpp
Source/GameLogic/Object/Update/UpdateModule.cpp
Source/GameLogic/Object/Update/WaveGuideUpdate.cpp
- Source/GameLogic/Object/Upgrade/ActiveShroudUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/ActiveShroudUpgrade.cpp
Source/GameLogic/Object/Upgrade/ArmorUpgrade.cpp
Source/GameLogic/Object/Upgrade/CommandSetUpgrade.cpp
- Source/GameLogic/Object/Upgrade/CostModifierUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/CostModifierUpgrade.cpp
Source/GameLogic/Object/Upgrade/DelayedUpgrade.cpp
- Source/GameLogic/Object/Upgrade/ExperienceScalarUpgrade.cpp
- Source/GameLogic/Object/Upgrade/LocomotorSetUpgrade.cpp
- Source/GameLogic/Object/Upgrade/MaxHealthUpgrade.cpp
- Source/GameLogic/Object/Upgrade/ObjectCreationUpgrade.cpp
- Source/GameLogic/Object/Upgrade/PowerPlantUpgrade.cpp
- Source/GameLogic/Object/Upgrade/RadarUpgrade.cpp
- Source/GameLogic/Object/Upgrade/StatusBitsUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/ExperienceScalarUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/LocomotorSetUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/MaxHealthUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/ObjectCreationUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/PowerPlantUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/RadarUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/StatusBitsUpgrade.cpp
Source/GameLogic/Object/Upgrade/StealthUpgrade.cpp
- Source/GameLogic/Object/Upgrade/SubObjectsUpgrade.cpp
- Source/GameLogic/Object/Upgrade/UnpauseSpecialPowerUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/SubObjectsUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/UnpauseSpecialPowerUpgrade.cpp
Source/GameLogic/Object/Upgrade/UpgradeModule.cpp
- Source/GameLogic/Object/Upgrade/WeaponBonusUpgrade.cpp
- Source/GameLogic/Object/Upgrade/WeaponSetUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/WeaponBonusUpgrade.cpp
+# Source/GameLogic/Object/Upgrade/WeaponSetUpgrade.cpp
Source/GameLogic/Object/Weapon.cpp
Source/GameLogic/Object/WeaponSet.cpp
Source/GameLogic/ScriptEngine/ScriptActions.cpp
diff --git a/Generals/Code/GameEngine/Include/Common/BezFwdIterator.h b/Generals/Code/GameEngine/Include/Common/BezFwdIterator.h
deleted file mode 100644
index 8ef83229de6..00000000000
--- a/Generals/Code/GameEngine/Include/Common/BezFwdIterator.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "Common/BezierSegment.h"
-
-class BezFwdIterator
-{
- protected:
- Int mStep;
- Int mStepsDesired;
-
- BezierSegment mBezSeg;
- Coord3D mCurrPoint;
-
- Coord3D mDq; // First Derivative
- Coord3D mDDq; // Second Derivative
- Coord3D mDDDq; // Third Derivative
-
- public:
- BezFwdIterator();
- BezFwdIterator(Int stepsDesired, const BezierSegment *bezSeg);
-
- void start();
- Bool done();
- const Coord3D& getCurrent() const;
-
- void next();
-};
diff --git a/Generals/Code/GameEngine/Include/Common/BezierSegment.h b/Generals/Code/GameEngine/Include/Common/BezierSegment.h
deleted file mode 100644
index b16df7d8cee..00000000000
--- a/Generals/Code/GameEngine/Include/Common/BezierSegment.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// BezierSegment.h ////////////////////////////////////////////////////////////////////////////////
-// John K McDonald, Jr.
-// September 2002
-// DO NOT DISTRIBUTE
-
-#pragma once
-
-#include
-#include "Common/STLTypedefs.h"
-
-#define USUAL_TOLERANCE 1.0f
-
-class BezierSegment
-{
- protected:
- static const D3DXMATRIX s_bezBasisMatrix;
- Coord3D m_controlPoints[4];
-
- public: // Constructors
- BezierSegment();
- BezierSegment(Real x0, Real y0, Real z0,
- Real x1, Real y1, Real z1,
- Real x2, Real y2, Real z2,
- Real x3, Real y3, Real z3);
-
- BezierSegment(Real cp[12]);
-
-
- BezierSegment(const Coord3D& cp0,
- const Coord3D& cp1,
- const Coord3D& cp2,
- const Coord3D& cp3);
-
- BezierSegment(Coord3D cp[4]);
-
- public:
- void evaluateBezSegmentAtT(Real tValue, Coord3D *outResult) const;
- void getSegmentPoints(Int numSegments, VecCoord3D *outResult) const;
- Real getApproximateLength(Real withinTolerance = USUAL_TOLERANCE) const;
-
- void splitSegmentAtT(Real tValue, BezierSegment &outSeg1, BezierSegment &outSeg2) const;
-
- public: // He get's friendly access.
- friend class BezFwdIterator;
-};
diff --git a/Generals/Code/GameEngine/Include/Common/CriticalSection.h b/Generals/Code/GameEngine/Include/Common/CriticalSection.h
deleted file mode 100644
index 3d57ab06536..00000000000
--- a/Generals/Code/GameEngine/Include/Common/CriticalSection.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// CriticalSection.h ///////////////////////////////////////////////////////
-// Utility class to use critical sections in areas of code.
-// Author: JohnM And MattC, August 13, 2002
-
-#pragma once
-
-#include "Common/PerfTimer.h"
-
-#ifdef PERF_TIMERS
-extern PerfGather TheCritSecPerfGather;
-#endif
-
-class CriticalSection
-{
- CRITICAL_SECTION m_windowsCriticalSection;
-
- public:
- CriticalSection()
- {
- #ifdef PERF_TIMERS
- AutoPerfGather a(TheCritSecPerfGather);
- #endif
- InitializeCriticalSection( &m_windowsCriticalSection );
- }
-
- virtual ~CriticalSection()
- {
- #ifdef PERF_TIMERS
- AutoPerfGather a(TheCritSecPerfGather);
- #endif
- DeleteCriticalSection( &m_windowsCriticalSection );
- }
-
- public: // Use these when entering/exiting a critical section.
- void enter()
- {
- #ifdef PERF_TIMERS
- AutoPerfGather a(TheCritSecPerfGather);
- #endif
- EnterCriticalSection( &m_windowsCriticalSection );
- }
-
- void exit()
- {
- #ifdef PERF_TIMERS
- AutoPerfGather a(TheCritSecPerfGather);
- #endif
- LeaveCriticalSection( &m_windowsCriticalSection );
- }
-};
-
-class ScopedCriticalSection
-{
- private:
- CriticalSection *m_cs;
-
- public:
- ScopedCriticalSection( CriticalSection *cs ) : m_cs(cs)
- {
- if (m_cs)
- m_cs->enter();
- }
-
- virtual ~ScopedCriticalSection()
- {
- if (m_cs)
- m_cs->exit();
- }
-};
-
-// These should be null on creation then non-null in WinMain or equivalent.
-// This allows us to be silently non-threadsafe for WB and other single-threaded apps.
-extern CriticalSection *TheAsciiStringCriticalSection;
-extern CriticalSection *TheUnicodeStringCriticalSection;
-extern CriticalSection *TheDmaCriticalSection;
-extern CriticalSection *TheMemoryPoolCriticalSection;
-extern CriticalSection *TheDebugLogCriticalSection;
diff --git a/Generals/Code/GameEngine/Include/Common/DamageFX.h b/Generals/Code/GameEngine/Include/Common/DamageFX.h
deleted file mode 100644
index 2802db854bd..00000000000
--- a/Generals/Code/GameEngine/Include/Common/DamageFX.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: DamageFX.h /////////////////////////////////////////////////////////////////////////////////
-// Author: Steven Johnson, November 2001
-// Desc: Damage Effects Descriptions
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/GameCommon.h"
-#include "Common/NameKeyGenerator.h"
-#include "Common/STLTypedefs.h"
-#include "GameLogic/Damage.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class DamageFXStore;
-class FXList;
-class INI;
-
-//-------------------------------------------------------------------------------------------------
-typedef const FXList* ConstFXListPtr;
-
-//-------------------------------------------------------------------------------------------------
-/**
- A DamageFX is an object used to describe how an object reacts to taking a particular type
- of damage. (Note that "reacts" here implies only audio-video effects, not logic effects,
- damage modifiers, etc.)
-
- Conceptually speaking, every unit with a Body module has a DamageFX object. When it receives damage,
- it asks its DamageFX module to produce an appropriate a/v effect, which can vary by type of damage
- (eg, explosion, armor-piercing, flame, etc) and amount ("minor" or "major").
-
- Notes:
-
- -- Every particular damage-type within a DamageFX can have a "minor" and/or "major" effect;
- basically, if the damage done exceeds a specified threshold (or if there isn't a "minor"
- effect), the major effect is used.
-
- -- DamageFX is shared between multiple units; there should generally only be one instance
- of any particular class. The implication is that it should not require private data storage
- to do what it needs to do, aside from stuff initialized at object instantiation time. To help
- enforce this, all it's methods are declared 'const'. If you can't implement the damage you
- need within this framework, please *don't* simply de-const things, because it could lead to very
- strange side-effects. Instead, the system will have to be enhanced to allow for multiple instances
- of each DamageFX.
-*/
-//-------------------------------------------------------------------------------------------------
-class DamageFX
-{
-public:
-
- DamageFX();
-
- void clear();
-
- /**
- This is the main public access point to the system: when you want to execute the
- a/v fx used for a specific damage type, call this method. (It is OK for source and/or
- victim to be null, but you should pass them when available.)
- */
- void doDamageFX(DamageType t, Real damageAmount, const Object* source, const Object* victim) const;
-
- UnsignedInt getDamageFXThrottleTime(DamageType t, const Object* source) const;
-
- const FieldParse* getFieldParse() const;
-
-private:
-
- ConstFXListPtr getDamageFXList(DamageType t, Real damageAmount, const Object* source) const;
-
- static void parseAmount( INI* ini, void *instance, void*, const void* );
- static void parseMajorFXList( INI* ini, void *instance, void*, const void* );
- static void parseMinorFXList( INI* ini, void *instance, void*, const void* );
- static void parseTime( INI* ini, void *instance, void*, const void* );
-
- /*
- this isn't terribly efficient since this is pretty sparsely populated
- and with lots of redundancy, but since we allocate very few of these,
- it's not worth more effort at this time...
- */
- struct DFX
- {
- Real m_amountForMajorFX; ///< if damage done is >= this, use major fx
- ConstFXListPtr m_majorDamageFXList; ///< fx to make
- ConstFXListPtr m_minorDamageFXList; ///< fx to make
- UnsignedInt m_damageFXThrottleTime;
-
- DFX()
- {
- clear();
- }
-
- void clear()
- {
- m_amountForMajorFX = 0.0f;
- m_majorDamageFXList = nullptr;
- m_minorDamageFXList = nullptr;
- m_damageFXThrottleTime = 0;
- }
- };
-
- DFX m_dfx[DAMAGE_NUM_TYPES][LEVEL_COUNT];
-};
-
-//-------------------------------------------------------------------------------------------------
-/**
- The "store" used to hold all the DamageFXs in existence. This is usually used when creating
- an Object (actually, a Body module), but can be used at any time after that. (It is explicitly
- OK to swap an Object's DamageFX out at any given time.)
-*/
-//-------------------------------------------------------------------------------------------------
-class DamageFXStore : public SubsystemInterface
-{
-
-public:
-
- DamageFXStore();
- virtual ~DamageFXStore() override;
-
- virtual void init() override;
- virtual void reset() override;
- virtual void update() override;
-
- /**
- Find the DamageFX with the given name. If no such DamageFX exists, return null.
- */
- const DamageFX *findDamageFX( NameKeyType namekey ) const;
- const DamageFX *findDamageFX( const AsciiString& name ) const;
- const DamageFX *findDamageFX( const char* name ) const;
-
- static void parseDamageFXDefinition(INI* ini);
-
-
-private:
-
- typedef std::hash_map< NameKeyType, DamageFX, rts::hash, rts::equal_to/**/> DamageFXMap;
- DamageFXMap m_dfxmap;
-
-};
-
-// EXTERNALS //////////////////////////////////////////////////////////////////////////////////////
-extern DamageFXStore *TheDamageFXStore;
diff --git a/Generals/Code/GameEngine/Include/Common/DataChunk.h b/Generals/Code/GameEngine/Include/Common/DataChunk.h
deleted file mode 100644
index b36ce6007b1..00000000000
--- a/Generals/Code/GameEngine/Include/Common/DataChunk.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// DataChunk.h
-// Data chunk classes for saving and loading
-// Author: Michael S. Booth, October 2000
-
-#pragma once
-
-#include "Common/GameMemory.h"
-#include "Common/Dict.h"
-#include "Common/MapReaderWriterInfo.h"
-
-typedef unsigned short DataChunkVersionType;
-
-// forward declarations
-class DataChunkInput;
-class DataChunkOutput;
-class DataChunkTableOfContents;
-
-//----------------------------------------------------------------------
-// Mapping
-//----------------------------------------------------------------------
-class Mapping : public MemoryPoolObject
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(Mapping, "Mapping")
-public:
- Mapping* next;
- AsciiString name;
- UnsignedInt id;
-};
-EMPTY_DTOR(Mapping)
-
-//----------------------------------------------------------------------
-// OutputChunk
-//----------------------------------------------------------------------
-class OutputChunk : public MemoryPoolObject
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(OutputChunk, "OutputChunk")
-public:
- OutputChunk* next;
- UnsignedInt id; // chunk symbol type from table of contents
- Int filepos; // position of file at start of data offset
-};
-EMPTY_DTOR(OutputChunk)
-
-//----------------------------------------------------------------------
-// InputChunk
-//----------------------------------------------------------------------
-class InputChunk : public MemoryPoolObject
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(InputChunk, "InputChunk")
-public:
- InputChunk* next;
- UnsignedInt id; // chunk symbol type from table of contents
- DataChunkVersionType version; // version of data
- Int chunkStart; // tell position of the start of chunk data (past header).
- Int dataSize; // total data size of chunk
- Int dataLeft; // data left to read in this chunk
-};
-EMPTY_DTOR(InputChunk)
-
-//----------------------------------------------------------------------
-// DataChunkTableOfContents
-//----------------------------------------------------------------------
-class DataChunkTableOfContents
-{
- Mapping* m_list; /// @TODO: This should be a hash table
- Int m_listLength;
- UnsignedInt m_nextID; // simple ID allocator
- Bool m_headerOpened;
-
- Mapping *findMapping( const AsciiString& name ); // return mapping data
-
-public:
- DataChunkTableOfContents();
- ~DataChunkTableOfContents();
-
- UnsignedInt getID( const AsciiString& name ); // convert name to integer identifier
- AsciiString getName( UnsignedInt id ); // convert integer identifier to name
- UnsignedInt allocateID( const AsciiString& name ); // create new ID for given name or return existing mapping
-
- Bool isOpenedForRead() {return m_headerOpened;};
-
- void write(OutputStream &out);
- void read(ChunkInputStream &in);
-};
-
-
-//----------------------------------------------------------------------
-// DataChunkOutput
-//----------------------------------------------------------------------
-class DataChunkOutput
-{
-protected:
- OutputStream* m_pOut; // The actual output stream.
- FILE * m_tmp_file; // tmp output file stream
- DataChunkTableOfContents m_contents; // table of contents of data chunk types
- OutputChunk* m_chunkStack; // current stack of open data chunks
-
-public:
- DataChunkOutput( OutputStream *pOut );
- ~DataChunkOutput();
-
- void openDataChunk( const char *name, DataChunkVersionType ver );
- void closeDataChunk();
-
- void writeReal(Real r);
- void writeInt(Int i);
- void writeByte(Byte b);
- void writeAsciiString(const AsciiString& string);
- void writeUnicodeString(UnicodeString string);
- void writeArrayOfBytes(char *ptr, Int len);
- void writeDict(const Dict& d);
- void writeNameKey(const NameKeyType key);
-};
-
-//----------------------------------------------------------------------
-// DataChunkInput
-//----------------------------------------------------------------------
-struct DataChunkInfo
-{
- AsciiString label;
- AsciiString parentLabel;
- DataChunkVersionType version;
- Int dataSize;
-};
-
-typedef Bool (*DataChunkParserPtr)( DataChunkInput &file, DataChunkInfo *info, void *userData );
-
-//----------------------------------------------------------------------
-// UserParser
-//----------------------------------------------------------------------
-class UserParser : public MemoryPoolObject
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(UserParser, "UserParser")
-public:
- UserParser *next;
-
- DataChunkParserPtr parser; // the user parsing function
- AsciiString label; // the data chunk label to match
- AsciiString parentLabel; // the parent chunk's label (the scope)
- void *userData; // user data pointer
-};
-EMPTY_DTOR(UserParser)
-
-//----------------------------------------------------------------------
-// DataChunkInput
-//----------------------------------------------------------------------
-class DataChunkInput
-{
- enum {CHUNK_HEADER_BYTES = 4}; // 2 shorts in chunk file header.
-protected:
- ChunkInputStream* m_file; // input file stream
- DataChunkTableOfContents m_contents; // table of contents of data chunk types
- Int m_fileposOfFirstChunk; // seek position of first data chunk
- UserParser* m_parserList; // list of all registered parsers for this input stream
- InputChunk* m_chunkStack; // current stack of open data chunks
-
- void clearChunkStack(); // clear the stack
-
- void decrementDataLeft( int size ); // update data left in chunk(s)
-
-public:
- void *m_currentObject; // user parse routines can use this to allow one chunk
- // to create an object, and a subsequent chunk to
- // parse values into that object. However, the second
- // chunk parser could also create and parse an object
- // of its own if this pointer is null.
- // The parser of the base class should set this pointer to null.
- void *m_userData; // user data hook
-
-public:
- DataChunkInput( ChunkInputStream *pStream );
- ~DataChunkInput();
-
- // register a parser function for data chunks with labels matching "label", whose parent
- // chunks labels match "parentLabel" (or null for global scope)
- void registerParser( const AsciiString& label, const AsciiString& parentLabel, DataChunkParserPtr parser, void *userData = nullptr );
-
- Bool parse( void *userData = nullptr ); // parse the chunk stream using registered parsers
- // assumed to be at the start of chunk when called
- // can be called recursively
-
- Bool isValidFileType(); ///< Returns TRUE if it is our file format.
- AsciiString openDataChunk(DataChunkVersionType *ver );
- void closeDataChunk(); // close chunk and move to start of next chunk
-
- Bool atEndOfFile() { return (m_file->eof()) ? true : false; } // return true if at end of file
- Bool atEndOfChunk(); // return true if all data has been read from this chunk
-
- void reset(); // reset to just-opened state
-
- AsciiString getChunkLabel(); // return label of current data chunk
- DataChunkVersionType getChunkVersion(); // return version of current data chunk
- unsigned int getChunkDataSize(); // return size of data stored in this chunk
- unsigned int getChunkDataSizeLeft(); // return size of data left to read in this chunk
-
-
- Real readReal();
- Int readInt();
- Byte readByte();
-
- AsciiString readAsciiString();
- UnicodeString readUnicodeString();
- Dict readDict();
- void readArrayOfBytes(char *ptr, Int len);
-
- NameKeyType readNameKey();
-};
diff --git a/Generals/Code/GameEngine/Include/Common/Dict.h b/Generals/Code/GameEngine/Include/Common/Dict.h
deleted file mode 100644
index 9bc7ffb12b3..00000000000
--- a/Generals/Code/GameEngine/Include/Common/Dict.h
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: Dict.h
-//-----------------------------------------------------------------------------
-//
-// Westwood Studios Pacific.
-//
-// Confidential Information
-// Copyright (C) 2001 - All Rights Reserved
-//
-//-----------------------------------------------------------------------------
-//
-// Project: RTS3
-//
-// File name: Dict.h
-//
-// Created: Steven Johnson, November 2001
-//
-// Desc: General-purpose dictionary class
-//
-//-----------------------------------------------------------------------------
-///////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "Common/Errors.h"
-#include "Common/NameKeyGenerator.h"
-
-// -----------------------------------------------------
-/**
- Dict provides a general utility class for maintaining
- a sorted key-value pair list. Keys are currently required
- to be of type NameKeyType, and data may be Bool, int, real,
- or string.
-
- Current implementation keeps the pairs sorted by key, and
- does a binary search for lookups; this might change in the future,
- depending on usage and performance (e.g., to a hashtable). So
- don't rely on the quirks of this implementation.
-*/
-class Dict
-{
-public:
- enum
- {
- MAX_LEN = 32767 ///< max total len of any Dict, in Pairs
- };
-
- enum DataType
- {
- DICT_NONE = -1, // this is returned by getType and getNthType to indicate "invalid key/index"
- DICT_BOOL = 0, // note, we rely on the fact that this constant is zero in the code. so don't change it.
- DICT_INT,
- DICT_REAL,
- DICT_ASCIISTRING,
- DICT_UNICODESTRING
- };
-
- /**
- Default constructor -- construct a new, empty Dict.
- */
- Dict(Int numPairsToPreAllocate = 0);
-
- /**
- Copy constructor -- make this Dict identical to the
- other Dict. (This is actually quite efficient, because
- they will simply share the same data and increment the
- refcount.)
- */
- Dict(const Dict& src);
-
- /**
- Destructor. Not too exciting... clean up the works and such.
- */
- ~Dict();
-
- /**
- */
- Dict& operator=(const Dict& src);
-
- /**
- remove all pairs.
- */
- void clear();
-
- /**
- return the number of key-value pairs in the dict.
- */
- Int getPairCount() const;
-
- /**
- Return the key for the nth pair (0-based index).
- return NAMEKEY_INVALID if n is out of range.
- */
- NameKeyType getNthKey(Int n) const;
-
- /**
- Return the datatype for the pair with the given key.
- return DICT_NONE if no pair with the key exists.
- */
- DataType getType(NameKeyType key) const;
-
- /**
- Return there is a pair with the given key and datatype, return true.
- */
- Bool known(NameKeyType key, DataType d) const
- {
- return getType(key) == d;
- }
-
- /**
- Return the datatype for the nth pair (0-based index).
- return DICT_NONE if n is out of range.
- */
- DataType getNthType(Int n) const;
-
- /**
- return the value for the pair with the given key.
- if there is no pair with the given key, or the value is
- not of the correct type, 0 is returned.
- */
- Bool getBool(NameKeyType key, Bool* exists = nullptr) const;
- /**
- return the value for the pair with the given key.
- if there is no pair with the given key, or the value is
- not of the correct type, 0 is returned.
- */
- Int getInt(NameKeyType key, Bool* exists = nullptr) const;
- /**
- return the value for the pair with the given key.
- if there is no pair with the given key, or the value is
- not of the correct type, 0 is returned.
- */
- Real getReal(NameKeyType key, Bool* exists = nullptr) const;
- /**
- return the value for the pair with the given key.
- if there is no pair with the given key, or the value is
- not of the correct type, "" is returned.
- */
- AsciiString getAsciiString(NameKeyType key, Bool* exists = nullptr) const;
- /**
- return the value for the pair with the given key.
- if there is no pair with the given key, or the value is
- not of the correct type, "" is returned.
- */
- UnicodeString getUnicodeString(NameKeyType key, Bool* exists = nullptr) const;
-
- /**
- return the value for the pair with the given index.
- if the index is out of range, or the value is
- not of the correct type, 0 is returned.
- */
- Bool getNthBool(Int n) const;
- /**
- return the value for the pair with the given index.
- if the index is out of range, or the value is
- not of the correct type, 0 is returned.
- */
- Int getNthInt(Int n) const;
- /**
- return the value for the pair with the given index.
- if the index is out of range, or the value is
- not of the correct type, 0 is returned.
- */
- Real getNthReal(Int n) const;
- /**
- return the value for the pair with the given index.
- if the index is out of range, or the value is
- not of the correct type, "" is returned.
- */
- AsciiString getNthAsciiString(Int n) const;
- /**
- return the value for the pair with the given index.
- if the index is out of range, or the value is
- not of the correct type, "" is returned.
- */
- UnicodeString getNthUnicodeString(Int n) const;
-
- /**
- set the value for the pair with the given key.
- if no such pair exists, it is created.
- if such a pair exists, it is replaced.
- note that when replacing a pair, the new and old
- data types need not match.
- */
- void setBool(NameKeyType key, Bool value);
- /**
- set the value for the pair with the given key.
- if no such pair exists, it is created.
- if such a pair exists, it is replaced.
- note that when replacing a pair, the new and old
- data types need not match.
- */
- void setInt(NameKeyType key, Int value);
- /**
- set the value for the pair with the given key.
- if no such pair exists, it is created.
- if such a pair exists, it is replaced.
- note that when replacing a pair, the new and old
- data types need not match.
- */
- void setReal(NameKeyType key, Real value);
- /**
- set the value for the pair with the given key.
- if no such pair exists, it is created.
- if such a pair exists, it is replaced.
- note that when replacing a pair, the new and old
- data types need not match.
- */
- void setAsciiString(NameKeyType key, const AsciiString& value);
- /**
- set the value for the pair with the given key.
- if no such pair exists, it is created.
- if such a pair exists, it is replaced.
- note that when replacing a pair, the new and old
- data types need not match.
- */
- void setUnicodeString(NameKeyType key, const UnicodeString& value);
-
- /**
- remove the pair with the given key. if such a pair existed, return true.
- if no such pair existed, return false.
- */
- Bool remove(NameKeyType key);
-
- /**
- copy the pair with the given key from 'that', replacing any such pair in 'this'.
- if no such pair exists in 'that', any pair with that key will be removed from 'this'.
- */
- void copyPairFrom(const Dict& that, NameKeyType key);
-
-private:
-
- struct DictPair;
- struct DictPairData;
-
- DictPairData* m_data; // pointer to ref counted Pair data
-
- void sortPairs();
- Dict::DictPair *setPrep(NameKeyType key, Dict::DataType type);
- DictPair* findPairByKey(NameKeyType key) const;
- void releaseData();
- DictPair *ensureUnique(int numPairsNeeded, Bool preserveData, DictPair *pairToTranslate);
-
- enum DictPairKeyType
- {
- DICTPAIRKEY_ILLEGAL = 0
- };
-
- // danger... this is Plain Old Data and allocated in a skanky way;
- // and thus the ctor/dtor for DictPair will never be called. so don't
- // bother writing one.
- struct DictPair
- {
- private:
- DictPairKeyType m_key;
- void* m_value;
-
- static DictPairKeyType createKey(NameKeyType keyVal, DataType nt)
- {
- return (DictPairKeyType)((((UnsignedInt)(keyVal)) << 8) | ((UnsignedInt)nt));
- }
-
- static DataType getTypeFromKey(DictPairKeyType nk)
- {
- return (DataType)(((UnsignedInt)nk) & 0xff);
- }
-
- static NameKeyType getNameFromKey(DictPairKeyType nk)
- {
- return (NameKeyType)(((UnsignedInt)nk) >> 8);
- }
-
-
- public:
- void clear();
- void copyFrom(DictPair* that);
- void setNameAndType(NameKeyType key, DataType type);
- DataType getType() const { return getTypeFromKey(m_key); }
- NameKeyType getName() const { return getNameFromKey(m_key); }
- Bool* asBool() { return (Bool*)&m_value; }
- Int* asInt() { return (Int*)&m_value; }
- Real* asReal() { return (Real*)&m_value; }
- AsciiString* asAsciiString() { return (AsciiString*)&m_value; }
- UnicodeString* asUnicodeString() { return (UnicodeString*)&m_value; }
- };
-
- struct DictPairData
- {
- unsigned short m_refCount; // reference count
- unsigned short m_numPairsAllocated; // length of data allocated
- unsigned short m_numPairsUsed; // length of data allocated
- //DictPair m_pairs[];
-
- DictPair* peek() { return (DictPair*)(this+1); }
- };
-
- #ifdef RTS_DEBUG
- void validate() const;
- #else
- void validate() const { }
- #endif
-
-};
-
-// -----------------------------------------------------
-inline Dict::Dict(const Dict& src) : m_data(src.m_data)
-{
- if (m_data)
- ++m_data->m_refCount;
-}
-
-// -----------------------------------------------------
-inline Dict::~Dict()
-{
- releaseData();
-}
-
-// -----------------------------------------------------
-inline Int Dict::getPairCount() const
-{
- return m_data ? m_data->m_numPairsUsed : 0;
-}
-
-// -----------------------------------------------------
-inline NameKeyType Dict::getNthKey(Int n) const
-{
- if (!m_data || n < 0 || n >= m_data->m_numPairsUsed)
- return NAMEKEY_INVALID;
- return m_data->peek()[n].getName();
-}
-
-// -----------------------------------------------------
-inline Dict::DataType Dict::getNthType(Int n) const
-{
- if (!m_data || n < 0 || n >= m_data->m_numPairsUsed)
- return DICT_NONE;
- return m_data->peek()[n].getType();
-}
diff --git a/Generals/Code/GameEngine/Include/Common/Directory.h b/Generals/Code/GameEngine/Include/Common/Directory.h
deleted file mode 100644
index 40ef4d43b3a..00000000000
--- a/Generals/Code/GameEngine/Include/Common/Directory.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: Directory.h //////////////////////////////////////////////////////////////////////////////
-// Author: Matthew D. Campbell, August 2002
-// Desc: Directory info class
-///////////////////////////////////////////////////////////////////////////////////////////////////
-#if (0)
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/AsciiString.h"
-#include "Common/STLTypedefs.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-
-// TYPES //////////////////////////////////////////////////////////////////////////////////////////
-
-class FileInfo
-{
-public:
- FileInfo() {}
- ~FileInfo() {}
-
- void set( const WIN32_FIND_DATA& info );
-
- AsciiString filename;
- time_t creationTime;
- time_t accessTime;
- time_t modTime;
- DWORD attributes;
- DWORD filesize; // only care about 32 bits for our purposes
-
-protected:
-};
-
-struct FileInfoComparator
-{
- bool operator()(const FileInfo& a, const FileInfo& b) const
- {
- return a.filename < b.filename;
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-
-typedef std::set FileInfoSet;
-
-//-------------------------------------------------------------------------------------------------
-
-class Directory
-{
-public:
- Directory(const AsciiString& dirPath);
- ~Directory() {}
-
- FileInfoSet* getFiles();
- FileInfoSet* getSubdirs();
-
-protected:
- AsciiString m_dirPath;
-
- FileInfoSet m_files;
- FileInfoSet m_subdirs;
-};
-
-//-------------------------------------------------------------------------------------------------
-
-#endif
diff --git a/Generals/Code/GameEngine/Include/Common/DisabledTypes.h b/Generals/Code/GameEngine/Include/Common/DisabledTypes.h
deleted file mode 100644
index e158c2a32a7..00000000000
--- a/Generals/Code/GameEngine/Include/Common/DisabledTypes.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: DisabledTypes.h //////////////////////////////////////////////////////////////////////////
-// Author: Kris Morness, September 2002
-// Desc: Defines all the types of disabled statii any given object can have.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Lib/BaseType.h"
-#include "Common/BitFlags.h"
-#include "Common/BitFlagsIO.h"
-
-//-------------------------------------------------------------------------------------------------
-/** Kind of flags for determining groups of things that belong together
- * NOTE: You *MUST* keep this in the same order as the DisabledNames[] below */
-//-------------------------------------------------------------------------------------------------
-enum DisabledType CPP_11(: Int)
-{
- DISABLED_DEFAULT, //Typical disable -- like systems, things that don't need to run.
- DISABLED_HACKED, //This unit has been hacked
- DISABLED_EMP, //This unit has been disabled via electro-magnetic-pulse.
- DISABLED_HELD, //Special case -- held means it can fire and isHeld checks to make sure ONLY held is set!
- DISABLED_PARALYZED, //Battle plans have changed, and unit is confused/paralyzed
- DISABLED_UNMANNED, //Vehicle is unmanned
- DISABLED_UNDERPOWERED,//Separate from ScriptUnderpowered, the owning player has insufficient power. Energy status controls this
- DISABLED_FREEFALL, //This unit has been disabled via being in free fall
-
- DISABLED_AWESTRUCK,
- DISABLED_BRAINWASHED,
- DISABLED_SUBDUED, ///< Temporarily shut down by Subdual damage
- //These ones are specifically for scripts to enable/reenable!
- DISABLED_SCRIPT_DISABLED,
- DISABLED_SCRIPT_UNDERPOWERED,
-
- DISABLED_COUNT,
-
- DISABLED_ANY = 65535 ///< Do not use this value for setting disabled types (read-only)
-};
-
-typedef BitFlags DisabledMaskType;
-
-#define MAKE_DISABLED_MASK(k) DisabledMaskType(DisabledMaskType::kInit, (k))
-#define MAKE_DISABLED_MASK2(k,a) DisabledMaskType(DisabledMaskType::kInit, (k), (a))
-#define MAKE_DISABLED_MASK3(k,a,b) DisabledMaskType(DisabledMaskType::kInit, (k), (a), (b))
-#define MAKE_DISABLED_MASK4(k,a,b,c) DisabledMaskType(DisabledMaskType::kInit, (k), (a), (b), (c))
-#define MAKE_DISABLED_MASK5(k,a,b,c,d) DisabledMaskType(DisabledMaskType::kInit, (k), (a), (b), (c), (d))
-
-inline Bool TEST_DISABLEDMASK(const DisabledMaskType& m, DisabledType t)
-{
- return m.test(t);
-}
-
-inline Bool TEST_DISABLEDMASK_ANY(const DisabledMaskType& m, const DisabledMaskType& mask)
-{
- return m.anyIntersectionWith(mask);
-}
-
-inline Bool TEST_DISABLEDMASK_MULTI(const DisabledMaskType& m, const DisabledMaskType& mustBeSet, const DisabledMaskType& mustBeClear)
-{
- return m.testSetAndClear(mustBeSet, mustBeClear);
-}
-
-inline Bool DISABLEDMASK_ANY_SET(const DisabledMaskType& m)
-{
- return m.any();
-}
-
-inline void CLEAR_DISABLEDMASK(DisabledMaskType& m)
-{
- m.clear();
-}
-
-inline void SET_ALL_DISABLEDMASK_BITS(DisabledMaskType& m)
-{
- m.clear();
- m.flip();
-}
-
-inline void FLIP_DISABLEDMASK(DisabledMaskType& m)
-{
- m.flip();
-}
-
-
-
-// defined in Common/System/DisabledTypes.cpp
-extern DisabledMaskType DISABLEDMASK_NONE; // inits to all zeroes
-extern DisabledMaskType DISABLEDMASK_ALL; // inits to all bits set.
diff --git a/Generals/Code/GameEngine/Include/Common/DiscreteCircle.h b/Generals/Code/GameEngine/Include/Common/DiscreteCircle.h
deleted file mode 100644
index a57877b9f98..00000000000
--- a/Generals/Code/GameEngine/Include/Common/DiscreteCircle.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// DiscreteCircle.h ///////////////////////////////////////////////////////////////////////////////
-// John K McDonald, Jr.
-// September 2002
-// DO NOT DISTRIBUTE
-
-#pragma once
-
-//-------------------------------------------------------------------------------------------------
-/**
- One horizontal line of the circle we are going to generate, the points drawn should be from
- (xStart, yPos)-(xEnd, yPos), inclusive.
-*/
-struct HorzLine
-{
- Int yPos;
- Int xStart;
- Int xEnd;
-};
-
-// Vector and Iterators for the HorzLine struct.
-typedef std::vector VecHorzLine;
-typedef VecHorzLine::iterator VecHorzLineIt;
-
-//-------------------------------------------------------------------------------------------------
-
-// Useful if you'd like to not have to deal with the logic of drawing the circle.
-typedef void (*ScanlineDrawFunc)(Int xStart, Int xEnd, Int yPos, void *otherParms);
-
-/**
- DiscreteCircle generates a circle centered at xCenter, yCenter, including radius. It generates
- horizontal segments for the top half of the circle only, so they need to be duplicated for the
- bottom half.
-*/
-class DiscreteCircle
-{
- VecHorzLine m_edges; // Should be HorzLines
- Int m_yPos; // Used to know when to draw the bottom scanline
- Int m_yPosDoubled; // Used to draw the bottom half of the circle.
-
- public:
- DiscreteCircle(Int xCenter, Int yCenter, Int radius);
- __inline const VecHorzLine &getEdges() const { return m_edges; }
- __inline Int getEdgeCount() const { return m_edges.size(); }
- void drawCircle(ScanlineDrawFunc functionToDrawWith, void *parmToPass);
-
- protected:
- void generateEdgePairs(Int xCenter, Int yCenter, Int radius);
- void removeDuplicates();
-};
diff --git a/Generals/Code/GameEngine/Include/Common/Geometry.h b/Generals/Code/GameEngine/Include/Common/Geometry.h
deleted file mode 100644
index e743afa1672..00000000000
--- a/Generals/Code/GameEngine/Include/Common/Geometry.h
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: Geometry.h ///////////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, November 2001
-// Desc: Geometry descriptions
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "Lib/BaseType.h"
-#include "Common/AsciiString.h"
-#include "Common/RandomValue.h"
-#include "Common/Snapshot.h"
-
-class INI;
-
-//-------------------------------------------------------------------------------------------------
-/** Geometry type descriptions, keep this in the same order as GeometryNames[] below
- *
- * NOTE: Do *NOT* change the order of these defines unless you update the
- * partition manager ... in particular theCollideTestProcs depend on the
- * order of this geometry and the fact that the values start at 1
- */
-//-------------------------------------------------------------------------------------------------
-enum GeometryType CPP_11(: Int)
-{
- GEOMETRY_SPHERE, ///< partition/collision testing as sphere. (majorRadius = radius)
- GEOMETRY_CYLINDER, ///< partition/collision testing as cylinder. (majorRadius = radius, height = height)
- GEOMETRY_BOX, ///< partition/collision testing as rectangular box (majorRadius = half len in forward dir; minorRadius = half len in side dir; height = height)
-
- GEOMETRY_NUM_TYPES,
- GEOMETRY_FIRST = 0
-};
-
-#ifdef DEFINE_GEOMETRY_NAMES
-static const char *const GeometryNames[] =
-{
- "SPHERE",
- "CYLINDER",
- "BOX",
- nullptr
-};
-static_assert(ARRAY_SIZE(GeometryNames) == GEOMETRY_NUM_TYPES + 1, "Incorrect array size");
-#endif // end DEFINE_GEOMETRY_NAMES
-
-//-------------------------------------------------------------------------------------------------
-#if defined(RTS_DEBUG)
-enum ExtentModType CPP_11(: Int)
-{
- EXTENTMOD_INVALID = 0,
- EXTENTMOD_TYPE = 1,
- EXTENTMOD_MAJOR = 2,
- EXTENTMOD_MINOR = 3,
- EXTENTMOD_HEIGHT = 4,
-};
-static const Real EXTENT_BIG_CHANGE = 10.0f;
-#endif
-
-//-------------------------------------------------------------------------------------------------
-/** Geometry information */
-//-------------------------------------------------------------------------------------------------
-class GeometryInfo : public Snapshot
-{
-private:
- GeometryType m_type;
- Bool m_isSmall; ///< if true, geometry is assumed to fit in a single partition cell
- Real m_height;
- Real m_majorRadius;
- Real m_minorRadius;
-
- Real m_boundingCircleRadius; ///< not in INI file -- size of bounding circle (2d)
- Real m_boundingSphereRadius; ///< not in INI -- size of bounding sphere (3d)
-
- void calcBoundingStuff();
-
-protected:
-
- // snapshot methods
- virtual void crc( Xfer *xfer ) override;
- virtual void xfer( Xfer *xfer ) override;
- virtual void loadPostProcess() override;
-
-public:
-
- static void parseGeometryType( INI* ini, void * /*instance*/, void *store, const void* /*userData*/ );
- static void parseGeometryIsSmall( INI* ini, void * /*instance*/, void *store, const void* /*userData*/ );
- static void parseGeometryHeight( INI* ini, void * /*instance*/, void *store, const void* /*userData*/ );
- static void parseGeometryMajorRadius( INI* ini, void * /*instance*/, void *store, const void* /*userData*/ );
- static void parseGeometryMinorRadius( INI* ini, void * /*instance*/, void *store, const void* /*userData*/ );
-
- GeometryInfo(GeometryType type, Bool isSmall, Real height, Real majorRadius, Real minorRadius)
- {
- m_boundingCircleRadius = 0.0f;
- m_boundingSphereRadius = 0.0f;
- set(type, isSmall, height, majorRadius, minorRadius);
- }
-
- void set(GeometryType type, Bool isSmall, Real height, Real majorRadius, Real minorRadius);
-
- // bleah, icky but needed for legacy code
- void setMajorRadius(Real majorRadius)
- {
- m_majorRadius = majorRadius;
- calcBoundingStuff();
- }
-
- // bleah, icky but needed for legacy code
- void setMinorRadius(Real minorRadius)
- {
- m_minorRadius = minorRadius;
- calcBoundingStuff();
- }
-
- GeometryType getGeomType() const { return m_type; }
- Bool getIsSmall() const { return m_isSmall; }
- Real getMajorRadius() const { return m_majorRadius; } // x-axis
- Real getMinorRadius() const { return m_minorRadius; } // y-axis
-
- // this has been removed and should never need to be called...
- // you should generally call getMaxHeightAbovePosition() instead. (srj)
- //inline Real getGeomHeight() const { return m_height; } // z-axis
-
- Real getBoundingCircleRadius() const { return m_boundingCircleRadius; }
- Real getBoundingSphereRadius() const { return m_boundingSphereRadius; }
-
- Bool isIntersectedByLineSegment(const Coord3D& loc, const Coord3D& from, const Coord3D& to) const;
-
- Real getFootprintArea() const;
-
- // given an object with this geom, how far above the object's canonical position does its max z extend?
- Real getMaxHeightAbovePosition() const;
-
- // given an object with this geom, how far below the object's canonical position does its max z extend?
- Real getMaxHeightBelowPosition() const;
-
- // given an object with this geom, how far above/below the object's canonical position is its center?
- Real getZDeltaToCenterPosition() const;
-
- // given an object with this geom, located at 'pos', where is the "center" of the geometry?
- void getCenterPosition(const Coord3D& pos, Coord3D& center) const;
-
- // given an object with this geom, located at 'pos', and another obj with the given
- // pos & geom, calc the min and max pitches from this to that.
- void calcPitches(const Coord3D& thisPos, const GeometryInfo& that, const Coord3D& thatPos,
- Real& minPitch, Real& maxPitch) const;
-
- /// expand the 2d footprint
- void expandFootprint(Real radius);
-
- /// get the 2d bounding box
- void get2DBounds(const Coord3D& geomCenter, Real angle, Region2D& bounds ) const;
-
- void makeRandomOffsetWithinFootprint(Coord3D& pt, const RandomValueClass& random = LogicRandomValueClass()) const;
- void makeRandomOffsetOnPerimeter(Coord3D& pt) const; ///< Chooses a random point on the extent border. Uses game logic random!
-
- void clipPointToFootprint(const Coord3D& geomCenter, Coord3D& ptToClip) const;
-
- Bool isPointInFootprint(const Coord3D& geomCenter, const Coord3D& pt) const;
-
- // given an object with this geom, SET how far above the object's canonical position its max z should extend.
- void setMaxHeightAbovePosition(Real z);
-
-#if defined(RTS_DEBUG)
- void tweakExtents(ExtentModType extentModType, Real extentModAmount);
- AsciiString getDescriptiveString() const;
-#endif
-
-};
diff --git a/Generals/Code/GameEngine/Include/Common/Handicap.h b/Generals/Code/GameEngine/Include/Common/Handicap.h
deleted file mode 100644
index 2ffabc9458e..00000000000
--- a/Generals/Code/GameEngine/Include/Common/Handicap.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: Handicap.h ////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-//
-// Westwood Studios Pacific.
-//
-// Confidential Information
-// Copyright (C) 2001 - All Rights Reserved
-//
-//-----------------------------------------------------------------------------
-//
-// Project: RTS3
-//
-// File name: Handicap.h
-//
-// Created: Steven Johnson, October 2001
-//
-// Desc: @todo
-//
-//-----------------------------------------------------------------------------
-
-#pragma once
-
-#include "Lib/BaseType.h"
-
-// ----------------------------------------------------------------------------------------------
-class Object;
-class Dict;
-class ThingTemplate;
-
-// ----------------------------------------------------------------------------------------------
-/**
- Handicap encapsulates the sets of modifiers to abilities used to balance
- the game and give different abilities to different Players.
- Conceptually, it's a large set of coefficients (typically, but not necessarily,
- in the range of 0.0...1.0).
-
- Usage example (conceptual):
-
- Real armorCoef = this->m_handicap->getHandicap(ARMOR, this);
- Real actualArmor = this->getArmorValue() * armorCoef;
-*/
-class Handicap
-{
-public:
-
- // NOTE: if you ever add/remove/change the enums in HandicapType,
- // you must also modify initFromDict()!
- enum HandicapType
- {
- BUILDCOST,
- BUILDTIME,
-
- HANDICAP_TYPE_COUNT
- };
-
- Handicap();
-
- /// reset all handicaps to a default value.
- void init();
-
- /**
- initialize from the fields in the Dict. Note that this does NOT call init()
- internally, so only those fields that are present in the dict will be set.
- if you want to ensure all fields are something reasonable, you should call init()
- prior to calling this.
- */
- void readFromDict(const Dict* d);
-
- /**
- return the multiplier for the given Handicap type on the given Object.
- The Object's type (unit, building, etc.) will generally be examined
- to determine what value to return.
- */
- Real getHandicap(HandicapType t, const ThingTemplate *tmpl) const;
-
-protected:
-private:
-
- // NOTE: if you ever add/remove/change the enums in ThingType,
- // you must also modify initFromDict()!
- enum ThingType
- {
- GENERIC, // if a thing is nothing else, it's generic.
- BUILDINGS,
-
- THING_TYPE_COUNT
- };
-
- Real m_handicaps[HANDICAP_TYPE_COUNT][THING_TYPE_COUNT];
-
- static ThingType getBestThingType(const ThingTemplate *tmpl);
-};
diff --git a/Generals/Code/GameEngine/Include/Common/KindOf.h b/Generals/Code/GameEngine/Include/Common/KindOf.h
deleted file mode 100644
index a7563273efa..00000000000
--- a/Generals/Code/GameEngine/Include/Common/KindOf.h
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: KindOf.h //////////////////////////////////////////////////////////////////////////
-// Author: Steven Johnson, Dec 2001
-// Desc:
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Lib/BaseType.h"
-#include "Common/BitFlags.h"
-#include "Common/BitFlagsIO.h"
-
-//-------------------------------------------------------------------------------------------------
-/** Kind of flags for determining groups of things that belong together
- * NOTE: You *MUST* keep this in the same order as the KindOfNames[] below */
-//-------------------------------------------------------------------------------------------------
-enum KindOfType CPP_11(: Int)
-{
- KINDOF_INVALID = -1,
-
- KINDOF_OBSTACLE, ///< an obstacle to land-based pathfinders
- KINDOF_SELECTABLE, ///< Actually means MOUSE-INTERACTABLE (doesn't mean you can select it!)
- KINDOF_IMMOBILE, ///< fixed in location
- KINDOF_CAN_ATTACK, ///< can attack
- KINDOF_STICK_TO_TERRAIN_SLOPE, ///< should be stuck at ground level, aligned to terrain slope. requires that IMMOBILE bit is also set.
- KINDOF_CAN_CAST_REFLECTIONS, ///< can cast reflections in water
- KINDOF_SHRUBBERY, ///< tree, bush, etc.
- KINDOF_STRUCTURE, ///< structure of some sort (buildable or not)
- KINDOF_INFANTRY, ///< unit like soldier etc
- KINDOF_VEHICLE, ///< unit like tank, jeep, plane, helicopter, etc.
- KINDOF_AIRCRAFT, ///< unit like plane, helicopter, etc., that is predominantly a flyer. (hovercraft are NOT aircraft)
- KINDOF_HUGE_VEHICLE, ///< unit that is, technically, a vehicle, but WAY larger than normal (eg, Overlord)
- KINDOF_DOZER, ///< a dozer
- KINDOF_HARVESTER, ///< a harvester
- KINDOF_COMMANDCENTER, ///< a command center
-#ifdef ALLOW_SURRENDER
- KINDOF_PRISON, ///< a prison detention center kind of thing
- KINDOF_COLLECTS_PRISON_BOUNTY, ///< when prisoners are delivered to these, the player gets money
- KINDOF_POW_TRUCK, ///< a pow truck can pick up and return prisoners
-#endif
- KINDOF_LINEBUILD, ///< wall-type thing that is built in a line
- KINDOF_SALVAGER, ///< something that can create and use Salvage Crates
- KINDOF_WEAPON_SALVAGER, ///< subset of salvager that can get weapon upgrades from salvage
- KINDOF_TRANSPORT, ///< a true transport (has TransportContain)
- KINDOF_BRIDGE, ///< a Bridge. (special structure)
- KINDOF_LANDMARK_BRIDGE, ///< a landmark bridge (special bridge that isn't resizable)
- KINDOF_BRIDGE_TOWER, ///< a bridge tower that we can target for bridge destruction
- KINDOF_PROJECTILE, ///< Instead of being a ground or air unit, this object is special
- KINDOF_PRELOAD, ///< all model data will be preloaded even if not on map
- KINDOF_NO_GARRISON, ///< unit may not garrison bldgs, even if infantry bit is set
- KINDOF_WAVEGUIDE, ///< water wave object
- KINDOF_WAVE_EFFECT, ///< wave effect point
- KINDOF_NO_COLLIDE, ///< Never collide with or be collided with
- KINDOF_REPAIR_PAD, ///< is a repair pad object that can repair other machines
- KINDOF_HEAL_PAD, ///< is a heal pad object that can heal flesh and bone units
- KINDOF_STEALTH_GARRISON, /** enemy teams can't tell that unit is in building.. and if they
- garrison that building, they stealth unit will eject. */
- KINDOF_CASH_GENERATOR, ///< used to check if the unit generates cash... checked by cash hackers and whatever else comes up
-#if RTS_GENERALS
- KINDOF_AIRFIELD, ///< unit has a runway that planes can takeoff/land on
-#endif
- KINDOF_DRAWABLE_ONLY, ///< template is used only to create drawables (not Objects)
- KINDOF_MP_COUNT_FOR_VICTORY, ///< If a player loses all his buildings that have this kindof in a multiplayer game, he loses.
- KINDOF_REBUILD_HOLE, ///< a GLA rebuild hole
- KINDOF_SCORE, ///< Object counts for Multiplayer scores, and short-game calculations (for buildings)
- KINDOF_SCORE_CREATE, ///< Object only counts for multiplayer score for creation.
- KINDOF_SCORE_DESTROY, ///< Object only counts for multiplayer score for destruction.
- KINDOF_NO_HEAL_ICON, ///< do not ever display healing icons on these objects
- KINDOF_CAN_RAPPEL, ///< can rappel. duh.
- KINDOF_PARACHUTABLE, ///< parachutable object
-#ifdef ALLOW_SURRENDER
- KINDOF_CAN_SURRENDER, ///< object that can surrender
-#endif
- KINDOF_CAN_BE_REPULSED, ///< object that runs away from a repulsor object.
- KINDOF_MOB_NEXUS, ///< object that coordinates the members of a mob (i.e. GLAInfantryAngryMob)
- KINDOF_IGNORED_IN_GUI, ///< object that is the members of a mob (i.e. GLAInfantryAngryMob)
- KINDOF_CRATE, ///< a bonus crate
- KINDOF_CAPTURABLE, ///< is "capturable" even if not an enemy (should generally be used only for structures, eg, Tech bldgs)
- KINDOF_CLEARED_BY_BUILD, ///< is auto-cleared from the map when built over via construction
- KINDOF_SMALL_MISSILE, ///< Missile object: ONLY USED FOR ANTI-MISSILE TARGETING PURPOSES! Keep using PROJECTILE!
- KINDOF_ALWAYS_VISIBLE, ///< is never obscured by fog of war or shroud. mostly for UI feedback objects.
- KINDOF_UNATTACKABLE, ///< You cannot target this thing, it probably doesn't really exist
- KINDOF_MINE, ///< a landmine. (possibly also extend to Col. Burton timed charges?)
- KINDOF_CLEANUP_HAZARD, ///< radiation and bio-poison are samples of area conditions that can be cleaned up (or avoided)
- KINDOF_PORTABLE_STRUCTURE, ///< Flag to identify building like subobjects an Overlord is allowed to Contain.
- KINDOF_ALWAYS_SELECTABLE, ///< is never unselectable (even if effectively dead). mostly for UI feedback objects.
- KINDOF_ATTACK_NEEDS_LINE_OF_SIGHT, ///< Unit has to have clear line of sight (los) to attack.
- KINDOF_WALK_ON_TOP_OF_WALL, ///< Units can walk on top of a wall made of these kind of objects.
- KINDOF_DEFENSIVE_WALL, ///< wall can't be driven thru, even if crusher, so pathfinder must path around it
- KINDOF_FS_POWER, ///< Faction structure power building
- KINDOF_FS_FACTORY, ///< Faction structure power building
- KINDOF_FS_BASE_DEFENSE, ///< Faction structure base defense
- KINDOF_FS_TECHNOLOGY, ///< Faction structure technology building
- KINDOF_AIRCRAFT_PATH_AROUND, ///< Tall enough that aircraft need to path around this.
- KINDOF_LOW_OVERLAPPABLE, ///< When overlapped, things always overlap at a 'low' height rather than our object geom
- KINDOF_FORCEATTACKABLE, ///< unit is always attackable via force-attack, even if not selectable
- KINDOF_AUTO_RALLYPOINT, ///< When immobile-structure-object is selected, left clicking on ground will set new rally point without requiring command button.
- KINDOF_TECH_BUILDING, ///< Neutral tech building - Oil derrick, Hospital, Radio Station, Refinery.
- KINDOF_POWERED, ///< This object gets the Underpowered disabled condition when its owning player has power consumption exceed supply
- KINDOF_PRODUCED_AT_HELIPAD, ///< ugh... hacky fix for comanche. (srj)
- KINDOF_DRONE, ///< Object drone type -- used for filtering them out of battle plan bonuses, making un-snipable, and whatever else may come up.
- KINDOF_CAN_SEE_THROUGH_STRUCTURE,///< Structure does not block line of sight.
- KINDOF_BALLISTIC_MISSILE, ///< Large ballistic missiles that are specifically large enough to be targetted by base defenses.
- KINDOF_CLICK_THROUGH, ///< Objects with this will never be picked by mouse interactions!
- KINDOF_SUPPLY_SOURCE_ON_PREVIEW,///< Any thing that we can get "supplies" from that we want to show up on the map preview
- KINDOF_PARACHUTE, ///< it's a parachute
- KINDOF_GARRISONABLE_UNTIL_DESTROYED, ///< Object is capable of garrisoning troops until completely destroyed.
- KINDOF_BOAT, ///< It's a boat!
- KINDOF_IMMUNE_TO_CAPTURE, ///< Under no circumstances can this building ever be captured.
- KINDOF_HULK, ///< Hulk types so we can do special things to them via scripts or other things that may come up.
- KINDOF_SHOW_PORTRAIT_WHEN_CONTROLLED, ///< Only shows portraits when controlled.
- KINDOF_SPAWNS_ARE_THE_WEAPONS, ///< Evaluate the spawn slaves as this object's weapons.
- KINDOF_CANNOT_BUILD_NEAR_SUPPLIES, ///< you can't be built "too close" to anything that provides supplies
- KINDOF_SUPPLY_SOURCE, ///< this object provides supplies
- KINDOF_REVEAL_TO_ALL, ///< this object reveals shroud for all players
- KINDOF_DISGUISER, ///< This object has the ability to disguise.
- KINDOF_INERT, ///< this object shouldn't be considered for any sort of interaction with any player.
- KINDOF_HERO, ///< Any of the single-instance infantry, JarmenKell, BlackLotus, ColonelBurton
- KINDOF_IGNORES_SELECT_ALL, ///< Too late to figure out intelligently if something should respond to a Select All command
- KINDOF_DONT_AUTO_CRUSH_INFANTRY, ///< These units don't try to crush the infantry if ai.
- // TheSuperHackers @info Added in Zero Hour:
- KINDOF_CLIFF_JUMPER, ///< Can't climb cliffs, but can jump off of them.
- KINDOF_FS_SUPPLY_DROPZONE, ///< A supply dropzone.
- KINDOF_FS_SUPERWEAPON, ///< A superweapon structure like a nuke silo, particle uplink cannon, scudstorm.
- KINDOF_FS_BLACK_MARKET, ///< Is this object a black market?
- KINDOF_FS_SUPPLY_CENTER, ///< Is this object a supply center?
- KINDOF_FS_STRATEGY_CENTER, ///< Is this object a strategy center?
- KINDOF_MONEY_HACKER, ///< Unit that generates money from air. Needed for things that directly power them up.
- KINDOF_ARMOR_SALVAGER, ///< subset of salvager that can get armor upgrades from salvage
- KINDOF_REVEALS_ENEMY_PATHS, ///< like the listening outpost... when selected, any enemy drawable will draw show paths when moused over
- KINDOF_BOOBY_TRAP, ///< A sticky bomb that gets set off by 5 random and unrelated events.
- KINDOF_FS_FAKE, ///< Fake structure!
- KINDOF_FS_INTERNET_CENTER, ///< Internet Center.
- KINDOF_BLAST_CRATER, ///< deeply gouges out the terrain under object footprint
- KINDOF_PROP, ///< A prop, visual only, doesn't interact with other objects (rock, street sign, inert fire hydrant)
- KINDOF_OPTIMIZED_TREE, ///< An optimized, client side only tree. (The only good kind of tree. jba)
- KINDOF_FS_ADVANCED_TECH, ///< Represents each faction's advanced techtree building -- strategy center, propaganda center, and palace.
- KINDOF_FS_BARRACKS, ///< A barracks
- KINDOF_FS_WARFACTORY, ///< A war factory or arms dealer.
- KINDOF_FS_AIRFIELD, ///< An airfield.
- KINDOF_AIRCRAFT_CARRIER, ///< An aircraft carrier.
- KINDOF_NO_SELECT, ///< Can't select it but you can mouse over it to see it's health (drones!)
- KINDOF_REJECT_UNMANNED, ///< Unit cannot enter an unmanned vehicle.
- KINDOF_CANNOT_RETALIATE, ///< Unit will not retaliate if asked.
- KINDOF_TECH_BASE_DEFENSE, ///< Tech Building that acts as base defence when captured
- KINDOF_EMP_HARDENED, ///< Like a delivery plane (B52, B3, CargoPlane,etc.) or a SpectreGunship, which sort-of IS the weapon...
- KINDOF_DEMOTRAP, ///< Added strictly only for disarming purposes. They don't act like mines which have rendering and selection implications!
- KINDOF_CONSERVATIVE_BUILDING, ///< Conservative structures aren't considered part of your base for sneak attack boundary calculations...
- KINDOF_IGNORE_DOCKING_BONES, ///< Structure will not look up docking bones. Patch 1.03 hack.
-
- KINDOF_COUNT, // total number of kindofs
- KINDOF_FIRST = 0,
-};
-
-typedef BitFlags KindOfMaskType;
-
-#define MAKE_KINDOF_MASK(k) KindOfMaskType(KindOfMaskType::kInit, (k))
-
-inline Bool TEST_KINDOFMASK(const KindOfMaskType& m, KindOfType t)
-{
- return m.test(t);
-}
-
-inline Bool TEST_KINDOFMASK_ANY(const KindOfMaskType& m, const KindOfMaskType& mask)
-{
- return m.anyIntersectionWith(mask);
-}
-
-inline Bool TEST_KINDOFMASK_MULTI(const KindOfMaskType& m, const KindOfMaskType& mustBeSet, const KindOfMaskType& mustBeClear)
-{
- return m.testSetAndClear(mustBeSet, mustBeClear);
-}
-
-inline Bool KINDOFMASK_ANY_SET(const KindOfMaskType& m)
-{
- return m.any();
-}
-
-inline void CLEAR_KINDOFMASK(KindOfMaskType& m)
-{
- m.clear();
-}
-
-inline void SET_ALL_KINDOFMASK_BITS(KindOfMaskType& m)
-{
- m.clear();
- m.flip();
-}
-
-inline void FLIP_KINDOFMASK(KindOfMaskType& m)
-{
- m.flip();
-}
-
-// defined in Common/System/Kindof.cpp
-extern KindOfMaskType KINDOFMASK_NONE; // inits to all zeroes
-extern KindOfMaskType KINDOFMASK_FS; // Initializes all FS types for faction structures.
diff --git a/Generals/Code/GameEngine/Include/Common/Language.h b/Generals/Code/GameEngine/Include/Common/Language.h
deleted file mode 100644
index 1a25b2cef2a..00000000000
--- a/Generals/Code/GameEngine/Include/Common/Language.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: Language.h ///////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-//
-// Westwood Studios Pacific.
-//
-// Confidential Information
-// Copyright (C) 2001 - All Rights Reserved
-//
-//-----------------------------------------------------------------------------
-//
-// Project: RTS3
-//
-// File name: Language.h
-//
-// Created: Colin Day, June 2001
-//
-// Desc: Header for dealing with multiple languages
-//
-//-----------------------------------------------------------------------------
-///////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// SYSTEM INCLUDES ////////////////////////////////////////////////////////////
-
-// USER INCLUDES //////////////////////////////////////////////////////////////
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////////////
-// TYPE DEFINES ///////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////
-
-// IMPORTANT: Make sure this enum is identical to the one in Noxstring tool
-typedef enum
-{
-
- LANGUAGE_ID_US = 0,
- LANGUAGE_ID_UK,
- LANGUAGE_ID_GERMAN,
- LANGUAGE_ID_FRENCH,
- LANGUAGE_ID_SPANISH,
- LANGUAGE_ID_ITALIAN,
- LANGUAGE_ID_JAPANESE,
- LANGUAGE_ID_JABBER,
- LANGUAGE_ID_KOREAN,
- LANGUAGE_ID_UNKNOWN
-
-} LanguageID;
-
-#define GameArrayEnd(array) (array)[(sizeof(array)/sizeof((array)[0]))-1] = 0
-
-// INLINING ///////////////////////////////////////////////////////////////////
-
-// EXTERNALS //////////////////////////////////////////////////////////////////
-extern LanguageID OurLanguage; ///< our current language definition
diff --git a/Generals/Code/GameEngine/Include/Common/List.h b/Generals/Code/GameEngine/Include/Common/List.h
deleted file mode 100644
index 7bf417c09bd..00000000000
--- a/Generals/Code/GameEngine/Include/Common/List.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-//----------------------------------------------------------------------------=
-//
-// Westwood Studios Pacific.
-//
-// Confidential Information
-// Copyright(C) 2001 - All Rights Reserved
-//
-//----------------------------------------------------------------------------
-//
-// Project: WSYS Library
-//
-// Module:
-//
-// File name: wsys/List.h
-//
-// Created: 10/31/01
-//
-//----------------------------------------------------------------------------
-
-#pragma once
-
-//----------------------------------------------------------------------------
-// Includes
-//----------------------------------------------------------------------------
-
-#include
-
-//----------------------------------------------------------------------------
-// Forward References
-//----------------------------------------------------------------------------
-
-
-//----------------------------------------------------------------------------
-// Type Defines
-//----------------------------------------------------------------------------
-
-//================================
-// LLNode
-//================================
-/**
- * Link list node abstraction for WSYS.
-*/
-//================================
-
-class LListNode
-{
- friend class LList;
-
- protected:
-
- LListNode *m_next; ///< Next node in list
- LListNode *m_prev; ///< Previous node in list
- Int m_pri; ///< Node's priority, used for sorting
- void *m_item; ///< Item we are referencing if any
- Bool m_autoDelete; ///< destroy() should call delete
-
- public:
-
- LListNode(); ///< Constructor
- void remove(); ///< Removes node from list
- void insert( LListNode *new_node ); ///< Inserts new_node infront of itself
- void append( LListNode *new_node ); ///< Appends new node after itself
- LListNode* next(); ///< Returns next node in list
- LListNode* prev(); ///< Returns previous node in list
- LListNode* loopNext(); ///< Returns next node in list, wrapping round to start of list if necessary
- LListNode* loopPrev(); ///< Returns previous node in list, wrapping round to end of list if necessary
- Bool inList(); ///< Returns whether or not node in list
- Bool isHead(); ///< Returns whether or not this node is the head/tail node
- Int priority(); ///< Returns node's priority
- void setPriority( Int new_pri ); ///< Sets node's priority
- void* item(); ///< Returns the item this links to, if any
- void setItem( void *item ); ///< Make node point to an item
- void destroy(); ///< Delete node
- void autoDelete();
-} ;
-
-//================================
-// LList
-//================================
-/**
- * Linked list abstraction.
-*/
-//================================
-
-
-class LList
-{
- public:
-
- /// Enumeration of list sorting methods
- enum SortMode
- {
- ASCENDING, ///< Lower priority numbers to front of list
- DESCENDING ///< Higher priority numbers to front of list
- };
-
- protected:
-
- LListNode m_head; ///< List head node
- SortMode m_sortMode; ///< What sorting method to use for this list's Add() operation
- Bool m_addToEndOfGroup; ///< Add nodes to end of group of nodes with same priority
-
-
- public:
-
- LList();
- void addToHead( LListNode *new_node ); ///< Adds new node to the front of the list
- void addToTail( LListNode *new_node ); ///< Adds new node to the end of the list
- void add( LListNode *new_node ); ///< Adds new node to list sorted by priority
-
- void addItemToHead( void *item ); ///< Adds new item to the front of the list
- void addItemToTail( void *item ); ///< Adds new item to the end of the list
- void addItem( Int pri, void *item ); ///< Adds new item to list sorted by priority
-
- Int nodeCount(); ///< Returns number of nodes currently in list
- LListNode* firstNode(); ///< Returns first node in list
- LListNode* lastNode(); ///< Returns last node in list
- LListNode* getNode( Int index ); ///< Returns node in list addressed by the zero-based index passed
- void setSortMode( SortMode new_mode ); ///< Sets the sorting mode for the Add() operation
- void addToEndOfGroup( Bool yes = TRUE ); ///< Add node to end or start of group with same priority
- Bool isEmpty(); ///< Returns whether or not the the list is empty
- void clear(); ///< Deletes all items in the list. Use with care!!
- void merge( LList *list ); ///< Move the contents of the specified list in to this list
- Bool hasItem( void *item ); ///< Tests if list has the specified item
- LListNode* findItem( void *item ); ///< Returns the LListNode that references item
- void destroy(); ///< Free up the list items
-
-} ;
-
-//----------------------------------------------------------------------------
-// Inlining
-//----------------------------------------------------------------------------
-
-inline Bool LListNode::inList() { return m_prev != this; };
-inline Bool LListNode::isHead() { return ( m_item == (void*)&this->m_item ); };
-inline Int LListNode::priority() { return m_pri; };
-inline void LListNode::setPriority( Int new_pri ) { m_pri = new_pri; };
-inline void LListNode::autoDelete() { m_autoDelete = TRUE; };
-inline void* LListNode::item() { return m_item; };
-inline void LListNode::setItem( void *item ) { m_item = item; };
-
-
-inline void LList::addToHead( LListNode *new_node ) { m_head.append( new_node); };
-inline void LList::addToTail( LListNode *new_node ) { m_head.insert( new_node); };
-inline LListNode* LList::firstNode() { return m_head.next();} ;
-inline LListNode* LList::lastNode() { return m_head.prev();} ;
-inline void LList::setSortMode( SortMode new_mode ) { m_sortMode = new_mode; };
-inline Bool LList::isEmpty() { return !m_head.inList(); };
-inline void LList::destroy() { clear();};
diff --git a/Generals/Code/GameEngine/Include/Common/MiniLog.h b/Generals/Code/GameEngine/Include/Common/MiniLog.h
deleted file mode 100644
index cdf8b910d38..00000000000
--- a/Generals/Code/GameEngine/Include/Common/MiniLog.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: MiniLog.h /////////////////////////////////////////////////////////////
-// Alternative logging
-// Author: Matthew D. Campbell, January 2003
-////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#ifdef DEBUG_LOGGING
-
-#include "Lib/BaseType.h"
-#include "GameLogic/GameLogic.h"
-#include
-class LogClass
-{
-public:
- LogClass(const char *fname);
- ~LogClass();
- void log(const char *fmt, ...);
-
-protected:
- FILE *m_fp;
-};
-
-#endif // DEBUG_LOGGING
diff --git a/Generals/Code/GameEngine/Include/Common/MissionStats.h b/Generals/Code/GameEngine/Include/Common/MissionStats.h
deleted file mode 100644
index 711e2de5104..00000000000
--- a/Generals/Code/GameEngine/Include/Common/MissionStats.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: MissionStats.h ////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-//
-// Westwood Studios Pacific.
-//
-// Confidential Information
-// Copyright (C) 2001 - All Rights Reserved
-//
-//-----------------------------------------------------------------------------
-//
-// Project: RTS3
-//
-// File name: MissionStats.h
-//
-// Created: Steven Johnson, October 2001
-//
-// Desc: @todo
-//
-//-----------------------------------------------------------------------------
-
-#pragma once
-
-#include "Lib/BaseType.h"
-#include "Common/GameCommon.h"
-#include "Common/Snapshot.h"
-
-// ----------------------------------------------------------------------------------------------
-/**
- Class that accumulates stats during a mission. Some of this will be for scoring purposes,
- and some will probably be used by AI to determine future moves.
-
- @todo: not sure what need to be here. Alas. For now, I have just put in the fields from RA2
- that are indicated as being used for scoring in multiplayer games, so this will certainly
- increase.
-*/
-class MissionStats : public Snapshot
-{
-
-public:
-
- MissionStats();
-
- /// reset all stats to "nothing".
- void init();
-
-protected:
-
- // snapshot methods
- virtual void crc( Xfer *xfer ) override;
- virtual void xfer( Xfer *xfer ) override;
- virtual void loadPostProcess() override;
-
-private:
-
- Int m_unitsKilled[MAX_PLAYER_COUNT]; ///< how many units for each Player were killed by us?
- Int m_unitsLost; ///< how many of our units were destroyed?
- Int m_buildingsKilled[MAX_PLAYER_COUNT]; ///< how many buildings for each Player were killed by us?
- Int m_buildingsLost; ///< how many of our buildings were destroyed?
- //Int m_whoLastHurtMe; ///< last Player to destroy one of my units
-};
diff --git a/Generals/Code/GameEngine/Include/Common/PerfTimer.h b/Generals/Code/GameEngine/Include/Common/PerfTimer.h
deleted file mode 100644
index effaac47d1c..00000000000
--- a/Generals/Code/GameEngine/Include/Common/PerfTimer.h
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// PerfTimer.h ////////////////////////////////////////////////////////////////////////////////////
-// John McDonald
-// July 2002
-
-#pragma once
-
-#include "Utility/intrin_compat.h"
-
-#if defined(RTS_DEBUG)
- /*
- NOTE NOTE NOTE: never check this in with this enabled, since there is a nonzero time penalty
- for running in this mode. Only enable it for local builds for testing purposes! (srj)
- */
- #define NO_PERF_TIMERS
-#else
- #define NO_PERF_TIMERS
-#endif
-
-#include "Common/GameCommon.h" // ensure we get DUMP_PERF_STATS, or not
-
-#ifdef PERF_TIMERS
-#include "GameLogic/GameLogic.h"
-#include "Common/PerfMetrics.h"
-#include "Common/GlobalData.h"
-#endif
-
-// Forward Declarations
-class DebugDisplayInterface;
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-
-#define NO_USE_QPF // non-QPF is much faster.
-
-#if defined(PERF_TIMERS) || defined(DUMP_PERF_STATS)
-//-------------------------------------------------------------------------------------------------
-void InitPrecisionTimer();
-
-//-------------------------------------------------------------------------------------------------
-void GetPrecisionTimerTicksPerSec(Int64* t);
-
-//-------------------------------------------------------------------------------------------------
-__forceinline void GetPrecisionTimer(Int64* t)
-{
-#ifdef USE_QPF
- QueryPerformanceCounter((LARGE_INTEGER*)t);
-#else
- *t = _rdtsc();
-#endif
-}
-#endif
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-
-#ifdef PERF_TIMERS
-
-//-------------------------------------------------------------------------------------------------
-class PerfGather
-{
-public:
- // If net only (default), subtract perf timers running inside. [8/12/2003]
- PerfGather( const char *identifier, Bool netOnly=true );
- virtual ~PerfGather( );
-
- __forceinline void startTimer();
- __forceinline void stopTimer();
-
- enum
- {
- PERF_GROSSTIME = 0x01,
- PERF_NETTIME = 0x02,
- PERF_CALLCOUNT = 0x04
- };
-
- static void resetAll();
- static void initPerfDump(const char* fname, Int options);
- static void termPerfDump();
- static void dumpAll(UnsignedInt frame);
- static void displayGraph(UnsignedInt frame);
-
- void reset();
-
-private:
-
- enum { MAX_ACTIVE_STACK = 256 };
- static PerfGather* m_active[MAX_ACTIVE_STACK];
- static PerfGather** m_activeHead;
- static Int64 s_stopStartOverhead; // overhead for stop+start a timer
-
- static PerfGather*& getHeadPtr();
-
- void addToList();
- void removeFromList();
-
- const char* m_identifier;
- Int64 m_startTime;
- Int64 m_runningTimeGross;
- Int64 m_runningTimeNet;
- Int m_callCount;
- PerfGather* m_next;
- PerfGather* m_prev;
- Bool m_ignore;
- Bool m_netTimeOnly;
-};
-
-//-------------------------------------------------------------------------------------------------
-void PerfGather::startTimer()
-{
- *++m_activeHead = this;
- GetPrecisionTimer(&m_startTime);
-}
-
-//-------------------------------------------------------------------------------------------------
-void PerfGather::stopTimer()
-{
- DEBUG_ASSERTCRASH(this != nullptr, ("I am null, uh oh"));
-
- Int64 runTime;
- GetPrecisionTimer(&runTime);
-
- runTime -= m_startTime;
-
- m_runningTimeGross += runTime;
- m_runningTimeNet += runTime;
-
- ++m_callCount;
-
-#ifdef RTS_DEBUG
- DEBUG_ASSERTCRASH(*m_activeHead != nullptr, ("m_activeHead is null, uh oh"));
- DEBUG_ASSERTCRASH(*m_activeHead == this, ("I am not the active timer, uh oh"));
- DEBUG_ASSERTCRASH(m_activeHead >= &m_active[0] && m_activeHead <= &m_active[MAX_ACTIVE_STACK-1], ("active under/over flow"));
-#endif
- --m_activeHead;
-
- if (*m_activeHead)
- {
- // don't add the time it took for us to actually get the ticks (in startTimer) to our parent...
- (*m_activeHead)->m_runningTimeGross -= (s_stopStartOverhead);
- if ((*m_activeHead)->m_netTimeOnly) {
- (*m_activeHead)->m_runningTimeNet -= (runTime + s_stopStartOverhead);
- }
- }
-}
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-
-//-------------------------------------------------------------------------------------------------
-class AutoPerfGather
-{
-private:
- PerfGather& m_g;
-public:
- __forceinline AutoPerfGather(PerfGather& g);
- __forceinline ~AutoPerfGather();
-};
-
-//-------------------------------------------------------------------------------------------------
-AutoPerfGather::AutoPerfGather(PerfGather& g) : m_g(g)
-{
- m_g.startTimer();
-}
-
-//-------------------------------------------------------------------------------------------------
-AutoPerfGather::~AutoPerfGather()
-{
- m_g.stopTimer();
-}
-
-//-------------------------------------------------------------------------------------------------
-class AutoPerfGatherIgnore
-{
-private:
- static Bool s_ignoring;
- PerfGather& m_g;
- Bool m_oldIgnore;
-public:
- __forceinline AutoPerfGatherIgnore(PerfGather& g);
- __forceinline ~AutoPerfGatherIgnore();
-};
-
-//-------------------------------------------------------------------------------------------------
-AutoPerfGatherIgnore::AutoPerfGatherIgnore(PerfGather& g) : m_g(g)
-{
- m_oldIgnore = s_ignoring;
- s_ignoring = true;
-
- m_g.startTimer();
-}
-
-//-------------------------------------------------------------------------------------------------
-AutoPerfGatherIgnore::~AutoPerfGatherIgnore()
-{
- m_g.stopTimer();
-
- if (s_ignoring)
- m_g.reset();
-
- s_ignoring = m_oldIgnore;
-}
-
-//-------------------------------------------------------------------------------------------------
-#define DECLARE_TOTAL_PERF_TIMER(id) static PerfGather s_##id(#id, false);
-#define DECLARE_PERF_TIMER(id) static PerfGather s_##id(#id);
-#define USE_PERF_TIMER(id) AutoPerfGather a_##id(s_##id);
-#define IGNORE_PERF_TIMER(id) AutoPerfGatherIgnore a_##id(s_##id);
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-
-//-------------------------------------------------------------------------------------------------
-class PerfTimer
-{
-public:
- PerfTimer( const char *identifier, Bool crashWithInfo = true, Int startFrame = 0, Int endFrame = -1);
- virtual ~PerfTimer( );
- __forceinline void startTimer();
- __forceinline void stopTimer();
-
-protected:
- Int64 m_startTime;
-
-protected:
- void outputInfo();
- void showMetrics();
-
-protected:
- const char *m_identifier;
- Bool m_crashWithInfo;
- UnsignedInt m_startFrame;
- UnsignedInt m_endFrame;
- UnsignedInt m_lastFrame; // last frame we got data from
- Bool m_outputInfo;
-
- // total running time so far.
- Int64 m_runningTime;
- Int m_callCount;
-
- friend void StatMetricsDisplay( DebugDisplayInterface *dd, void *, FILE *fp );
- friend void EndStatMetricsDisplay( DebugDisplayInterface *dd, void *, FILE *fp );
-};
-
-//-------------------------------------------------------------------------------------------------
-void PerfTimer::startTimer()
-{
- UnsignedInt frm = (TheGameLogic ? TheGameLogic->getFrame() : m_startFrame);
- if (frm >= m_startFrame && (m_endFrame == -1 || frm <= m_endFrame))
- {
- GetPrecisionTimer(&m_startTime);
- }
-}
-
-//-------------------------------------------------------------------------------------------------
-void PerfTimer::stopTimer()
-{
- UnsignedInt frm = (TheGameLogic ? TheGameLogic->getFrame() : m_startFrame);
- if (frm >= m_startFrame && (m_endFrame == -1 || frm <= m_endFrame))
- {
- Int64 tmp;
- GetPrecisionTimer(&tmp);
- m_runningTime += (tmp - m_startTime);
- ++m_callCount;
- m_lastFrame = frm;
- }
-
-
- if (TheGlobalData && TheGlobalData->m_showMetrics && m_endFrame > m_startFrame + PERFMETRICS_BETWEEN_METRICS) {
- m_endFrame = m_startFrame + PERFMETRICS_BETWEEN_METRICS;
- }
-
- if (m_endFrame > 0 && frm >= m_endFrame) {
- if (TheGlobalData->m_showMetrics) {
- showMetrics();
- }
-
- outputInfo();
- }
-}
-
-
-//-------------------------------------------------------------------------------------------------
-extern void StatMetricsDisplay( DebugDisplayInterface *dd, void *, FILE *fp );
-
-#else // PERF_TIMERS
-
- #define DECLARE_PERF_TIMER(id)
- #define DECLARE_TOTAL_PERF_TIMER(id)
- #define USE_PERF_TIMER(id)
- #define IGNORE_PERF_TIMER(id)
-
-#endif // PERF_TIMERS
diff --git a/Generals/Code/GameEngine/Include/Common/PlayerList.h b/Generals/Code/GameEngine/Include/Common/PlayerList.h
deleted file mode 100644
index f2c2b3622f7..00000000000
--- a/Generals/Code/GameEngine/Include/Common/PlayerList.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: PlayerList.h ////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-//
-// Westwood Studios Pacific.
-//
-// Confidential Information
-// Copyright (C) 2001 - All Rights Reserved
-//
-//-----------------------------------------------------------------------------
-//
-// Project: RTS3
-//
-// File name: PlayerList.h
-//
-// Created: Steven Johnson, October 2001
-//
-// Desc: @todo
-//
-//-----------------------------------------------------------------------------
-
-#pragma once
-
-#include "Common/SubsystemInterface.h"
-#include "Common/GameCommon.h"
-#include "Common/NameKeyGenerator.h"
-#include "Common/Snapshot.h"
-
-class DataChunkInput;
-struct DataChunkInfo;
-class DataChunkOutput;
-class Player;
-class Team;
-class TeamFactory;
-
-//-------------------------------------------------------------------------------------------------
-enum AllowPlayerRelationship CPP_11(: Int)
-{
- ALLOW_SAME_PLAYER = 0x01, ///< allow only objects of the same player as m_obj
- ALLOW_ALLIES = 0x02, ///< allow objects that m_obj considers allies
- ALLOW_ENEMIES = 0x04, ///< allow objects that m_obj considers enemy
- ALLOW_NEUTRAL = 0x08 ///< allow objects that m_obj considers neutral
-};
-
-
-//-------------------------------------------------------------------------------------------------
-/**
- This is a singleton class that maintains the list of Players.
-*/
-class PlayerList : public SubsystemInterface,
- public Snapshot
-{
-
-public:
-
- PlayerList();
- virtual ~PlayerList() override;
-
- // subsystem methods
- virtual void init() override;
- virtual void reset() override;
- virtual void update() override;
-
- virtual void newGame(); // called during GameLogic::startNewGame()
- virtual void newMap(); // Called after a new map is loaded.
-
- void teamAboutToBeDeleted(Team* team);
-
- /**
- return the total number of players (including the neutral player).
- */
- inline Int getPlayerCount() { return m_playerCount; }
-
- /**
- return the nth player. Note that players are in an arbitrary order.
- you should generally only use this if you want to iterate thru
- all players, NOT to get a specific player!
- */
- Player *getNthPlayer(Int i);
-
- /**
- return the "neutral" Player. there is always a player that is "neutral" wrt
- all other players (this is so that everything can be associated with a nonnull
- Player, to simplify the universe). This will never return null.
- */
- Player *getNeutralPlayer() { DEBUG_ASSERTCRASH(m_players[0] != nullptr, ("null neutral")); return m_players[0]; }
-
- /**
- return the Player with the given internal name, or null if none found.
- */
- Player *findPlayerWithNameKey(NameKeyType key);
-
- /**
- Return the "local" player (ie, the human playing the game).
- This will never return null.
- */
- inline Player *getLocalPlayer() { DEBUG_ASSERTCRASH(m_local != nullptr, ("null m_local")); return m_local; }
-
- /**
- Set the local player. You cannot set it to null; if you pass null, you'll
- end up setting the local player to be the neutral player.
- */
- void setLocalPlayer(Player *player);
-
- /**
- Return the player matching the player mask
- */
- Player *getPlayerFromMask( PlayerMaskType mask );
-
- /**
- Get each player in numerical order that this mask represents.
- Note that maskToAdjust will be adjusted by removing the associated player's mask from it.
- */
- Player *getEachPlayerFromMask( PlayerMaskType& maskToAdjust );
-
- Team *validateTeam( AsciiString owner );
-
- /**
- a convenience routine to quickly clear the entered/exited flags on all teams.
- */
- void updateTeamStates();
-
- /**
- a convenience routine to return the players who srcPlayer considers to have one of the
- relationships specified in allowedRelationships. Note that allowedRelationships should be
- a bitwise OR of AllowPlayerRelationship flags.
- */
- PlayerMaskType getPlayersWithRelationship( Int srcPlayerIndex, UnsignedInt allowedRelationships );
-
-protected:
-
- // snapshot methods
- virtual void crc( Xfer *xfer ) override;
- virtual void xfer( Xfer *xfer ) override;
- virtual void loadPostProcess() override;
-
-private:
-
- Player *m_local;
- Int m_playerCount;
- Player *m_players[MAX_PLAYER_COUNT];
-
-};
-
-
-// ----------------------------------------------------------------------------------------------
-extern PlayerList *ThePlayerList; ///< singleton instance of PlayerList
diff --git a/Generals/Code/GameEngine/Include/Common/QuotedPrintable.h b/Generals/Code/GameEngine/Include/Common/QuotedPrintable.h
deleted file mode 100644
index af373e9bb6a..00000000000
--- a/Generals/Code/GameEngine/Include/Common/QuotedPrintable.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: QuotedPrintable.h /////////////////////////////////////////////////////////
-// Author: Matt Campbell, February 2002
-// Description: Quoted-printable encode/decode
-////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-UnicodeString QuotedPrintableToUnicodeString(AsciiString original);
-AsciiString UnicodeStringToQuotedPrintable(UnicodeString original);
-
-AsciiString QuotedPrintableToAsciiString(AsciiString original);
-AsciiString AsciiStringToQuotedPrintable(AsciiString original);
diff --git a/Generals/Code/GameEngine/Include/Common/Science.h b/Generals/Code/GameEngine/Include/Common/Science.h
deleted file mode 100644
index ac1f6014f97..00000000000
--- a/Generals/Code/GameEngine/Include/Common/Science.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: Science.h ////////////////////////////////////////////////////////////////////////////////
-// Author: Steven Johnson, Colin Day November 2001
-// Desc: Science descriptions
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/Overridable.h"
-#include "Common/NameKeyGenerator.h"
-#include "Common/UnicodeString.h"
-
-class Player;
-
-//-------------------------------------------------------------------------------------------------
-enum ScienceType CPP_11(: Int)
-{
- SCIENCE_INVALID = -1
-};
-
-//-------------------------------------------------------------------------------------------------
-typedef std::vector ScienceVec;
-
-//-------------------------------------------------------------------------------------------------
-class ScienceInfo : public Overridable
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( ScienceInfo, "ScienceInfo" )
-
- friend class ScienceStore;
-
-private:
- ScienceType m_science;
- UnicodeString m_name;
- UnicodeString m_description;
- ScienceVec m_rootSciences; // this is calced at runtime, NOT read from INI
- ScienceVec m_prereqSciences;
- Int m_sciencePurchasePointCost;
- Bool m_grantable;
-
- ScienceInfo() :
- m_science(SCIENCE_INVALID),
- m_sciencePurchasePointCost(0), // 0 means "cannot be purchased"
- m_grantable(true)
- {
- }
-
- void addRootSciences(ScienceVec& v) const;
-};
-EMPTY_DTOR(ScienceInfo);
-
-//-------------------------------------------------------------------------------------------------
-class ScienceStore : public SubsystemInterface
-{
- friend class ScienceInfo;
-
-public:
- virtual ~ScienceStore() override;
-
- virtual void init() override;
- virtual void reset() override;
- virtual void update() override { }
-
- Bool isValidScience(ScienceType st) const;
-
- Bool isScienceGrantable(ScienceType st) const;
-
- Bool getNameAndDescription(ScienceType st, UnicodeString& name, UnicodeString& description) const;
-
- Bool playerHasPrereqsForScience(const Player* player, ScienceType st) const;
-
- /**
- this is a subtle call, and should ALMOST NEVER be called by external code...
- this is used to determine if you have the "root" requirements for a given science,
- and thus could *potentially* obtain it if you got extra prereqs.
-
- Generally, you should call getPurchasableSciences() instead of this!
- */
- Bool playerHasRootPrereqsForScience(const Player* player, ScienceType st) const;
-
- Int getSciencePurchaseCost(ScienceType science) const;
-
- ScienceType getScienceFromInternalName(const AsciiString& name) const;
- AsciiString getInternalNameForScience(ScienceType science) const;
-
- /** return a list of the sciences the given player can purchase now, and a list he might be able to purchase in the future,
- but currently lacks prereqs or points for. (either might be an empty list) */
- void getPurchasableSciences(const Player* player, ScienceVec& purchasable, ScienceVec& potentiallyPurchasable) const;
-
- // this is intended ONLY for use by INI::scanScience.
- // Don't use it anywhere else. In particular, never, ever, ever
- // call this with a hardcoded science name. (srj)
- ScienceType friend_lookupScience(const char* scienceName) const;
- static void friend_parseScienceDefinition(INI* ini);
-
- // return a vector of all the currently-known science names
- // NOTE: this is really only for use by WorldBuilder! Please
- // do not use it in RTS!
- std::vector friend_getScienceNames() const;
-
-
-private:
-
- const ScienceInfo* findScienceInfo(ScienceType st) const;
-
- typedef std::vector ScienceInfoVec;
- ScienceInfoVec m_sciences;
-};
-
-extern ScienceStore* TheScienceStore;
diff --git a/Generals/Code/GameEngine/Include/Common/ScoreKeeper.h b/Generals/Code/GameEngine/Include/Common/ScoreKeeper.h
deleted file mode 100644
index 3f01a0f511c..00000000000
--- a/Generals/Code/GameEngine/Include/Common/ScoreKeeper.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ScoreKeeper.h /////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-//
-// Electronic Arts Pacific.
-//
-// Confidential Information
-// Copyright (C) 2002 - All Rights Reserved
-//
-//-----------------------------------------------------------------------------
-//
-// created: Jun 2002
-//
-// Filename: ScoreKeeper.h
-//
-// author: Chris Huybregts
-//
-// purpose: Header file for the scorekeeper class
-//
-//-----------------------------------------------------------------------------
-///////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-//-----------------------------------------------------------------------------
-// SYSTEM INCLUDES ////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// USER INCLUDES //////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-#include "Common/Snapshot.h"
-
-//-----------------------------------------------------------------------------
-// FORWARD REFERENCES /////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-class Object;
-class ThingTemplate;
-//-----------------------------------------------------------------------------
-// TYPE DEFINES ///////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-class ScoreKeeper : public Snapshot
-{
-public:
- ScoreKeeper();
- ~ScoreKeeper();
-
- void reset( Int playerIdx ); ///< Zero out the variables
- Int calculateScore(); ///< Performs the equation to calculate the score
-
- void addMoneySpent( Int money ); ///< Adds money to the amount spent
- void addMoneyEarned( Int money ); ///< Adds money to the earned amount
-
- void addObjectBuilt( const Object *o );
- void addObjectDestroyed( const Object *o );
- void addObjectLost( const Object *o );
- void addObjectCaptured( const Object *o );
-
- void removeObjectBuilt( const Object *o );
-
- Int getTotalMoneyEarned() { return m_totalMoneyEarned; }
- Int getTotalMoneySpent() { return m_totalMoneySpent; }
- Int getTotalUnitsDestroyed();
- Int getTotalUnitsBuilt() { return m_totalUnitsBuilt; }
- Int getTotalUnitsLost() { return m_totalUnitsLost; }
- Int getTotalBuildingsDestroyed();
- Int getTotalBuildingsBuilt() { return m_totalBuildingsBuilt; }
- Int getTotalBuildingsLost() { return m_totalBuildingsLost; }
- Int getTotalTechBuildingsCaptured() { return m_totalTechBuildingsCaptured; }
- Int getTotalFactionBuildingsCaptured() { return m_totalFactionBuildingsCaptured; }
- Int getTotalObjectsBuilt( const ThingTemplate *pTemplate ); // get a count of objects built matching a specific thing template
-
- // for battle honor calculation. done once at the end of each online game
- Int getTotalUnitsBuilt( KindOfMaskType validMask, KindOfMaskType invalidMask );
-
-protected:
-
- // snapshot methods
- virtual void crc( Xfer *xfer ) override;
- virtual void xfer( Xfer *xfer ) override;
- virtual void loadPostProcess() override;
-
-private:
-
- Int m_totalMoneyEarned; ///< The total money that was harvested, refined, received in crates
- Int m_totalMoneySpent; ///< The total money spent on units, buildings, repairs
- Int m_totalUnitsDestroyed[MAX_PLAYER_COUNT]; ///< The total number of enemies that we've killed
- Int m_totalUnitsBuilt; ///< The total number of units we've created (created meaning that we built from a building)
- Int m_totalUnitsLost; ///< The total number of our units lost
- Int m_totalBuildingsDestroyed[MAX_PLAYER_COUNT]; ///< The total number of Buildings we've destroyed
- Int m_totalBuildingsBuilt; ///< The total number of buildings we've constructed
- Int m_totalBuildingsLost; ///< The total number of our buildings lost
- Int m_totalTechBuildingsCaptured; ///< The total number of tech buildings captured
- Int m_totalFactionBuildingsCaptured; ///< The total number of faction buildings captured
- Int m_currentScore; ///< Based off the stats, this is the current score
-
- Int m_myPlayerIdx; ///< We need to not score kills on ourselves... so we need to know who we are
-
- typedef std::map ObjectCountMap;
- typedef ObjectCountMap::iterator ObjectCountMapIt;
- ObjectCountMap m_objectsBuilt; ///< How many and what kinds of objects did we build
- ObjectCountMap m_objectsDestroyed[MAX_PLAYER_COUNT]; ///< How many and what kinds and who's did we kill
- ObjectCountMap m_objectsLost; ///< how many and what kinds of objects did we loose
- ObjectCountMap m_objectsCaptured;
- void xferObjectCountMap( Xfer *xfer, ObjectCountMap *map );
-
-};
-
-//-----------------------------------------------------------------------------
-// INLINING ///////////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-inline void ScoreKeeper::addMoneySpent( Int money ) { m_totalMoneySpent += money; }
-inline void ScoreKeeper::addMoneyEarned( Int money ) { m_totalMoneyEarned += money; }
-
-//-----------------------------------------------------------------------------
-// EXTERNALS //////////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
diff --git a/Generals/Code/GameEngine/Include/Common/StackDump.h b/Generals/Code/GameEngine/Include/Common/StackDump.h
deleted file mode 100644
index 2d11b754b94..00000000000
--- a/Generals/Code/GameEngine/Include/Common/StackDump.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#ifndef IG_DEBUG_STACKTRACE
-#define IG_DEBUG_STACKTRACE 1
-#endif // Unsure about this one -ML 3/25/03
-#if defined(RTS_DEBUG) || defined(IG_DEBUG_STACKTRACE)
-
-// Writes a stackdump (provide a callback : gets called per line)
-// If callback is nullptr then will write using OuputDebugString
-void StackDump(void (*callback)(const char*));
-
-// Writes a stackdump (provide a callback : gets called per line)
-// If callback is nullptr then will write using OuputDebugString
-void StackDumpFromContext(DWORD eip,DWORD esp,DWORD ebp, void (*callback)(const char*));
-
-// Gets count* addresses from the current stack
-void FillStackAddresses(void**addresses, unsigned int count, unsigned int skip = 0);
-
-// Do full stack dump using an address array
-void StackDumpFromAddresses(void**addresses, unsigned int count, void (*callback)(const char*));
-
-void GetFunctionDetails(void *pointer, char*name, char*filename, unsigned int* linenumber, unsigned int* address);
-
-// Dumps out the exception info and stack trace.
-void DumpExceptionInfo( unsigned int u, EXCEPTION_POINTERS* e_info );
-
-#else
-
-__inline void StackDump(void (*callback)(const char*)) {};
-
-// Gets count* addresses from the current stack
-__inline void FillStackAddresses(void**addresses, unsigned int count, unsigned int skip = 0) {}
-
-// Do full stack dump using an address array
-__inline void StackDumpFromAddresses(void**addresses, unsigned int count, void (*callback)(const char*)) {}
-
-__inline void GetFunctionDetails(void *pointer, char*name, char*filename, unsigned int* linenumber, unsigned int* address) {}
-
-// Dumps out the exception info and stack trace.
-__inline void DumpExceptionInfo( unsigned int u, EXCEPTION_POINTERS* e_info ) {};
-
-#endif
-
-extern AsciiString g_LastErrorDump;
diff --git a/Generals/Code/GameEngine/Include/Common/TerrainTypes.h b/Generals/Code/GameEngine/Include/Common/TerrainTypes.h
deleted file mode 100644
index 839d381fa32..00000000000
--- a/Generals/Code/GameEngine/Include/Common/TerrainTypes.h
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: TerrainTypes.h ///////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, December 2001
-// Desc: Terrain type descriptions
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/GameMemory.h"
-#include "Common/SubsystemInterface.h"
-
-// FORWARD DECLARATIONS ///////////////////////////////////////////////////////////////////////////
-struct FieldParse;
-
-//-------------------------------------------------------------------------------------------------
-/** Type classification, keep this in sync with terrainTypeNames[] */
-//-------------------------------------------------------------------------------------------------
-typedef enum
-{
- TERRAIN_NONE = 0,
- TERRAIN_DESERT_1,
- TERRAIN_DESERT_2,
- TERRAIN_DESERT_3,
- TERRAIN_EASTERN_EUROPE_1,
- TERRAIN_EASTERN_EUROPE_2,
- TERRAIN_EASTERN_EUROPE_3,
- TERRAIN_SWISS_1,
- TERRAIN_SWISS_2,
- TERRAIN_SWISS_3,
- TERRAIN_SNOW_1,
- TERRAIN_SNOW_2,
- TERRAIN_SNOW_3,
-
- // remove all the terrain types below when Todd says he's redone them all
- TERRAIN_DIRT,
- TERRAIN_GRASS,
- TERRAIN_TRANSITION,
- TERRAIN_ROCK,
- TERRAIN_SAND,
- TERRAIN_CLIFF,
- TERRAIN_WOOD,
- TERRAIN_BLEND_EDGES,
-
- // New terrain types (for Samm Ivri)
- TERRAIN_LIVE_DESERT,
- TERRAIN_DRY_DESERT,
- TERRAIN_ACCENT_SAND,
- TERRAIN_TROPICAL_BEACH,
- TERRAIN_BEACH_PARK,
- TERRAIN_RUGGED_MOUNTAIN,
- TERRAIN_COBBLESTONE_GRASS,
- TERRAIN_ACCENT_GRASS,
- TERRAIN_RESIDENTIAL,
- TERRAIN_RUGGED_SNOW,
- TERRAIN_FLAT_SNOW,
- TERRAIN_FIELD,
- TERRAIN_ASPHALT,
- TERRAIN_CONCRETE,
- TERRAIN_CHINA,
- TERRAIN_ACCENT_ROCK,
- TERRAIN_URBAN,
-
- TERRAIN_NUM_CLASSES
-
-} TerrainClass;
-#ifdef DEFINE_TERRAIN_TYPE_NAMES
-static const char *const terrainTypeNames[] =
-{
- "NONE",
- "DESERT_1",
- "DESERT_2",
- "DESERT_3",
- "EASTERN_EUROPE_1",
- "EASTERN_EUROPE_2",
- "EASTERN_EUROPE_3",
- "SWISS_1",
- "SWISS_2",
- "SWISS_3",
- "SNOW_1",
- "SNOW_2",
- "SNOW_3",
-
- // remove all the terrain types below when Todd says he's redone them all
- "DIRT",
- "GRASS",
- "TRANSITION",
- "ROCK",
- "SAND",
- "CLIFF",
- "WOOD",
- "BLEND_EDGE",
-
- // New terrain types (for Samm Ivri)
- "DESERT_LIVE",
- "DESERT_DRY",
- "SAND_ACCENT",
- "BEACH_TROPICAL",
- "BEACH_PARK",
- "MOUNTAIN_RUGGED",
- "GRASS_COBBLESTONE",
- "GRASS_ACCENT",
- "RESIDENTIAL",
- "SNOW_RUGGED",
- "SNOW_FLAT",
- "FIELD",
- "ASPHALT",
- "CONCRETE",
- "CHINA",
- "ROCK_ACCENT",
- "URBAN",
-
- nullptr
-};
-static_assert(ARRAY_SIZE(terrainTypeNames) == TERRAIN_NUM_CLASSES + 1, "Incorrect array size");
-#endif // end DEFINE_TERRAIN_TYPE_NAMES
-
-//-------------------------------------------------------------------------------------------------
-/** A terrain type definition */
-//-------------------------------------------------------------------------------------------------
-class TerrainType : public MemoryPoolObject
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( TerrainType, "TerrainType" )
-
-public:
-
- TerrainType();
- // destructor prototype defined by memory pool glue
-
- /// get the name for this terrain
- AsciiString getName() { return m_name; }
-
- /// get whether this terrain is blend edge terrain.
- Bool isBlendEdge() { return m_blendEdgeTexture; }
-
- /// get the type of this terrain
- TerrainClass getClass() { return m_class; }
-
- /// get the construction restrictions
- Bool getRestrictConstruction() { return m_restrictConstruction; }
-
- /// get the texture file for this terrain
- AsciiString getTexture() { return m_texture; }
-
- /// get next terrain in list, only for use by the terrain collection
- TerrainType *friend_getNext() { return m_next; }
-
- /// set the name for this terrain, for use by terrain collection only
- void friend_setName( AsciiString name ) { m_name = name; }
-
- /// set the next pointer for the terrain list, for use by terrain collection only
- void friend_setNext( TerrainType *next ) { m_next = next; }
-
- /// set the texture, for use by terrain collection only
- void friend_setTexture( AsciiString texture ) { m_texture = texture; }
-
- /// set the class, for use by terrain collection only
- void friend_setClass( TerrainClass terrainClass ) { m_class = terrainClass; }
-
- /// set the restrict construction flag, for use by terrain collection only
- void friend_setRestrictConstruction( Bool restrict ) { m_restrictConstruction = restrict; }
-
- /// set whether this terrain is blend edge terrain, for use by terrain collection only
- void friend_setBlendEdge( Bool isBlend ) { m_blendEdgeTexture = isBlend; }
-
- /// get the parsing table for INI
- const FieldParse *getFieldParse() { return m_terrainTypeFieldParseTable; }
-
-protected:
-
- AsciiString m_name; ///< terrain entry name
- AsciiString m_texture; ///< texture.tga file for terrain
- Bool m_blendEdgeTexture; ///< contains custom blend edges
- TerrainClass m_class; ///< type classification of name
- Bool m_restrictConstruction; ///< do not allow construction on this terrain tile
- TerrainType *m_next; ///< next in terrain list
-
- // for parsing from INI
- static const FieldParse m_terrainTypeFieldParseTable[]; ///< the parse table for INI definition
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The collection of all terrain types */
-//-------------------------------------------------------------------------------------------------
-class TerrainTypeCollection : public SubsystemInterface
-{
-
-public:
-
- TerrainTypeCollection();
- virtual ~TerrainTypeCollection() override;
-
- virtual void init() override { }
- virtual void reset() override { }
- virtual void update() override { }
-
- TerrainType *findTerrain( AsciiString name ); ///< find terrain by name
- TerrainType *newTerrain( AsciiString name ); ///< allocate a new terrain
-
- /// get first terrain in list
- TerrainType *firstTerrain() { return m_terrainList; }
-
- /// get next terrain in list
- TerrainType *nextTerrain( TerrainType *terrainType ) { return terrainType->friend_getNext(); }
-
-protected:
-
- TerrainType *m_terrainList; ///< list of available terrain types
-
-};
-
-// EXTERNAL ///////////////////////////////////////////////////////////////////////////////////////
-extern TerrainTypeCollection *TheTerrainTypes;
diff --git a/Generals/Code/GameEngine/Include/Common/Upgrade.h b/Generals/Code/GameEngine/Include/Common/Upgrade.h
deleted file mode 100644
index a847abed5b0..00000000000
--- a/Generals/Code/GameEngine/Include/Common/Upgrade.h
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: Upgrade.h ////////////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, March 2002
-// Desc: Upgrade system for players
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// USER INCLUDES //////////////////////////////////////////////////////////////////////////////////
-#include "Common/AudioEventRTS.h"
-#include "Common/INI.h"
-#include "Common/Snapshot.h"
-#include "Common/BitFlags.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Player;
-class UpgradeTemplate;
-enum NameKeyType CPP_11(: Int);
-class Image;
-enum AcademyClassificationType CPP_11(: Int);
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-enum UpgradeStatusType CPP_11(: Int)
-{
- UPGRADE_STATUS_INVALID = 0,
- UPGRADE_STATUS_IN_PRODUCTION,
- UPGRADE_STATUS_COMPLETE
-};
-
-//The maximum number of upgrades.
-// TheSuperHackers @tweak Stubbjax 22/01/2026 Increases max upgrade count from Generals:64, Zero Hour:128 to allow for more upgrades.
-// A value of 512 was chosen to allow room for plenty of upgrades while also conserving memory.
-#define UPGRADE_MAX_COUNT 512
-
-typedef BitFlags UpgradeMaskType;
-
-#define MAKE_UPGRADE_MASK(k) UpgradeMaskType(UpgradeMaskType::kInit, (k))
-#define MAKE_UPGRADE_MASK2(k,a) UpgradeMaskType(UpgradeMaskType::kInit, (k), (a))
-#define MAKE_UPGRADE_MASK3(k,a,b) UpgradeMaskType(UpgradeMaskType::kInit, (k), (a), (b))
-#define MAKE_UPGRADE_MASK4(k,a,b,c) UpgradeMaskType(UpgradeMaskType::kInit, (k), (a), (b), (c))
-#define MAKE_UPGRADE_MASK5(k,a,b,c,d) UpgradeMaskType(UpgradeMaskType::kInit, (k), (a), (b), (c), (d))
-
-inline Bool TEST_UPGRADE_MASK( const UpgradeMaskType& m, Int index )
-{
- return m.test( index );
-}
-
-inline Bool TEST_UPGRADE_MASK_ANY( const UpgradeMaskType& m, const UpgradeMaskType& mask )
-{
- return m.anyIntersectionWith( mask );
-}
-
-inline Bool TEST_UPGRADE_MASK_MULTI( const UpgradeMaskType& m, const UpgradeMaskType& mustBeSet, const UpgradeMaskType& mustBeClear )
-{
- return m.testSetAndClear( mustBeSet, mustBeClear );
-}
-
-inline Bool UPGRADE_MASK_ANY_SET( const UpgradeMaskType& m)
-{
- return m.any();
-}
-
-inline void CLEAR_UPGRADE_MASK( UpgradeMaskType& m )
-{
- m.clear();
-}
-
-inline void SET_ALL_UPGRADE_MASK_BITS( UpgradeMaskType& m )
-{
- m.clear();
- m.flip();
-}
-
-inline void FLIP_UPGRADE_MASK( UpgradeMaskType& m )
-{
- m.flip();
-}
-
-
-//-------------------------------------------------------------------------------------------------
-/** A single upgrade *INSTANCE* */
-//-------------------------------------------------------------------------------------------------
-class Upgrade : public MemoryPoolObject,
- public Snapshot
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( Upgrade, "Upgrade" )
-
-public:
-
- Upgrade( const UpgradeTemplate *upgradeTemplate );
- // virtual destructor prototypes provided by memory pool object
-
- /// get the upgrade template for this instance
- const UpgradeTemplate *getTemplate() const { return m_template; }
-
- // status access
- UpgradeStatusType getStatus() const { return m_status; } ///< get status
- void setStatus( UpgradeStatusType status ) { m_status = status; } ///< set the status
-
- // friend access methods
- void friend_setNext( Upgrade *next ) { m_next = next; }
- void friend_setPrev( Upgrade *prev ) { m_prev = prev; }
- Upgrade *friend_getNext() { return m_next; }
- Upgrade *friend_getPrev() { return m_prev; }
-
-protected:
-
- // snapshot methods
- virtual void crc( Xfer *xfer ) override;
- virtual void xfer( Xfer *xfer ) override;
- virtual void loadPostProcess() override;
-
- const UpgradeTemplate *m_template; ///< template this upgrade instance is based on
- UpgradeStatusType m_status; ///< status of upgrade
- Upgrade *m_next; ///< next
- Upgrade *m_prev; ///< prev
-
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-enum UpgradeType CPP_11(: Int)
-{
- UPGRADE_TYPE_PLAYER = 0, // upgrade applies to a player as a whole
- UPGRADE_TYPE_OBJECT, // upgrade applies to an object instance only
-
- NUM_UPGRADE_TYPES
-};
-extern const char *const TheUpgradeTypeNames[]; //Change above, change this!
-
-//-------------------------------------------------------------------------------------------------
-/** A single upgrade template definition */
-//-------------------------------------------------------------------------------------------------
-class UpgradeTemplate : public MemoryPoolObject
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( UpgradeTemplate, "UpgradeTemplate" )
-
-public:
-
- UpgradeTemplate();
- // virtual destructor defined by memory pool object
-
- Int calcTimeToBuild( Player *player ) const; ///< time in logic frames it will take this player to "build" this UpgradeTemplate
- Int calcCostToBuild( Player *player ) const; ///< calc the cost to build this upgrade
-
- // field access
- void setUpgradeName( const AsciiString& name ) { m_name = name; }
- const AsciiString& getUpgradeName() const { return m_name; }
- void setUpgradeNameKey( NameKeyType key ) { m_nameKey = key; }
- NameKeyType getUpgradeNameKey() const { return m_nameKey; }
- const AsciiString& getDisplayNameLabel() const { return m_displayNameLabel; }
- const UpgradeMaskType& getUpgradeMask() const { return m_upgradeMask; }
- UpgradeType getUpgradeType() const { return m_type; }
- const AudioEventRTS* getResearchCompleteSound() const { return &m_researchSound; }
- const AudioEventRTS* getUnitSpecificSound() const { return &m_unitSpecificSound; }
- AcademyClassificationType getAcademyClassificationType() const { return m_academyClassificationType; }
-
- /// inventory pictures
- void cacheButtonImage();
- const Image* getButtonImage() const { return m_buttonImage; }
-
- /// INI parsing
- const FieldParse *getFieldParse() const { return m_upgradeFieldParseTable; }
-
- // friend access methods for the UpgradeCenter ONLY
- void friend_setNext( UpgradeTemplate *next ) { m_next = next; }
- void friend_setPrev( UpgradeTemplate *prev ) { m_prev = prev; }
- UpgradeTemplate *friend_getNext() { return m_next; }
- UpgradeTemplate *friend_getPrev() { return m_prev; }
- const UpgradeTemplate *friend_getNext() const { return m_next; }
- const UpgradeTemplate *friend_getPrev() const { return m_prev; }
- void friend_setUpgradeMask( UpgradeMaskType mask ) { m_upgradeMask = mask; }
- void friend_makeVeterancyUpgrade(VeterancyLevel v);
-
-protected:
-
- UpgradeType m_type; ///< upgrade type (PLAYER or OBJECT)
- AsciiString m_name; ///< upgrade name
- NameKeyType m_nameKey; ///< name key
- AsciiString m_displayNameLabel; ///< String manager label for UI display name
- Real m_buildTime; ///< database # for how long it takes to "build" this
- Int m_cost; ///< cost for production
- UpgradeMaskType m_upgradeMask; ///< Unique bitmask for this upgrade template
- AudioEventRTS m_researchSound; ///< Sound played when upgrade researched.
- AudioEventRTS m_unitSpecificSound; ///< Secondary sound played when upgrade researched.
- AcademyClassificationType m_academyClassificationType; ///< A value used by the academy to evaluate advice based on what players do.
-
- UpgradeTemplate *m_next; ///< next
- UpgradeTemplate *m_prev; ///< prev
-
- AsciiString m_buttonImageName; ///< "Queue" images to show in the build queue
- const Image *m_buttonImage;
-
- /// INI field table
- static const FieldParse m_upgradeFieldParseTable[]; ///< the parse table
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The upgrade center keeps some basic information about the possible upgrades */
-//-------------------------------------------------------------------------------------------------
-class UpgradeCenter : public SubsystemInterface
-{
-
-public:
-
- UpgradeCenter();
- virtual ~UpgradeCenter() override;
-
- virtual void init() override; ///< subsystem interface
- virtual void reset() override; ///< subsystem interface
- virtual void update() override { } ///< subsystem interface
-
- UpgradeTemplate *firstUpgradeTemplate(); ///< return the first upgrade template
- const UpgradeTemplate *findUpgradeByKey( NameKeyType key ) const; ///< find upgrade by name key
- const UpgradeTemplate *findUpgrade( const AsciiString& name ) const; ///< find and return upgrade by name
- const UpgradeTemplate *findUpgrade( const char* name ) const; ///< find and return upgrade by name
- const UpgradeTemplate *findVeterancyUpgrade(VeterancyLevel level) const; ///< find and return upgrade by veterancy level
-
- UpgradeTemplate *newUpgrade( const AsciiString& name ); ///< allocate, link, and return new upgrade
-
- /// does this player have all the necessary things to make this upgrade
- Bool canAffordUpgrade( Player *player, const UpgradeTemplate *upgradeTemplate, Bool displayReason = FALSE ) const;
- std::vector getUpgradeNames() const; // For WorldBuilder only!!!
-
- static void parseUpgradeDefinition( INI *ini );
-
-protected:
-
- UpgradeTemplate *findNonConstUpgradeByKey( NameKeyType key ); ///< find upgrade by name key
-
- void linkUpgrade( UpgradeTemplate *upgrade ); ///< link upgrade to list
- void unlinkUpgrade( UpgradeTemplate *upgrade ); ///< remove upgrade from list
-
- UpgradeTemplate *m_upgradeList; ///< list of all upgrades we can have
- Int m_nextTemplateMaskBit; ///< Each instantiated UpgradeTemplate will be given a Int64 bit as an identifier
- Bool buttonImagesCached;
-
-};
-
-// EXTERNALS //////////////////////////////////////////////////////////////////////////////////////
-extern UpgradeCenter *TheUpgradeCenter;
diff --git a/Generals/Code/GameEngine/Include/Common/encrypt.h b/Generals/Code/GameEngine/Include/Common/encrypt.h
deleted file mode 100644
index e441432f9e6..00000000000
--- a/Generals/Code/GameEngine/Include/Common/encrypt.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: Encrypt.h //////////////////////////////////////////////////////
-// Ancient Westwood Online password encryption (obfuscation?) code
-// Author: Anonymous
-
-#pragma once
-
-// This routine is non-reentrant, as it returns a static buffer!!!
-// Valid input is 4-8 characters, and can contain letters and numbers and '.' and '/'
-
-#define MAX_ENCRYPTED_STRING 8
-
-const char *EncryptString(const char *);
diff --git a/Generals/Code/GameEngine/Include/Common/version.h b/Generals/Code/GameEngine/Include/Common/version.h
deleted file mode 100644
index e4ea743336e..00000000000
--- a/Generals/Code/GameEngine/Include/Common/version.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: version.h //////////////////////////////////////////////////////
-// Generals version number class
-// Author: Matthew D. Campbell, November 2001
-
-#pragma once
-
-#include
-
-/**
- * The Version class formats the version number into integer and string
- * values for different parts of the game.
- * @todo: increment build number on compile, and stamp exe with username
- */
-// TheSuperHackers @tweak The Version class now also provides Git information
-// alongside the original Version information.
-class Version
-{
-public:
- Version();
-
- UnsignedInt getVersionNumber() const; ///< Return a 4-byte integer suitable for WOLAPI
-
- AsciiString getAsciiVersion() const; ///< Return a human-readable game version number
- UnicodeString getUnicodeVersion() const; ///< Return a human-readable game version number. Is decorated with localized string
-
- AsciiString getAsciiBuildTime() const; ///< Return a formatted date/time string for build time
- UnicodeString getUnicodeBuildTime() const; ///< Return a formatted date/time string for build time. Is decorated with localized string
-
- AsciiString getAsciiBuildLocation() const; ///< Return a string with the build location
- UnicodeString getUnicodeBuildLocation() const; ///< Return a string with the build location. Is decorated with localized string
-
- AsciiString getAsciiBuildUser() const; ///< Return a string with the build user
- UnicodeString getUnicodeBuildUser() const; ///< Return a string with the build user. Is decorated with localized string
-
- static Int getGitCommitCount(); ///< Returns the git commit count as a number
- static time_t getGitCommitTime(); ///< Returns the git head commit time as a UTC timestamp
- static const char* getGitCommitAuthorName(); ///< Returns the git head commit author name
-
- AsciiString getAsciiGitCommitCount() const; ///< Returns the git commit count. Is prefixed with ~ if there were uncommitted changes.
- UnicodeString getUnicodeGitCommitCount() const; ///< Returns the git commit count. Is prefixed with ~ if there were uncommitted changes.
-
- AsciiString getAsciiGitTagOrHash() const; ///< Returns the git head commit tag or hash. Is prefixed with ~ if there were uncommitted changes.
- UnicodeString getUnicodeGitTagOrHash() const; ///< Returns the git head commit tag or hash. Is prefixed with ~ if there were uncommitted changes.
-
- AsciiString getAsciiGitShortHash() const; ///< Returns the git head commit short hash. Is prefixed with ~ if there were uncommitted changes.
- UnicodeString getUnicodeGitShortHash() const; ///< Returns the git head commit short hash. Is prefixed with ~ if there were uncommitted changes.
-
- AsciiString getAsciiGitCommitTime() const; ///< Returns the git head commit time in YYYY-mm-dd HH:MM:SS format
- UnicodeString getUnicodeGitCommitTime() const; ///< Returns the git head commit time in YYYY-mm-dd HH:MM:SS format
-
- AsciiString getAsciiGitVersion() const; ///< Returns the git version
- UnicodeString getUnicodeGitVersion() const; ///< Returns the git version
-
- AsciiString getAsciiBuildUserOrGitCommitAuthorName() const;
- UnicodeString getUnicodeBuildUserOrGitCommitAuthorName() const; ///< Is decorated with localized string
-
- UnicodeString getUnicodeProductTitle() const;
- UnicodeString getUnicodeProductVersion() const;
- UnicodeString getUnicodeProductAuthor() const; ///< Is decorated with localized string
- UnicodeString getUnicodeProductString() const; ///< Returns a string that contains product title, version and other, if specified. Is decorated with localized string
- UnicodeString getUnicodeProductVersionHashString() const; ///< Returns a string that contains the product string, game version and hashes. Is decorated with localized string
-
- Bool showFullVersion() const { return m_showFullVersion; }
- void setShowFullVersion( Bool val ) { m_showFullVersion = val; }
-
- void setVersion(Int major, Int minor, Int buildNum,
- Int localBuildNum, AsciiString user, AsciiString location,
- AsciiString buildTime, AsciiString buildDate);
-
-private:
- static AsciiString buildAsciiGitCommitCount();
- static UnicodeString buildUnicodeGitCommitCount();
-
- static AsciiString buildAsciiGitTagOrHash();
- static UnicodeString buildUnicodeGitTagOrHash();
-
- static AsciiString buildAsciiGitShortHash();
- static UnicodeString buildUnicodeGitShortHash();
-
- static AsciiString buildAsciiGitCommitTime();
- static UnicodeString buildUnicodeGitCommitTime();
-
-private:
- Int m_major;
- Int m_minor;
- Int m_buildNum;
- Int m_localBuildNum;
- AsciiString m_buildLocation;
- AsciiString m_buildUser;
- AsciiString m_buildTime;
- AsciiString m_buildDate;
- AsciiString m_asciiGitCommitCount;
- AsciiString m_asciiGitTagOrHash;
- AsciiString m_asciiGitShortHash;
- AsciiString m_asciiGitCommitTime;
- UnicodeString m_unicodeGitCommitCount;
- UnicodeString m_unicodeGitTagOrHash;
- UnicodeString m_unicodeGitShortHash;
- UnicodeString m_unicodeGitCommitTime;
- Bool m_showFullVersion;
-};
-
-extern Version *TheVersion;
diff --git a/Generals/Code/GameEngine/Include/GameClient/Diplomacy.h b/Generals/Code/GameEngine/Include/GameClient/Diplomacy.h
deleted file mode 100644
index 7f2aa04f987..00000000000
--- a/Generals/Code/GameEngine/Include/GameClient/Diplomacy.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: Diplomacy.h /////////////////////////////////////////////////////////////////////////////
-// Author: Matthew D. Campbell, Sept 2002
-//////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-void PopulateInGameDiplomacyPopup();
-void UpdateDiplomacyBriefingText(AsciiString newText, Bool clear);
-
-typedef std::list BriefingList;
-BriefingList* GetBriefingTextList();
diff --git a/Generals/Code/GameEngine/Include/GameClient/EstablishConnectionsMenu.h b/Generals/Code/GameEngine/Include/GameClient/EstablishConnectionsMenu.h
deleted file mode 100644
index 50351552e09..00000000000
--- a/Generals/Code/GameEngine/Include/GameClient/EstablishConnectionsMenu.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-//// EstablishConnectionsMenu.h /////////////////////////
-
-#include "GameNetwork/NetworkDefs.h"
-#include "GameNetwork/NAT.h"
-
-enum EstablishConnectionsMenuStateType CPP_11(: Int) {
- ESTABLISHCONNECTIONSMENUSTATETYPE_SCREENON,
- ESTABLISHCONNECTIONSMENUSTATETYPE_SCREENOFF
-};
-
-class EstablishConnectionsMenu {
-public:
- EstablishConnectionsMenu();
- virtual ~EstablishConnectionsMenu();
-
- void initMenu();
- void endMenu();
- void abortGame();
-
- void setPlayerName(Int slot, UnicodeString name);
- void setPlayerStatus(Int slot, NATConnectionState state);
-
-protected:
- EstablishConnectionsMenuStateType m_menuState;
-
- static const char *const m_playerReadyControlNames[MAX_SLOTS];
- static const char *const m_playerNameControlNames[MAX_SLOTS];
- static const char *const m_playerStatusControlNames[MAX_SLOTS];
-};
-
-extern EstablishConnectionsMenu *TheEstablishConnectionsMenu;
diff --git a/Generals/Code/GameEngine/Include/GameClient/ExtendedMessageBox.h b/Generals/Code/GameEngine/Include/GameClient/ExtendedMessageBox.h
deleted file mode 100644
index 25c13a718f8..00000000000
--- a/Generals/Code/GameEngine/Include/GameClient/ExtendedMessageBox.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ExtendedMessageBox.h /////////////////////////////////////////////////////////////////////
-// Author: Matt Campbell, January 2003
-// Description: We go quiet in 1 day, gold in 15. Poor time to rewrite message boxes, so
-// we get this file instead. Phooey.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "GameClient/GameWindowManager.h"
-
-// return codes for message box callbacks
-enum MessageBoxReturnType CPP_11(: Int) {
- MB_RETURN_CLOSE,
- MB_RETURN_KEEPOPEN
-};
-
-typedef MessageBoxReturnType (* MessageBoxFunc)( void *userData );
-
-// WindowExMessageBoxData ---------------------------------------------------------
-/** Data attached to each extended Message box window */
-//-----------------------------------------------------------------------------
-struct WindowExMessageBoxData
-{
- MessageBoxFunc yesCallback; ///.
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: GameInfoWindow.h ///////////////////////////////////////////////////////////////////////////
-// Created: Chris Huybregts, Feb 2002
-// Desc: Game Info Window Header
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameClient/GameWindow.h"
-#include "GameNetwork/LANGameInfo.h"
-
-// Function Stubs for GameInfoWindow
-extern void CreateLANGameInfoWindow( GameWindow *sizeAndPosWin );
-extern void DestroyGameInfoWindow();
-extern void RefreshGameInfoWindow(GameInfo *gameInfo, UnicodeString gameName);
-extern void HideGameInfoWindow(Bool hide);
diff --git a/Generals/Code/GameEngine/Include/GameClient/MessageBox.h b/Generals/Code/GameEngine/Include/GameClient/MessageBox.h
deleted file mode 100644
index cf5951e0990..00000000000
--- a/Generals/Code/GameEngine/Include/GameClient/MessageBox.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: MessageBox.h /////////////////////////////////////////////////////////////////////////////
-// Author: Chris Huybregts, November 2001
-// Description: Message Box file containing user aliases
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "GameClient/GameWindowManager.h"
-
-GameWindow *MessageBoxYesNo(UnicodeString titleString,UnicodeString bodyString,GameWinMsgBoxFunc yesCallback,GameWinMsgBoxFunc noCallback); ///< convenience function for displaying a Message box with Yes and No buttons
-GameWindow *QuitMessageBoxYesNo(UnicodeString titleString,UnicodeString bodyString,GameWinMsgBoxFunc yesCallback,GameWinMsgBoxFunc noCallback); ///< convenience function for displaying a Message box with Yes and No buttons
-
-
-GameWindow *MessageBoxYesNoCancel(UnicodeString titleString,UnicodeString bodyString, GameWinMsgBoxFunc yesCallback, GameWinMsgBoxFunc noCallback, GameWinMsgBoxFunc cancelCallback);///< convenience function for displaying a Message box with Yes,No and Cancel buttons
-
-
-GameWindow *MessageBoxOkCancel(UnicodeString titleString,UnicodeString bodyString,GameWinMsgBoxFunc okCallback,GameWinMsgBoxFunc cancelCallback);///< convenience function for displaying a Message box with Ok and Cancel buttons
-
-GameWindow *MessageBoxOk(UnicodeString titleString,UnicodeString bodyString,GameWinMsgBoxFunc okCallback);///< convenience function for displaying a Message box with Ok button
-
-
-GameWindow *MessageBoxCancel(UnicodeString titleString,UnicodeString bodyString,GameWinMsgBoxFunc cancelCallback);///< convenience function for displaying a Message box with Cancel button
diff --git a/Generals/Code/GameEngine/Include/GameClient/ShellMenuScheme.h b/Generals/Code/GameEngine/Include/GameClient/ShellMenuScheme.h
deleted file mode 100644
index b5d17347b46..00000000000
--- a/Generals/Code/GameEngine/Include/GameClient/ShellMenuScheme.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ShellMenuScheme.h /////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-//
-// Electronic Arts Pacific.
-//
-// Confidential Information
-// Copyright (C) 2002 - All Rights Reserved
-//
-//-----------------------------------------------------------------------------
-//
-// created: Jul 2002
-//
-// Filename: ShellMenuScheme.h
-//
-// author: Chris Huybregts
-//
-// purpose:
-//
-//-----------------------------------------------------------------------------
-///////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-//-----------------------------------------------------------------------------
-// SYSTEM INCLUDES ////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// USER INCLUDES //////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-#include "GameClient/Color.h"
-
-//-----------------------------------------------------------------------------
-// FORWARD REFERENCES /////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-class Image;
-
-//-----------------------------------------------------------------------------
-// TYPE DEFINES ///////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-class ShellMenuSchemeLine
-{
-public:
- ShellMenuSchemeLine();
- ~ShellMenuSchemeLine();
-
- ICoord2D m_startPos;
- ICoord2D m_endPos;
- Int m_width;
- Color m_color;
-
-};
-
-class ShellMenuSchemeImage
-{
-public:
- ShellMenuSchemeImage();
- ~ShellMenuSchemeImage();
-
- AsciiString m_name; ///< Name of the image
- ICoord2D m_position; ///< the position we'll draw it at
- ICoord2D m_size; ///< the size of the image needed when we draw it
- Image *m_image; ///< the actual pointer to the mapped image
-};
-
-class ShellMenuScheme
-{
-public:
- ShellMenuScheme();
- ~ShellMenuScheme();
-
- void draw();
- void addImage( ShellMenuSchemeImage* schemeImage );
- void addLine( ShellMenuSchemeLine* schemeLine );
-
-
- AsciiString m_name;
-
- typedef std::list< ShellMenuSchemeImage* > ShellMenuSchemeImageList;
- typedef ShellMenuSchemeImageList::iterator ShellMenuSchemeImageListIt;
- ShellMenuSchemeImageList m_imageList;
-
- typedef std::list< ShellMenuSchemeLine* > ShellMenuSchemeLineList;
- typedef ShellMenuSchemeLineList::iterator ShellMenuSchemeLineListIt;
- ShellMenuSchemeLineList m_lineList;
-
-
-
-
-};
-
-class ShellMenuSchemeManager
-{
-public:
- ShellMenuSchemeManager();
- ~ShellMenuSchemeManager();
-
- void init();
- void update();
-
- void setShellMenuScheme( AsciiString name );
-
- void draw();
-
- // parse Functions for the INI file
- const FieldParse *getFieldParse() const { return m_shellMenuSchemeFieldParseTable; } ///< returns the parsing fields
- static const FieldParse m_shellMenuSchemeFieldParseTable[]; ///< the parse table
- static void parseImagePart( INI* ini, void *instance, void *store, const void *userData ); ///< Parse the image part of the INI file
- static void parseLinePart( INI* ini, void *instance, void *store, const void *userData ); ///< Parse the line part of the INI file
-
- ShellMenuScheme *newShellMenuScheme(AsciiString name);
-
-private:
- typedef std::list< ShellMenuScheme* > ShellMenuSchemeList; ///< list of Shell Menu schemes
- typedef ShellMenuSchemeList::iterator ShellMenuSchemeListIt;
- ShellMenuSchemeList m_schemeList;
- ShellMenuScheme *m_currentScheme;
-
-};
-
-
-//-----------------------------------------------------------------------------
-// INLINING ///////////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// EXTERNALS //////////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
diff --git a/Generals/Code/GameEngine/Include/GameLogic/AIDock.h b/Generals/Code/GameEngine/Include/GameLogic/AIDock.h
deleted file mode 100644
index 74f3397dd80..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/AIDock.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// AIDock.h
-// Docking behavior
-// Author: Michael S. Booth, February 2002
-
-#pragma once
-
-#include "Common/GameMemory.h"
-#include "GameLogic/AIStateMachine.h"
-
-/**
- * The states of the Docking state machine.
- */
-enum
-{
- AI_DOCK_APPROACH, ///< given a queue pos, move to it
- AI_DOCK_WAIT_FOR_CLEARANCE, ///< wait for dock to give us enter clearance
- AI_DOCK_ADVANCE_POSITION, ///< Advance in approach position as line moves forward
- AI_DOCK_MOVE_TO_ENTRY, ///< move to the dock entrance
- AI_DOCK_MOVE_TO_DOCK, ///< move to the actual dock position
- AI_DOCK_PROCESS_DOCK, ///< invoke the dock's action until it is done
- AI_DOCK_MOVE_TO_EXIT, ///< move to the dock exit, can exit the dock machine
- AI_DOCK_MOVE_TO_RALLY ///< Move to rally if desired, exit the dock machine no matter what
-};
-
-//-----------------------------------------------------------------------------------------------------------
-/**
- * The docking state machine.
- */
-class AIDockMachine : public StateMachine
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( AIDockMachine, "AIDockMachinePool" );
-
-public:
- /**
- * The implementation of this constructor defines the states
- * used by this machine.
- */
- AIDockMachine( Object *owner );
-
- static Bool ableToAdvance( State *thisState, void* userData ); // Condition for scooting forward in line while waiting
- virtual void halt() override; ///< Stops the state machine & disables it in preparation for deleting it.
-
- Int m_approachPosition; ///< The Approach Position I am holding, to make scoot forward checks quicker.
-
-protected:
- // snapshot interface
- virtual void crc( Xfer *xfer ) override;
- virtual void xfer( Xfer *xfer ) override;
- virtual void loadPostProcess() override;
-
-};
-
-// Please do not use these states in some other machine. I know that wouldn't even make sense, but they
-// cast their getMachine to an AIDock machine to store stuff across states so you'd crash.
-//-----------------------------------------------------------------------------------------------------------
-class AIDockApproachState : public AIInternalMoveToState
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(AIDockApproachState, "AIDockApproachState")
-public:
- AIDockApproachState( StateMachine *machine ) : AIInternalMoveToState( machine, "AIDockApproachState" ) { }
- virtual StateReturnType onEnter() override;
- virtual void onExit( StateExitType status ) override;
- virtual StateReturnType update() override;
-protected:
- // snapshot interface STUBBED.
- virtual void crc( Xfer *xfer ) override {};
- virtual void xfer( Xfer *xfer ) override;
- virtual void loadPostProcess() override {};
-};
-EMPTY_DTOR(AIDockApproachState)
-
-//-----------------------------------------------------------------------------------------------------------
-class AIDockWaitForClearanceState : public State
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(AIDockWaitForClearanceState, "AIDockWaitForClearanceState")
-public:
- AIDockWaitForClearanceState( StateMachine *machine ) : State( machine, "AIDockWaitForClearanceState" ), m_enterFrame(0) { }
- virtual StateReturnType onEnter() override;
- virtual StateReturnType update() override;
- virtual void onExit( StateExitType status ) override;
-protected:
- UnsignedInt m_enterFrame;
-protected:
- // snapshot interface STUBBED.
- virtual void crc( Xfer *xfer ) override {};
- virtual void xfer( Xfer *xfer ) override;
- virtual void loadPostProcess() override {};
-};
-EMPTY_DTOR(AIDockWaitForClearanceState)
-
-//-----------------------------------------------------------------------------------------------------------
-class AIDockAdvancePositionState : public AIInternalMoveToState
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(AIDockAdvancePositionState, "AIDockAdvancePositionState")
-public:
- AIDockAdvancePositionState( StateMachine *machine ) : AIInternalMoveToState( machine, "AIDockApproachState" ) { }
- virtual StateReturnType onEnter() override;
- virtual void onExit( StateExitType status ) override;
- virtual StateReturnType update() override;
-};
-EMPTY_DTOR(AIDockAdvancePositionState)
-
-//-----------------------------------------------------------------------------------------------------------
-class AIDockMoveToEntryState : public AIInternalMoveToState
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(AIDockMoveToEntryState, "AIDockMoveToEntryState")
-public:
- AIDockMoveToEntryState( StateMachine *machine ) : AIInternalMoveToState( machine, "AIDockMoveToEntryState" ) { }
- virtual StateReturnType onEnter() override;
- virtual void onExit( StateExitType status ) override;
- virtual StateReturnType update() override;
-};
-EMPTY_DTOR(AIDockMoveToEntryState)
-
-//-----------------------------------------------------------------------------------------------------------
-class AIDockMoveToDockState : public AIInternalMoveToState
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(AIDockMoveToDockState, "AIDockMoveToDockState")
-public:
- AIDockMoveToDockState( StateMachine *machine ) : AIInternalMoveToState( machine, "AIDockMoveToDockState" ) { }
- virtual StateReturnType onEnter() override;
- virtual void onExit( StateExitType status ) override;
- virtual StateReturnType update() override;
-};
-EMPTY_DTOR(AIDockMoveToDockState)
-
-//-----------------------------------------------------------------------------------------------------------
-class AIDockMoveToRallyState : public AIInternalMoveToState
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(AIDockMoveToRallyState, "AIDockMoveToRallyState")
-public:
- AIDockMoveToRallyState( StateMachine *machine ) : AIInternalMoveToState( machine, "AIDockMoveToRallyState" ) { }
- virtual StateReturnType onEnter() override;
- virtual void onExit( StateExitType status ) override;
- virtual StateReturnType update() override;
-};
-EMPTY_DTOR(AIDockMoveToRallyState)
-
-//-----------------------------------------------------------------------------------------------------------
-class AIDockProcessDockState : public State
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(AIDockProcessDockState, "AIDockProcessDockState")
-public:
- AIDockProcessDockState( StateMachine *machine );
- virtual StateReturnType onEnter() override;
- virtual void onExit( StateExitType status ) override;
- virtual StateReturnType update() override;
-
- void setNextDockActionFrame();//This puts a delay between callings of Action to tweak the speed of docking.
- UnsignedInt m_nextDockActionFrame;// In the unlikely event of saving a game in the middle of docking, you may
- // complete a Action a few frames sooner than you would have: It does not need to be saved.
- Object* findMyDrone();
-
-protected:
- // snapshot interface STUBBED.
- virtual void crc( Xfer *xfer ) override {};
- virtual void xfer( Xfer *xfer ) override {XferVersion cv = 1; XferVersion v = cv; xfer->xferVersion( &v, cv );}
- virtual void loadPostProcess() override {};
-
-private:
- ObjectID m_droneID; ///< If I have a drone, the drone will get repaired too.
-
-};
-EMPTY_DTOR(AIDockProcessDockState)
-
-//-----------------------------------------------------------------------------------------------------------
-class AIDockMoveToExitState : public AIInternalMoveToState
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(AIDockMoveToExitState, "AIDockMoveToExitState")
-public:
- AIDockMoveToExitState( StateMachine *machine ) : AIInternalMoveToState( machine, "AIDockMoveToExitState" ) { }
- virtual StateReturnType onEnter() override;
- virtual void onExit( StateExitType status ) override;
- virtual StateReturnType update() override;
-};
-EMPTY_DTOR(AIDockMoveToExitState)
-
-//-----------------------------------------------------------------------------------------------------------
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/ActiveShroudUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/ActiveShroudUpgrade.h
deleted file mode 100644
index ca89b9064ad..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/ActiveShroudUpgrade.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ActiveShroudUpgrade.h ///////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, July 2002
-// Desc: An upgrade that modifies the object's ShroudRange.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpgradeModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-class Player;
-class ObjectCreationList;
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class ActiveShroudUpgradeModuleData : public UpgradeModuleData
-{
-
-public:
-
- ActiveShroudUpgradeModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- Real m_newShroudRange;
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** An upgrade that modifies the object's ShroudRange */
-//-------------------------------------------------------------------------------------------------
-class ActiveShroudUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( ActiveShroudUpgrade, "ActiveShroudUpgrade" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( ActiveShroudUpgrade, ActiveShroudUpgradeModuleData );
-
-public:
-
- ActiveShroudUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
-protected:
-
- virtual void upgradeImplementation() override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/BoneFXDamage.h b/Generals/Code/GameEngine/Include/GameLogic/Module/BoneFXDamage.h
deleted file mode 100644
index ebe6a5d7017..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/BoneFXDamage.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: BoneFXDamage.h /////////////////////////////////////////////////////////////////////
-// Author: Bryan Cleveland, April 2002
-// Desc: Damage module for the boneFX update module
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// USER INCLUDES //////////////////////////////////////////////////////////////////////////////////
-
-#include "GameLogic/Module/DamageModule.h"
-
-//#include "GameLogic/Module/BodyModule.h" -- Yikes... not necessary to include this! (KM)
-enum BodyDamageType CPP_11(: Int); //Ahhhh much better!
-
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-
-//-------------------------------------------------------------------------------------------------
-class BoneFXDamage : public DamageModule
-{
-
- MAKE_STANDARD_MODULE_MACRO( BoneFXDamage );
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( BoneFXDamage, "BoneFXDamage" )
-
-public:
-
- BoneFXDamage( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- // damage module methods
- virtual void onDamage( DamageInfo *damageInfo ) override { }
- virtual void onHealing( DamageInfo *damageInfo ) override { }
- virtual void onBodyDamageStateChange( const DamageInfo* damageInfo,
- BodyDamageType oldState,
- BodyDamageType newState ) override;
-
-protected:
-
- virtual void onObjectCreated() override;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/BridgeScaffoldBehavior.h b/Generals/Code/GameEngine/Include/GameLogic/Module/BridgeScaffoldBehavior.h
deleted file mode 100644
index dbe0a7fd89e..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/BridgeScaffoldBehavior.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: BridgeScaffoldBehavior.h /////////////////////////////////////////////////////////////////
-// Author: Colin Day, September 2002
-// Desc: Bridge scaffold
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/BehaviorModule.h"
-#include "GameLogic/Module/UpdateModule.h"
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-enum ScaffoldTargetMotion CPP_11(: Int)
-{
- STM_STILL,
- STM_RISE,
- STM_BUILD_ACROSS,
- STM_TEAR_DOWN_ACROSS,
- STM_SINK,
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class BridgeScaffoldBehaviorInterface
-{
-
-public:
-
- virtual void setPositions( const Coord3D *createPos,
- const Coord3D *riseToPos,
- const Coord3D *buildPos ) = 0;
- virtual void setMotion( ScaffoldTargetMotion targetMotion ) = 0;
- virtual ScaffoldTargetMotion getCurrentMotion() = 0;
- virtual void reverseMotion() = 0;
- virtual void setLateralSpeed( Real lateralSpeed ) = 0;
- virtual void setVerticalSpeed( Real verticalSpeed ) = 0;
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class BridgeScaffoldBehavior : public UpdateModule,
- public BridgeScaffoldBehaviorInterface
-{
-
- MAKE_STANDARD_MODULE_MACRO( BridgeScaffoldBehavior );
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( BridgeScaffoldBehavior, "BridgeScaffoldBehavior" )
-
-public:
-
- BridgeScaffoldBehavior( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- // behavior module methods
- virtual BridgeScaffoldBehaviorInterface* getBridgeScaffoldBehaviorInterface() override { return this; }
-
- // update methods
- virtual UpdateSleepTime update() override;
-
- // bridge scaffold interface methods
- virtual void setPositions( const Coord3D *createPos,
- const Coord3D *riseToPos,
- const Coord3D *buildPos ) override;
- virtual void setMotion( ScaffoldTargetMotion targetMotion ) override;
- virtual ScaffoldTargetMotion getCurrentMotion() override { return m_targetMotion; }
- virtual void reverseMotion() override;
- virtual void setLateralSpeed( Real lateralSpeed ) override { m_lateralSpeed = lateralSpeed; }
- virtual void setVerticalSpeed( Real verticalSpeed ) override { m_verticalSpeed = verticalSpeed; }
-
- // public interface acquisition
- static BridgeScaffoldBehaviorInterface *getBridgeScaffoldBehaviorInterfaceFromObject( Object *obj );
-
-protected:
-
- void doVerticalMotion(); ///< do rise/sink vertical motion
- void doLateralmotion(); ///< do lateral motion
-
- ScaffoldTargetMotion m_targetMotion; ///< which way our motion should be going (build up, still, tear down etc)
- Coord3D m_createPos; ///< initial position of object creation (in ground)
- Coord3D m_riseToPos; ///< position we "rise to" out of the ground
- Coord3D m_buildPos; ///< position we move to and stop at on the bridge surface
- Real m_lateralSpeed; ///< speed for lateral motions
- Real m_verticalSpeed; ///< speed for vertical motions
- Coord3D m_targetPos; ///< current target position for our motion type
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/BridgeTowerBehavior.h b/Generals/Code/GameEngine/Include/GameLogic/Module/BridgeTowerBehavior.h
deleted file mode 100644
index 6574318a7c8..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/BridgeTowerBehavior.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: BridgeTowerBehavior.h ////////////////////////////////////////////////////////////////////
-// Author: Colin Day, July 2002
-// Desc: Behavior module for the towers attached to bridges that can be targeted
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// USER INCLUDES //////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/BehaviorModule.h"
-#include "GameLogic/Module/DamageModule.h"
-#include "GameLogic/Module/DieModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class BridgeTowerBehaviorInterface
-{
-
-public:
-
- virtual void setBridge( Object *bridge ) = 0;
- virtual ObjectID getBridgeID() = 0;
- virtual void setTowerType( BridgeTowerType type ) = 0;
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class BridgeTowerBehavior : public BehaviorModule,
- public BridgeTowerBehaviorInterface,
- public DieModuleInterface,
- public DamageModuleInterface
-{
-
- MAKE_STANDARD_MODULE_MACRO( BridgeTowerBehavior );
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( BridgeTowerBehavior, "BridgeTowerBehavior" )
-
-public:
-
- BridgeTowerBehavior( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- static Int getInterfaceMask() { return (MODULEINTERFACE_DAMAGE) | (MODULEINTERFACE_DIE); }
- virtual BridgeTowerBehaviorInterface* getBridgeTowerBehaviorInterface() override { return this; }
-
- virtual void setBridge( Object *bridge ) override;
- virtual ObjectID getBridgeID() override;
- virtual void setTowerType( BridgeTowerType type ) override;
-
- static BridgeTowerBehaviorInterface *getBridgeTowerBehaviorInterfaceFromObject( Object *obj );
-
- // Damage methods
- virtual DamageModuleInterface* getDamage() override { return this; }
- virtual void onDamage( DamageInfo *damageInfo ) override;
- virtual void onHealing( DamageInfo *damageInfo ) override;
- virtual void onBodyDamageStateChange( const DamageInfo* damageInfo,
- BodyDamageType oldState,
- BodyDamageType newState ) override;
-
- // Die methods
- virtual DieModuleInterface* getDie() override { return this; }
- virtual void onDie( const DamageInfo *damageInfo ) override;
-
-protected:
-
- ObjectID m_bridgeID; ///< the bridge we're a part of
- BridgeTowerType m_type; ///< type of tower (positioning) we are
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/CheckpointUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/CheckpointUpdate.h
deleted file mode 100644
index 99228c6c19f..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/CheckpointUpdate.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: CheckpointUpdate.h /////////////////////////////////////////////////////////////////////////////
-// Author: Matthew D. Campbell, April 2002
-// Desc: Reacts when an enemy is within range
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-#include "Common/KindOf.h"
-
-
-//-------------------------------------------------------------------------------------------------
-/** Checkpoint update */
-//-------------------------------------------------------------------------------------------------
-
-//-------------------------------------------------------------------------------------------------
-class CheckpointUpdateModuleData : public UpdateModuleData
-{
-public:
- UnsignedInt m_enemyScanDelayTime;
-
- CheckpointUpdateModuleData()
- {
- m_enemyScanDelayTime = LOGICFRAMES_PER_SECOND;
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- UpdateModuleData::buildFieldParse(p);
- static const FieldParse dataFieldParse[] =
- {
- { "ScanDelayTime", INI::parseDurationUnsignedInt, nullptr, offsetof( CheckpointUpdateModuleData, m_enemyScanDelayTime ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class CheckpointUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( CheckpointUpdate, "CheckpointUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( CheckpointUpdate, CheckpointUpdateModuleData )
-
-public:
-
- CheckpointUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual UpdateSleepTime update() override;
-
-protected:
- Bool m_enemyNear;
- Bool m_allyNear;
- Real m_maxMinorRadius;
-
- UnsignedInt m_enemyScanDelay;
- void checkForAlliesAndEnemies();
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/CleanupHazardUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/CleanupHazardUpdate.h
deleted file mode 100644
index a275b9b4b77..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/CleanupHazardUpdate.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: CleanupHazardUpdate.cpp //////////////////////////////////////////////////////////////////////////
-// Author: Kris Morness, August 2002
-// Desc: Update module to handle independent targeting of hazards to cleanup.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/KindOf.h"
-#include "GameLogic/Module/UpdateModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class ThingTemplate;
-class WeaponTemplate;
-
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class CleanupHazardUpdateModuleData : public ModuleData
-{
-public:
- WeaponSlotType m_weaponSlot;
- UnsignedInt m_scanFrames;
- Real m_scanRange;
-
- CleanupHazardUpdateModuleData();
- static void buildFieldParse(MultiIniFieldParse& p);
-
-private:
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The default update module */
-//-------------------------------------------------------------------------------------------------
-class CleanupHazardUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( CleanupHazardUpdate, "CleanupHazardUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( CleanupHazardUpdate, CleanupHazardUpdateModuleData );
-
-public:
-
- CleanupHazardUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onObjectCreated() override;
- virtual UpdateSleepTime update() override;
-
- Object* scanClosestTarget();
- void fireWhenReady();
-
- void setCleanupAreaParameters( const Coord3D *pos, Real range ); //This allows the unit to cleanup an area until clean, then the AI goes idle.
-
-protected:
-
- ObjectID m_bestTargetID;
- Bool m_inRange;
- Int m_nextScanFrames;
- Int m_nextShotAvailableInFrames;
- const WeaponTemplate *m_weaponTemplate;
-
- //Cleanup area (temporary values).
- Coord3D m_pos;
- Real m_moveRange;
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/CostModifierUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/CostModifierUpgrade.h
deleted file mode 100644
index b062d4690d6..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/CostModifierUpgrade.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: CostModifierUpgrade.h /////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-//
-// Electronic Arts Pacific.
-//
-// Confidential Information
-// Copyright (C) 2002 - All Rights Reserved
-//
-//-----------------------------------------------------------------------------
-//
-// created: Aug 2002
-//
-// Filename: CostModifierUpgrade.h
-//
-// author: Chris Huybregts
-//
-// purpose:
-//
-//-----------------------------------------------------------------------------
-///////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-//-----------------------------------------------------------------------------
-// SYSTEM INCLUDES ////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// USER INCLUDES //////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-#include "GameLogic/Module/UpgradeModule.h"
-#include "Common/KindOf.h"
-//-----------------------------------------------------------------------------
-// FORWARD REFERENCES /////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-class Thing;
-class Player;
-
-//-----------------------------------------------------------------------------
-// TYPE DEFINES ///////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// INLINING ///////////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// EXTERNALS //////////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class CostModifierUpgradeModuleData : public UpgradeModuleData
-{
-
-public:
-
- CostModifierUpgradeModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- Real m_percentage;
- KindOfMaskType m_kindOf;
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The OCL upgrade module */
-//-------------------------------------------------------------------------------------------------
-class CostModifierUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( CostModifierUpgrade, "CostModifierUpgrade" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( CostModifierUpgrade, CostModifierUpgradeModuleData );
-
-public:
-
- CostModifierUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
- virtual void onDelete() override; ///< we have some work to do when this module goes away
- virtual void onCapture( Player *oldOwner, Player *newOwner ) override;
-
-protected:
-
- virtual void upgradeImplementation() override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/CreateCrateDie.h b/Generals/Code/GameEngine/Include/GameLogic/Module/CreateCrateDie.h
deleted file mode 100644
index 5a047c96b64..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/CreateCrateDie.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: CreateCrateDie.h /////////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, February 2002
-// Desc: A chance to create a crate on death according to certain condition checks
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/INI.h"
-#include "GameLogic/Module/DieModule.h"
-#include "Common/STLTypedefs.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class CrateTemplate;
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class CreateCrateDieModuleData : public DieModuleData
-{
-public:
- AsciiStringList m_crateNameList;
-
- CreateCrateDieModuleData()
- {
- m_crateNameList.clear();
- }
- virtual ~CreateCrateDieModuleData() override
- {
- m_crateNameList.clear();
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- DieModuleData::buildFieldParse(p);
-
- static const FieldParse dataFieldParse[] =
- {
- { "CrateData", CreateCrateDieModuleData::parseCrateData, nullptr, 0 },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-
- static void parseCrateData( INI* ini, void *instance, void * /*store*/, const void* /*userData*/ );
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class CreateCrateDie : public DieModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( CreateCrateDie, "CreateCrateDie" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( CreateCrateDie, CreateCrateDieModuleData )
-
-public:
-
- CreateCrateDie( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onDie( const DamageInfo *damageInfo ) override;
-
-private:
- Bool testCreationChance( CrateTemplate const *currentCrateData );
- Bool testVeterancyLevel( CrateTemplate const *currentCrateData );
- Bool testKillerType( CrateTemplate const *currentCrateData, Object *killer );
- Bool testKillerScience( CrateTemplate const *currentCrateData, Object *killer );
-
- Object *createCrate( CrateTemplate const *currentCrateData );
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/CreateModule.h b/Generals/Code/GameEngine/Include/GameLogic/Module/CreateModule.h
deleted file mode 100644
index 5653e86e79b..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/CreateModule.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: CreateModule.h /////////////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, September 2001
-// Desc:
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "Common/Module.h"
-#include "GameLogic/Module/BehaviorModule.h"
-
-//-------------------------------------------------------------------------------------------------
-/** OBJECT CREATE MODULE base class */
-//-------------------------------------------------------------------------------------------------
-class CreateModuleInterface
-{
-public:
- virtual void onCreate() = 0; ///< This is called when you become a code Object
- virtual void onBuildComplete() = 0; ///< This is called when you are a finished game object
- virtual Bool shouldDoOnBuildComplete() const = 0;
-
-};
-
-//-------------------------------------------------------------------------------------------------
-class CreateModuleData : public BehaviorModuleData
-{
-public:
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- BehaviorModuleData::buildFieldParse(p);
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-class CreateModule : public BehaviorModule, public CreateModuleInterface
-{
-
- MEMORY_POOL_GLUE_ABC( CreateModule )
- MAKE_STANDARD_MODULE_MACRO_ABC( CreateModule )
- //MAKE_STANDARD_MODULE_DATA_MACRO_ABC(CreateModule, CreateModuleData)
-
-public:
-
- CreateModule( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
- static Int getInterfaceMask() { return MODULEINTERFACE_CREATE; }
-
- // BehaviorModule
- virtual CreateModuleInterface* getCreate() override { return this; }
-
- virtual void onBuildComplete() override { m_needToRunOnBuildComplete = FALSE; } ///< This is called when you are a finished game object
- virtual Bool shouldDoOnBuildComplete() const override { return m_needToRunOnBuildComplete; }
-
-private:
-
- Bool m_needToRunOnBuildComplete; ///< Prevent the multiple calling of onBuildComplete
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/CrushDie.h b/Generals/Code/GameEngine/Include/GameLogic/Module/CrushDie.h
deleted file mode 100644
index 4d0010ba812..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/CrushDie.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: CrushDie.h /////////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, November 2001
-// Desc: Default die module
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/AudioEventRTS.h"
-#include "Common/INI.h"
-
-#include "GameLogic/Module/DieModule.h"
-
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-enum CrushEnum CPP_11(: Int)
-{
- TOTAL_CRUSH,
- BACK_END_CRUSH,
- FRONT_END_CRUSH,
- NO_CRUSH,
-
- CRUSH_COUNT
-};
-
-//-------------------------------------------------------------------------------------------------
-class CrushDieModuleData : public DieModuleData
-{
-public:
- AudioEventRTS m_crushSounds[CRUSH_COUNT];
- Int m_crushSoundPercent[CRUSH_COUNT];
-
- CrushDieModuleData()
- {
- for (int i = 0; i < CRUSH_COUNT; i++)
- {
- m_crushSoundPercent[i] = 100;
- }
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- DieModuleData::buildFieldParse(p);
-
- static const FieldParse dataFieldParse[] =
- {
- { "TotalCrushSound", INI::parseAudioEventRTS, nullptr, offsetof( CrushDieModuleData, m_crushSounds[TOTAL_CRUSH] ) },
- { "BackEndCrushSound", INI::parseAudioEventRTS, nullptr, offsetof( CrushDieModuleData, m_crushSounds[BACK_END_CRUSH] ) },
- { "FrontEndCrushSound", INI::parseAudioEventRTS, nullptr, offsetof( CrushDieModuleData, m_crushSounds[FRONT_END_CRUSH] ) },
- { "TotalCrushSoundPercent", INI::parseInt, nullptr, offsetof( CrushDieModuleData, m_crushSoundPercent[TOTAL_CRUSH] ) },
- { "BackEndCrushSoundPercent", INI::parseInt, nullptr, offsetof( CrushDieModuleData, m_crushSoundPercent[BACK_END_CRUSH] ) },
- { "FrontEndCrushSoundPercent",INI::parseInt, nullptr, offsetof( CrushDieModuleData, m_crushSoundPercent[FRONT_END_CRUSH] ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-class CrushDie : public DieModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( CrushDie, "CrushDie" )
-
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( CrushDie, CrushDieModuleData );
-
-public:
-
- CrushDie( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onDie( const DamageInfo *damageInfo ) override;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/DamDie.h b/Generals/Code/GameEngine/Include/GameLogic/Module/DamDie.h
deleted file mode 100644
index 56d592ed9cf..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/DamDie.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: DamDie.h /////////////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, April 2002
-// Desc: The big water dam dying
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/DieModule.h"
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class DamDieModuleData : public DieModuleData
-{
-
-public:
-
- DamDieModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class DamDie : public DieModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( DamDie, "DamDie" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( DamDie, DamDieModuleData )
-
-public:
-
- DamDie( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by MemoryPoolObject
-
- virtual void onDie( const DamageInfo *damageInfo ) override;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/DamageModule.h b/Generals/Code/GameEngine/Include/GameLogic/Module/DamageModule.h
deleted file mode 100644
index e749ff2589d..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/DamageModule.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: DamageModule.h /////////////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, September 2001
-// Desc:
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "Common/Module.h"
-#include "GameLogic/Damage.h"
-#include "GameLogic/Module/BehaviorModule.h"
-
-enum BodyDamageType CPP_11(: Int);
-
-//-------------------------------------------------------------------------------------------------
-/** OBJECT DAMAGE MODULE base class */
-//-------------------------------------------------------------------------------------------------
-
-//-------------------------------------------------------------------------------------------------
-class DamageModuleInterface
-{
-
-public:
-
- virtual void onDamage( DamageInfo *damageInfo ) = 0; ///< damage callback
- virtual void onHealing( DamageInfo *damageInfo ) = 0; ///< healing callback
- virtual void onBodyDamageStateChange( const DamageInfo* damageInfo,
- BodyDamageType oldState,
- BodyDamageType newState) = 0; ///< state change callback
-
-};
-
-//-------------------------------------------------------------------------------------------------
-class DamageModuleData : public BehaviorModuleData
-{
-public:
-// DamageTypeFlags m_damageTypes;
-
- DamageModuleData()
-// : m_damageTypes(DAMAGE_TYPE_FLAGS_ALL)
- {
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- BehaviorModuleData::buildFieldParse(p);
-
- static const FieldParse dataFieldParse[] =
- {
-// { "DamageTypes", INI::parseDamageTypeFlags, nullptr, offsetof( DamageModuleData, m_damageTypes ) },
- { 0, 0, 0, 0 }
- };
-
- p.add(dataFieldParse);
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-class DamageModule : public BehaviorModule, public DamageModuleInterface
-{
-
- MEMORY_POOL_GLUE_ABC( DamageModule )
- MAKE_STANDARD_MODULE_MACRO_ABC( DamageModule )
- MAKE_STANDARD_MODULE_DATA_MACRO_ABC( DamageModule, DamageModuleData )
-
-public:
-
- DamageModule( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
- // module methods
- static Int getInterfaceMask() { return MODULEINTERFACE_DAMAGE; }
-
- // BehaviorModule
- virtual DamageModuleInterface* getDamage() override { return this; }
-
-protected:
-
-};
-inline DamageModule::DamageModule( Thing *thing, const ModuleData* moduleData ) : BehaviorModule( thing, moduleData ) { }
-inline DamageModule::~DamageModule() { }
-//-------------------------------------------------------------------------------------------------
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/DeletionUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/DeletionUpdate.h
deleted file mode 100644
index bde4064038f..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/DeletionUpdate.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: DeletionUpdate.h /////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, August 2002
-// Desc: Update that will count down a lifetime and destroy object when it reaches zero
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-
-//-------------------------------------------------------------------------------------------------
-class DeletionUpdateModuleData : public UpdateModuleData
-{
-public:
- UnsignedInt m_minFrames;
- UnsignedInt m_maxFrames;
-
- DeletionUpdateModuleData()
- {
- m_minFrames = 0.0f;
- m_maxFrames = 0.0f;
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- UpdateModuleData::buildFieldParse(p);
- static const FieldParse dataFieldParse[] =
- {
- { "MinLifetime", INI::parseDurationUnsignedInt, nullptr, offsetof( DeletionUpdateModuleData, m_minFrames ) },
- { "MaxLifetime", INI::parseDurationUnsignedInt, nullptr, offsetof( DeletionUpdateModuleData, m_maxFrames ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class DeletionUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( DeletionUpdate, "DeletionUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( DeletionUpdate, DeletionUpdateModuleData )
-
-public:
-
- DeletionUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- void setLifetimeRange( UnsignedInt minFrames, UnsignedInt maxFrames );
- UnsignedInt getDieFrame() { return m_dieFrame; }
-
- virtual UpdateSleepTime update() override;
-
-protected:
-
- UnsignedInt calcSleepDelay(UnsignedInt minFrames, UnsignedInt maxFrames);
-
- UnsignedInt m_dieFrame; ///< frame we die on
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/DestroyModule.h b/Generals/Code/GameEngine/Include/GameLogic/Module/DestroyModule.h
deleted file mode 100644
index c9a450c27cd..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/DestroyModule.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: DestroyModule.h /////////////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, September 2001
-// Desc:
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "Common/Module.h"
-#include "GameLogic/Module/BehaviorModule.h"
-
-//-------------------------------------------------------------------------------------------------
-/** OBJECT DESTROY MODULE base class */
-//-------------------------------------------------------------------------------------------------
-class DestroyModuleInterface
-{
-public:
- virtual void onDestroy() = 0;
-};
-
-//-------------------------------------------------------------------------------------------------
-class DestroyModule : public BehaviorModule, public DestroyModuleInterface
-{
-
- MEMORY_POOL_GLUE_ABC( DestroyModule )
- MAKE_STANDARD_MODULE_MACRO_ABC( DestroyModule )
-
-public:
-
- DestroyModule( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
- static Int getInterfaceMask() { return MODULEINTERFACE_DESTROY; }
-
- // BehaviorModule
- virtual DestroyModuleInterface* getDestroy() override { return this; }
-
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/DieModule.h b/Generals/Code/GameEngine/Include/GameLogic/Module/DieModule.h
deleted file mode 100644
index e81cd9ac748..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/DieModule.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: DieModule.h /////////////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, September 2001
-// Desc:
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "Common/Module.h"
-#include "GameLogic/Damage.h"
-#include "GameLogic/Module/BehaviorModule.h"
-#include "Common/ObjectStatusTypes.h"
-
-//-------------------------------------------------------------------------------------------------
-/** OBJECT DIE MODULE base class */
-//-------------------------------------------------------------------------------------------------
-
-
-//-------------------------------------------------------------------------------------------------
-class DieModuleInterface
-{
-public:
- virtual void onDie( const DamageInfo *damageInfo ) = 0;
-};
-
-//-------------------------------------------------------------------------------------------------
-class DieMuxData // does NOT inherit from ModuleData.
-{
-public:
- DeathTypeFlags m_deathTypes;
- VeterancyLevelFlags m_veterancyLevels;
- ObjectStatusMaskType m_exemptStatus; ///< die module is ignored if any of these status bits are set
- ObjectStatusMaskType m_requiredStatus; ///< die module is ignored if any of these status bits are clear
-
- DieMuxData();
- static const FieldParse* getFieldParse();
-
- Bool isDieApplicable(const Object* obj, const DamageInfo *damageInfo) const;
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-
-//-------------------------------------------------------------------------------------------------
-class DieModuleData : public BehaviorModuleData
-{
-public:
- DieMuxData m_dieMuxData;
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- BehaviorModuleData::buildFieldParse(p);
- p.add(DieMuxData::getFieldParse(), offsetof( DieModuleData, m_dieMuxData ));
- }
-
- Bool isDieApplicable(const Object* obj, const DamageInfo *damageInfo) const { return m_dieMuxData.isDieApplicable(obj, damageInfo); }
-};
-
-//-------------------------------------------------------------------------------------------------
-class DieModule : public BehaviorModule, public DieModuleInterface
-{
-
- MEMORY_POOL_GLUE_ABC( DieModule )
- MAKE_STANDARD_MODULE_MACRO_ABC( DieModule )
- MAKE_STANDARD_MODULE_DATA_MACRO_ABC(DieModule, DieModuleData)
-
-public:
-
- DieModule( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
- static Int getInterfaceMask() { return MODULEINTERFACE_DIE; }
-
- // BehaviorModule
- virtual DieModuleInterface* getDie() override { return this; }
-
-protected:
- Bool isDieApplicable(const DamageInfo *damageInfo) const { return getDieModuleData()->isDieApplicable(getObject(), damageInfo); }
-
-};
-inline DieModule::DieModule( Thing *thing, const ModuleData* moduleData ) : BehaviorModule( thing, moduleData ) { }
-inline DieModule::~DieModule() { }
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/DynamicGeometryInfoUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/DynamicGeometryInfoUpdate.h
deleted file mode 100644
index e78c2b6785b..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/DynamicGeometryInfoUpdate.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: DynamicGeometryInfoUpdate.h //////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, April 2002
-// Desc: Update module that changes the object's GeometryInfo
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/Geometry.h"
-#include "GameLogic/Module/UpdateModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class DynamicGeometryInfoUpdateModuleData : public ModuleData
-{
-public:
-
- UnsignedInt m_initialDelay;
-
- Real m_initialHeight;
- Real m_initialMajorRadius;
- Real m_initialMinorRadius;
-
- Real m_finalHeight;
- Real m_finalMajorRadius;
- Real m_finalMinorRadius;
-
- UnsignedInt m_transitionTime;
-
- Bool m_reverseAtTransitionTime; ///< reverse directions once transition time is reached
-
- // I will go from initial to final in transitionTime frames, smoothly.
- // I won't change type until that is actually needed as a task.
-
- DynamicGeometryInfoUpdateModuleData();
- static void buildFieldParse(MultiIniFieldParse& p);
-
-private:
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The default update module */
-//-------------------------------------------------------------------------------------------------
-class DynamicGeometryInfoUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( DynamicGeometryInfoUpdate, "DynamicGeometryInfoUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( DynamicGeometryInfoUpdate, DynamicGeometryInfoUpdateModuleData );
-
-public:
-
- DynamicGeometryInfoUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual UpdateSleepTime update() override;
-
-protected:
-
- UnsignedInt m_startingDelayCountdown;
- UnsignedInt m_timeActive;
-
- Bool m_started;
- Bool m_finished;
-
- Bool m_reverseAtTransitionTime; ///< do a reverse at transition time
- enum DynamicGeometryDirection { FORWARD = 1, BACKWARD = -1 };
- DynamicGeometryDirection m_direction; ///< direction we're growing/shrinking
- Bool m_switchedDirections; ///< TRUE once we've switched directions
-
- Real m_initialHeight;
- Real m_initialMajorRadius;
- Real m_initialMinorRadius;
- Real m_finalHeight;
- Real m_finalMajorRadius;
- Real m_finalMinorRadius;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/EjectPilotDie.h b/Generals/Code/GameEngine/Include/GameLogic/Module/EjectPilotDie.h
deleted file mode 100644
index ec12757ca32..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/EjectPilotDie.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: EjectPilotDie.h /////////////////////////////////////////////////////////////////////////////
-// Author: Steven Johnson, April 2002
-// Desc: Create object at current object's death
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/DieModule.h"
-#include "Common/INI.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-class ObjectCreationList;
-
-//-------------------------------------------------------------------------------------------------
-class EjectPilotDieModuleData : public DieModuleData
-{
-public:
- const ObjectCreationList* m_oclInAir;
- const ObjectCreationList* m_oclOnGround;
- UnsignedInt m_invulnerableTime;
-
- EjectPilotDieModuleData();
- static void buildFieldParse(MultiIniFieldParse& p);
-};
-
-//-------------------------------------------------------------------------------------------------
-/** When this object dies, create another object in its place */
-//-------------------------------------------------------------------------------------------------
-class EjectPilotDie : public DieModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( EjectPilotDie, "EjectPilotDie" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( EjectPilotDie, EjectPilotDieModuleData );
-
-public:
-
- EjectPilotDie( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- static void ejectPilot(const ObjectCreationList* ocl, const Object* dyingObject, const Object* damageDealer);
-
- virtual void onDie( const DamageInfo *damageInfo ) override;
- virtual DieModuleInterface* getEjectPilotDieInterface() override {return this; }
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/EnemyNearUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/EnemyNearUpdate.h
deleted file mode 100644
index 5e8075ca8fb..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/EnemyNearUpdate.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: EnemyNearUpdate.h /////////////////////////////////////////////////////////////////////////////
-// Author: Matthew D. Campbell, April 2002
-// Desc: Reacts when an enemy is within range
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-#include "Common/KindOf.h"
-
-//-------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class EnemyNearUpdateModuleData : public UpdateModuleData
-{
-public:
- UnsignedInt m_enemyScanDelayTime;
-
- EnemyNearUpdateModuleData()
- {
- m_enemyScanDelayTime = LOGICFRAMES_PER_SECOND;
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- UpdateModuleData::buildFieldParse(p);
- static const FieldParse dataFieldParse[] =
- {
- { "ScanDelayTime", INI::parseDurationUnsignedInt, nullptr, offsetof( EnemyNearUpdateModuleData, m_enemyScanDelayTime ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-/** EnemyNear update */
-//-------------------------------------------------------------------------------------------------
-class EnemyNearUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( EnemyNearUpdate, "EnemyNearUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( EnemyNearUpdate, EnemyNearUpdateModuleData )
-
-public:
-
- EnemyNearUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual UpdateSleepTime update() override;
-
-protected:
-
- UnsignedInt m_enemyScanDelay;
- Bool m_enemyNear;
-
- void checkForEnemies();
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/ExperienceScalarUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/ExperienceScalarUpgrade.h
deleted file mode 100644
index a4bb8c7dea0..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/ExperienceScalarUpgrade.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ExperienceScalarUpgrade.h /////////////////////////////////////////////////////////////////////////////
-// Author: Kris Morness, September 2002
-// Desc: UpgradeModule that adds a scalar to the object's experience gain.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpgradeModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class ExperienceScalarUpgradeModuleData: public UpgradeModuleData
-{
-
-public:
-
- ExperienceScalarUpgradeModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- Real m_addXPScalar;
-
-};
-
-//-------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class ExperienceScalarUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( ExperienceScalarUpgrade, "ExperienceScalarUpgrade" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( ExperienceScalarUpgrade, ExperienceScalarUpgradeModuleData );
-
-public:
-
- ExperienceScalarUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
-protected:
-
- virtual void upgradeImplementation() override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/FireSpreadUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/FireSpreadUpdate.h
deleted file mode 100644
index e636edc17c2..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/FireSpreadUpdate.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: FireSpreadUpdate.h /////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, April 2002
-// Desc: Update looks for ::Aflame and explicitly ignites someone nearby if set
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-
-class ObjectCreationList;
-
-//-------------------------------------------------------------------------------------------------
-class FireSpreadUpdateModuleData : public UpdateModuleData
-{
-public:
- const ObjectCreationList *m_oclEmbers;
- UnsignedInt m_minSpreadTryDelayData;
- UnsignedInt m_maxSpreadTryDelayData;
- Real m_spreadTryRange;
-
- FireSpreadUpdateModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
-private:
-
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class FireSpreadUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( FireSpreadUpdate, "FireSpreadUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( FireSpreadUpdate, FireSpreadUpdateModuleData )
-
-public:
-
- FireSpreadUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual UpdateSleepTime update() override;
-
- void startFireSpreading();
-
-protected:
-
- UnsignedInt calcNextSpreadDelay();
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/FireWeaponCollide.h b/Generals/Code/GameEngine/Include/GameLogic/Module/FireWeaponCollide.h
deleted file mode 100644
index f4d121adf86..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/FireWeaponCollide.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: FireWeaponCollide.h ///////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood April 2002
-// Desc: Shoot something that collides with me every frame with my weapon
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/CollideModule.h"
-#include "GameLogic/Weapon.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Object;
-
-//-------------------------------------------------------------------------------------------------
-class FireWeaponCollideModuleData : public CollideModuleData
-{
-public:
- const WeaponTemplate* m_collideWeaponTemplate;
- ObjectStatusMaskType m_requiredStatus;
- ObjectStatusMaskType m_forbiddenStatus;
- Bool m_fireOnce;
-
- FireWeaponCollideModuleData()
- {
- m_collideWeaponTemplate = nullptr;
- m_fireOnce = FALSE;
- }
-
- static void buildFieldParse(MultiIniFieldParse& p);
-};
-
-//-------------------------------------------------------------------------------------------------
-class FireWeaponCollide : public CollideModule
-{
-
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( FireWeaponCollide, FireWeaponCollideModuleData );
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( FireWeaponCollide, "FireWeaponCollide" )
-
-public:
-
- FireWeaponCollide( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
-protected:
-
- virtual void onCollide( Object *other, const Coord3D *loc, const Coord3D *normal ) override;
-
- virtual Bool shouldFireWeapon();
-
-private:
- Weapon* m_collideWeapon;
- Bool m_everFired;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/FlammableUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/FlammableUpdate.h
deleted file mode 100644
index 9b0b2f3774c..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/FlammableUpdate.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: FlammableUpdate.h /////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, April 2002
-// Desc: Update that manages Aflame and Burned statuses and their effects
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/AudioEventRTS.h"
-#include "GameLogic/Module/DamageModule.h"
-#include "GameLogic/Module/UpdateModule.h"
-
-
-//-------------------------------------------------------------------------------------------------
-enum FlammabilityStatusType CPP_11(: Int)
-{
- // These show the state I last noticed my object was in.
- FS_NORMAL = 0,
- FS_AFLAME,
- FS_BURNED,
-};
-
-//-------------------------------------------------------------------------------------------------
-class FlammableUpdateModuleData : public UpdateModuleData
-{
-public:
- UnsignedInt m_burnedDelay; ///< How long before I am ::Burned. 0 means never
- UnsignedInt m_aflameDuration; ///< How long I stay ::Aflame. Independent of Burned.
- // When aflame wears out is when I check to be normal or burned, So my model can
- // change to burned while I am still aflame.
- UnsignedInt m_aflameDamageDelay; ///< While ::Aflame, I take damage this often. If 0, never.
- Int m_aflameDamageAmount; ///< And this is how much I take.
- AsciiString m_burningSoundName; ///< Sound to loop-play while burning (Not an AudioEventRTS here, since that belongs to the module)
- Real m_flameDamageLimitData;
- UnsignedInt m_flameDamageExpirationDelay;
-
- FlammableUpdateModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
-private:
-
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class FlammableUpdate : public UpdateModule, public DamageModuleInterface
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( FlammableUpdate, "FlammableUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( FlammableUpdate, FlammableUpdateModuleData )
-
-public:
-
- FlammableUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- static Int getInterfaceMask() { return UpdateModule::getInterfaceMask() | (MODULEINTERFACE_DAMAGE); }
- virtual DamageModuleInterface* getDamage() override { return this; }
-
- void tryToIgnite(); ///< FlammabeDamage uses this. It is up to me to decide if I am burnable
- Bool wouldIgnite(); ///< Since we need to cheat sometimes and light something directly, ask if this would light
-
- //UpdateModuleInterface
- virtual UpdateSleepTime update() override;
-
- //DamageModuleInterface
- virtual void onDamage( DamageInfo *damageInfo ) override;
- virtual void onHealing( DamageInfo *damageInfo ) override { }
- virtual void onBodyDamageStateChange( const DamageInfo *damageInfo,
- BodyDamageType oldState,
- BodyDamageType newState ) override { }
-
-protected:
-
- UpdateSleepTime calcSleepTime();
- void doAflameDamage();
- void startBurningSound();
- void stopBurningSound();
-
- FlammabilityStatusType m_status;
- UnsignedInt m_aflameEndFrame;
- UnsignedInt m_burnedEndFrame;
- UnsignedInt m_damageEndFrame;
- AudioHandle m_audioHandle;
- Real m_flameDamageLimit;
- ObjectID m_flameSource;
- UnsignedInt m_lastFlameDamageDealt;
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/FloatUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/FloatUpdate.h
deleted file mode 100644
index f67356a3fb0..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/FloatUpdate.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: FloatUpdate.h ////////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, May 2002
-// Desc: Floating on water update
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-struct FieldParse;
-
-//-------------------------------------------------------------------------------------------------
-class FloatUpdateModuleData: public UpdateModuleData
-{
-
-public:
-
- FloatUpdateModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- Bool m_enabled; ///< enabled
-
-};
-
-//-------------------------------------------------------------------------------------------------
-class FloatUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( FloatUpdate, "FloatUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( FloatUpdate, FloatUpdateModuleData )
-
-public:
-
- FloatUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- void setEnabled( Bool enabled ) { m_enabled = enabled; } ///< enable/disable floating
-
- virtual UpdateSleepTime update() override; ///< Deciding whether or not to make new guys
-
-protected:
-
-
- Bool m_enabled; ///< enabled
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/HealContain.h b/Generals/Code/GameEngine/Include/GameLogic/Module/HealContain.h
deleted file mode 100644
index 4ff851e8d50..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/HealContain.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: HealContain.h ////////////////////////////////////////////////////////////////////////////
-// Author: Colin Day
-// Desc: Objects that are contained inside a heal contain ... get healed! oh my!
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/OpenContain.h"
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class HealContainModuleData : public OpenContainModuleData
-{
-
-public:
-
- HealContainModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- UnsignedInt m_framesForFullHeal; ///< time (in frames) something becomes fully healed
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The healing container ... bright white light ahhhhh goes here */
-//-------------------------------------------------------------------------------------------------
-class HealContain : public OpenContain
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( HealContain, "HealContain" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( HealContain, HealContainModuleData )
-
-public:
-
- HealContain( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual UpdateSleepTime update() override; ///< called once per frame
- virtual Bool isHealContain() const override { return true; } ///< true when container only contains units while healing (not a transport!)
- virtual Bool isTunnelContain() const override { return FALSE; }
-
-protected:
-
- Bool doHeal( Object *obj, UnsignedInt framesForFullHeal ); ///< do the heal on an object
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/HealCrateCollide.h b/Generals/Code/GameEngine/Include/GameLogic/Module/HealCrateCollide.h
deleted file mode 100644
index 7980d83b7eb..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/HealCrateCollide.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: HealCrateCollide.h /////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, March 2002
-// Desc: A crate that heals everything owned by the collider
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/Module.h"
-#include "GameLogic/Module/CrateCollide.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-class HealCrateCollide : public CrateCollide
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( HealCrateCollide, "HealCrateCollide" )
- MAKE_STANDARD_MODULE_MACRO( HealCrateCollide );
-
-public:
-
- HealCrateCollide( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
-protected:
-
- /// This is the game logic execution function that all real CrateCollides will implement
- virtual Bool executeCrateBehavior( Object *other ) override;
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/HeightDieUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/HeightDieUpdate.h
deleted file mode 100644
index f8ff7f5a548..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/HeightDieUpdate.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: HeightDieUpdate.h ////////////////////////////////////////////////////////////////////////
-// Author: Objects that will die when the are a certain height above the terrain or objects
-// Desc: Colin Day, April 2002
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class HeightDieUpdateModuleData: public UpdateModuleData
-{
-
-public:
-
- HeightDieUpdateModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- Real m_targetHeightAboveTerrain; ///< die at this height above terrain
- Bool m_targetHeightIncludesStructures; ///< target height considers terrain AND structure height underneath us
- Bool m_onlyWhenMovingDown; ///< don't detonate unless moving in downward z dir
- Real m_destroyAttachedParticlesAtHeight; ///< HACK, destroy any attached particle system of object when below this height
- Bool m_snapToGroundOnDeath; ///< snap to the ground when killed
- UnsignedInt m_initialDelay; ///< Don't explode before this time
-
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class HeightDieUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( HeightDieUpdate, "HeightDieUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( HeightDieUpdate, HeightDieUpdateModuleData )
-
-public:
-
- HeightDieUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual UpdateSleepTime update() override;
-
-protected:
-
-
- Bool m_hasDied; ///< TRUE once we have triggered death
- Bool m_particlesDestroyed; ///< TRUE once we destroy attached systems (so we do it only once)
- Coord3D m_lastPosition; ///< we record our last position for logic that needs to know our direction of travel
- UnsignedInt m_earliestDeathFrame; ///< Earliest we are allowed to think about dying
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/HighlanderBody.h b/Generals/Code/GameEngine/Include/GameLogic/Module/HighlanderBody.h
deleted file mode 100644
index e938afea293..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/HighlanderBody.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: HighlanderBody.h ////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, November 2002
-// Desc: Takes damage according to armor, but can't die from normal damage. Can die from Unresistable though
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/ActiveBody.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Object;
-
-//-------------------------------------------------------------------------------------------------
-/** Structure body module */
-//-------------------------------------------------------------------------------------------------
-class HighlanderBody : public ActiveBody
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( HighlanderBody, "HighlanderBody" )
- MAKE_STANDARD_MODULE_MACRO( HighlanderBody )
-
-public:
-
- HighlanderBody( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void attemptDamage( DamageInfo *damageInfo ) override; ///< try to damage this object
-
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/HijackerUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/HijackerUpdate.h
deleted file mode 100644
index de0f3ccd841..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/HijackerUpdate.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-//
-// FILE: HijackerUpdate.h /////////////////////////////////////////////////////////////////////////
-// Author: Mark Lorenzen, July 2002
-// Desc: Allows hijacker to keep with his hijacked vehicle (though hidden) until it dies, then
-// to become a hijacker once more
-//
-/////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "GameLogic/Module/UpdateModule.h"
-
-//-------------------------------------------------------------------------------------------------
-class HijackerUpdateModuleData : public UpdateModuleData
-{
-public:
- AsciiString m_attachToBone;
- AsciiString m_parachuteName;
-
- //StickBombUpdateModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- UpdateModuleData::buildFieldParse(p);
- static const FieldParse dataFieldParse[] =
- {
- { "AttachToTargetBone", INI::parseAsciiString, nullptr, offsetof( HijackerUpdateModuleData, m_attachToBone ) },
- { "ParachuteName", INI::parseAsciiString, nullptr, offsetof( HijackerUpdateModuleData, m_parachuteName ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-class HijackerUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( HijackerUpdate, "HijackerUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( HijackerUpdate, HijackerUpdateModuleData )
-
-public:
-
- HijackerUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual UpdateSleepTime update() override; ///< called once per frame
-
- void setTargetObject( const Object *object );
- Object* getTargetObject() const;
- void setUpdate(Bool u ) {m_update = u;}
- void setIsInVehicle(Bool i ) {m_isInVehicle = i;}
-
-private:
-
- ObjectID m_targetID;
- Coord3D m_ejectPos;
- Bool m_update;
- Bool m_isInVehicle;
- Bool m_wasTargetAirborne;
-
-// DieModuleInterface *m_ejectPilotDMI; // point to ejectpilotdiemodule
- // of target vehicle if it has one
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/ImmortalBody.h b/Generals/Code/GameEngine/Include/GameLogic/Module/ImmortalBody.h
deleted file mode 100644
index 3c98e5cf5ae..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/ImmortalBody.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ImmortalBody.h ////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, April 2002
-// Desc: Just like Active Body, but won't let health drop below 1
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/ActiveBody.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Object;
-
-//-------------------------------------------------------------------------------------------------
-/** Structure body module */
-//-------------------------------------------------------------------------------------------------
-class ImmortalBody : public ActiveBody
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( ImmortalBody, "ImmortalBody" )
- MAKE_STANDARD_MODULE_MACRO( ImmortalBody )
-
-public:
-
- ImmortalBody( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void internalChangeHealth( Real delta ) override; ///< change health
-
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/InstantDeathBehavior.h b/Generals/Code/GameEngine/Include/GameLogic/Module/InstantDeathBehavior.h
deleted file mode 100644
index 6a32434efbf..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/InstantDeathBehavior.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: InstantDeathBehavior.h /////////////////////////////////////////////////////////////////////////
-// Author: Steven Johnson, Sep 2002
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/DieModule.h"
-
-class FXList;
-class ObjectCreationList;
-class WeaponTemplate;
-class DamageInfo;
-
-//-------------------------------------------------------------------------------------------------
-typedef std::vector FXListVec;
-typedef std::vector OCLVec;
-typedef std::vector WeaponTemplateVec;
-
-//-------------------------------------------------------------------------------------------------
-class InstantDeathBehaviorModuleData : public DieModuleData
-{
-public:
- FXListVec m_fx;
- OCLVec m_ocls;
- WeaponTemplateVec m_weapons;
-
- InstantDeathBehaviorModuleData();
- static void buildFieldParse(MultiIniFieldParse& p);
-
-private:
-
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class InstantDeathBehavior : public DieModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( InstantDeathBehavior, "InstantDeathBehavior" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( InstantDeathBehavior, InstantDeathBehaviorModuleData )
-
-public:
-
- InstantDeathBehavior( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- // DieModuleInterface
- virtual void onDie( const DamageInfo *damageInfo ) override;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/KeepObjectDie.h b/Generals/Code/GameEngine/Include/GameLogic/Module/KeepObjectDie.h
deleted file mode 100644
index 521599c59f9..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/KeepObjectDie.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: KeepObjectDie.h /////////////////////////////////////////////////////////////////////////////
-// Author: Kris Morness, November 2002
-// Desc: Die module for things that want to leave rubble in the world and don't have other die
-// modules. This fixes civilian buildings that don't have garrison contains. Garrison
-// contains have a die module built in, so these buildings need something. Without it
-// they default to the destroydie module which outright removes the object.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/DieModule.h"
-#include "Common/INI.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-class KeepObjectDie : public DieModule
-{
-
- MAKE_STANDARD_MODULE_MACRO( KeepObjectDie );
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( KeepObjectDie, "KeepObjectDie" )
-
-public:
-
- KeepObjectDie( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onDie( const DamageInfo *damageInfo ) override;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/LifetimeUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/LifetimeUpdate.h
deleted file mode 100644
index c8d56cf82c2..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/LifetimeUpdate.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: LifetimeUpdate.h /////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, December 2001
-// Desc: Update that will count down a lifetime and destroy object when it reaches zero
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-
-//-------------------------------------------------------------------------------------------------
-class LifetimeUpdateModuleData : public UpdateModuleData
-{
-public:
- UnsignedInt m_minFrames;
- UnsignedInt m_maxFrames;
-
- LifetimeUpdateModuleData()
- {
- m_minFrames = 0.0f;
- m_maxFrames = 0.0f;
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- UpdateModuleData::buildFieldParse(p);
- static const FieldParse dataFieldParse[] =
- {
- { "MinLifetime", INI::parseDurationUnsignedInt, nullptr, offsetof( LifetimeUpdateModuleData, m_minFrames ) },
- { "MaxLifetime", INI::parseDurationUnsignedInt, nullptr, offsetof( LifetimeUpdateModuleData, m_maxFrames ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class LifetimeUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( LifetimeUpdate, "LifetimeUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( LifetimeUpdate, LifetimeUpdateModuleData )
-
-public:
-
- LifetimeUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- void setLifetimeRange( UnsignedInt minFrames, UnsignedInt maxFrames );
- UnsignedInt getDieFrame() const { return m_dieFrame; }
-
- virtual UpdateSleepTime update() override;
-
-private:
-
- UnsignedInt calcSleepDelay(UnsignedInt minFrames, UnsignedInt maxFrames);
-
- UnsignedInt m_dieFrame;
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/LocomotorSetUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/LocomotorSetUpgrade.h
deleted file mode 100644
index ebc2344d40c..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/LocomotorSetUpgrade.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: LocomotorSetUpgrade.h /////////////////////////////////////////////////////////////////////////////
-// Author: Steven Johnson, Aug 2002
-// Desc:
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpgradeModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-/** The default die module */
-//-------------------------------------------------------------------------------------------------
-class LocomotorSetUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( LocomotorSetUpgrade, "LocomotorSetUpgrade" )
- MAKE_STANDARD_MODULE_MACRO( LocomotorSetUpgrade );
-
-public:
-
- LocomotorSetUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
-protected:
- virtual void upgradeImplementation( ) override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/MaxHealthUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/MaxHealthUpgrade.h
deleted file mode 100644
index 62c90801186..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/MaxHealthUpgrade.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: MaxHealthUpgrade.h /////////////////////////////////////////////////////////////////////////////
-// Author: Kris Morness, September 2002
-// Desc: UpgradeModule that increases an object's maximum health.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpgradeModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-enum MaxHealthChangeType CPP_11(: Int);
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class MaxHealthUpgradeModuleData: public UpgradeModuleData
-{
-
-public:
-
- MaxHealthUpgradeModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- Real m_addMaxHealth;
- MaxHealthChangeType m_maxHealthChangeType;
-
-};
-
-//-------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class MaxHealthUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( MaxHealthUpgrade, "MaxHealthUpgrade" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( MaxHealthUpgrade, MaxHealthUpgradeModuleData );
-
-public:
-
- MaxHealthUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
-protected:
-
- virtual void upgradeImplementation() override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/MobMemberSlavedUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/MobMemberSlavedUpdate.h
deleted file mode 100644
index 97681fbe5b9..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/MobMemberSlavedUpdate.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// MobMemberSlavedUpdate.h /////////////////////////////////////////////////////////////
-// Will obey to spawner... or die trying... used by angry mob members
-// Author: Mark Lorenzen, August 2002
-
-#pragma once
-
-#define MM_SLAVED_UPDATE_RATE (LOGICFRAMES_PER_SECOND / 8) ///< This is a low priority module that only needs to be called every this many frames
-#define MIN_SQUIRRELLINESS (0.01f)
-#define MAX_SQUIRRELLINESS (1.0f)
-#define CATCH_UP_RADIUS_MAX (50)
-#define CATCH_UP_RADIUS_MIN (25)
-#define DEFAULT_MUST_CATCH_UP_RADIUS (CATCH_UP_RADIUS_MAX)
-#define DEFAULT_NO_NEED_TO_CATCH_UP_RADIUS (CATCH_UP_RADIUS_MIN)
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/INI.h"
-#include "GameLogic/Module/UpdateModule.h"
-class DamageInfo;
-enum ModelConditionFlagType CPP_11(: Int);
-
-//-------------------------------------------------------------------------------------------------
-class MobMemberSlavedUpdateModuleData : public UpdateModuleData
-{
-public:
- //Example: Currently used by scout drones owned by rangers AND stinger soldiers owned by stinger sites.
- Int m_mustCatchUpRadius; //Distance from master I'm allowed when he's idle. If I go too far away, I'll come back.
- Int m_noNeedToCatchUpRadius; //Allowable wander distance from master while guarding master.
- Real m_squirrellinessRatio;
- UnsignedInt m_catchUpCrisisBailTime; //after this many consecutive frames outside the catchup radius, I will teleport to the nexus
-
- MobMemberSlavedUpdateModuleData()
- {
- m_mustCatchUpRadius = DEFAULT_MUST_CATCH_UP_RADIUS;
- m_noNeedToCatchUpRadius = DEFAULT_NO_NEED_TO_CATCH_UP_RADIUS;
- m_squirrellinessRatio = 0;
- m_catchUpCrisisBailTime = 999999;//default to very large number
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- UpdateModuleData::buildFieldParse(p);
- static const FieldParse dataFieldParse[] =
- {
- { "MustCatchUpRadius", INI::parseInt, nullptr, offsetof( MobMemberSlavedUpdateModuleData, m_mustCatchUpRadius ) },
- { "CatchUpCrisisBailTime", INI::parseUnsignedInt, nullptr, offsetof( MobMemberSlavedUpdateModuleData, m_catchUpCrisisBailTime ) },
- { "NoNeedToCatchUpRadius", INI::parseInt, nullptr, offsetof( MobMemberSlavedUpdateModuleData, m_noNeedToCatchUpRadius ) },
- { "Squirrelliness", INI::parseReal, nullptr, offsetof( MobMemberSlavedUpdateModuleData, m_squirrellinessRatio ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-};
-
-
-enum MobStates CPP_11(: Int)
-{
- MOB_STATE_NONE,
- MOB_STATE_IDLE,
- MOB_STATE_CATCHUP_NOW,
- MOB_STATE_CATCHING_UP,
- MOB_STATE_ATTACK,
-};
-
-//-------------------------------------------------------------------------------------------------
-class MobMemberSlavedUpdate : public UpdateModule, public SlavedUpdateInterface
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( MobMemberSlavedUpdate, "MobMemberSlavedUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( MobMemberSlavedUpdate, MobMemberSlavedUpdateModuleData )
-
-public:
-
- MobMemberSlavedUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual SlavedUpdateInterface* getSlavedUpdateInterface() override { return this; }// hee hee... behaves just like slavedupdate
-
- virtual ObjectID getSlaverID() const override { return m_slaver; }
- virtual void onEnslave( const Object *slaver ) override;
- virtual void onSlaverDie( const DamageInfo *info ) override;
- virtual void onSlaverDamage( const DamageInfo *info ) override;
- virtual void onObjectCreated() override;
- virtual Bool isSelfTasking() const override { return m_isSelfTasking; };
-
- void doCatchUpLogic( Coord3D *pinnedPosition );
-
- void setMobState( MobStates state ) { m_mobState = state; };
- MobStates getMobState() { return m_mobState; };
-
-
- virtual UpdateSleepTime update() override; ///< Deciding whether or not to make new guys
-
-private:
- void startSlavedEffects( const Object *slaver ); ///< We have been marked as Slaved, so we can't be selected or move too far or other stuff
- void stopSlavedEffects(); ///< We are no longer slaved.
-
- ObjectID m_slaver; ///< To whom we are enslaved
- Int m_framesToWait;
- MobStates m_mobState;
- RGBColor m_personalColor;
- ObjectID m_primaryVictimID;
- Real m_squirrellinessRatio;
- Bool m_isSelfTasking;
- UnsignedInt m_catchUpCrisisTimer;// how many consecutive frames have I remained outside the catchup radius
- //This is a failsafe to make sure that an individual mobmember does not get isolated from his buddies
- // thus causing the mob to become invincible, since they will continue to bud around the nexus
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h
deleted file mode 100644
index 6cb3902809a..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: NeutronMissileSlowDeathUpdate.h //////////////////////////////////////////////////////////
-// Author: Colin Day, April 2002
-// Desc: Update module for the neutron missile superweapon object
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/SlowDeathBehavior.h"
-
-class FXList;
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-enum NeutronBlast CPP_11(: Int)
-{
- NEUTRON_BLAST_1 = 0,
- NEUTRON_BLAST_2,
- NEUTRON_BLAST_3,
- NEUTRON_BLAST_4,
- NEUTRON_BLAST_5,
- NEUTRON_BLAST_6,
- NEUTRON_BLAST_7,
- NEUTRON_BLAST_8,
- NEUTRON_BLAST_9,
-
- MAX_NEUTRON_BLASTS
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-struct BlastInfo
-{
- Bool enabled; ///< this blast is enabled
- Real delay; ///< delay after death to start the regular blast
- Real scorchDelay; ///< delay after death to start a scorch blast
- Real innerRadius; ///< inner radius of damage
- Real outerRadius; ///< outer radius of damage
- Real maxDamage; ///< max amount
- Real minDamage; ///< any object in the outerradius will always have at least this much damage done
- Real toppleSpeed; ///< speed to topple things at
- Real pushForceMag; ///< magnitude of the physics force to push objects
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class NeutronMissileSlowDeathBehaviorModuleData : public SlowDeathBehaviorModuleData
-{
-
-public:
-
- NeutronMissileSlowDeathBehaviorModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- BlastInfo m_blastInfo[ MAX_NEUTRON_BLASTS ]; ///< blast information
- Real m_scorchSize; ///< size of scorch mark
- const FXList *m_fxList; ///< the actual fx list that creates all the visuals.
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class NeutronMissileSlowDeathBehavior : public SlowDeathBehavior
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( NeutronMissileSlowDeathBehavior, "NeutronMissileSlowDeathBehavior" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( NeutronMissileSlowDeathBehavior, NeutronMissileSlowDeathBehaviorModuleData )
-
-public:
-
- NeutronMissileSlowDeathBehavior( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual UpdateSleepTime update() override; ///< the update call
-
-protected:
-
- void doBlast( const BlastInfo *blastInfo ); ///< do blast
- void doScorchBlast( const BlastInfo *blastInfo ); ///< do a scorch blast ring
-
- UnsignedInt m_activationFrame; ///< frame we were activated on
- Bool m_completedBlasts[ MAX_NEUTRON_BLASTS ]; ///< blasts indexes we've already done
- Bool m_completedScorchBlasts[ MAX_NEUTRON_BLASTS ]; ///< scorch blast indexes we've already done
- Bool m_scorchPlaced; ///< TRUE once we've placed the scorch mark
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectCreationUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectCreationUpgrade.h
deleted file mode 100644
index 62a8a3676e7..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectCreationUpgrade.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ObjectCreationUpgrade.h ///////////////////////////////////////////////////////////////////////////
-// Author: Matthew D. Campbell, April 2002
-// Desc: upgrades that spawn OCLs
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpgradeModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-class Player;
-class ObjectCreationList;
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class ObjectCreationUpgradeModuleData : public UpgradeModuleData
-{
-
-public:
-
- ObjectCreationUpgradeModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- const ObjectCreationList *m_ocl; ///< the object creation list to make
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The OCL upgrade module */
-//-------------------------------------------------------------------------------------------------
-class ObjectCreationUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( ObjectCreationUpgrade, "ObjectCreationUpgrade" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( ObjectCreationUpgrade, ObjectCreationUpgradeModuleData );
-
-public:
-
- ObjectCreationUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
- virtual void onDelete() override; ///< we have some work to do when this module goes away
-
-protected:
-
- virtual void upgradeImplementation() override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectDefectionHelper.h b/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectDefectionHelper.h
deleted file mode 100644
index ea282e7fdd8..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectDefectionHelper.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ObjectDefectionHelper.h //////////////////////////////////////////////////////////////////
-// Author: Steven Johnson, Colin Day - September 202
-// Desc: Object helper - defection
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/ObjectHelper.h"
-
-//-------------------------------------------------------------------------------------------------
-#define DEFECTION_DETECTION_TIME_MAX (LOGICFRAMES_PER_SECOND * 10)
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class ObjectDefectionHelperModuleData : public ModuleData
-{
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class ObjectDefectionHelper : public ObjectHelper
-{
-
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( ObjectDefectionHelper, ObjectDefectionHelperModuleData )
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(ObjectDefectionHelper, "ObjectDefectionHelperPool" )
-
-private:
-
- UnsignedInt m_defectionDetectionStart; ///< this is the timer, mentioned above (absolute frame, NOT counter)
- UnsignedInt m_defectionDetectionEnd; ///< this is the timer, mentioned above (absolute frame, NOT counter)
- Real m_defectionDetectionFlashPhase; ///< keeps track of the flashing rate logarithmic curve
- Bool m_doDefectorFX; ///.
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ObjectHelper.h ///////////////////////////////////////////////////////////////////////////
-// Author: Steven Johnson, Colin Day - September 202
-// Desc: Object helper
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class ObjectHelper : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_ABC( ObjectHelper )
-
-protected:
-
- // snapshot methods
- virtual void crc( Xfer *xfer ) override;
- virtual void xfer( Xfer *xfer ) override;
- virtual void loadPostProcess() override;
-
-public:
-
- ObjectHelper( Thing *thing, const ModuleData *modData ) :
- UpdateModule( thing, modData )
- {
- setWakeFrame(getObject(), UPDATE_SLEEP_FOREVER);
- }
-
- // custom to this class.
- void sleepUntil(UnsignedInt when);
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectRepulsorHelper.h b/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectRepulsorHelper.h
deleted file mode 100644
index 9e4b227a26d..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectRepulsorHelper.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ObjectRepulsorHelper.h ////////////////////////////////////////////////////////////////////////
-// Author: Steven Johnson, December 202
-// Desc: Object helper - Repulsor
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/ObjectHelper.h"
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class ObjectRepulsorHelperModuleData : public ModuleData
-{
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class ObjectRepulsorHelper : public ObjectHelper
-{
-
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( ObjectRepulsorHelper, ObjectRepulsorHelperModuleData )
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(ObjectRepulsorHelper, "ObjectRepulsorHelper" )
-
-public:
-
- ObjectRepulsorHelper( Thing *thing, const ModuleData *modData ) : ObjectHelper( thing, modData ) { }
- // virtual destructor prototype provided by memory pool object
-
- virtual UpdateSleepTime update() override;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectSMCHelper.h b/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectSMCHelper.h
deleted file mode 100644
index 82f22db8462..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectSMCHelper.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ObjectSMCHelper.h ////////////////////////////////////////////////////////////////////////
-// Author: Steven Johnson, Colin Day - September 202
-// Desc: Object helper - SMC
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/ObjectHelper.h"
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class ObjectSMCHelperModuleData : public ModuleData
-{
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class ObjectSMCHelper : public ObjectHelper
-{
-
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( ObjectSMCHelper, ObjectSMCHelperModuleData )
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(ObjectSMCHelper, "ObjectSMCHelperPool" )
-
-public:
-
- ObjectSMCHelper( Thing *thing, const ModuleData *modData ) : ObjectHelper( thing, modData ) { }
- // virtual destructor prototype provided by memory pool object
-
- virtual UpdateSleepTime update() override;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectWeaponStatusHelper.h b/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectWeaponStatusHelper.h
deleted file mode 100644
index 5de48081afd..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/ObjectWeaponStatusHelper.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ObjectWeaponStatusHelper.h ///////////////////////////////////////////////////////////////
-// Author: Steven Johnson, Colin Day - September 202
-// Desc: Object helper - WeaponStatus
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/ThingTemplate.h"
-#include "GameLogic/Object.h"
-#include "GameLogic/Module/ObjectHelper.h"
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class ObjectWeaponStatusHelperModuleData : public ModuleData
-{
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class ObjectWeaponStatusHelper : public ObjectHelper
-{
-
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( ObjectWeaponStatusHelper, ObjectWeaponStatusHelperModuleData )
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(ObjectWeaponStatusHelper, "ObjectWeaponStatusHelperPool" )
-
-protected:
-
- /*
- The ObjectWeaponStatusHelper needs to have its update run after all "normal"
- user update modules, so it redefines this. Please don't redefine this
- for other modules without very careful deliberation. (srj)
- */
- virtual SleepyUpdatePhase getUpdatePhase() const override
- {
- return PHASE_FINAL;
- }
-public:
-
- ObjectWeaponStatusHelper( Thing *thing, const ModuleData *modData ) :
- ObjectHelper( thing, modData )
- {
- // unlike other helpers, this one needs to start active.
- DEBUG_ASSERTCRASH(getObject()->getTemplate()->canPossiblyHaveAnyWeapon(), ("should not be instantiated if we have no weapon"));
- setWakeFrame(getObject(), UPDATE_SLEEP_NONE);
- }
- // virtual destructor prototype provided by memory pool object
-
- virtual UpdateSleepTime update() override
- {
- getObject()->adjustModelConditionForWeaponStatus();
- // unlike other helpers, this one must run every frame.
- return UPDATE_SLEEP_NONE;
- }
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/OverchargeBehavior.h b/Generals/Code/GameEngine/Include/GameLogic/Module/OverchargeBehavior.h
deleted file mode 100644
index 7ad033812b4..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/OverchargeBehavior.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: OverchargeBehavior.h /////////////////////////////////////////////////////////////////////
-// Author: Colin Day, June 2002
-// Desc: Objects with this behavior module will get the ability to produce more power
-// for a short amount of time, during this "overcharge" state object health is
-// slowly reduced
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/BehaviorModule.h"
-#include "GameLogic/Module/DamageModule.h"
-#include "GameLogic/Module/UpdateModule.h"
-
-//-------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class OverchargeBehaviorModuleData : public UpdateModuleData
-{
-
-public:
-
- OverchargeBehaviorModuleData();
-
- static void buildFieldParse( MultiIniFieldParse &p );
-
- Real m_healthPercentToDrainPerSecond; ///< when active, this much health is drained
- Real m_notAllowedWhenHealthBelowPercent; ///< you cannot overcharge when object is below this health %
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class OverchargeBehaviorInterface
-{
-
-public:
-
- virtual void toggle() = 0;
- virtual void enable( Bool enable ) = 0;
- virtual Bool isOverchargeActive() = 0;
-
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class OverchargeBehavior : public UpdateModule,
- public DamageModuleInterface,
- public OverchargeBehaviorInterface
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( OverchargeBehavior, "OverchargeBehavior" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( OverchargeBehavior, OverchargeBehaviorModuleData )
-
-public:
-
- OverchargeBehavior( Thing *thing, const ModuleData *moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- // interface housekeeping
- virtual OverchargeBehaviorInterface* getOverchargeBehaviorInterface() override { return this; }
- static Int getInterfaceMask() { return UpdateModule::getInterfaceMask() | (MODULEINTERFACE_DAMAGE); }
-
- // BehaviorModule
- virtual DamageModuleInterface* getDamage() override { return this; }
-
- // UpdateModuleInterface
- virtual UpdateSleepTime update() override;
-
- // DamageModuleInterface
- virtual void onDamage( DamageInfo *damageInfo ) override;
- virtual void onHealing( DamageInfo *damageInfo ) override { }
- virtual void onBodyDamageStateChange( const DamageInfo *damageInfo,
- BodyDamageType oldState,
- BodyDamageType newState ) override { }
-
-
- // specific methods
- virtual void toggle() override; ///< toggle overcharge on/off
- virtual void enable( Bool enable ) override; ///< turn overcharge on/off
- virtual Bool isOverchargeActive() override { return m_overchargeActive; }
-
- virtual void onDelete() override; ///< we have some work to do when this module goes away
- virtual void onCapture( Player *oldOwner, Player *newOwner ) override; ///< object containing upgrade has changed teams
-
-protected:
-
- Bool m_overchargeActive; ///< Overcharge is currently on/off for this object
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/POWTruckAIUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/POWTruckAIUpdate.h
deleted file mode 100644
index d9aeb3400dd..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/POWTruckAIUpdate.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: POWTruckAIUpdate.h ///////////////////////////////////////////////////////////////////////
-// Author: Colin Day
-// Desc: AI for the POW Truck
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// USER INCLUDES //////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/AIUpdate.h"
-
-#ifdef ALLOW_SURRENDER
-
-// ------------------------------------------------------------------------------------------------
-/** NOTE: If you edit module data you must do it in both the Dozer *AND* the Worker */
-// ------------------------------------------------------------------------------------------------
-class POWTruckAIUpdateModuleData : public AIUpdateModuleData
-{
-
-public:
-
- POWTruckAIUpdateModuleData();
-
- static void buildFieldParse( MultiIniFieldParse &p );
-
- UnsignedInt m_boredTimeInFrames; ///< after this long we seek out targets in AUTOMATIC mode
- Real m_hangAroundPrisonDistance; ///< this close is considered "at the prison" for purposes of waiting
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-enum POWTruckTask CPP_11(: Int) // Stored in save file, do not renumber. jba.
-{
- POW_TRUCK_TASK_WAITING = 0, ///< Waiting for something to do
- POW_TRUCK_TASK_FIND_TARGET = 1, ///< We need to search out a target to collect
- POW_TRUCK_TASK_COLLECTING_TARGET = 2, ///< collecting a targeted POW
- POW_TRUCK_TASK_RETURNING_PRISONERS= 3 ///< return all POWs to base
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class POWTruckAIUpdateInterface
-{
-
-public:
-
- virtual void setTask( POWTruckTask task, Object *taskObject = nullptr ) = 0;
- virtual POWTruckTask getCurrentTask() = 0;
- virtual void loadPrisoner( Object *prisoner ) = 0;
- virtual void unloadPrisonersToPrison( Object *prison ) = 0;
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The Dozer AI Update interface. Dozers are workers that are capable of building all the
- * structures available to a player, as well as repairing building, and fortifying
- * civilian structures */
-//-------------------------------------------------------------------------------------------------
-class POWTruckAIUpdate : public AIUpdateInterface,
- public POWTruckAIUpdateInterface
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( POWTruckAIUpdate, "POWTruckAIUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( POWTruckAIUpdate, POWTruckAIUpdateModuleData )
-
-public:
-
- POWTruckAIUpdate( Thing *thing, const ModuleData *moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onDelete();
- virtual UpdateSleepTime update();
-
- // Pow truck ai interface
- virtual POWTruckAIUpdateInterface *getPOWTruckAIUpdateInterface() { return this; }
- virtual POWTruckTask getCurrentTask() { return m_currentTask; }
- virtual void loadPrisoner( Object *prisoner );
- virtual void unloadPrisonersToPrison( Object *prison );
-
- //
- // the following methods must be overridden so that if a player issues a command the dozer
- // can exit the internal state machine and do whatever the player says
- //
- virtual void aiDoCommand( const AICommandParms *parms );
-
-protected:
-
- virtual void setTask( POWTruckTask task, Object *taskObject = nullptr ); ///< set our current task
-
- enum POWTruckAIMode // Stored in save file, do not renumber. jba.
- {
- AUTOMATIC = 0,
- MANUAL = 1
- };
- virtual void setAIMode( POWTruckAIMode mode ); ///< put truck in automatic or manual mode
-
- virtual void updateWaiting();
- virtual void updateFindTarget();
- virtual void updateCollectingTarget();
- virtual void updateReturnPrisoners();
-
- virtual Bool validateTarget( const Object *target ); ///< is 'target' a valid object to collect
- virtual void doReturnPrisoners(); ///< initiate a return prisoners to base
- virtual void doReturnToPrison( Object *prison ); ///< initiate a return to prison (no prisoner dump off)
- virtual Object *findBestPrison(); ///< find the best prison for us given our current position
- virtual Object *findBestTarget(); ///< find the best prisoner for us given our current situation
-
- // AIUpdateInterface implementations
- virtual void privatePickUpPrisoner( Object *prisoner, CommandSourceType cmdSource );
- virtual void privateReturnPrisoners( Object *prison, CommandSourceType cmdSource );
-
- POWTruckAIMode m_aiMode; ///< Type of AI, automatic or explicitly controlled be player
- POWTruckTask m_currentTask; ///< our current task
- ObjectID m_targetID; ///< Object ID of the target we're going to collect
- ObjectID m_prisonID; ///< Prison we're going back to
- UnsignedInt m_enteredWaitingFrame; ///< frame we entered the waiting task
- UnsignedInt m_lastFindFrame; ///< so that we don't search for targets too much
-
-};
-
-#endif
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/POWTruckBehavior.h b/Generals/Code/GameEngine/Include/GameLogic/Module/POWTruckBehavior.h
deleted file mode 100644
index d6d97311761..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/POWTruckBehavior.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: POWTruckBehavior.h ///////////////////////////////////////////////////////////////////////
-// Author: Colin Day
-// Desc: POW Truck Behavior
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/OpenContain.h"
-
-#ifdef ALLOW_SURRENDER
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class POWTruckBehaviorModuleData : public OpenContainModuleData
-{
-
-public:
-
- POWTruckBehaviorModuleData();
-
- static void buildFieldParse( MultiIniFieldParse &p );
-
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class POWTruckBehavior : public OpenContain
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( POWTruckBehavior, "POWTruckBehavior" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( POWTruckBehavior, POWTruckBehaviorModuleData )
-
-public:
-
- POWTruckBehavior( Thing *thing, const ModuleData *moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- // collide methods
- virtual void onCollide( Object *other, const Coord3D *loc, const Coord3D *normal );
-
-protected:
-
-};
-
-#endif
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/PilotFindVehicleUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/PilotFindVehicleUpdate.h
deleted file mode 100644
index a5dd8a629df..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/PilotFindVehicleUpdate.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: PilotFindVehicleUpdate.cpp //////////////////////////////////////////////////////////////////////////
-// Author: John Ahlquist, Sept. 2002
-// Desc: Update module to handle wounded idle infantry finding a heal unit or structure.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/KindOf.h"
-#include "GameLogic/Module/UpdateModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class ThingTemplate;
-class WeaponTemplate;
-
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class PilotFindVehicleUpdateModuleData : public ModuleData
-{
-public:
- UnsignedInt m_scanFrames;
- Real m_scanRange;
- Real m_minHealth;
-
- PilotFindVehicleUpdateModuleData();
- static void buildFieldParse(MultiIniFieldParse& p);
-
-private:
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The default update module */
-//-------------------------------------------------------------------------------------------------
-class PilotFindVehicleUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( PilotFindVehicleUpdate, "PilotFindVehicleUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( PilotFindVehicleUpdate, PilotFindVehicleUpdateModuleData );
-
-public:
-
- PilotFindVehicleUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onObjectCreated() override;
- virtual UpdateSleepTime update() override;
-
- Object* scanClosestTarget();
-
-protected:
- Bool m_didMoveToBase;
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpdate.h
deleted file mode 100644
index f3388aec980..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpdate.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: PowerPlantUpdate.h ////////////////////////////////////////////////////////////////////////////
-// Author: Amit Kumar, August 2002
-// Desc: Updating the power plant
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// USER INCLUDES //////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class PowerPlantUpdateModuleData : public UpdateModuleData
-{
-
-public:
-
- PowerPlantUpdateModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- UpdateModuleData::buildFieldParse( p );
-
- static const FieldParse dataFieldParse[] =
- {
-
- { "RodsExtendTime", INI::parseDurationUnsignedInt, nullptr, offsetof( PowerPlantUpdateModuleData, m_rodsExtendTime ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
-
- }
-
- UnsignedInt m_rodsExtendTime; ///< in frames, time it takes the rods to be built
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class PowerPlantUpdateInterface
-{
-
-public:
-
- virtual void extendRods( Bool extend ) = 0;
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The Power Plant Update module */
-//-------------------------------------------------------------------------------------------------
-class PowerPlantUpdate : public UpdateModule,
- public PowerPlantUpdateInterface
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( PowerPlantUpdate, "PowerPlantUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( PowerPlantUpdate, PowerPlantUpdateModuleData );
-
-public:
-
- PowerPlantUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
- // interface housekeeping
- virtual PowerPlantUpdateInterface* getPowerPlantUpdateInterface() override { return this; }
-
- virtual void extendRods( Bool extend ) override; ///< extend the rods from this object
- virtual UpdateSleepTime update() override; ///< Here's the actual work of Upgrading
-
-protected:
-
- Bool m_extended; ///< TRUE when extend is all done
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpgrade.h
deleted file mode 100644
index 9ac1324f20e..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/PowerPlantUpgrade.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: PowerPlantUpgrade.h ///////////////////////////////////////////////////////////////////////////
-// Author: Amit Kumar, August 2002
-// Desc: Upgrading a power plant
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpgradeModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-class Player;
-
-//-------------------------------------------------------------------------------------------------
-/** The Power Plant upgrade module */
-//-------------------------------------------------------------------------------------------------
-class PowerPlantUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( PowerPlantUpgrade, "PowerPlantUpgrade" )
- MAKE_STANDARD_MODULE_MACRO( PowerPlantUpgrade );
-
-public:
-
- PowerPlantUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
- virtual void onDelete() override; ///< we have some work to do when this module goes away
- virtual void onCapture( Player *oldOwner, Player *newOwner ) override; ///< object containing upgrade has changed teams
-
-protected:
-
- virtual void upgradeImplementation() override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/PreorderCreate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/PreorderCreate.h
deleted file mode 100644
index 90ea6405535..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/PreorderCreate.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-
-// FILE: PreorderCreate.h /////////////////////////////////////////////////////////////////////////
-// Author: Matthew D. Campbell, December 2002
-// Desc: When a building is created, set the preorder status if necessary
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/CreateModule.h"
-
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-/** PreorderCreate */
-//-------------------------------------------------------------------------------------------------
-class PreorderCreate : public CreateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( PreorderCreate, "PreorderCreate" )
- MAKE_STANDARD_MODULE_MACRO( PreorderCreate )
-
-public:
-
- PreorderCreate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onCreate() override;
- virtual void onBuildComplete() override;
-
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/PrisonDockUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/PrisonDockUpdate.h
deleted file mode 100644
index 49dfd0cc325..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/PrisonDockUpdate.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: PrisonDockUpdate.h ///////////////////////////////////////////////////////////////////////
-// Author: Colin Day, August 2002
-// Desc: Dock update for prison structures
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/GameMemory.h"
-#include "GameLogic/Module/DockUpdate.h"
-
-#ifdef ALLOW_SURRENDER
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class PrisonDockUpdate : public DockUpdate
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( PrisonDockUpdate, "PrisonDockUpdate" )
- MAKE_STANDARD_MODULE_MACRO( PrisonDockUpdate )
-
-public:
-
- PrisonDockUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by MemoryPoolObject base class
- virtual DockUpdateInterface* getDockUpdateInterface() { return this; }
-
- virtual Bool action( Object *docker, Object *drone = nullptr ); ///< for me this means do some Prison
-
-protected:
-
-};
-
-#endif
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/ProneUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/ProneUpdate.h
deleted file mode 100644
index 33acdb44d5d..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/ProneUpdate.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ProneUpdate.h //////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, March 2002
-// Desc: Update module to encapsulate what it means to be "prone"
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-class DamageInfo;
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class ProneUpdateModuleData : public ModuleData
-{
-public:
- Real m_damageToFramesRatio; ///< Conversion from damage dealt to number of frames we cower
-
- ProneUpdateModuleData();
- static void buildFieldParse(MultiIniFieldParse& p);
-
-private:
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The default update module */
-//-------------------------------------------------------------------------------------------------
-class ProneUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( ProneUpdate, "ProneUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( ProneUpdate, ProneUpdateModuleData );
-
-public:
-
- ProneUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- void goProne( const DamageInfo *damageInfo );
-
- virtual UpdateSleepTime update() override;
-
-protected:
-
- void startProneEffects();
- void stopProneEffects();
-
- Int m_proneFrames;
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/PropagandaCenterBehavior.h b/Generals/Code/GameEngine/Include/GameLogic/Module/PropagandaCenterBehavior.h
deleted file mode 100644
index 702c14367b6..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/PropagandaCenterBehavior.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: PropagandaCenterBehavior.h ///////////////////////////////////////////////////////////////
-// Author: Colin Day, August 2002
-// Desc: Propaganda Center Behavior
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/PrisonBehavior.h"
-
-#ifdef ALLOW_SURRENDER
-
-// ------------------------------------------------------------------------------------------------
-typedef std::list< ObjectID > BrainwashedIDList;
-typedef BrainwashedIDList::const_iterator BrainwashedIDListContIterator;
-typedef BrainwashedIDList::iterator BrainwashedIDListIterator;
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class PropagandaCenterBehaviorModuleData : public PrisonBehaviorModuleData
-{
-
-public:
-
- PropagandaCenterBehaviorModuleData();
-
- static void buildFieldParse( MultiIniFieldParse &p );
-
- UnsignedInt m_brainwashDuration; ///< how long (in frames) it takes to become brainwashed
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class PropagandaCenterBehavior : public PrisonBehavior
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( PropagandaCenterBehavior, "PropagandaCenterBehavior" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( PropagandaCenterBehavior, PropagandaCenterBehaviorModuleData )
-
-public:
-
- PropagandaCenterBehavior( Thing *thing, const ModuleData *moduleData );
- // virtual destructor prototype provided by memory pool object
-
- // generic module methods
- virtual void onDelete();
-
- // contain methods
- virtual UpdateSleepTime update();
- virtual void onRemoving( Object *obj );
-
-protected:
-
- ObjectID m_brainwashingSubjectID; ///< who we're currently brainwashing
- UnsignedInt m_brainwashingSubjectStartFrame; ///< frame we started brainwashing
- BrainwashedIDList m_brainwashedList; ///< list of objects we've brainwashed
-
-};
-
-#endif
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/QueueProductionExitUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/QueueProductionExitUpdate.h
deleted file mode 100644
index 639669d4ff9..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/QueueProductionExitUpdate.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: QueueProductionExitUpdate.h /////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, January, 2002
-// Desc: Hand off produced Units to me so I can Exit them into the world with my specific style
-// This instance refuses to spit a second out until the first is clear
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "GameLogic/Module/UpdateModule.h"
-#include "Common/INI.h"
-#include "Lib/BaseType.h"
-
-class Object;
-
-//-------------------------------------------------------------------------------------------------
-class QueueProductionExitUpdateModuleData : public UpdateModuleData
-{
-public:
- Coord3D m_unitCreatePoint;
- Coord3D m_naturalRallyPoint;
- UnsignedInt m_exitDelayData;
- Bool m_allowAirborneCreationData;
- UnsignedInt m_initialBurst;
-
- QueueProductionExitUpdateModuleData()
- {
- m_unitCreatePoint.zero();
- m_naturalRallyPoint.zero();
- m_exitDelayData = 0;
- m_allowAirborneCreationData = FALSE;
- m_initialBurst = 0;
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- UpdateModuleData::buildFieldParse(p);
- static const FieldParse dataFieldParse[] =
- {
- { "UnitCreatePoint", INI::parseCoord3D, nullptr, offsetof( QueueProductionExitUpdateModuleData, m_unitCreatePoint ) },
- { "NaturalRallyPoint", INI::parseCoord3D, nullptr, offsetof( QueueProductionExitUpdateModuleData, m_naturalRallyPoint ) },
- { "ExitDelay", INI::parseDurationUnsignedInt, nullptr, offsetof( QueueProductionExitUpdateModuleData, m_exitDelayData ) },
- { "AllowAirborneCreation", INI::parseBool, nullptr, offsetof( QueueProductionExitUpdateModuleData, m_allowAirborneCreationData ) },
- { "InitialBurst", INI::parseUnsignedInt, nullptr, offsetof( QueueProductionExitUpdateModuleData, m_initialBurst ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-class QueueProductionExitUpdate : public UpdateModule, public ExitInterface
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( QueueProductionExitUpdate, "QueueProductionExitUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( QueueProductionExitUpdate, QueueProductionExitUpdateModuleData )
-
-public:
-
- virtual ExitInterface* getUpdateExitInterface() override { return this; }
-
- QueueProductionExitUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- // Required funcs to fulfill interface requirements
- virtual Bool isExitBusy() const override {return FALSE;} ///< Contain style exiters are getting the ability to space out exits, so ask this before reserveDoor as a kind of no-commitment check.
- virtual ExitDoorType reserveDoorForExit( const ThingTemplate* objType, Object *specificObject ) override;
- virtual void exitObjectViaDoor( Object *newObj, ExitDoorType exitDoor ) override;
- virtual void exitObjectByBudding( Object *newObj, Object *budHost ) override;
- virtual void unreserveDoorForExit( ExitDoorType exitDoor ) override;
-
- virtual void setRallyPoint( const Coord3D *pos ) override; ///< define a "rally point" for units to move towards
- virtual const Coord3D *getRallyPoint() const override; ///< define a "rally point" for units to move towards
- virtual Bool getExitPosition( Coord3D& exitPosition ) const override; ///< access to the "Door" position of the production object
- virtual Bool getNaturalRallyPoint( Coord3D& rallyPoint, Bool offset = TRUE ) const override; ///< get the natural "rally point" for units to move towards
-
- virtual UpdateSleepTime update() override;
-
-protected:
-
- UnsignedInt m_currentDelay; ///< When this hits zero, I can exit again
- Coord3D m_rallyPoint; ///< Where units should move to after they have reached the "natural" rally point
- Bool m_rallyPointExists; ///< Only move to the rally point if this is true
- Real m_creationClearDistance; ///< I can think of myself as ready when the previous guy is this far away.
- UnsignedInt m_currentBurstCount; ///< how many times must I still override the delay timer
-
- Bool isFreeToExit() const;
-};
-
-inline void QueueProductionExitUpdate::setRallyPoint( const Coord3D *pos )
-{
- m_rallyPoint = *pos;
- m_rallyPointExists = true;
-}
-
-inline const Coord3D *QueueProductionExitUpdate::getRallyPoint() const
-{
- if (m_rallyPointExists)
- return &m_rallyPoint;
-
- return nullptr;
-}
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/RadarUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/RadarUpdate.h
deleted file mode 100644
index 6d95c7c144b..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/RadarUpdate.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: RadarUpdate.h ////////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, April 2002
-// Desc: Updating a radar on an object
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// USER INCLUDES //////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class RadarUpdateModuleData : public UpdateModuleData
-{
-
-public:
-
- RadarUpdateModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- UpdateModuleData::buildFieldParse( p );
-
- static const FieldParse dataFieldParse[] =
- {
-
- { "RadarExtendTime", INI::parseDurationReal, nullptr, offsetof( RadarUpdateModuleData, m_radarExtendTime ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
-
- }
-
- Real m_radarExtendTime; ///< in frames, time it takes the radar tower to build
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The Radar Update module */
-//-------------------------------------------------------------------------------------------------
-class RadarUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( RadarUpdate, "RadarUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( RadarUpdate, RadarUpdateModuleData );
-
-public:
-
- RadarUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
- void extendRadar(); ///< extend the radar from this object
- Bool isRadarActive() { return m_radarActive; }
-
- virtual UpdateSleepTime update() override; ///< Here's the actual work of Upgrading
-
-protected:
-
- UnsignedInt m_extendDoneFrame; ///< radar will be done extending on this frame
- Bool m_extendComplete; ///< TRUE when extend is all done
- Bool m_radarActive; ///< TRUE when radar is actually online and generating radar information.
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/RadarUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/RadarUpgrade.h
deleted file mode 100644
index b8bd0748248..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/RadarUpgrade.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: RadarUpgrade.h ///////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, March 2002
-// Desc: Adding a radar upgrade to an object
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpgradeModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-class Player;
-
-//-----------------------------------------------------------------------------
-class RadarUpgradeModuleData : public UpgradeModuleData
-{
-public:
- Bool m_isDisableProof;// Super radar, ignores radarDisabled checks
-
- RadarUpgradeModuleData()
- {
- m_isDisableProof = FALSE;
- }
-
- static void buildFieldParse(MultiIniFieldParse& p);
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The Radar upgrade module */
-//-------------------------------------------------------------------------------------------------
-class RadarUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( RadarUpgrade, "RadarUpgrade" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( RadarUpgrade, RadarUpgradeModuleData );
-
-public:
-
- RadarUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
- virtual void onDelete() override; ///< we have some work to do when this module goes away
- virtual void onCapture( Player *oldOwner, Player *newOwner ) override; ///< object containing upgrade has changed teams
- Bool getIsDisableProof() const { return getRadarUpgradeModuleData()->m_isDisableProof; }
-
-protected:
-
- virtual void upgradeImplementation() override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/RadiusDecalUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/RadiusDecalUpdate.h
deleted file mode 100644
index 2fd30bf2f4f..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/RadiusDecalUpdate.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: RadiusDecalUpdate.h /////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-#include "GameClient/RadiusDecal.h"
-
-//-------------------------------------------------------------------------------------------------
-class RadiusDecalUpdateModuleData : public UpdateModuleData
-{
-public:
- //RadiusDecalTemplate m_deliveryDecalTemplate;
- //Real m_deliveryDecalRadius;
-
- RadiusDecalUpdateModuleData()
- {
- //m_deliveryDecalRadius = 0.0f;
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- UpdateModuleData::buildFieldParse(p);
- static const FieldParse dataFieldParse[] =
- {
- //{ "DeliveryDecal", RadiusDecalTemplate::parseRadiusDecalTemplate, nullptr, offsetof( RadiusDecalUpdateModuleData, m_deliveryDecalTemplate ) },
- //{ "DeliveryDecalRadius", INI::parseReal, nullptr, offsetof( RadiusDecalUpdateModuleData, m_deliveryDecalRadius ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class RadiusDecalUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( RadiusDecalUpdate, "RadiusDecalUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( RadiusDecalUpdate, RadiusDecalUpdateModuleData )
-
-public:
-
- RadiusDecalUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- //void createRadiusDecal( const Coord3D& pos );
- void createRadiusDecal( const RadiusDecalTemplate& tmpl, Real radius, const Coord3D& pos );
- void killWhenNoLongerAttacking(Bool v) { m_killWhenNoLongerAttacking = v; }
- void killRadiusDecal();
-
- virtual UpdateSleepTime update() override;
-
-private:
-
- RadiusDecal m_deliveryDecal;
- Bool m_killWhenNoLongerAttacking;
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/RailedTransportAIUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/RailedTransportAIUpdate.h
deleted file mode 100644
index c9c2dd7e676..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/RailedTransportAIUpdate.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: RailedTransportAIUpdate.h ////////////////////////////////////////////////////////////////
-// Author: Colin Day, August 2002
-// Desc: Railed transport AI
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// USER INCLUDES //////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/AIUpdate.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Waypoint;
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class RailedTransportAIUpdateModuleData : public AIUpdateModuleData
-{
-
-public:
-
- RailedTransportAIUpdateModuleData();
-
- static void buildFieldParse( MultiIniFieldParse &p );
-
- AsciiString m_pathPrefixName; ///< prefix to use for waypont start and end points we'll look for
-
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class RailedTransportAIUpdate : public AIUpdateInterface
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( RailedTransportAIUpdate, "RailedTransportAIUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( RailedTransportAIUpdate, RailedTransportAIUpdateModuleData )
-
-public:
-
- RailedTransportAIUpdate( Thing *thing, const ModuleData *moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- // AIUpdate interface methods
- virtual void aiDoCommand( const AICommandParms *parms ) override;
- virtual UpdateSleepTime update() override;
-
-protected:
-
- // ai module methods
- virtual void privateExecuteRailedTransport( CommandSourceType cmdSource ) override;
- virtual void privateEvacuate( Int exposeStealthUnits, CommandSourceType cmdSource ) override;
-
- // our methods
- void setInTransit( Bool inTransit );
- void loadWaypointData();
- void pickAndMoveToInitialLocation();
-
- // our data
- Bool m_inTransit; ///< in transit
- struct WaypointPathInfo
- {
- UnsignedInt startWaypointID;
- UnsignedInt endWaypointID;
- };
- enum { MAX_WAYPOINT_PATHS = 32 };
- WaypointPathInfo m_path[ MAX_WAYPOINT_PATHS ]; ///< transit paths we can use
- Int m_numPaths; ///< how many waypoint paths are in m_path
- Int m_currentPath; ///< index into m_path for our current path
-
- Bool m_waypointDataLoaded; ///< TRUE once we've searched the map to load m_path
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/RailedTransportContain.h b/Generals/Code/GameEngine/Include/GameLogic/Module/RailedTransportContain.h
deleted file mode 100644
index 24450d5237a..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/RailedTransportContain.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: RailedTransportContain.h /////////////////////////////////////////////////////////////////
-// Author: Colin Day, August 2002
-// Desc: Railed transport contain module
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/TransportContain.h"
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class RailedTransportContain : public TransportContain
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( RailedTransportContain, "RailedTransportContain" )
- MAKE_STANDARD_MODULE_MACRO( RailedTransportContain )
-
-public:
-
- RailedTransportContain( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onRemoving( Object *obj ) override; ///< object no longer contains 'obj'
- virtual void exitObjectViaDoor( Object *newObj, ExitDoorType exitDoor ) override;
- virtual void exitObjectByBudding( Object *newObj, Object *budHost ) override { return; };
-
-protected:
-
- virtual Bool isSpecificRiderFreeToExit( Object *obj ) override;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/RepairDockUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/RepairDockUpdate.h
deleted file mode 100644
index 63bb9357761..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/RepairDockUpdate.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: RepairDockUpdate.h ///////////////////////////////////////////////////////////////////////
-// Author: Colin Day, June 2002
-// Desc: The action of docking with a structure for repairs
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/GameMemory.h"
-#include "GameLogic/Module/SupplyCenterDockUpdate.h"
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class RepairDockUpdateModuleData : public DockUpdateModuleData
-{
-
-public:
-
- RepairDockUpdateModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- Real m_framesForFullHeal; ///< time (in frames) something becomes fully repaired
-
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class RepairDockUpdate : public DockUpdate
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( RepairDockUpdate, "RepairDockUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( RepairDockUpdate, RepairDockUpdateModuleData )
-
-public:
-
- RepairDockUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by MemoryPoolObject base class
-
- virtual DockUpdateInterface* getDockUpdateInterface() override { return this; }
-
- virtual Bool action( Object *docker, Object *drone = nullptr ) override; ///< for me this means do some repair
-
- virtual Bool isRallyPointAfterDockType() override {return TRUE;} ///< A minority of docks want to give you a final command to their rally point
-
-protected:
-
- ObjectID m_lastRepair; ///< object we were repairing last
- Real m_healthToAddPerFrame; ///< health to add per frame to current docked object
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/ShroudCrateCollide.h b/Generals/Code/GameEngine/Include/GameLogic/Module/ShroudCrateCollide.h
deleted file mode 100644
index 1e2e7c49577..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/ShroudCrateCollide.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: ShroudCrateCollide.h /////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, March 2002
-// Desc: A crate that clears the shroud for the pickerupper
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/Module.h"
-#include "GameLogic/Module/CrateCollide.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-class ShroudCrateCollide : public CrateCollide
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( ShroudCrateCollide, "ShroudCrateCollide" )
- MAKE_STANDARD_MODULE_MACRO( ShroudCrateCollide );
-
-public:
-
- ShroudCrateCollide( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
-protected:
-
- /// This is the game logic execution function that all real CrateCollides will implement
- virtual Bool executeCrateBehavior( Object *other ) override;
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/SpawnPointProductionExitUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/SpawnPointProductionExitUpdate.h
deleted file mode 100644
index 98bfa0eb31e..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/SpawnPointProductionExitUpdate.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: SpawnPointProductionExitUpdate.h /////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, April, 2002
-// Desc: Hand off produced Units to me so I can Exit them into the world with my specific style
-// This instance puts guys at named bones.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#include "GameLogic/Module/UpdateModule.h"
-#include "Common/INI.h"
-#include "Lib/BaseType.h"
-
-class Object;
-
-enum
-{
- MAX_SPAWN_POINTS = 10 ///< Size the array that holds the bone positions
-};
-
-//-------------------------------------------------------------------------------------------------
-class SpawnPointProductionExitUpdateModuleData : public UpdateModuleData
-{
-public:
- AsciiString m_spawnPointBoneNameData;
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- UpdateModuleData::buildFieldParse(p);
- static const FieldParse dataFieldParse[] =
- {
- { "SpawnPointBoneName", INI::parseAsciiString, nullptr, offsetof( SpawnPointProductionExitUpdateModuleData, m_spawnPointBoneNameData ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-class SpawnPointProductionExitUpdate : public UpdateModule, public ExitInterface
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( SpawnPointProductionExitUpdate, "SpawnPointProductionExitUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( SpawnPointProductionExitUpdate, SpawnPointProductionExitUpdateModuleData )
-
-public:
-
- virtual ExitInterface* getUpdateExitInterface() override { return this; }
-
- SpawnPointProductionExitUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- // Required funcs to fulfill interface requirements
- virtual Bool isExitBusy() const override {return FALSE;} ///< Contain style exiters are getting the ability to space out exits, so ask this before reserveDoor as a kind of no-commitment check.
- virtual ExitDoorType reserveDoorForExit( const ThingTemplate* objType, Object *specificObject ) override;
- virtual void exitObjectViaDoor( Object *newObj, ExitDoorType exitDoor ) override;
- virtual void unreserveDoorForExit( ExitDoorType exitDoor ) override;
- virtual void setRallyPoint( const Coord3D * ) override {}
- virtual const Coord3D *getRallyPoint() const override { return nullptr; }
- virtual void exitObjectByBudding( Object *newObj, Object *budHost ) override { return; }
-
- virtual UpdateSleepTime update() override { return UPDATE_SLEEP_FOREVER; }
-
-protected:
- Bool m_bonesInitialized; ///< To prevent creation bugs, only init the World coords when first asked for one
- Int m_spawnPointCount; ///< How many in the array are actually live and valid
- Coord3D m_worldCoordSpawnPoints[MAX_SPAWN_POINTS];///< Where my little friends will be created
- Real m_worldAngleSpawnPoints[MAX_SPAWN_POINTS]; ///< And what direction they should face
- ObjectID m_spawnPointOccupier[MAX_SPAWN_POINTS]; ///< Who I think is in each spot. I can validate their existence to see if I am free to exit something.
-
- // Required func to fulfill Module requirement
-
-private:
- void initializeBonePositions(); ///< Look up the bone positions and store them in world space coords
- void revalidateOccupiers(); ///< Do a lookup on all our ID's and clear the dead ones.
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/SpecialAbility.h b/Generals/Code/GameEngine/Include/GameLogic/Module/SpecialAbility.h
deleted file mode 100644
index 2142fb7b68e..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/SpecialAbility.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: Special Ability.h ///////////////////////////////////////////////////////////////
-// Author: Kris Morness, July 2002
-// Desc: This is the class that handles processing of any special attack from a unit. There are
-// many different styles and rules for various attacks.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// USER INCLUDES //////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/SpecialPowerModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Object;
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class SpecialAbilityModuleData : public SpecialPowerModuleData
-{
- // nothing
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class SpecialAbility : public SpecialPowerModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( SpecialAbility, "SpecialAbility" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( SpecialAbility, SpecialAbilityModuleData )
-
-public:
-
- SpecialAbility( Thing *thing, const ModuleData *moduleData );
-
- virtual void doSpecialPowerAtObject( Object *obj, UnsignedInt commandOptions ) override;
- virtual void doSpecialPowerAtLocation( const Coord3D *loc, Real angle, UnsignedInt commandOptions ) override;
- virtual void doSpecialPower( UnsignedInt commandOptions ) override;
-
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCompletionDie.h b/Generals/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCompletionDie.h
deleted file mode 100644
index 789ce9f576f..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCompletionDie.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: SpecialPowerCompletionDie.h //////////////////////////////////////////////////////////////
-// Author: Matthew D. Campbell, May 2002
-// Desc: Die method responsible for telling TheScriptEngine that a special power has been completed
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/INI.h"
-#include "GameLogic/Module/DieModule.h"
-
-class SpecialPowerTemplate;
-
-//-------------------------------------------------------------------------------------------------
-class SpecialPowerCompletionDieModuleData : public DieModuleData
-{
-public:
- SpecialPowerTemplate *m_specialPowerTemplate; ///< pointer to the special power template
-
- SpecialPowerCompletionDieModuleData()
- {
- m_specialPowerTemplate = nullptr;
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- DieModuleData::buildFieldParse(p);
-
- static const FieldParse dataFieldParse[] =
- {
- { "SpecialPowerTemplate", INI::parseSpecialPowerTemplate, nullptr, offsetof( SpecialPowerCompletionDieModuleData, m_specialPowerTemplate ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
-
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-/** Special power completion die */
-//-------------------------------------------------------------------------------------------------
-class SpecialPowerCompletionDie : public DieModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( SpecialPowerCompletionDie, "SpecialPowerCompletionDie" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( SpecialPowerCompletionDie, SpecialPowerCompletionDieModuleData )
-
-public:
-
- SpecialPowerCompletionDie( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
- void setCreator( ObjectID creatorID );
- void notifyScriptEngine();
-
- virtual void onDie( const DamageInfo *damageInfo ) override;
-
-protected:
-
- ObjectID m_creatorID;
- Bool m_creatorSet;
-
-};
-
-// Creator is stored as ID, so a failed lookup just means that he died first and noone cares that we are going.
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCreate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCreate.h
deleted file mode 100644
index 8ee4e95e106..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/SpecialPowerCreate.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: SpecialPowerCreate.h /////////////////////////////////////////////////////////////////////////////
-// Author: Matthew D. Campbell, May 2002
-// Desc: When a building is created, tell special powers to start counting down
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/CreateModule.h"
-
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-/** SpecialPowerCreate */
-//-------------------------------------------------------------------------------------------------
-class SpecialPowerCreate : public CreateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( SpecialPowerCreate, "SpecialPowerCreate" )
- MAKE_STANDARD_MODULE_MACRO( SpecialPowerCreate )
-
-public:
-
- SpecialPowerCreate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onCreate() override;
- virtual void onBuildComplete() override; ///< This is called when you are a finished game object
-
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/SpyVisionSpecialPower.h b/Generals/Code/GameEngine/Include/GameLogic/Module/SpyVisionSpecialPower.h
deleted file mode 100644
index 61e5e81dd7e..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/SpyVisionSpecialPower.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: SpyVisionSpecialPower.h /////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, September 2002
-// Desc: Special Power will spy on the vision of all enemy players.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/SpecialPowerModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class FXList;
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class SpyVisionSpecialPowerModuleData : public SpecialPowerModuleData
-{
-
-public:
-
- SpyVisionSpecialPowerModuleData();
-
- static void buildFieldParse( MultiIniFieldParse& p );
-
- UnsignedInt m_baseDurationInFrames; ///< duration of the demoralization (in frames)
- UnsignedInt m_bonusDurationPerCapturedInFrames; ///< additional duration added for each prisoner we have
- UnsignedInt m_maxDurationInFrames; ///< no matter how many prisoners we have, this is max
-
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class SpyVisionSpecialPower : public SpecialPowerModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( SpyVisionSpecialPower, "SpyVisionSpecialPower" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( SpyVisionSpecialPower, SpyVisionSpecialPowerModuleData )
-
-public:
-
- SpyVisionSpecialPower( Thing *thing, const ModuleData *moduleData );
- // virtual destructor prototype provided by memory pool object
-
- virtual void doSpecialPower( UnsignedInt commandOptions ) override;
-
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/SquishCollide.h b/Generals/Code/GameEngine/Include/GameLogic/Module/SquishCollide.h
deleted file mode 100644
index 86548e4ac18..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/SquishCollide.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: SquishCollide.h ////////////////////////////////////////////////////////////////////////////
-// Author: Steven Johnson, Jan 2002
-// Desc: Topple collide module
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/CollideModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-/** The tank collide module */
-//-------------------------------------------------------------------------------------------------
-class SquishCollide : public CollideModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( SquishCollide, "SquishCollide" )
- MAKE_STANDARD_MODULE_MACRO( SquishCollide );
-
-public:
-
- SquishCollide( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- /// This collide method gets called when collision occur
- virtual void onCollide( Object *other, const Coord3D *loc, const Coord3D *normal ) override;
-
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/StatusBitsUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/StatusBitsUpgrade.h
deleted file mode 100644
index f7fe50aac42..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/StatusBitsUpgrade.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: StatusBitsUpgrade.h /////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-//
-// Electronic Arts Pacific.
-//
-// Confidential Information
-// Copyright (C) 2002 - All Rights Reserved
-//
-//-----------------------------------------------------------------------------
-//
-// created: May 2002
-//
-// Filename: StatusBitsUpgrade.h
-//
-// author: Steven Johnson
-//
-// purpose:
-//
-//-----------------------------------------------------------------------------
-///////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-//-----------------------------------------------------------------------------
-// SYSTEM INCLUDES ////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// USER INCLUDES //////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-#include "GameLogic/Module/UpgradeModule.h"
-#include "Common/ObjectStatusTypes.h"
-
-//-----------------------------------------------------------------------------
-// FORWARD REFERENCES /////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-class Thing;
-
-//-----------------------------------------------------------------------------
-// TYPE DEFINES ///////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-class StatusBitsUpgradeModuleData : public UpgradeModuleData
-{
-public:
- ObjectStatusMaskType m_statusToSet;
- ObjectStatusMaskType m_statusToClear;
-
- StatusBitsUpgradeModuleData()
- {
- }
-
- static void buildFieldParse(MultiIniFieldParse& p);
-};
-
-//-----------------------------------------------------------------------------
-class StatusBitsUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( StatusBitsUpgrade, "StatusBitsUpgrade" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( StatusBitsUpgrade, StatusBitsUpgradeModuleData );
-
-public:
-
- StatusBitsUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
-protected:
- virtual void upgradeImplementation( ) override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-};
-
-//-----------------------------------------------------------------------------
-// INLINING ///////////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// EXTERNALS //////////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/StructureBody.h b/Generals/Code/GameEngine/Include/GameLogic/Module/StructureBody.h
deleted file mode 100644
index c9e0da3ad69..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/StructureBody.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: StructureBody.h //////////////////////////////////////////////////////////////////////////
-// Author: Colin Day, November 2001
-// Desc: Structure bodies are active bodies specifically for structures that are built
-// and/or interactable (is that a world) with the player.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/ActiveBody.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Object;
-
-//-------------------------------------------------------------------------------------------------
-class StructureBodyModuleData : public ActiveBodyModuleData
-{
-public:
-
- StructureBodyModuleData(){}
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- ActiveBodyModuleData::buildFieldParse(p);
- static const FieldParse dataFieldParse[] =
- {
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-/** Structure body module */
-//-------------------------------------------------------------------------------------------------
-class StructureBody : public ActiveBody
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( StructureBody, "StructureBody" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( StructureBody, StructureBodyModuleData )
-
-public:
-
- StructureBody( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- void setConstructorObject( Object *obj );
- ObjectID getConstructorObjectID() { return m_constructorObjectID; }
-
-protected:
-
- ObjectID m_constructorObjectID; ///< object that built this structure
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/SubObjectsUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/SubObjectsUpgrade.h
deleted file mode 100644
index 6a68c82869a..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/SubObjectsUpgrade.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: SubObjectsUpgrade.h /////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-//
-// Electronic Arts Pacific.
-//
-// Confidential Information
-// Copyright (C) 2002 - All Rights Reserved
-//
-//-----------------------------------------------------------------------------
-//
-// Created: September 2002
-//
-// Filename: SubObjectsUpgrade.cpp
-//
-// Author: Kris Morness
-//
-// Purpose: Shows or hides a list of subobjects based on upgrade statii. It
-// will override any animation subobjects states.
-//
-//-----------------------------------------------------------------------------
-///////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-//-----------------------------------------------------------------------------
-// USER INCLUDES //////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-#include "GameLogic/Module/UpgradeModule.h"
-
-//-----------------------------------------------------------------------------
-// FORWARD REFERENCES /////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-class Thing;
-
-//-----------------------------------------------------------------------------
-class SubObjectsUpgradeModuleData : public UpgradeModuleData
-{
-public:
- std::vector m_showSubObjectNames;
- std::vector m_hideSubObjectNames;
-
- SubObjectsUpgradeModuleData(){}
-
- static void buildFieldParse(MultiIniFieldParse& p);
-};
-
-//-----------------------------------------------------------------------------
-class SubObjectsUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( SubObjectsUpgrade, "SubObjectsUpgrade" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( SubObjectsUpgrade, SubObjectsUpgradeModuleData );
-
-public:
-
- SubObjectsUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
-protected:
- virtual void upgradeImplementation( ) override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return true; }
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyCenterCreate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyCenterCreate.h
deleted file mode 100644
index 0bc93489578..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyCenterCreate.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: SupplyCenterCreate.h /////////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood Feb 2002
-// Desc: When a Supply Center is created, it needs to update all the Resource brains in all players
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/CreateModule.h"
-
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-/** SupplyWarehouseCreate */
-//-------------------------------------------------------------------------------------------------
-class SupplyCenterCreate : public CreateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( SupplyCenterCreate, "SupplyCenterCreate" )
- MAKE_STANDARD_MODULE_MACRO( SupplyCenterCreate )
-
-public:
-
- SupplyCenterCreate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onCreate() override;
- virtual void onBuildComplete() override; ///< This is called when you are a finished game object
-
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCreate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCreate.h
deleted file mode 100644
index e408e6dec7d..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCreate.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: SupplyWarehouseCreate.h /////////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood Feb 2002
-// Desc: When a Supply Warehouse is created, it needs to update all the Resource brains in all players
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/CreateModule.h"
-
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-/** SupplyWarehouseCreate */
-//-------------------------------------------------------------------------------------------------
-class SupplyWarehouseCreate : public CreateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( SupplyWarehouseCreate, "SupplyWarehouseCreate" )
- MAKE_STANDARD_MODULE_MACRO( SupplyWarehouseCreate )
-
-public:
-
- SupplyWarehouseCreate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onCreate() override;
-
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h b/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h
deleted file mode 100644
index 70d03dc6bd8..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseCripplingBehavior.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: SupplyWarehouseCripplingBehavior.h /////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, Septemmber 2002
-// Desc: Behavior that Disables the building on ReallyDamaged edge state, and manages an Update timer to heal
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/BehaviorModule.h"
-#include "GameLogic/Module/DamageModule.h"
-#include "GameLogic/Module/UpdateModule.h"
-
-
-//-------------------------------------------------------------------------------------------------
-class SupplyWarehouseCripplingBehaviorModuleData : public UpdateModuleData
-{
-public:
- UnsignedInt m_selfHealSupression; ///< Time since last damage until I can start to heal
- UnsignedInt m_selfHealDelay; ///< Once I am okay to heal, how often to do so
- Real m_selfHealAmount; ///< And how much
-
- SupplyWarehouseCripplingBehaviorModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
-private:
-
-};
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class SupplyWarehouseCripplingBehavior : public UpdateModule,
- public DamageModuleInterface
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( SupplyWarehouseCripplingBehavior, "SupplyWarehouseCripplingBehavior" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( SupplyWarehouseCripplingBehavior, SupplyWarehouseCripplingBehaviorModuleData )
-
-public:
-
- SupplyWarehouseCripplingBehavior( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- static Int getInterfaceMask() { return UpdateModule::getInterfaceMask() | (MODULEINTERFACE_DAMAGE); }
-
- // BehaviorModule
- virtual DamageModuleInterface* getDamage() override { return this; }
-
- // DamageModuleInterface
- virtual void onDamage( DamageInfo *damageInfo ) override;
- virtual void onHealing( DamageInfo *damageInfo ) override {}
- virtual void onBodyDamageStateChange(const DamageInfo* damageInfo, BodyDamageType oldState, BodyDamageType newState) override;
-
- // UpdateInterface
- virtual UpdateSleepTime update() override;
-
-protected:
- virtual void resetSelfHealSupression();// Reset our able to heal timer, as we took damage
- virtual void startCrippledEffects();//Disable our object
- virtual void stopCrippledEffects();//Enable our object
-
-private:
- UnsignedInt m_healingSupressedUntilFrame;
- UnsignedInt m_nextHealingFrame;
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseDockUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseDockUpdate.h
deleted file mode 100644
index 1a37a717ec9..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/SupplyWarehouseDockUpdate.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: SupplyWarehouseDockUpdate.h /////////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood Feb 2002
-// Desc: The action of this dock update is identifying who is docking and either taking Boxes away or giving them
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/INI.h"
-#include "Common/GameMemory.h"
-#include "GameLogic/Module/DockUpdate.h"
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class SupplyWarehouseDockUpdateModuleData : public DockUpdateModuleData
-{
-public:
-
- SupplyWarehouseDockUpdateModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- Int m_startingBoxesData;
- Bool m_deleteWhenEmpty;
-};
-
-//-------------------------------------------------------------------------------------------------
-class SupplyWarehouseDockUpdate : public DockUpdate
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( SupplyWarehouseDockUpdate, "SupplyWarehouseDockUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( SupplyWarehouseDockUpdate, SupplyWarehouseDockUpdateModuleData )
-
-public:
-
- virtual DockUpdateInterface* getDockUpdateInterface() override { return this; }
-
- SupplyWarehouseDockUpdate( Thing *thing, const ModuleData* moduleData );
-
- virtual void setDockCrippled( Bool setting ) override; ///< Game Logic can set me as inoperative. I get to decide what that means.
- virtual Bool action( Object* docker, Object *drone = nullptr ) override; ///.
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: TensileFormationUpdate.h ////////////////////////////////////////////////////////////////////////////
-// Author: Mark Lorenzen, November 2002
-// Desc: Springy formation movement like that of say, an avalanche
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpdateModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-struct FieldParse;
-
-//-------------------------------------------------------------------------------------------------
-class TensileFormationUpdateModuleData: public UpdateModuleData
-{
-
-public:
-
- TensileFormationUpdateModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- Bool m_enabled; ///< enabled
- AudioEventRTS m_crackSound;
-
-};
-
-//-------------------------------------------------------------------------------------------------
-class TensileFormationUpdate : public UpdateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( TensileFormationUpdate, "TensileFormationUpdate" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( TensileFormationUpdate, TensileFormationUpdateModuleData )
-
-public:
-
- TensileFormationUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- void setEnabled( Bool enabled ) { m_enabled = enabled; } ///< enable/disable formation
- virtual UpdateSleepTime update() override; ///< Deciding whether or not to make new guys
-
-protected:
-
- void propagateDislodgement( Bool enabled );
- void initLinks();
-
- struct TensileLink
- {
- ObjectID id;
- Coord3D tensor;
- };
-
- TensileLink m_links[4];//standard textile algorithm
- Coord3D m_inertia;
- Bool m_enabled; ///< enabled
- Bool m_linksInited;
- UnsignedInt m_motionlessCounter;
- UnsignedInt m_life;
- Real m_lowestSlideElevation;
-
- AudioEventRTS m_crackSound;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/UnitCrateCollide.h b/Generals/Code/GameEngine/Include/GameLogic/Module/UnitCrateCollide.h
deleted file mode 100644
index 8586ebfa7b2..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/UnitCrateCollide.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: UnitCrateCollide.h /////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, March 2002
-// Desc: A crate that gives n units of type m the the pickerupper
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/Module.h"
-#include "GameLogic/Module/CrateCollide.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-class UnitCrateCollideModuleData : public CrateCollideModuleData
-{
-public:
- UnsignedInt m_unitCount;
- AsciiString m_unitType;
-
- UnitCrateCollideModuleData()
- {
- m_unitCount = 0;
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- CrateCollideModuleData::buildFieldParse(p);
-
- static const FieldParse dataFieldParse[] =
- {
- { "UnitCount", INI::parseUnsignedInt, nullptr, offsetof( UnitCrateCollideModuleData, m_unitCount ) },
- { "UnitName", INI::parseAsciiString, nullptr, offsetof( UnitCrateCollideModuleData, m_unitType ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
-
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-class UnitCrateCollide : public CrateCollide
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( UnitCrateCollide, "UnitCrateCollide" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( UnitCrateCollide, UnitCrateCollideModuleData );
-
-public:
-
- UnitCrateCollide( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- /// This is the game logic execution function that all real CrateCollides will implement
- virtual Bool executeCrateBehavior( Object *other ) override;
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h
deleted file mode 100644
index d02631f1372..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: UnpauseSpecialPowerUpgrade.h ///////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, August 2002
-// Desc: An upgrade that starts the timer on a Special Power module, so you can have them
-// dependent on upgrades on the logic side, like NEED_UPGRADE does on the client side by disabling
-// the button.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpgradeModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class SpecialPowerTemplate;
-
-//-------------------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------------------
-class UnpauseSpecialPowerUpgradeModuleData : public UpgradeModuleData
-{
-
-public:
-
- UnpauseSpecialPowerUpgradeModuleData();
-
- static void buildFieldParse(MultiIniFieldParse& p);
-
- const SpecialPowerTemplate *m_specialPower;
-
-};
-
-//-------------------------------------------------------------------------------------------------
-/** The OCL upgrade module */
-//-------------------------------------------------------------------------------------------------
-class UnpauseSpecialPowerUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( UnpauseSpecialPowerUpgrade, "UnpauseSpecialPowerUpgrade" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( UnpauseSpecialPowerUpgrade, UnpauseSpecialPowerUpgradeModuleData );
-
-public:
-
- UnpauseSpecialPowerUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
-protected:
-
- virtual void upgradeImplementation() override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/UpgradeDie.h b/Generals/Code/GameEngine/Include/GameLogic/Module/UpgradeDie.h
deleted file mode 100644
index 4cf0a53e845..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/UpgradeDie.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: UpgradeDie.h /////////////////////////////////////////////////////////////////////////////
-// Author: Kris Morness, August 2002
-// Desc: Free's producer's upgrade (assuming this object was created via an upgrade).
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/INI.h"
-#include "GameLogic/Module/DieModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class UpgradeDieModuleData : public DieModuleData
-{
-public:
- AsciiString m_upgradeName;
-
- UpgradeDieModuleData(){}
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
-
- DieModuleData::buildFieldParse(p);
-
- static const FieldParse dataFieldParse[] =
- {
- { "UpgradeToRemove", INI::parseAsciiString, nullptr, offsetof( UpgradeDieModuleData, m_upgradeName ) },
- { 0, 0, 0, 0 }
- };
-
- p.add(dataFieldParse);
- }
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class UpgradeDie : public DieModule
-{
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( UpgradeDie, "UpgradeDie" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( UpgradeDie, UpgradeDieModuleData )
-
-public:
-
- UpgradeDie( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- virtual void onDie( const DamageInfo *damageInfo ) override;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/VeterancyCrateCollide.h b/Generals/Code/GameEngine/Include/GameLogic/Module/VeterancyCrateCollide.h
deleted file mode 100644
index 4673da2b9c5..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/VeterancyCrateCollide.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: VeterancyCrateCollide.h /////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, March 2002
-// Desc: A crate that gives a level of experience to all within n distance
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/Module.h"
-#include "GameLogic/Module/CrateCollide.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-class VeterancyCrateCollideModuleData : public CrateCollideModuleData
-{
-public:
- UnsignedInt m_rangeOfEffect;
- Bool m_addsOwnerVeterancy;
- Bool m_isPilot;
-
- VeterancyCrateCollideModuleData()
- {
- m_rangeOfEffect = 0;
- m_addsOwnerVeterancy = false;
- m_isPilot = false;
- }
-
- static void buildFieldParse(MultiIniFieldParse& p)
- {
- CrateCollideModuleData::buildFieldParse(p);
-
- static const FieldParse dataFieldParse[] =
- {
- { "EffectRange", INI::parseUnsignedInt, nullptr, offsetof( VeterancyCrateCollideModuleData, m_rangeOfEffect ) },
- { "AddsOwnerVeterancy", INI::parseBool, nullptr, offsetof( VeterancyCrateCollideModuleData, m_addsOwnerVeterancy ) },
- { "IsPilot", INI::parseBool, nullptr, offsetof( VeterancyCrateCollideModuleData, m_isPilot ) },
- { 0, 0, 0, 0 }
- };
- p.add(dataFieldParse);
-
- }
-};
-
-//-------------------------------------------------------------------------------------------------
-class VeterancyCrateCollide : public CrateCollide
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( VeterancyCrateCollide, "VeterancyCrateCollide" )
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( VeterancyCrateCollide, VeterancyCrateCollideModuleData );
-
-public:
-
- VeterancyCrateCollide( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
-protected:
-
- /// This allows specific vetoes to certain types of crates and their data
- virtual Bool isValidToExecute( const Object *other ) const override;
-
- /// This is the game logic execution function that all real CrateCollides will implement
- virtual Bool executeCrateBehavior( Object *other ) override;
-
- Int getLevelsToGain() const;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/VeterancyGainCreate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/VeterancyGainCreate.h
deleted file mode 100644
index 13fff283183..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/VeterancyGainCreate.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: VeterancyGainCreate.h //////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, August 2002
-// Desc: On creation, will set Object's veterancy level if required Science is present.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-#define DEFINE_VETERANCY_NAMES
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "Common/GameCommon.h"
-#include "Common/Science.h"
-#include "GameLogic/Module/CreateModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-class VeterancyGainCreateModuleData : public CreateModuleData
-{
-public:
- VeterancyLevel m_startingLevel; ///< Level to set Object at
- ScienceType m_scienceRequired; ///< The science you must have to trigger this
-
- VeterancyGainCreateModuleData();
- static void buildFieldParse(MultiIniFieldParse& p);
-};
-
-// ------------------------------------------------------------------------------------------------
-// ------------------------------------------------------------------------------------------------
-class VeterancyGainCreate : public CreateModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( VeterancyGainCreate, "VeterancyGainCreate" );
- MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( VeterancyGainCreate, VeterancyGainCreateModuleData );
-
-public:
-
- VeterancyGainCreate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
- /// the create method
- virtual void onCreate() override;
-
-protected:
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/WanderAIUpdate.h b/Generals/Code/GameEngine/Include/GameLogic/Module/WanderAIUpdate.h
deleted file mode 100644
index 3c8f1017e2f..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/WanderAIUpdate.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// WanderAIUpdate.h //////////
-// Will give self random move commands
-// Author: Graham Smallwood, April 2002
-
-#pragma once
-
-#include "GameLogic/Module/AIUpdate.h"
-
-//-------------------------------------------------------------------------------------------------
-/**
- * Soldier behavior implementation.
- * Override or extend AIUpdate methods to customize the Soldier's behavior.
- */
-class WanderAIUpdate : public AIUpdateInterface
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( WanderAIUpdate, "WanderAIUpdate" )
- MAKE_STANDARD_MODULE_MACRO( WanderAIUpdate )
-
- /*
- IMPORTANT NOTE: if you ever add module data to this, you must have it inherit from
- AIUpdateModuleData to allow locomotors to work correctly. (see SupplyTruckAIUpdate
- for an example.)
- */
-
- virtual UpdateSleepTime update() override;
-
-public:
-
- WanderAIUpdate( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype provided by memory pool declaration
-
-
-protected:
-
- virtual AIStateMachine* makeStateMachine() override;
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/WeaponBonusUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/WeaponBonusUpgrade.h
deleted file mode 100644
index 855eefa2142..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/WeaponBonusUpgrade.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: WeaponBonusUpgrade.h /////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-//
-// Electronic Arts Pacific.
-//
-// Confidential Information
-// Copyright (C) 2002 - All Rights Reserved
-//
-//-----------------------------------------------------------------------------
-//
-// created: May 2002
-//
-// Filename: WeaponBonusUpgrade.h
-//
-// author: Chris Huybregts
-//
-// purpose:
-//
-//-----------------------------------------------------------------------------
-///////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-//-----------------------------------------------------------------------------
-// SYSTEM INCLUDES ////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// USER INCLUDES //////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-#include "GameLogic/Module/UpgradeModule.h"
-
-//-----------------------------------------------------------------------------
-// FORWARD REFERENCES /////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-class Thing;
-
-//-----------------------------------------------------------------------------
-// TYPE DEFINES ///////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-class WeaponBonusUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( WeaponBonusUpgrade, "WeaponBonusUpgrade" )
- MAKE_STANDARD_MODULE_MACRO( WeaponBonusUpgrade );
-
-public:
-
- WeaponBonusUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
-protected:
- virtual void upgradeImplementation( ) override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-};
-
-//-----------------------------------------------------------------------------
-// INLINING ///////////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// EXTERNALS //////////////////////////////////////////////////////////////////
-//-----------------------------------------------------------------------------
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Module/WeaponSetUpgrade.h b/Generals/Code/GameEngine/Include/GameLogic/Module/WeaponSetUpgrade.h
deleted file mode 100644
index e88e87dc6fa..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Module/WeaponSetUpgrade.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: WeaponSetUpgrade.h /////////////////////////////////////////////////////////////////////////////
-// Author: Graham Smallwood, March 2002
-// Desc: UpgradeModule that sets a weapon set bit for the Best Fit weapon set chooser to discover
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
-#include "GameLogic/Module/UpgradeModule.h"
-
-// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
-class Thing;
-
-//-------------------------------------------------------------------------------------------------
-/** The default die module */
-//-------------------------------------------------------------------------------------------------
-class WeaponSetUpgrade : public UpgradeModule
-{
-
- MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( WeaponSetUpgrade, "WeaponSetUpgrade" )
- MAKE_STANDARD_MODULE_MACRO( WeaponSetUpgrade );
-
-public:
-
- WeaponSetUpgrade( Thing *thing, const ModuleData* moduleData );
- // virtual destructor prototype defined by MemoryPoolObject
-
-protected:
- virtual void upgradeImplementation( ) override; ///< Here's the actual work of Upgrading
- virtual Bool isSubObjectsUpgrade() override { return false; }
-
-};
diff --git a/Generals/Code/GameEngine/Include/GameLogic/Squad.h b/Generals/Code/GameEngine/Include/GameLogic/Squad.h
deleted file mode 100644
index 9ed357edec0..00000000000
--- a/Generals/Code/GameEngine/Include/GameLogic/Squad.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-** Command & Conquer Generals(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-// FILE: Sqaud.h
-/*---------------------------------------------------------------------------*/
-/* EA Pacific */
-/* Confidential Information */
-/* Copyright (C) 2001 - All Rights Reserved */
-/* DO NOT DISTRIBUTE */
-/*---------------------------------------------------------------------------*/
-/* Project: RTS3 */
-/* File name: Sqaud.h */
-/* Created: John K. McDonald, Jr., 4/19/2002 */
-/* Desc: // @todo */
-/* Revision History: */
-/* 4/19/2002 : Initial creation */
-/*---------------------------------------------------------------------------*/
-
-#pragma once
-
-// INCLUDES ///////////////////////////////////////////////////////////////////
-#include "Common/Snapshot.h"
-#include "Common/GameMemory.h"
-
-// DEFINES ////////////////////////////////////////////////////////////////////
-
-// FORWARD DECLARATIONS ///////////////////////////////////////////////////////
-class AIGroup;
-class Object;
-class Team;
-
-
-// TYPE DEFINES ///////////////////////////////////////////////////////////////
-typedef std::vector VecObjectID;
-typedef VecObjectID::iterator VecObjectIDIt;
-
-typedef std::vector