From ada95e09043eef1df065e3df6e3412b6e435bcfe Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Fri, 29 Dec 2023 13:00:33 -0500 Subject: [PATCH] Match LegoWorld::Tickle --- LEGO1/legoworld.cpp | 17 ++++++++++------- LEGO1/legoworld.h | 4 ++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/LEGO1/legoworld.cpp b/LEGO1/legoworld.cpp index 3e730071..ff3969bd 100644 --- a/LEGO1/legoworld.cpp +++ b/LEGO1/legoworld.cpp @@ -15,7 +15,7 @@ DECOMP_SIZE_ASSERT(LegoWorld, 0xf8); LegoWorld::LegoWorld() : m_list0x68(TRUE) { // TODO - m_unk0xf6 = 0; + m_unk0xf6 = FALSE; m_unk0xf4 = 4; NotificationManager()->Register(this); } @@ -101,14 +101,17 @@ void LegoWorld::VTable0x68(MxBool p_add) // FUNCTION: LEGO1 0x10022080 MxResult LegoWorld::Tickle() { - if (m_unk0xf6 == 0) { - if (m_unk0xf4 == 0) { - m_unk0xf6 = 1; + if (!m_unk0xf6) { + switch (m_unk0xf4) { + case 0: + m_unk0xf6 = TRUE; SetAppCursor(0); Stop(); return TRUE; - } - if (m_unk0xf4 != 2 && FUN_100220e0() != 1) { + case 2: + if (FUN_100220e0() == 1) + break; + default: m_unk0xf4--; } } @@ -116,7 +119,7 @@ MxResult LegoWorld::Tickle() } // STUB: LEGO1 0x100220e0 -undefined4 LegoWorld::FUN_100220e0() +undefined LegoWorld::FUN_100220e0() { return TRUE; } diff --git a/LEGO1/legoworld.h b/LEGO1/legoworld.h index eed5c6b0..d855b530 100644 --- a/LEGO1/legoworld.h +++ b/LEGO1/legoworld.h @@ -44,7 +44,7 @@ class LegoWorld : public LegoEntity { inline LegoCameraController* GetCamera() { return m_camera; } - undefined4 LegoWorld::FUN_100220e0(); + undefined FUN_100220e0(); MxResult SetAsCurrentWorld(MxDSObject& p_dsObject); void EndAction(MxCore* p_object); void FUN_1001fc80(IslePathActor* p_actor); @@ -62,7 +62,7 @@ class LegoWorld : public LegoEntity { MxPresenterList m_list0xb8; // 0xb8 undefined m_unk0xd0[0x24]; // 0xd0 MxS16 m_unk0xf4; // 0xf4 - undefined m_unk0xf6; // 0xf6 + MxBool m_unk0xf6; // 0xf6 undefined m_unk0xf7; // 0xf7 };