mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-24 00:44:21 +00:00
Implement a few legoomni/mxomni functions (#339)
* LegoOmni functions * fix build * Update mxstreamcontroller.cpp * fixes + improve match * Update mxomni.cpp * Update mxdsobject.h * improve match * Update mxactionnotificationparam.h * MxOmni::HandleActionEnd * fixes * Update LEGO1/mxstreamer.cpp Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com> * A bunch of fixes --------- Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com> Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
@@ -22,6 +22,7 @@ class MxTimer;
|
||||
class MxVariableTable;
|
||||
class MxVideoManager;
|
||||
class MxEntity;
|
||||
class MxStreamController;
|
||||
|
||||
// VTABLE: LEGO1 0x100dc168
|
||||
// SIZE 0x68
|
||||
@@ -39,20 +40,23 @@ public:
|
||||
MxOmni();
|
||||
virtual ~MxOmni() override;
|
||||
|
||||
virtual MxLong Notify(MxParam& p_param) override; // vtable+04
|
||||
virtual void Init(); // vtable+14
|
||||
virtual MxResult Create(MxOmniCreateParam& p_param); // vtable+18
|
||||
virtual void Destroy(); // vtable+1c
|
||||
virtual MxResult Start(MxDSAction* p_dsAction); // vtable+20
|
||||
virtual MxResult DeleteObject(MxDSAction& p_dsAction); // vtable+24
|
||||
virtual MxBool DoesEntityExist(MxDSAction& p_dsAction); // vtable+28
|
||||
virtual void Vtable0x2c(); // vtable+2c
|
||||
virtual MxEntity* FindWorld(const char*, MxS32, MxPresenter*); // vtable+30
|
||||
virtual void NotifyCurrentEntity(MxNotificationParam* p_param); // vtable+34
|
||||
virtual void StartTimer(); // vtable+38
|
||||
virtual void StopTimer(); // vtable+3c
|
||||
virtual MxBool IsTimerRunning(); // vtable+40
|
||||
virtual MxLong Notify(MxParam& p_param) override; // vtable+04
|
||||
virtual void Init(); // vtable+14
|
||||
virtual MxResult Create(MxOmniCreateParam& p_param); // vtable+18
|
||||
virtual void Destroy(); // vtable+1c
|
||||
virtual MxResult Start(MxDSAction* p_dsAction); // vtable+20
|
||||
virtual void DeleteObject(MxDSAction& p_dsAction); // vtable+24
|
||||
virtual MxBool DoesEntityExist(MxDSAction& p_dsAction); // vtable+28
|
||||
virtual MxResult CreatePresenter(MxStreamController* p_controller, MxDSAction& p_action); // vtable+2c
|
||||
virtual MxEntity* FindWorld(const char*, MxS32, MxPresenter*); // vtable+30
|
||||
virtual void NotifyCurrentEntity(MxNotificationParam* p_param); // vtable+34
|
||||
virtual void StartTimer(); // vtable+38
|
||||
virtual void StopTimer(); // vtable+3c
|
||||
virtual MxBool IsTimerRunning(); // vtable+40
|
||||
|
||||
static void SetInstance(MxOmni* p_instance);
|
||||
static MxBool FUN_100b06b0(MxDSAction* p_action, const char* p_name);
|
||||
|
||||
HWND GetWindowHandle() const { return this->m_windowHandle; }
|
||||
MxObjectFactory* GetObjectFactory() const { return this->m_objectFactory; }
|
||||
MxNotificationManager* GetNotificationManager() const { return this->m_notificationManager; }
|
||||
@@ -65,7 +69,7 @@ public:
|
||||
MxMusicManager* GetMusicManager() const { return this->m_musicManager; }
|
||||
MxEventManager* GetEventManager() const { return this->m_eventManager; }
|
||||
MxAtomIdCounterSet* GetAtomIdCounterSet() const { return this->m_atomIdCounterSet; }
|
||||
MxResult HandleNotificationType2(MxParam& p_param);
|
||||
MxLong HandleActionEnd(MxParam& p_param);
|
||||
|
||||
protected:
|
||||
static MxOmni* g_instance;
|
||||
@@ -82,13 +86,11 @@ protected:
|
||||
MxEventManager* m_eventManager; // 0x38
|
||||
MxTimer* m_timer; // 0x3C
|
||||
MxStreamer* m_streamer; // 0x40
|
||||
|
||||
MxAtomIdCounterSet* m_atomIdCounterSet; // 0x44
|
||||
|
||||
MxCriticalSection m_criticalsection; // 0x48
|
||||
|
||||
MxBool m_timerRunning; // 0x64
|
||||
MxAtomIdCounterSet* m_atomIdCounterSet; // 0x44
|
||||
MxCriticalSection m_criticalsection; // 0x48
|
||||
MxBool m_timerRunning; // 0x64
|
||||
};
|
||||
|
||||
__declspec(dllexport) MxTickleManager* TickleManager();
|
||||
__declspec(dllexport) MxTimer* Timer();
|
||||
__declspec(dllexport) MxStreamer* Streamer();
|
||||
@@ -101,7 +103,7 @@ __declspec(dllexport) MxNotificationManager* NotificationManager();
|
||||
MxVideoManager* MVideoManager();
|
||||
MxAtomIdCounterSet* AtomIdCounterSet();
|
||||
MxObjectFactory* ObjectFactory();
|
||||
MxResult DeleteObject(MxDSAction& p_dsAction);
|
||||
void DeleteObject(MxDSAction& p_dsAction);
|
||||
void DeleteObjects(MxAtomId* p_id, MxS32 p_first, MxS32 p_last);
|
||||
|
||||
#endif // MXOMNI_H
|
||||
|
||||
Reference in New Issue
Block a user