diff --git a/CMakeLists.txt b/CMakeLists.txt index 89065538..2153aa6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -343,10 +343,10 @@ function(add_lego_libraries NAME) LEGO1/lego/legoomni/src/audio/legocachesoundmanager.cpp LEGO1/lego/legoomni/src/common/legoutils.cpp LEGO1/lego/legoomni/src/actors/act3actors.cpp - LEGO1/lego/legoomni/src/actors/act3ammo.cpp LEGO1/lego/legoomni/src/control/legometerpresenter.cpp LEGO1/lego/legoomni/src/common/legoactioncontrolpresenter.cpp LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp + LEGO1/lego/legoomni/src/actors/act3ammo.cpp LEGO1/lego/legoomni/src/paths/legopathpresenter.cpp LEGO1/lego/legoomni/src/common/legophoneme.cpp LEGO1/lego/legoomni/src/paths/legopathcontroller.cpp diff --git a/LEGO1/lego/legoomni/include/mxcontrolpresenter.h b/LEGO1/lego/legoomni/include/mxcontrolpresenter.h index 3d42526f..8fcfecc7 100644 --- a/LEGO1/lego/legoomni/include/mxcontrolpresenter.h +++ b/LEGO1/lego/legoomni/include/mxcontrolpresenter.h @@ -15,6 +15,15 @@ class MxControlPresenter : public MxCompositePresenter { MxControlPresenter(); ~MxControlPresenter() override; + // FUNCTION: LEGO1 0x10043fd0 + void RepeatingTickle() override {} // vtable+0x24 + + // FUNCTION: LEGO1 0x10043fe0 + MxBool VTable0x64(undefined4 p_undefined) override { return m_unk0x50; } // vtable+0x64 + + // FUNCTION: LEGO1 0x10043ff0 + virtual void VTable0x68(MxBool p_unk0x50) { m_unk0x50 = p_unk0x50; } // vtable+0x68 + // FUNCTION: LEGO1 0x10044000 // FUNCTION: BETA10 0x100ebf80 const char* ClassName() const override // vtable+0x0c @@ -30,15 +39,12 @@ class MxControlPresenter : public MxCompositePresenter { } void ReadyTickle() override; // vtable+0x18 - void RepeatingTickle() override; // vtable+0x24 void ParseExtra() override; // vtable+0x30 MxResult AddToManager() override; // vtable+0x34 MxResult StartAction(MxStreamController*, MxDSAction*) override; // vtable+0x3c void EndAction() override; // vtable+0x40 MxBool HasTickleStatePassed(TickleState p_tickleState) override; // vtable+0x48 void Enable(MxBool p_enable) override; // vtable+0x54 - MxBool VTable0x64(undefined4 p_undefined) override; // vtable+0x64 - virtual void VTable0x68(MxBool p_unk0x50); // vtable+0x68 virtual void VTable0x6c(MxS16 p_unk0x4e); // vtable+0x6c MxBool FUN_10044480(LegoControlManagerNotificationParam* p_param, MxPresenter* p_presenter); diff --git a/LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp b/LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp index db96f60a..0ad1417c 100644 --- a/LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp +++ b/LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp @@ -14,30 +14,12 @@ DECOMP_SIZE_ASSERT(MxControlPresenter, 0x5c) // FUNCTION: LEGO1 0x10043f50 MxControlPresenter::MxControlPresenter() { - this->m_unk0x4c = 0; - this->m_unk0x4e = -1; - this->m_unk0x50 = FALSE; - this->m_unk0x52 = 0; - this->m_unk0x58 = 0; - this->m_unk0x54 = 0; -} - -// FUNCTION: LEGO1 0x10043fd0 -void MxControlPresenter::RepeatingTickle() -{ - // empty -} - -// FUNCTION: LEGO1 0x10043fe0 -MxBool MxControlPresenter::VTable0x64(undefined4 p_undefined) -{ - return m_unk0x50; -} - -// FUNCTION: LEGO1 0x10043ff0 -void MxControlPresenter::VTable0x68(MxBool p_unk0x50) -{ - m_unk0x50 = p_unk0x50; + m_unk0x4c = 0; + m_unk0x4e = -1; + m_unk0x50 = FALSE; + m_unk0x52 = 0; + m_unk0x58 = 0; + m_unk0x54 = 0; } // FUNCTION: LEGO1 0x10044110 diff --git a/LEGO1/omni/include/mxstillpresenter.h b/LEGO1/omni/include/mxstillpresenter.h index c8e5266a..55b2be70 100644 --- a/LEGO1/omni/include/mxstillpresenter.h +++ b/LEGO1/omni/include/mxstillpresenter.h @@ -13,6 +13,9 @@ class MxStillPresenter : public MxVideoPresenter { // FUNCTION: LEGO1 0x10043550 ~MxStillPresenter() override { Destroy(TRUE); } // vtable+0x00 + // FUNCTION: LEGO1 0x100435b0 + void Destroy() override { Destroy(FALSE); } // vtable+0x38 + // FUNCTION: BETA10 0x100980c0 static const char* HandlerClassName() { @@ -33,14 +36,10 @@ class MxStillPresenter : public MxVideoPresenter { return !strcmp(p_name, MxStillPresenter::ClassName()) || MxVideoPresenter::IsA(p_name); } - void StartingTickle() override; // vtable+0x1c - void StreamingTickle() override; // vtable+0x20 - void RepeatingTickle() override; // vtable+0x24 - void ParseExtra() override; // vtable+0x30 - - // FUNCTION: LEGO1 0x100435b0 - void Destroy() override { Destroy(FALSE); } // vtable+0x38 - + void StartingTickle() override; // vtable+0x1c + void StreamingTickle() override; // vtable+0x20 + void RepeatingTickle() override; // vtable+0x24 + void ParseExtra() override; // vtable+0x30 void Enable(MxBool p_enable) override; // vtable+0x54 void LoadHeader(MxStreamChunk* p_chunk) override; // vtable+0x5c void CreateBitmap() override; // vtable+0x60