From 4338f68b527bfc3e8c2157e73c5914817b9c579a Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Fri, 15 Dec 2023 11:38:11 -0500 Subject: [PATCH] Add changes --- LEGO1/mxcontrolpresenter.cpp | 60 ++++++++++++++++++++++++------------ LEGO1/mxcontrolpresenter.h | 42 +++++++++++++------------ 2 files changed, 64 insertions(+), 38 deletions(-) diff --git a/LEGO1/mxcontrolpresenter.cpp b/LEGO1/mxcontrolpresenter.cpp index 666fbca7..47e8a720 100644 --- a/LEGO1/mxcontrolpresenter.cpp +++ b/LEGO1/mxcontrolpresenter.cpp @@ -10,7 +10,7 @@ MxControlPresenter::MxControlPresenter() { this->m_unk0x4c = 0; this->m_unk0x4e = -1; - this->m_unk0x50 = 0; + this->m_unk0x50 = FALSE; this->m_unk0x52 = 0; this->m_unk0x58 = 0; this->m_unk0x54 = 0; @@ -19,41 +19,69 @@ MxControlPresenter::MxControlPresenter() // FUNCTION: LEGO1 0x10043fd0 void MxControlPresenter::RepeatingTickle() { - // Intentionally empty + // empty } // FUNCTION: LEGO1 0x10043fe0 MxBool MxControlPresenter::VTable0x64(undefined4 p_undefined) { - return this->m_unk0x50; + return m_unk0x50; } // FUNCTION: LEGO1 0x10043ff0 -void MxControlPresenter::VTable0x68(undefined p_undefined) +void MxControlPresenter::VTable0x68(MxBool p_undefined) { - this->m_unk0x50 = p_undefined; + m_unk0x50 = p_undefined; } // FUNCTION: LEGO1 0x10044110 MxControlPresenter::~MxControlPresenter() { - if (this->m_unk0x58) { - delete this->m_unk0x58; - } + if (m_unk0x58) + delete m_unk0x58; } // FUNCTION: LEGO1 0x10044180 MxResult MxControlPresenter::AddToManager() { - this->m_unk0x4e = 0; + m_unk0x4e = 0; return SUCCESS; } // STUB: LEGO1 0x10044190 -MxResult MxControlPresenter::StartAction(MxStreamController* p_controller, MxDSAction* p_action) +MxResult MxControlPresenter::StartAction(MxStreamController*, MxDSAction*) +{ + // TODO + return SUCCESS; +} + +// FUNCTION: LEGO1 0x10044260 +void MxControlPresenter::EndAction() +{ + if (m_action) { + m_unk0x50 = TRUE; + MxCompositePresenter::EndAction(); + } +} + +// STUB: LEGO1 0x10044270 +MxBool MxControlPresenter::FUN_10044270(undefined4, undefined4, undefined4*) +{ + // TODO + return TRUE; +} + +// STUB: LEGO1 0x10044480 +MxBool MxControlPresenter::FUN_10044480(undefined4, undefined4*) +{ + // TODO + return TRUE; +} + +// STUB: LEGO1 0x10044540 +void MxControlPresenter::FUN_10044540(undefined2) { // TODO - return FAILURE; } // FUNCTION: LEGO1 0x10044610 @@ -66,12 +94,6 @@ void MxControlPresenter::ReadyTickle() m_currentTickleState = TickleState_Repeating; } -// STUB: LEGO1 0x10044540 -void MxControlPresenter::VTable0x6C(undefined2 p_undefined) -{ - // TODO -} - // STUB: LEGO1 0x10044640 void MxControlPresenter::ParseExtra() { @@ -88,5 +110,5 @@ void MxControlPresenter::Enable(MxBool p_enable) MxBool MxControlPresenter::HasTickleStatePassed(TickleState p_tickleState) { // TODO - return FALSE; -} \ No newline at end of file + return TRUE; +} diff --git a/LEGO1/mxcontrolpresenter.h b/LEGO1/mxcontrolpresenter.h index 3627d347..d4ee347f 100644 --- a/LEGO1/mxcontrolpresenter.h +++ b/LEGO1/mxcontrolpresenter.h @@ -3,8 +3,6 @@ #include "decomp.h" #include "mxcompositepresenter.h" -#include "mxdsaction.h" -#include "mxstreamcontroller.h" // VTABLE: LEGO1 0x100d7b88 // SIZE 0x5c @@ -26,25 +24,31 @@ class MxControlPresenter : public MxCompositePresenter { return !strcmp(p_name, MxControlPresenter::ClassName()) || MxCompositePresenter::IsA(p_name); } - virtual void ReadyTickle() override; // vtable+0x18 - virtual void RepeatingTickle() override; // vtable+0x24 - virtual void ParseExtra() override; // vtable+0x30 - virtual MxResult AddToManager() override; // vtable+0x34 + virtual void ReadyTickle() override; // vtable+0x18 + virtual void RepeatingTickle() override; // vtable+0x24 + virtual void ParseExtra() override; // vtable+0x30 + virtual MxResult AddToManager() override; // vtable+0x34 + virtual MxResult StartAction(MxStreamController*, MxDSAction*) override; // vtable+0x3c + virtual void EndAction() override; // vtable+0x40 + virtual MxBool HasTickleStatePassed(TickleState p_tickleState) override; // vtable+0x48 + virtual void Enable(MxBool p_enable) override; // vtable+0x54 + virtual MxBool VTable0x64(undefined4 p_undefined) override; // vtable+0x64 + virtual void VTable0x68(MxBool p_undefined); // vtable+0x64 - virtual MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c - virtual MxBool HasTickleStatePassed(TickleState p_tickleState) override; // vtable+0x48 - virtual void Enable(MxBool p_enable) override; // vtable+0x54 - virtual MxBool VTable0x64(undefined4 p_undefined) override; // vtable+0x64 - - virtual void VTable0x68(undefined p_undefined); - virtual void VTable0x6C(undefined2 p_undefined); private: - undefined2 m_unk0x4c; - MxS16 m_unk0x4e; - undefined m_unk0x50; - undefined2 m_unk0x52; - undefined2 m_unk0x54; - undefined4* m_unk0x58; + MxBool FUN_10044270(undefined4, undefined4, undefined4*); + MxBool FUN_10044480(undefined4, undefined4*); + void FUN_10044540(undefined2); + + undefined2 m_unk0x4c; // 0x4c + MxS16 m_unk0x4e; // 0x4e + MxBool m_unk0x50; // 0x50 + undefined2 m_unk0x52; // 0x52 + undefined2 m_unk0x54; // 0x54 + undefined4* m_unk0x58; // 0x58 }; +// SYNTHETIC: LEGO1 0x100440f0 +// MxControlPresenter::`scalar deleting destructor' + #endif // MXCONTROLPRESENTER_H