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:
Misha
2023-12-16 13:14:01 -05:00
committed by GitHub
parent 72c34949e5
commit d72c767685
18 changed files with 355 additions and 84 deletions

View File

@@ -89,7 +89,7 @@ public:
virtual MxResult Create(MxOmniCreateParam& p_param) override; // vtable+18
virtual void Destroy() override; // vtable+1c
virtual MxResult Start(MxDSAction* p_dsAction) override; // vtable+20
virtual MxResult DeleteObject(MxDSAction& p_dsAction) override; // vtable+24
virtual void DeleteObject(MxDSAction& p_dsAction) override; // vtable+24
virtual MxBool DoesEntityExist(MxDSAction& p_dsAction) override; // vtable+28
virtual MxEntity* FindWorld(const char* p_id, MxS32 p_entityId, MxPresenter* p_presenter) override; // vtable+30
virtual void NotifyCurrentEntity(MxNotificationParam* p_param) override; // vtable+34
@@ -103,7 +103,7 @@ public:
LegoInputManager* GetInputManager() { return m_inputMgr; }
GifManager* GetGifManager() { return m_gifManager; }
LegoWorld* GetCurrentWorld() { return m_currentWorld; }
LegoWorld* GetCurrentOmniWorld() { return m_currentWorld; }
LegoNavController* GetNavController() { return m_navController; }
IslePathActor* GetCurrentVehicle() { return m_currentVehicle; }
LegoPlantManager* GetLegoPlantManager() { return m_plantManager; }
@@ -115,24 +115,24 @@ public:
MxDSAction& GetCurrentAction() { return m_action; }
private:
undefined4 m_unk0x68;
undefined4 m_unk0x6c;
LegoInputManager* m_inputMgr; // 0x70
GifManager* m_gifManager;
LegoWorldList* m_worldList; // 0x78
LegoWorld* m_currentWorld;
MxBool m_unk0x80;
LegoNavController* m_navController; // 0x84
IslePathActor* m_currentVehicle; // 0x88
LegoUnkSaveDataWriter* m_saveDataWriter;
LegoPlantManager* m_plantManager; // 0x90
LegoAnimationManager* m_animationManager;
LegoBuildingManager* m_buildingManager; // 0x98
LegoGameState* m_gameState; // 0x9c
MxDSAction m_action;
undefined4* m_unk0x68; // 0x68
undefined4 m_unk0x6c; // 0x6c
LegoInputManager* m_inputMgr; // 0x70
GifManager* m_gifManager; // 0x74
LegoWorldList* m_worldList; // 0x78
LegoWorld* m_currentWorld; // 0x7c
MxBool m_unk0x80; // 0x80
LegoNavController* m_navController; // 0x84
IslePathActor* m_currentVehicle; // 0x88
LegoUnkSaveDataWriter* m_saveDataWriter; // 0x8c
LegoPlantManager* m_plantManager; // 0x90
LegoAnimationManager* m_animationManager; // 0x94
LegoBuildingManager* m_buildingManager; // 0x98
LegoGameState* m_gameState; // 0x9c
MxDSAction m_action; // 0xa0
MxBackgroundAudioManager* m_bkgAudioManager; // 0x134
MxTransitionManager* m_transitionManager; // 0x138
MxBool m_unk0x13c;
MxBool m_unk0x13c; // 0x13c
};
__declspec(dllexport) MxBackgroundAudioManager* BackgroundAudioManager();