Implement MxAtomId and reference counter (stl set) (#109)

* Implement MxAtomId and reference counter (stl set)
* Partial success in hiding 4786 warning spam.
* Build out most of MxOmni::Destroy since it also touches the set

* Add some size asserts
This commit is contained in:
MS
2023-08-16 13:09:44 -04:00
committed by GitHub
parent 75c1276292
commit bb0d5be921
8 changed files with 209 additions and 8 deletions

View File

@@ -14,6 +14,7 @@
#include "mxtimer.h"
#include "mxvariabletable.h"
#include "mxvideomanager.h"
#include "mxatomidcounter.h"
// VTABLE 0x100dc168
// SIZE 0x68
@@ -47,6 +48,7 @@ public:
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;
@@ -63,7 +65,7 @@ protected:
MxTimer* m_timer; //0x3C
MxStreamer* m_streamer; //0x40
int m_unk44; // 0x44
MxAtomIdCounterSet* m_atomIdCounterSet; // 0x44
MxCriticalSection m_criticalsection; // 0x48
@@ -78,5 +80,6 @@ __declspec(dllexport) MxMusicManager * MusicManager();
__declspec(dllexport) MxEventManager * EventManager();
__declspec(dllexport) MxNotificationManager * NotificationManager();
MxVideoManager * MVideoManager();
MxAtomIdCounterSet* AtomIdCounterSet();
#endif // MXOMNI_H