isle/LEGO1/mxbackgroundaudiomanager.cpp
Joshua Peisach dc585c7f61
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>
2023-08-03 11:42:12 -07:00

47 lines
858 B
C++

#include "mxbackgroundaudiomanager.h"
DECOMP_SIZE_ASSERT(MxBackgroundAudioManager, 0x150)
// OFFSET: LEGO1 0x1007ea90
MxBackgroundAudioManager::MxBackgroundAudioManager()
{
NotificationManager()->Register(this);
m_unka0 = 0;
m_unk138 = 0;
m_unk13c = 0;
m_unk140 = 0;
m_unk144 = 0;
m_unk148 = 0;
m_musicEnabled = FALSE;
}
// OFFSET: LEGO1 0x1007ec20
MxBackgroundAudioManager::~MxBackgroundAudioManager()
{
// TODO
NotificationManager()->Unregister(this);
}
// OFFSET: LEGO1 0x1007f470
void MxBackgroundAudioManager::Stop()
{
// TODO
}
// OFFSET: LEGO1 0x1007f5f0
void MxBackgroundAudioManager::Enable(MxBool p)
{
if (this->m_musicEnabled != p) {
this->m_musicEnabled = p;
if (!p) {
Stop();
}
}
}
// OFFSET: LEGO1 0x1007f650
void MxBackgroundAudioManager::Init()
{
this->m_unka0 = 0;
this->m_unk13c = 0;
}