MxMusicPresenter vtable

vtable+0x34 adds the current presenter to the music manager
vtable+0x38 calls destroy with the param as "FALSE"
This commit is contained in:
Joshua Peisach 2023-10-07 15:47:19 -04:00
parent a9fa734844
commit 5957674e81
No known key found for this signature in database
GPG Key ID: 41C3D4189AFEDB5A
2 changed files with 29 additions and 1 deletions

View File

@ -1,5 +1,11 @@
#include "mxmusicpresenter.h" #include "mxmusicpresenter.h"
#include "decomp.h"
#include "mxmusicmanager.h"
#include "mxomni.h"
DECOMP_SIZE_ASSERT(MxMusicPresenter, 0x54);
// OFFSET: LEGO1 0x100c22c0 // OFFSET: LEGO1 0x100c22c0
MxMusicPresenter::MxMusicPresenter() MxMusicPresenter::MxMusicPresenter()
{ {
@ -21,4 +27,22 @@ void MxMusicPresenter::Init()
void MxMusicPresenter::Destroy(MxBool) void MxMusicPresenter::Destroy(MxBool)
{ {
// TODO // TODO
} }
// OFFSET: LEGO1 0x100c25a0
MxResult MxMusicPresenter::AddToMusicManager()
{
MxResult ret = -1;
if(MusicManager()) {
ret = 0;
MusicManager()->AddPresenter(*this);
}
return ret;
}
// OFFSET: LEGO1 0x100c25d0
void MxMusicPresenter::vtable38()
{
// TODO: Name this function when we know what the argument to Destroy does
Destroy(FALSE);
}

View File

@ -4,6 +4,7 @@
#include "mxaudiopresenter.h" #include "mxaudiopresenter.h"
// VTABLE 0x100dc9b8 // VTABLE 0x100dc9b8
// SIZE 0x54
class MxMusicPresenter : public MxAudioPresenter class MxMusicPresenter : public MxAudioPresenter
{ {
public: public:
@ -23,6 +24,9 @@ class MxMusicPresenter : public MxAudioPresenter
MxMusicPresenter(); MxMusicPresenter();
virtual ~MxMusicPresenter() override; virtual ~MxMusicPresenter() override;
virtual MxResult AddToMusicManager(); // vtable+0x34
virtual void vtable38(); // vtable+0x38
private: private:
void Init(); void Init();
void Destroy(MxBool); void Destroy(MxBool);