#ifndef MXOMNI_H #define MXOMNI_H #include "mxcriticalsection.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" // VTABLE 0x100dc168 // SIZE 0x68 class MxOmni : public MxCore { public: __declspec(dllexport) static void DestroyInstance(); __declspec(dllexport) static const char *GetCD(); __declspec(dllexport) static const char *GetHD(); __declspec(dllexport) static MxOmni *GetInstance(); __declspec(dllexport) static MxBool IsSound3D(); __declspec(dllexport) static void SetCD(const char *p_cd); __declspec(dllexport) static void SetHD(const char *p_hd); __declspec(dllexport) static void SetSound3D(MxBool p_3dsound); MxOmni(); virtual ~MxOmni() override; virtual MxLong Notify(MxParam &p); // vtable+04 virtual void Init(); // vtable+14 virtual MxResult Create(MxOmniCreateParam &p); // vtable+18 virtual void Destroy(); // vtable+1c static void SetInstance(MxOmni* instance); MxObjectFactory* GetObjectFactory() const { return this->m_objectFactory; } MxNotificationManager* GetNotificationManager() const { return this->m_notificationManager; } MxTickleManager* GetTickleManager() const { return this->m_tickleManager; } MxTimer* GetTimer() const { return this->m_timer; } MxStreamer* GetStreamer() const { return this->m_streamer; } MxSoundManager* GetSoundManager() const { return this->m_soundManager; } MxVideoManager* GetVideoManager() const { return this->m_videoManager; } MxVariableTable* GetVariableTable() const { return this->m_variableTable; } MxMusicManager* GetMusicManager() const { return this->m_musicManager; } MxEventManager* GetEventManager() const { return this->m_eventManager; } MxAtomIdCounterSet* GetAtomIdCounterSet() const { return this->m_atomIdCounterSet; } protected: static MxOmni* g_instance; MxString m_mediaPath; // 0x8 HWND *m_windowHandle; // 0x18; MxObjectFactory *m_objectFactory; // 0x1C MxVariableTable* m_variableTable; //0x20 MxTickleManager* m_tickleManager; //0x24 MxNotificationManager* m_notificationManager; //0x28 MxVideoManager *m_videoManager; //0x2C MxSoundManager* m_soundManager; //0x30 MxMusicManager* m_musicManager; //0x34 MxEventManager* m_eventManager; //0x38 MxTimer* m_timer; //0x3C MxStreamer* m_streamer; //0x40 MxAtomIdCounterSet* m_atomIdCounterSet; // 0x44 MxCriticalSection m_criticalsection; // 0x48 unsigned char m_unk64; // 0x64 }; __declspec(dllexport) MxTickleManager * TickleManager(); __declspec(dllexport) MxTimer * Timer(); __declspec(dllexport) MxStreamer * Streamer(); __declspec(dllexport) MxSoundManager * MSoundManager(); __declspec(dllexport) MxVariableTable * VariableTable(); __declspec(dllexport) MxMusicManager * MusicManager(); __declspec(dllexport) MxEventManager * EventManager(); __declspec(dllexport) MxNotificationManager * NotificationManager(); MxVideoManager * MVideoManager(); MxAtomIdCounterSet* AtomIdCounterSet(); #endif // MXOMNI_H