From 4269a1b0fc9ff2cf0d2452c7993c60c68247e937 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Fri, 13 Mar 2026 15:28:45 -0700 Subject: [PATCH] Consolidate extension forward declarations into extensions/fwd.h Remove unused `using namespace Extensions` from isleapp.cpp and replace per-header forward declaration blocks in 7 LEGO1 headers with a single shared forward declarations header. Co-Authored-By: Claude Opus 4.6 --- ISLE/isleapp.cpp | 2 -- LEGO1/lego/legoomni/include/isle.h | 6 +---- .../legoomni/include/legoanimationmanager.h | 5 +--- .../legoomni/include/legobuildingmanager.h | 5 +--- .../legoomni/include/legocharactermanager.h | 8 +------ .../lego/legoomni/include/legoinputmanager.h | 6 +---- .../lego/legoomni/include/legonavcontroller.h | 8 +------ .../lego/legoomni/include/legoplantmanager.h | 5 +--- extensions/include/extensions/fwd.h | 23 +++++++++++++++++++ 9 files changed, 30 insertions(+), 38 deletions(-) create mode 100644 extensions/include/extensions/fwd.h diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index d8239451..9440fa8e 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -92,8 +92,6 @@ #include #endif -using namespace Extensions; - DECOMP_SIZE_ASSERT(IsleApp, 0x8c) // GLOBAL: ISLE 0x410030 diff --git a/LEGO1/lego/legoomni/include/isle.h b/LEGO1/lego/legoomni/include/isle.h index ca9185af..bc794582 100644 --- a/LEGO1/lego/legoomni/include/isle.h +++ b/LEGO1/lego/legoomni/include/isle.h @@ -2,6 +2,7 @@ #define ISLE_H #include "actionsfwd.h" +#include "extensions/fwd.h" #include "legogamestate.h" #include "legonamedplane.h" #include "legostate.h" @@ -23,11 +24,6 @@ class RaceCar; class SkateBoard; class TowTrack; -namespace Multiplayer -{ -class WorldStateSync; -} - // VTABLE: LEGO1 0x100d7028 // VTABLE: BETA10 0x101b9d40 // SIZE 0x26c diff --git a/LEGO1/lego/legoomni/include/legoanimationmanager.h b/LEGO1/lego/legoomni/include/legoanimationmanager.h index d2795512..4990ed60 100644 --- a/LEGO1/lego/legoomni/include/legoanimationmanager.h +++ b/LEGO1/lego/legoomni/include/legoanimationmanager.h @@ -2,6 +2,7 @@ #define LEGOANIMATIONMANAGER_H #include "decomp.h" +#include "extensions/fwd.h" #include "lego1_export.h" #include "legolocations.h" #include "legomain.h" @@ -20,10 +21,6 @@ class LegoROIList; struct LegoOrientedEdge; class LegoWorld; class MxDSAction; -namespace Multiplayer -{ -class NetworkManager; -} // SIZE 0x30 struct ModelInfo { diff --git a/LEGO1/lego/legoomni/include/legobuildingmanager.h b/LEGO1/lego/legoomni/include/legobuildingmanager.h index 6d2d4f86..d8422695 100644 --- a/LEGO1/lego/legoomni/include/legobuildingmanager.h +++ b/LEGO1/lego/legoomni/include/legobuildingmanager.h @@ -2,6 +2,7 @@ #define LEGOBUILDINGMANAGER_H #include "decomp.h" +#include "extensions/fwd.h" #include "lego1_export.h" #include "misc/legotypes.h" #include "mxcore.h" @@ -12,10 +13,6 @@ class LegoStorage; class LegoWorld; class LegoCacheSound; class LegoPathBoundary; -namespace Multiplayer -{ -class WorldStateSync; -} // SIZE 0x2c struct LegoBuildingInfo { diff --git a/LEGO1/lego/legoomni/include/legocharactermanager.h b/LEGO1/lego/legoomni/include/legocharactermanager.h index 7f247fc0..1b34b757 100644 --- a/LEGO1/lego/legoomni/include/legocharactermanager.h +++ b/LEGO1/lego/legoomni/include/legocharactermanager.h @@ -2,6 +2,7 @@ #define LEGOCHARACTERMANAGER_H #include "decomp.h" +#include "extensions/fwd.h" #include "mxstl/stlcompat.h" #include "mxtypes.h" #include "mxvariable.h" @@ -13,13 +14,6 @@ class LegoActor; class LegoExtraActor; class LegoStorage; class LegoROI; -namespace Extensions -{ -namespace Common -{ -class CharacterCloner; -} -} // namespace Extensions #pragma warning(disable : 4237) diff --git a/LEGO1/lego/legoomni/include/legoinputmanager.h b/LEGO1/lego/legoomni/include/legoinputmanager.h index acc408fd..79ca4edd 100644 --- a/LEGO1/lego/legoomni/include/legoinputmanager.h +++ b/LEGO1/lego/legoomni/include/legoinputmanager.h @@ -2,6 +2,7 @@ #define LEGOINPUTMANAGER_H #include "decomp.h" +#include "extensions/fwd.h" #include "lego1_export.h" #include "legoeventnotificationparam.h" #include "mxlist.h" @@ -26,11 +27,6 @@ class LegoCameraController; class LegoControlManager; class LegoWorld; -namespace Extensions -{ -class MultiplayerExt; -} - extern MxS32 g_clickedObjectId; extern const char* g_clickedAtom; diff --git a/LEGO1/lego/legoomni/include/legonavcontroller.h b/LEGO1/lego/legoomni/include/legonavcontroller.h index ab87ac6f..5401f971 100644 --- a/LEGO1/lego/legoomni/include/legonavcontroller.h +++ b/LEGO1/lego/legoomni/include/legonavcontroller.h @@ -2,18 +2,12 @@ #define __LEGONAVCONTROLLER_H #include "decomp.h" +#include "extensions/fwd.h" #include "mxcore.h" #include "mxtypes.h" struct LegoLocation; class Vector3; -namespace Extensions -{ -namespace ThirdPersonCamera -{ -class OrbitCamera; -} -} // namespace Extensions ////////////////////////////////////////////////////////////////////////////// // diff --git a/LEGO1/lego/legoomni/include/legoplantmanager.h b/LEGO1/lego/legoomni/include/legoplantmanager.h index 2fa53ccd..9b3b1cd9 100644 --- a/LEGO1/lego/legoomni/include/legoplantmanager.h +++ b/LEGO1/lego/legoomni/include/legoplantmanager.h @@ -2,6 +2,7 @@ #define LEGOPLANTMANAGER_H #include "decomp.h" +#include "extensions/fwd.h" #include "legomain.h" #include "mxcore.h" @@ -11,10 +12,6 @@ struct LegoPlantInfo; class LegoROI; class LegoStorage; class LegoWorld; -namespace Multiplayer -{ -class WorldStateSync; -} // VTABLE: LEGO1 0x100d6758 // SIZE 0x2c diff --git a/extensions/include/extensions/fwd.h b/extensions/include/extensions/fwd.h new file mode 100644 index 00000000..3b4d1fd9 --- /dev/null +++ b/extensions/include/extensions/fwd.h @@ -0,0 +1,23 @@ +#ifndef EXTENSIONS_FWD_H +#define EXTENSIONS_FWD_H + +namespace Extensions +{ +class MultiplayerExt; +namespace Common +{ +class CharacterCloner; +} +namespace ThirdPersonCamera +{ +class OrbitCamera; +} +} // namespace Extensions + +namespace Multiplayer +{ +class NetworkManager; +class WorldStateSync; +} // namespace Multiplayer + +#endif // EXTENSIONS_FWD_H