diff --git a/LEGO1/mxmusicpresenter.cpp b/LEGO1/mxmusicpresenter.cpp index 72ae273a..45a56679 100644 --- a/LEGO1/mxmusicpresenter.cpp +++ b/LEGO1/mxmusicpresenter.cpp @@ -1,5 +1,11 @@ #include "mxmusicpresenter.h" +#include "decomp.h" +#include "mxmusicmanager.h" +#include "mxomni.h" + +DECOMP_SIZE_ASSERT(MxMusicPresenter, 0x54); + // OFFSET: LEGO1 0x100c22c0 MxMusicPresenter::MxMusicPresenter() { @@ -21,4 +27,22 @@ void MxMusicPresenter::Init() void MxMusicPresenter::Destroy(MxBool) { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x100c25a0 +MxResult MxMusicPresenter::AddToMusicManager() +{ + MxResult result = FAILURE; + if (MusicManager()) { + result = SUCCESS; + MusicManager()->AddPresenter(*this); + } + return result; +} + +// OFFSET: LEGO1 0x100c25d0 +void MxMusicPresenter::vtable38() +{ + // TODO: Name this function when we know what the argument to Destroy does + Destroy(FALSE); +} diff --git a/LEGO1/mxmusicpresenter.h b/LEGO1/mxmusicpresenter.h index a000c2b9..2e55aa6c 100644 --- a/LEGO1/mxmusicpresenter.h +++ b/LEGO1/mxmusicpresenter.h @@ -4,6 +4,7 @@ #include "mxaudiopresenter.h" // VTABLE 0x100dc9b8 +// SIZE 0x54 class MxMusicPresenter : public MxAudioPresenter { public: @@ -23,6 +24,9 @@ public: MxMusicPresenter(); virtual ~MxMusicPresenter() override; + virtual MxResult AddToMusicManager(); // vtable+0x34 + virtual void vtable38(); // vtable+0x38 + private: void Init(); void Destroy(MxBool);