From e4b26019a2d30404c27a6f7e54c7e66a48bf9fa2 Mon Sep 17 00:00:00 2001 From: Joshua Peisach Date: Sat, 22 Jul 2023 21:55:22 -0400 Subject: [PATCH] Start MxBackgroundAudioManager --- LEGO1/mxbackgroundaudiomanager.cpp | 27 ++++++++++++++++++++++++++- LEGO1/mxbackgroundaudiomanager.h | 16 ++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/LEGO1/mxbackgroundaudiomanager.cpp b/LEGO1/mxbackgroundaudiomanager.cpp index 6f001303..b1a35bf0 100644 --- a/LEGO1/mxbackgroundaudiomanager.cpp +++ b/LEGO1/mxbackgroundaudiomanager.cpp @@ -4,10 +4,26 @@ MxBackgroundAudioManager::MxBackgroundAudioManager() { // TODO + m_unk14c = 0; + NotificationManager()->Register(this); + m_unka0 = 0; + m_unk138 = 0; + m_unk148 = 0; + m_unk13c = 0; + m_unk140 = 0; + m_unk144 = 0; + m_musicEnabled = FALSE; } // OFFSET: LEGO1 0x1007ec20 MxBackgroundAudioManager::~MxBackgroundAudioManager() +{ + // TODO + NotificationManager()->Unregister(this); +} + +// OFFSET: LEGO1 0x1007f470 +void MxBackgroundAudioManager::Stop() { // TODO } @@ -15,5 +31,14 @@ MxBackgroundAudioManager::~MxBackgroundAudioManager() // OFFSET: LEGO1 0x1007f5f0 void MxBackgroundAudioManager::Enable(MxBool p) { - // TODO + if ((this->m_musicEnabled != p) && (this->m_musicEnabled = p, !p)) { + Stop(); + } } + +// OFFSET: LEGO1 0x1007f650 +void MxBackgroundAudioManager::Init() +{ + this->m_unka0 = 0; + this->m_unk13c = 0; +} \ No newline at end of file diff --git a/LEGO1/mxbackgroundaudiomanager.h b/LEGO1/mxbackgroundaudiomanager.h index 9a23a671..b03bacb9 100644 --- a/LEGO1/mxbackgroundaudiomanager.h +++ b/LEGO1/mxbackgroundaudiomanager.h @@ -2,6 +2,8 @@ #define MXBACKGROUNDAUDIOMANAGER_H #include "mxcore.h" +#include "mxdsaction.h" +#include "mxtypes.h" // VTABLE 0x100d9fe8 // SIZE 0x150 @@ -25,6 +27,20 @@ class MxBackgroundAudioManager : public MxCore } __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; + MxS8 m_unk148; + MxS32 m_unk14c; }; #endif // MXBACKGROUNDAUDIOMANAGER_H