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 "legoomni.h"
#include "legoanimationmanager.h"
#include "legobuildingmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legomodelpresenter.h"
#include "legoomni.h"
#include "legopartpresenter.h"
#include "legoroi.h"
#include "legovideomanager.h"
#include "legoworldpresenter.h"
#include "mxbackgroundaudiomanager.h"
#include "mxdirectdraw.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"

View file

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

View file

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

View file

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

View file

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

View file

@ -2,25 +2,24 @@
#define LEGOOMNI_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 "mxtransitionmanager.h"
#include "isle.h"
#include "legobuildingmanager.h"
#include "legoplantmanager.h"
#include "mxdsaction.h"
class Isle;
class LegoBuildingManager;
class LegoEntity;
class LegoGameState;
class LegoInputManager;
class LegoNavController;
class LegoPathBoundary;
class LegoPlantManager;
class LegoROI;
class LegoSoundManager;
class LegoVideoManager;
class LegoWorld;
class MxAtomId;
class MxBackgroundAudioManager;
class MxDSFile;
class MxTransitionManager;
// VTABLE 0x100d8638

View file

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

View file

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

View file

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

View file

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

View file

@ -1,5 +1,17 @@
#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
char g_hdPath[1024];

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,6 +1,12 @@
#include "mxtransitionmanager.h"
#include "legoutil.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);

View file

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

View file

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