Refactor MxOmni/LegoOmni headers to use forward declarations (#148)

* Refactor MxOmni/LegoOmni headers to use forward declarations

* Fixes

* Fix build

* Fix deps
This commit is contained in:
Christian Semmler 2023-10-07 11:30:04 -04:00 committed by GitHub
parent 775ee9f05f
commit 5164ef1a54
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 99 additions and 45 deletions

View file

@ -3,14 +3,25 @@
#include <dsound.h> #include <dsound.h>
#include "legoomni.h"
#include "legoanimationmanager.h" #include "legoanimationmanager.h"
#include "legobuildingmanager.h" #include "legobuildingmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legomodelpresenter.h" #include "legomodelpresenter.h"
#include "legoomni.h"
#include "legopartpresenter.h" #include "legopartpresenter.h"
#include "legoroi.h"
#include "legovideomanager.h"
#include "legoworldpresenter.h" #include "legoworldpresenter.h"
#include "mxbackgroundaudiomanager.h"
#include "mxdirectdraw.h" #include "mxdirectdraw.h"
#include "mxdsaction.h" #include "mxdsaction.h"
#include "mxomnicreateflags.h"
#include "mxomnicreateparam.h"
#include "mxstreamer.h"
#include "mxticklemanager.h"
#include "mxtimer.h"
#include "mxtransitionmanager.h"
#include "res/resource.h" #include "res/resource.h"

View file

@ -1,6 +1,8 @@
#include "legofullscreenmovie.h" #include "legofullscreenmovie.h"
#include "mxtypes.h"
#include "legoomni.h" #include "legoomni.h"
#include "legovideomanager.h"
#include "mxtypes.h"
#include "decomp.h" #include "decomp.h"
DECOMP_SIZE_ASSERT(LegoFullScreenMovie, 0x24) DECOMP_SIZE_ASSERT(LegoFullScreenMovie, 0x24)

View file

@ -1,5 +1,7 @@
#include "legogamestate.h" #include "legogamestate.h"
#include "legoomni.h" #include "legoomni.h"
#include "mxvariabletable.h"
#include "decomp.h" #include "decomp.h"
// Based on the highest dword offset (0x42c) referenced in the constructor. // Based on the highest dword offset (0x42c) referenced in the constructor.

View file

@ -1,6 +1,7 @@
#include "legonavcontroller.h" #include "legonavcontroller.h"
#include "legoomni.h" #include "legoomni.h"
#include "legovideomanager.h"
#include "legoutil.h" #include "legoutil.h"
// 0x100f4c28 // 0x100f4c28

View file

@ -1,6 +1,8 @@
#include "legoomni.h" #include "legoomni.h"
#include "mxdsobject.h" #include "mxbackgroundaudiomanager.h"
#include "mxdsfile.h"
#include "legogamestate.h"
// 0x100f4588 // 0x100f4588
char *g_nocdSourceName = NULL; char *g_nocdSourceName = NULL;

View file

@ -2,25 +2,24 @@
#define LEGOOMNI_H #define LEGOOMNI_H
#include "compat.h" #include "compat.h"
#include "legoentity.h"
#include "legoinputmanager.h"
#include "legogamestate.h"
#include "legonavcontroller.h"
#include "legopathboundary.h"
#include "legoroi.h"
#include "legovideomanager.h"
#include "mxatomid.h"
#include "mxbackgroundaudiomanager.h"
#include "mxdsaction.h"
#include "mxdsfile.h"
#include "mxdsobject.h"
#include "mxomni.h" #include "mxomni.h"
#include "mxtransitionmanager.h" #include "mxdsaction.h"
#include "isle.h"
#include "legobuildingmanager.h"
#include "legoplantmanager.h"
class Isle;
class LegoBuildingManager;
class LegoEntity;
class LegoGameState;
class LegoInputManager;
class LegoNavController;
class LegoPathBoundary;
class LegoPlantManager;
class LegoROI;
class LegoSoundManager; class LegoSoundManager;
class LegoVideoManager;
class LegoWorld;
class MxAtomId;
class MxBackgroundAudioManager;
class MxDSFile;
class MxTransitionManager; class MxTransitionManager;
// VTABLE 0x100d8638 // VTABLE 0x100d8638

View file

@ -1,5 +1,7 @@
#include "mxdisplaysurface.h" #include "mxdisplaysurface.h"
#include "mxomni.h" #include "mxomni.h"
#include "mxvideomanager.h"
DECOMP_SIZE_ASSERT(MxDisplaySurface, 0xac); DECOMP_SIZE_ASSERT(MxDisplaySurface, 0xac);

View file

@ -1,10 +1,11 @@
#include "mxdsaction.h" #include "mxdsaction.h"
#include "mxomni.h"
#include "mxtimer.h"
#include <float.h> #include <float.h>
#include <limits.h> #include <limits.h>
#include "mxomni.h"
DECOMP_SIZE_ASSERT(MxDSAction, 0x94) DECOMP_SIZE_ASSERT(MxDSAction, 0x94)
// GLOBAL OFFSET: LEGO1 0x10101410 // GLOBAL OFFSET: LEGO1 0x10101410

View file

@ -1,5 +1,7 @@
#include "mxmusicmanager.h" #include "mxmusicmanager.h"
#include "mxticklemanager.h"
#include "mxomni.h" #include "mxomni.h"
#include <windows.h> #include <windows.h>
DECOMP_SIZE_ASSERT(MxMusicManager, 0x58); DECOMP_SIZE_ASSERT(MxMusicManager, 0x58);

View file

@ -1,7 +1,8 @@
#include "mxnotificationmanager.h"
#include "legoomni.h" #include "legoomni.h"
#include "mxautolocker.h" #include "mxautolocker.h"
#include "mxcore.h" #include "mxticklemanager.h"
#include "mxnotificationmanager.h"
#include "mxparam.h" #include "mxparam.h"
#include "mxtypes.h" #include "mxtypes.h"

View file

@ -1,5 +1,17 @@
#include "mxomni.h" #include "mxomni.h"
#include "mxatomidcounter.h"
#include "mxeventmanager.h"
#include "mxmusicmanager.h"
#include "mxnotificationmanager.h"
#include "mxobjectfactory.h"
#include "mxomnicreateparam.h"
#include "mxsoundmanager.h"
#include "mxstreamer.h"
#include "mxticklemanager.h"
#include "mxtimer.h"
#include "mxvideomanager.h"
// 0x101015b8 // 0x101015b8
char g_hdPath[1024]; char g_hdPath[1024];

View file

@ -1,21 +1,23 @@
#ifndef MXOMNI_H #ifndef MXOMNI_H
#define MXOMNI_H #define MXOMNI_H
#include "mxcore.h"
#include "mxstring.h"
#include "mxcriticalsection.h" #include "mxcriticalsection.h"
#include "mxdsaction.h"
#include "mxeventmanager.h" class MxAtomIdCounterSet;
#include "mxmusicmanager.h" class MxDSAction;
#include "mxnotificationmanager.h" class MxEventManager;
#include "mxobjectfactory.h" class MxMusicManager;
#include "mxomnicreateflags.h" class MxNotificationManager;
#include "mxomnicreateparam.h" class MxObjectFactory;
#include "mxsoundmanager.h" class MxOmniCreateParam;
#include "mxstreamer.h" class MxSoundManager;
#include "mxticklemanager.h" class MxStreamer;
#include "mxtimer.h" class MxTickleManager;
#include "mxvariabletable.h" class MxTimer;
#include "mxvideomanager.h" class MxVariableTable;
#include "mxatomidcounter.h" class MxVideoManager;
// VTABLE 0x100dc168 // VTABLE 0x100dc168
// SIZE 0x68 // SIZE 0x68

View file

@ -1,5 +1,7 @@
#include "mxpalette.h" #include "mxpalette.h"
#include "mxomni.h" #include "mxomni.h"
#include "mxvideomanager.h"
// GLOBAL: LEGO1 0x10102188 0x400 // GLOBAL: LEGO1 0x10102188 0x400
PALETTEENTRY g_defaultPaletteEntries[256] = PALETTEENTRY g_defaultPaletteEntries[256] =

View file

@ -1,14 +1,17 @@
#include "mxpresenter.h" #include "mxpresenter.h"
#include "legoomni.h"
#include "mxautolocker.h" #include "mxautolocker.h"
#include "mxparam.h" #include "mxparam.h"
#include "legoomni.h"
#include "mxdsanim.h" #include "mxdsanim.h"
#include "mxdssound.h" #include "mxdssound.h"
#include <string.h> #include "mxnotificationmanager.h"
#include "decomp.h" #include "decomp.h"
#include "define.h" #include "define.h"
#include <string.h>
DECOMP_SIZE_ASSERT(MxPresenter, 0x40); DECOMP_SIZE_ASSERT(MxPresenter, 0x40);
// OFFSET: LEGO1 0x100b4d50 // OFFSET: LEGO1 0x100b4d50

View file

@ -1,5 +1,5 @@
#include "mxsoundmanager.h" #include "mxsoundmanager.h"
#include "mxticklemanager.h"
#include "mxomni.h" #include "mxomni.h"
DECOMP_SIZE_ASSERT(MxSoundManager, 0x3c); DECOMP_SIZE_ASSERT(MxSoundManager, 0x3c);

View file

@ -1,10 +1,11 @@
#include "mxstreamer.h" #include "mxstreamer.h"
#include <algorithm>
#include "legoomni.h" #include "legoomni.h"
#include "mxdiskstreamcontroller.h" #include "mxdiskstreamcontroller.h"
#include "mxramstreamcontroller.h" #include "mxramstreamcontroller.h"
#include "mxnotificationmanager.h"
#include <algorithm>
DECOMP_SIZE_ASSERT(MxStreamer, 0x2c); DECOMP_SIZE_ASSERT(MxStreamer, 0x2c);

View file

@ -1,9 +1,10 @@
#include "mxthread.h" #include "mxthread.h"
#include <process.h>
#include "mxomni.h" #include "mxomni.h"
#include "mxtimer.h"
#include <process.h>
// OFFSET: LEGO1 0x100bf690 // OFFSET: LEGO1 0x100bf690
MxResult MxThread::Run() MxResult MxThread::Run()

View file

@ -1,6 +1,12 @@
#include "mxtransitionmanager.h" #include "mxtransitionmanager.h"
#include "legoutil.h"
#include "legovideomanager.h" #include "legovideomanager.h"
#include "legoinputmanager.h"
#include "legoutil.h"
#include "legoworld.h"
#include "mxbackgroundaudiomanager.h"
#include "mxparam.h"
#include "mxticklemanager.h"
DECOMP_SIZE_ASSERT(MxTransitionManager, 0x900); DECOMP_SIZE_ASSERT(MxTransitionManager, 0x900);

View file

@ -5,6 +5,8 @@
#include "mxvideopresenter.h" #include "mxvideopresenter.h"
#include "legoomni.h" #include "legoomni.h"
#include <ddraw.h>
// VTABLE 0x100d7ea0 // VTABLE 0x100d7ea0
class MxTransitionManager : public MxCore class MxTransitionManager : public MxCore
{ {

View file

@ -1,5 +1,7 @@
#include "skateboard.h" #include "skateboard.h"
#include "mxomni.h" #include "mxomni.h"
#include "mxnotificationmanager.h"
#include "decomp.h" #include "decomp.h"