From 26b2455b76fc1afc523d2b2adf0c4ef1b65a5f43 Mon Sep 17 00:00:00 2001 From: Misha <106913236+MishaProductions@users.noreply.github.com> Date: Sun, 29 Oct 2023 12:28:38 -0400 Subject: [PATCH] LegoActor --- LEGO1/legoactor.cpp | 42 ++++++++++++++++++++++++------------------ LEGO1/legoactor.h | 17 ++++++++++------- LEGO1/legoentity.h | 2 +- 3 files changed, 35 insertions(+), 26 deletions(-) diff --git a/LEGO1/legoactor.cpp b/LEGO1/legoactor.cpp index ace8a47c..c250830f 100644 --- a/LEGO1/legoactor.cpp +++ b/LEGO1/legoactor.cpp @@ -3,43 +3,49 @@ DECOMP_SIZE_ASSERT(LegoActor, 0x78) // Probably in header -// OFFSET: LEGO1 0x10002cc0 STUB -void LegoActor::VTable0x50() +// OFFSET: LEGO1 0x10002cc0 +float LegoActor::VTable0x50() { - // TODO + return m_unk68; } -// OFFSET: LEGO1 0x10002cd0 STUB -void LegoActor::VTable0x54() +// OFFSET: LEGO1 0x10002cd0 +void LegoActor::VTable0x54(float p_unk) { - // TODO + m_unk68 = p_unk; } -// OFFSET: LEGO1 0x10002ce0 STUB -void LegoActor::VTable0x58() +// OFFSET: LEGO1 0x10002ce0 +void LegoActor::VTable0x58(float p_unk) { - // TODO + m_unk70 = p_unk; } -// OFFSET: LEGO1 0x10002cf0 STUB -void LegoActor::VTable0x5c() +// OFFSET: LEGO1 0x10002cf0 +float LegoActor::VTable0x5c() { - // TODO + return m_unk70; } -// OFFSET: LEGO1 0x10002d00 STUB -void LegoActor::VTable0x60() +// OFFSET: LEGO1 0x10002d00 +undefined LegoActor::VTable0x60() { - // TODO + return m_unk74; } -// OFFSET: LEGO1 0x10002d10 STUB -void LegoActor::VTable0x64() +// OFFSET: LEGO1 0x10002d10 +void LegoActor::VTable0x64(undefined p_unk) { - // TODO + m_unk74 = p_unk; } // End header +// OFFSET: LEGO1 0x1002d110 LegoActor::LegoActor() { + m_unk68 = 0.0f; + m_unk6c = 0; + m_unk70 = 0.0f; + m_unk10 = 0; + m_unk74 = 0; } diff --git a/LEGO1/legoactor.h b/LEGO1/legoactor.h index 4c943cf6..97cc246c 100644 --- a/LEGO1/legoactor.h +++ b/LEGO1/legoactor.h @@ -23,15 +23,18 @@ class LegoActor : public LegoEntity { return !strcmp(name, LegoActor::ClassName()) || LegoEntity::IsA(name); } - virtual void VTable0x50(); // vtable+0x50 - virtual void VTable0x54(); // vtable+0x54 - virtual void VTable0x58(); // vtable+0x58 - virtual void VTable0x5c(); // vtable+0x5c - virtual void VTable0x60(); // vtable+0x60 - virtual void VTable0x64(); // vtable+0x64 + virtual float VTable0x50(); // vtable+0x50 + virtual void VTable0x54(float p_unk); // vtable+0x54 + virtual void VTable0x58(float p_unk); // vtable+0x58 + virtual float VTable0x5c(); // vtable+0x5c + virtual undefined VTable0x60(); // vtable+0x60 + virtual void VTable0x64(undefined p_unk); // vtable+0x64 private: - undefined unk68[0x10]; + float m_unk68; + undefined4 m_unk6c; + float m_unk70; + undefined m_unk74; }; #endif // LEGOACTOR_H diff --git a/LEGO1/legoentity.h b/LEGO1/legoentity.h index 1da99f3b..e9ca87fe 100644 --- a/LEGO1/legoentity.h +++ b/LEGO1/legoentity.h @@ -15,7 +15,7 @@ class LegoEntity : public MxEntity { // Inlined at 0x100853f7 inline LegoEntity() { - // TODO + Init(); } __declspec(dllexport) virtual ~LegoEntity() override; // vtable+0x0