diff --git a/LEGO1/mxeventpresenter.cpp b/LEGO1/mxeventpresenter.cpp index 755b440e..48741d4f 100644 --- a/LEGO1/mxeventpresenter.cpp +++ b/LEGO1/mxeventpresenter.cpp @@ -24,11 +24,22 @@ void MxEventPresenter::Init() m_unk50 = NULL; } +// OFFSET: LEGO1 0x100c2db0 +MxResult MxEventPresenter::AddToManager() +{ + MxResult ret = FAILURE; + if (EventManager()) { + ret = SUCCESS; + EventManager()->AddPresenter(*this); + } + + return ret; +} + // OFFSET: LEGO1 0x100c2de0 void MxEventPresenter::Destroy() { - MxEventManager* eventManager = EventManager(); - if (eventManager) + if (EventManager()) EventManager()->RemovePresenter(*this); m_criticalSection.Enter(); diff --git a/LEGO1/mxeventpresenter.h b/LEGO1/mxeventpresenter.h index 35ad8ae9..b60fc6ae 100644 --- a/LEGO1/mxeventpresenter.h +++ b/LEGO1/mxeventpresenter.h @@ -24,6 +24,7 @@ class MxEventPresenter : public MxMediaPresenter { return !strcmp(name, MxEventPresenter::ClassName()) || MxMediaPresenter::IsA(name); } + virtual MxResult AddToManager(); // vtable+0x34 virtual void Destroy() override; // vtable+0x38 private: