From 67e2703dd71842ae9430c442ce2048ef69f69914 Mon Sep 17 00:00:00 2001 From: Joshua Peisach Date: Wed, 17 Jan 2024 09:18:49 -0500 Subject: [PATCH] video/legohideanimpresenter: Init, dtor, most of destroy function --- .../legoomni/include/legohideanimpresenter.h | 4 ++++ .../src/video/legohideanimpresenter.cpp | 22 ++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legohideanimpresenter.h b/LEGO1/lego/legoomni/include/legohideanimpresenter.h index fda96c98..a8c60047 100644 --- a/LEGO1/lego/legoomni/include/legohideanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legohideanimpresenter.h @@ -1,6 +1,7 @@ #ifndef LEGOHIDEANIMPRESENTER_H #define LEGOHIDEANIMPRESENTER_H +#include "decomp.h" #include "legoloopinganimpresenter.h" // VTABLE: LEGO1 0x100d9278 @@ -25,6 +26,9 @@ class LegoHideAnimPresenter : public LegoLoopingAnimPresenter { private: void Init(); + void Destroy(MxBool p_fromDestructor); + + undefined4* m_unk0xc0; // 0xc0 }; // SYNTHETIC: LEGO1 0x1006d9d0 diff --git a/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp index 9aa9f2fe..13cbecca 100644 --- a/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp @@ -1,18 +1,34 @@ #include "legohideanimpresenter.h" +DECOMP_SIZE_ASSERT(LegoHideAnimPresenter, 0xc4) + // FUNCTION: LEGO1 0x1006d7e0 LegoHideAnimPresenter::LegoHideAnimPresenter() { Init(); } -// STUB: LEGO1 0x1006d9f0 +// FUNCTION: LEGO1 0x1006d9f0 LegoHideAnimPresenter::~LegoHideAnimPresenter() { - // TODO + Destroy(TRUE); } -// STUB: LEGO1 0x1006da50 +// FUNCTION: LEGO1 0x1006da50 void LegoHideAnimPresenter::Init() { + this->m_unk0xc0 = NULL; } + +// STUB: LEGO1 0x1006da60 +void LegoHideAnimPresenter::Destroy(MxBool p_fromDestructor) +{ + m_criticalSection.Enter(); + if(!this->m_unk0xc0) + delete this->m_unk0xc0; + Init(); + m_criticalSection.Leave(); + + // if (!p_fromDestructor) + // TODO: another function +} \ No newline at end of file