From 483b3a5ab7197e8b242ca9976788117de3edf599 Mon Sep 17 00:00:00 2001 From: Nathan M Gilbert Date: Wed, 27 Mar 2024 11:53:38 -0400 Subject: [PATCH] ExtraActor ctor/dtor (#737) --- LEGO1/lego/legoomni/include/legoanimactor.h | 8 ++++++ LEGO1/lego/legoomni/include/legoextraactor.h | 25 ++++++++++++------- .../legoomni/src/paths/legoextraactor.cpp | 14 +++++++++-- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legoanimactor.h b/LEGO1/lego/legoomni/include/legoanimactor.h index 9219a063..4b52397e 100644 --- a/LEGO1/lego/legoomni/include/legoanimactor.h +++ b/LEGO1/lego/legoomni/include/legoanimactor.h @@ -58,9 +58,16 @@ class LegoAnimActor : public virtual LegoPathActor { MxS16 m_curAnim; // 0x18 }; +// clang-format off +// TEMPLATE: LEGO1 0x1000da20 +// vector >::~vector > + // TEMPLATE: LEGO1 0x1000da60 // Vector::~Vector +// SYNTHETIC: LEGO1 0x10012b90 +// LegoAnimActor::`vbase destructor' + // TEMPLATE: LEGO1 0x1001c010 // vector >::~vector > @@ -78,5 +85,6 @@ class LegoAnimActor : public virtual LegoPathActor { // TEMPLATE: LEGO1 0x1001ca10 // uninitialized_copy +// clang-format on #endif // LEGOANIMACTOR_H diff --git a/LEGO1/lego/legoomni/include/legoextraactor.h b/LEGO1/lego/legoomni/include/legoextraactor.h index 407676b7..b89332fa 100644 --- a/LEGO1/lego/legoomni/include/legoextraactor.h +++ b/LEGO1/lego/legoomni/include/legoextraactor.h @@ -43,15 +43,22 @@ class LegoExtraActor : public virtual LegoAnimActor { // LegoExtraActor::`scalar deleting destructor' private: - undefined4 m_unk0x08; // 0x08 - undefined m_unk0x0c; // 0x0c - undefined m_unk0x0d; // 0x0d - undefined m_unk0x0e; // 0x0e - undefined4 m_unk0x10; // 0x10 - MxU8 m_unk0x14; // 0x14 - MxMatrix m_unk0x18; // 0x18 - undefined4 m_unk0x60; // 0x60 - undefined4 m_unk0x64; // 0x64 + undefined4 m_unk0x08; // 0x08 + undefined m_unk0x0c; // 0x0c + undefined m_unk0x0d; // 0x0d + undefined m_unk0x0e; // 0x0e + undefined4 m_unk0x10; // 0x10 + MxU8 m_unk0x14; // 0x14 + MxU8 m_unk0x15; // 0x15 + MxMatrix m_unk0x18; // 0x18 + LegoAnimActorStruct* m_unk0x60; // 0x60 + LegoAnimActorStruct* m_unk0x64; // 0x64 }; +// GLOBAL: LEGO1 0x100d6be8 +// LegoExtraActor::`vbtable'{for `LegoAnimActor'} + +// GLOBAL: LEGO1 0x100d6bf0 +// LegoExtraActor::`vbtable'{for `LegoExtraActor'} + #endif // LEGOEXTRAACTOR_H diff --git a/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp b/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp index fa451bc4..774d9079 100644 --- a/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp +++ b/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp @@ -2,14 +2,24 @@ DECOMP_SIZE_ASSERT(LegoExtraActor, 0x1dc) -// STUB: LEGO1 0x1002a500 +// FUNCTION: LEGO1 0x1002a500 LegoExtraActor::LegoExtraActor() { + m_unk0x70 = 0.0f; + m_unk0x08 = 0; + m_unk0x0c = 0; + m_unk0x0e = 0; + m_unk0x14 = 0; + m_unk0x60 = NULL; + m_unk0x64 = NULL; + m_unk0x15 = 0; } -// STUB: LEGO1 0x1002a6b0 +// FUNCTION: LEGO1 0x1002a6b0 LegoExtraActor::~LegoExtraActor() { + delete m_unk0x60; + delete m_unk0x64; } // STUB: LEGO1 0x1002a720