From c8ef7c3e1ca4e0a81f1a89c8d61945a672031500 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Fri, 3 May 2024 07:37:21 -0400 Subject: [PATCH] Use more forward declarations --- LEGO1/lego/legoomni/include/helicopter.h | 3 ++- LEGO1/lego/legoomni/include/legoactor.h | 3 ++- LEGO1/lego/legoomni/include/legoanimmmpresenter.h | 2 +- LEGO1/lego/legoomni/include/legoanimpresenter.h | 7 +++---- LEGO1/lego/legoomni/include/legocarbuildanimpresenter.h | 1 + LEGO1/lego/legoomni/include/legocharactermanager.h | 7 ++++--- LEGO1/lego/legoomni/include/legoentity.h | 7 ++++--- LEGO1/lego/legoomni/include/legogamestate.h | 6 +++--- LEGO1/lego/legoomni/include/legonavcontroller.h | 3 ++- LEGO1/lego/legoomni/include/legopathactor.h | 5 +++-- LEGO1/lego/legoomni/include/legoraceactor.h | 3 ++- LEGO1/lego/legoomni/src/actors/helicopter.cpp | 1 + LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp | 2 +- LEGO1/lego/legoomni/src/common/legocharactermanager.cpp | 3 ++- LEGO1/lego/legoomni/src/common/legogamestate.cpp | 2 ++ LEGO1/lego/legoomni/src/common/legoutils.cpp | 2 ++ LEGO1/lego/legoomni/src/entity/legoworld.cpp | 1 + LEGO1/lego/legoomni/src/paths/legopathactor.cpp | 1 + LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp | 1 + LEGO1/lego/legoomni/src/worlds/isle.cpp | 1 + LEGO1/lego/sources/anim/legoanim.h | 3 ++- LEGO1/lego/sources/geom/legoedge.h | 2 +- 22 files changed, 42 insertions(+), 24 deletions(-) diff --git a/LEGO1/lego/legoomni/include/helicopter.h b/LEGO1/lego/legoomni/include/helicopter.h index 3c7e8b5d..b568390a 100644 --- a/LEGO1/lego/legoomni/include/helicopter.h +++ b/LEGO1/lego/legoomni/include/helicopter.h @@ -1,10 +1,11 @@ #ifndef HELICOPTER_H #define HELICOPTER_H -#include "helicopterstate.h" #include "islepathactor.h" #include "realtime/matrix.h" +class HelicopterState; + // VTABLE: LEGO1 0x100d40f8 // SIZE 0x230 class Helicopter : public IslePathActor { diff --git a/LEGO1/lego/legoomni/include/legoactor.h b/LEGO1/lego/legoomni/include/legoactor.h index 358ca600..ebde373c 100644 --- a/LEGO1/lego/legoomni/include/legoactor.h +++ b/LEGO1/lego/legoomni/include/legoactor.h @@ -2,9 +2,10 @@ #define LEGOACTOR_H #include "decomp.h" -#include "legocachsound.h" #include "legoentity.h" +class LegoCacheSound; + // VTABLE: LEGO1 0x100d6d68 // SIZE 0x78 class LegoActor : public LegoEntity { diff --git a/LEGO1/lego/legoomni/include/legoanimmmpresenter.h b/LEGO1/lego/legoomni/include/legoanimmmpresenter.h index f7e793d4..0d90473b 100644 --- a/LEGO1/lego/legoomni/include/legoanimmmpresenter.h +++ b/LEGO1/lego/legoomni/include/legoanimmmpresenter.h @@ -2,12 +2,12 @@ #define LEGOANIMMMPRESENTER_H #include "mxcompositepresenter.h" -#include "mxgeometry/mxmatrix.h" class LegoAnimPresenter; class LegoWorld; class LegoROI; struct LegoTranInfo; +class MxMatrix; // VTABLE: LEGO1 0x100d7de8 // SIZE 0x74 diff --git a/LEGO1/lego/legoomni/include/legoanimpresenter.h b/LEGO1/lego/legoomni/include/legoanimpresenter.h index 30e5201c..e4704d21 100644 --- a/LEGO1/lego/legoomni/include/legoanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legoanimpresenter.h @@ -1,16 +1,15 @@ #ifndef LEGOANIMPRESENTER_H #define LEGOANIMPRESENTER_H -#include "anim/legoanim.h" #include "legoroilist.h" -#include "mxgeometry/mxgeometry3d.h" -#include "mxgeometry/mxmatrix.h" #include "mxvideopresenter.h" +class LegoAnim; class LegoWorld; -class LegoAnimClass; class LegoAnimActor; class LegoPathBoundary; +class MxMatrix; +class Vector3; struct LegoAnimStructComparator { MxBool operator()(const char* const& p_a, const char* const& p_b) const { return strcmp(p_a, p_b) < 0; } diff --git a/LEGO1/lego/legoomni/include/legocarbuildanimpresenter.h b/LEGO1/lego/legoomni/include/legocarbuildanimpresenter.h index 55036496..5b72d2be 100644 --- a/LEGO1/lego/legoomni/include/legocarbuildanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legocarbuildanimpresenter.h @@ -1,6 +1,7 @@ #ifndef LEGOCARBUILDANIMPRESENTER_H #define LEGOCARBUILDANIMPRESENTER_H +#include "anim/legoanim.h" #include "legoanimpresenter.h" // VTABLE: LEGO1 0x100d99e0 diff --git a/LEGO1/lego/legoomni/include/legocharactermanager.h b/LEGO1/lego/legoomni/include/legocharactermanager.h index 1b8610f8..7bd6e987 100644 --- a/LEGO1/lego/legoomni/include/legocharactermanager.h +++ b/LEGO1/lego/legoomni/include/legocharactermanager.h @@ -2,13 +2,14 @@ #define LEGOCHARACTERMANAGER_H #include "decomp.h" -#include "legoextraactor.h" -#include "legovariables.h" -#include "misc/legostorage.h" #include "mxstl/stlcompat.h" #include "mxtypes.h" +#include "roi/legoroi.h" +class CustomizeAnimFileVariable; class LegoActor; +class LegoExtraActor; +class LegoStorage; class LegoROI; #pragma warning(disable : 4237) diff --git a/LEGO1/lego/legoomni/include/legoentity.h b/LEGO1/lego/legoomni/include/legoentity.h index 9b44c4d8..034dc700 100644 --- a/LEGO1/lego/legoomni/include/legoentity.h +++ b/LEGO1/lego/legoomni/include/legoentity.h @@ -3,10 +3,11 @@ #include "decomp.h" #include "extra.h" -#include "mxdsaction.h" #include "mxentity.h" -#include "realtime/vector.h" -#include "roi/legoroi.h" + +class LegoROI; +class MxDSAction; +class Vector3; // VTABLE: LEGO1 0x100d4858 // SIZE 0x68 diff --git a/LEGO1/lego/legoomni/include/legogamestate.h b/LEGO1/lego/legoomni/include/legogamestate.h index 32d0b754..508179c3 100644 --- a/LEGO1/lego/legoomni/include/legogamestate.h +++ b/LEGO1/lego/legoomni/include/legogamestate.h @@ -3,14 +3,14 @@ #include "actionsfwd.h" #include "decomp.h" -#include "legobackgroundcolor.h" -#include "legofullscreenmovie.h" #include "misc/legostorage.h" #include "mxtypes.h" -#include "mxvariabletable.h" +class LegoBackgroundColor; +class LegoFullScreenMovie; class LegoState; class MxVariable; +class MxVariableTable; class MxString; // SIZE 0x08 diff --git a/LEGO1/lego/legoomni/include/legonavcontroller.h b/LEGO1/lego/legoomni/include/legonavcontroller.h index ef2d204e..fdf0b5f3 100644 --- a/LEGO1/lego/legoomni/include/legonavcontroller.h +++ b/LEGO1/lego/legoomni/include/legonavcontroller.h @@ -4,7 +4,8 @@ #include "decomp.h" #include "mxcore.h" #include "mxtypes.h" -#include "realtime/vector.h" + +class Vector3; ////////////////////////////////////////////////////////////////////////////// // diff --git a/LEGO1/lego/legoomni/include/legopathactor.h b/LEGO1/lego/legoomni/include/legopathactor.h index e9488e8e..c8863866 100644 --- a/LEGO1/lego/legoomni/include/legopathactor.h +++ b/LEGO1/lego/legoomni/include/legopathactor.h @@ -1,14 +1,15 @@ #ifndef LEGOPATHACTOR_H #define LEGOPATHACTOR_H -#include "geom/legounkown100db7f4.h" #include "legoactor.h" #include "misc/legounknown.h" #include "mxtypes.h" -#include "realtime/matrix.h" +struct LegoEdge; class LegoPathBoundary; class LegoPathController; +class LegoUnknown100db7f4; +class Matrix4; // VTABLE: LEGO1 0x100d6e28 // SIZE 0x154 diff --git a/LEGO1/lego/legoomni/include/legoraceactor.h b/LEGO1/lego/legoomni/include/legoraceactor.h index 9ae2d92e..92f1e8c7 100644 --- a/LEGO1/lego/legoomni/include/legoraceactor.h +++ b/LEGO1/lego/legoomni/include/legoraceactor.h @@ -2,7 +2,8 @@ #define LEGORACEACTOR_H #include "legoanimactor.h" -#include "realtime/matrix.h" + +class Matrix4; /* VTABLE: LEGO1 0x100d5b78 LegoAnimActor diff --git a/LEGO1/lego/legoomni/src/actors/helicopter.cpp b/LEGO1/lego/legoomni/src/actors/helicopter.cpp index 54064290..36507ecc 100644 --- a/LEGO1/lego/legoomni/src/actors/helicopter.cpp +++ b/LEGO1/lego/legoomni/src/actors/helicopter.cpp @@ -3,6 +3,7 @@ #include "act1state.h" #include "act3.h" #include "act3_actions.h" +#include "helicopterstate.h" #include "isle.h" #include "isle_actions.h" #include "jukebox.h" diff --git a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp index 01bdad5e..0abafbd8 100644 --- a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp @@ -4,6 +4,7 @@ #include "islepathactor.h" #include "legocharactermanager.h" #include "legoendanimnotificationparam.h" +#include "legoextraactor.h" #include "legogamestate.h" #include "legoomni.h" #include "legoroilist.h" @@ -13,7 +14,6 @@ #include "mxticklemanager.h" #include "mxtimer.h" #include "mxutilities.h" -#include "roi/legoroi.h" #include diff --git a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp index 2d851715..816e1f8e 100644 --- a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp @@ -2,14 +2,15 @@ #include "legoanimactor.h" #include "legocharacters.h" +#include "legoextraactor.h" #include "legogamestate.h" +#include "legovariables.h" #include "legovideomanager.h" #include "misc.h" #include "misc/legocontainer.h" #include "mxmisc.h" #include "realtime/realtime.h" #include "roi/legolod.h" -#include "roi/legoroi.h" #include diff --git a/LEGO1/lego/legoomni/src/common/legogamestate.cpp b/LEGO1/lego/legoomni/src/common/legogamestate.cpp index ef1a436e..fb859752 100644 --- a/LEGO1/lego/legoomni/src/common/legogamestate.cpp +++ b/LEGO1/lego/legoomni/src/common/legogamestate.cpp @@ -28,8 +28,10 @@ #include "jukebox_actions.h" #include "jukeboxw_actions.h" #include "legoanimationmanager.h" +#include "legobackgroundcolor.h" #include "legobuildingmanager.h" #include "legocharactermanager.h" +#include "legofullscreenmovie.h" #include "legonavcontroller.h" #include "legoomni.h" #include "legoplantmanager.h" diff --git a/LEGO1/lego/legoomni/src/common/legoutils.cpp b/LEGO1/lego/legoomni/src/common/legoutils.cpp index 3cf3e705..38124069 100644 --- a/LEGO1/lego/legoomni/src/common/legoutils.cpp +++ b/LEGO1/lego/legoomni/src/common/legoutils.cpp @@ -1,6 +1,7 @@ #include "legoutils.h" #include "act1state.h" +#include "anim/legoanim.h" #include "islepathactor.h" #include "legoanimpresenter.h" #include "legogamestate.h" @@ -11,6 +12,7 @@ #include "legoworld.h" #include "legoworldlist.h" #include "misc.h" +#include "misc/legotree.h" #include "mxdsaction.h" #include "mxmisc.h" #include "mxnotificationmanager.h" diff --git a/LEGO1/lego/legoomni/src/entity/legoworld.cpp b/LEGO1/lego/legoomni/src/entity/legoworld.cpp index 522c9918..d6a1273a 100644 --- a/LEGO1/lego/legoomni/src/entity/legoworld.cpp +++ b/LEGO1/lego/legoomni/src/entity/legoworld.cpp @@ -1,5 +1,6 @@ #include "legoworld.h" +#include "anim/legoanim.h" #include "islepathactor.h" #include "legoanimationmanager.h" #include "legoanimpresenter.h" diff --git a/LEGO1/lego/legoomni/src/paths/legopathactor.cpp b/LEGO1/lego/legoomni/src/paths/legopathactor.cpp index 977624b5..4a6dcfa0 100644 --- a/LEGO1/lego/legoomni/src/paths/legopathactor.cpp +++ b/LEGO1/lego/legoomni/src/paths/legopathactor.cpp @@ -1,5 +1,6 @@ #include "legopathactor.h" +#include "geom/legounkown100db7f4.h" #include "legonavcontroller.h" #include "legopathboundary.h" #include "legosoundmanager.h" diff --git a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp index e8f887f6..3c347bc2 100644 --- a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp @@ -1,5 +1,6 @@ #include "legoanimpresenter.h" +#include "anim/legoanim.h" #include "define.h" #include "legoanimationmanager.h" #include "legoanimmmpresenter.h" diff --git a/LEGO1/lego/legoomni/src/worlds/isle.cpp b/LEGO1/lego/legoomni/src/worlds/isle.cpp index 0ab1797f..f61857d1 100644 --- a/LEGO1/lego/legoomni/src/worlds/isle.cpp +++ b/LEGO1/lego/legoomni/src/worlds/isle.cpp @@ -13,6 +13,7 @@ #include "jukebox_actions.h" #include "jukeboxentity.h" #include "legoanimationmanager.h" +#include "legobackgroundcolor.h" #include "legocontrolmanager.h" #include "legoinputmanager.h" #include "legoomni.h" diff --git a/LEGO1/lego/sources/anim/legoanim.h b/LEGO1/lego/sources/anim/legoanim.h index 7ba9cc04..9dd23a55 100644 --- a/LEGO1/lego/sources/anim/legoanim.h +++ b/LEGO1/lego/sources/anim/legoanim.h @@ -4,7 +4,8 @@ #include "decomp.h" #include "misc/legostorage.h" #include "misc/legotree.h" -#include "realtime/matrix.h" + +class Matrix4; // SIZE 0x08 class LegoAnimKey { diff --git a/LEGO1/lego/sources/geom/legoedge.h b/LEGO1/lego/sources/geom/legoedge.h index a3b71b64..da440e71 100644 --- a/LEGO1/lego/sources/geom/legoedge.h +++ b/LEGO1/lego/sources/geom/legoedge.h @@ -2,9 +2,9 @@ #define __LEGOEDGE_H #include "misc/legotypes.h" -#include "realtime/vector.h" class LegoWEEdge; +class Vector3; // VTABLE: LEGO1 0x100db7b8 // SIZE 0x24