MxBackgroundAudioManager (#97)

* Start MxBackgroundAudioManager

* Match MxBackgroundAudioManager constructor. This took WAY too much time.

* add size assert

* improve readability of MxBackgroundAudioManager::Enable

While the previous iteration wasn't incorrect, it definitely reads like pseudocode (i.e. it's very unlikely any actual developers would have written that). This is much more readable/likely to have been written and still results in the same asm.

---------

Co-authored-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
This commit is contained in:
Joshua Peisach
2023-08-03 14:42:12 -04:00
committed by GitHub
parent 694045abd8
commit dc585c7f61
2 changed files with 47 additions and 2 deletions

View File

@@ -2,6 +2,9 @@
#define MXBACKGROUNDAUDIOMANAGER_H
#include "mxcore.h"
#include "mxdsaction.h"
#include "mxtypes.h"
#include "mxnotificationmanager.h"
// VTABLE 0x100d9fe8
// SIZE 0x150
@@ -25,6 +28,20 @@ public:
}
__declspec(dllexport) void Enable(unsigned char p);
private:
void Stop();
void Init();
MxBool m_musicEnabled; // 0x8
MxDSAction m_action1; // 0xc
MxS32 m_unka0;
MxDSAction m_action2; // 0xa4
MxS32 m_unk138;
MxS32 m_unk13c;
MxS32 m_unk140;
MxS32 m_unk144;
MxS16 m_unk148;
MxAtomId m_unk14c;
};
#endif // MXBACKGROUNDAUDIOMANAGER_H