From ca359e90020dd4feb319713c1b616f52aec082a7 Mon Sep 17 00:00:00 2001 From: Joshua Peisach Date: Sun, 5 Nov 2023 17:45:48 -0500 Subject: [PATCH] MxEventPresenter: AddToManager and small destroy cleanup (#269) * MxEventPresenter: AddToManager and small destroy cleanup * Update mxeventpresenter.h * Update mxeventpresenter.h --------- Co-authored-by: Christian Semmler --- LEGO1/mxeventpresenter.cpp | 15 +++++++++++++-- LEGO1/mxeventpresenter.h | 3 ++- 2 files changed, 15 insertions(+), 3 deletions(-) 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..91b95983 100644 --- a/LEGO1/mxeventpresenter.h +++ b/LEGO1/mxeventpresenter.h @@ -24,7 +24,8 @@ public: return !strcmp(name, MxEventPresenter::ClassName()) || MxMediaPresenter::IsA(name); } - virtual void Destroy() override; // vtable+0x38 + virtual MxResult AddToManager() override; // vtable+0x34 + virtual void Destroy() override; // vtable+0x38 private: void Init();