From 2261f7f03994cb1c32c5b1630dd8b27e73106679 Mon Sep 17 00:00:00 2001 From: Joshua Peisach Date: Mon, 25 Mar 2024 07:43:03 -0400 Subject: [PATCH] IslePathActor: implement notify, remove usage of this keyword (#724) --- .../legoomni/src/actors/islepathactor.cpp | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/LEGO1/lego/legoomni/src/actors/islepathactor.cpp b/LEGO1/lego/legoomni/src/actors/islepathactor.cpp index 6bcb2956..af0baa4e 100644 --- a/LEGO1/lego/legoomni/src/actors/islepathactor.cpp +++ b/LEGO1/lego/legoomni/src/actors/islepathactor.cpp @@ -1,14 +1,16 @@ #include "islepathactor.h" +#include "mxnotificationparam.h" + DECOMP_SIZE_ASSERT(IslePathActor, 0x160) // FUNCTION: LEGO1 0x1001a200 IslePathActor::IslePathActor() { - this->m_world = NULL; - this->m_unk0x13c = 6.0; - this->m_unk0x15c = 1.0; - this->m_unk0x158 = 0; + m_world = NULL; + m_unk0x13c = 6.0; + m_unk0x15c = 1.0; + m_unk0x158 = 0; } // FUNCTION: LEGO1 0x1001a280 @@ -25,11 +27,30 @@ void IslePathActor::Destroy(MxBool p_fromDestructor) } } -// STUB: LEGO1 0x1001a2c0 +// FUNCTION: LEGO1 0x1001a2c0 MxLong IslePathActor::Notify(MxParam& p_param) { - // TODO - return 0; + MxLong ret = 0; + + switch (((MxNotificationParam&) p_param).GetType()) { + case c_notificationType0: + ret = VTable0xd0(); + break; + case c_notificationType11: + ret = VTable0xcc(); + break; + case c_notificationClick: + ret = VTable0xd4((LegoControlManagerEvent&) p_param); + break; + case c_notificationType18: + ret = VTable0xd8((MxType18NotificationParam&) p_param); + break; + case c_notificationType19: + ret = VTable0xdc((MxType19NotificationParam&) p_param); + break; + } + + return ret; } // STUB: LEGO1 0x1001a350