Implement a few Mx* functions / add data types (#25)

* Implement a few Mx* functions / add data types

* added more information, fixed formatting issues

* further cleanup

---------

Co-authored-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
This commit is contained in:
ecumber
2023-06-18 22:36:07 -07:00
committed by GitHub
parent 1152feab8d
commit 526c6af1f6
16 changed files with 164 additions and 91 deletions

View File

@@ -1,12 +1,22 @@
#ifndef MXOMNI_H
#define MXOMNI_H
#include "mxresult.h"
#include "mxomnicreateparam.h"
#include "mxcriticalsection.h"
#include "mxeventmanager.h"
#include "mxmusicmanager.h"
#include "mxnotificationmanager.h"
#include "mxobjectfactory.h"
#include "mxomnicreateflags.h"
#include "mxomnicreateparam.h"
#include "mxresult.h"
#include "mxsoundmanager.h"
#include "mxstreamer.h"
#include "mxticklemanager.h"
#include "mxtimer.h"
#include "mxvariabletable.h"
#include "mxvideomanager.h"
class MxOmni
class MxOmni : public MxCore
{
public:
__declspec(dllexport) static void DestroyInstance();
@@ -18,13 +28,37 @@ public:
__declspec(dllexport) static void SetHD(const char *s);
__declspec(dllexport) static void SetSound3D(unsigned char);
MxResult MxOmni::Create(const MxOmniCreateParam &p);
virtual ~MxOmni();
MxTimer* GetTimer() const { return this->m_Timer; }
virtual long Notify(MxParam &p); // vtable+04
virtual void Init(); // vtable+14
virtual MxResult Create(MxOmniCreateParam &p); // vtable+18
virtual void Destroy(); // vtable+1c
MxTimer* GetTimer() const { return this->m_timer; }
protected:
static MxOmni* m_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
char unknown44[0x4]; // 0x44
MxCriticalSection m_criticalsection; // 0x48
char unknown64[0x4]; // 0x64
private:
char padding[0x3c];
MxTimer* m_Timer;
};
#endif // MXOMNI_H