From 95485f378aa2c6d6ddeb5e65104452f6215374be Mon Sep 17 00:00:00 2001 From: Joshua Peisach Date: Sat, 9 Nov 2024 10:01:02 -0500 Subject: [PATCH] Implement Doors::VTable0x94 --- LEGO1/lego/legoomni/include/doors.h | 8 ++++---- LEGO1/lego/legoomni/src/actors/doors.cpp | 21 ++++++++++++++++++--- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/LEGO1/lego/legoomni/include/doors.h b/LEGO1/lego/legoomni/include/doors.h index 527d1de1..bc64d8f2 100644 --- a/LEGO1/lego/legoomni/include/doors.h +++ b/LEGO1/lego/legoomni/include/doors.h @@ -31,12 +31,12 @@ class Doors : public LegoPathActor { private: undefined4 m_unk0x154; // 0x154 - undefined4 m_unk0x158; // 0x158 - undefined4 m_unk0x15c; // 0x15c - undefined4 m_unk0x160; // 0x160 + MxFloat m_unk0x158; // 0x158 + Matrix4* m_unk0x15c; // 0x15c + Matrix4* m_unk0x160; // 0x160 MxMatrix m_unk0x164; // 0x164 MxMatrix m_unk0x1ac; // 0x1ac - undefined4 m_unk0x1f4; // 0x1f4 + MxFloat m_unk0x1f4; // 0x1f4 }; #endif // DOORS_H diff --git a/LEGO1/lego/legoomni/src/actors/doors.cpp b/LEGO1/lego/legoomni/src/actors/doors.cpp index d4aedd7c..57a72c37 100644 --- a/LEGO1/lego/legoomni/src/actors/doors.cpp +++ b/LEGO1/lego/legoomni/src/actors/doors.cpp @@ -1,12 +1,27 @@ #include "doors.h" +#include "mxmisc.h" +#include "mxtimer.h" + DECOMP_SIZE_ASSERT(Doors, 0x1f8) -// STUB: LEGO1 0x10066100 +// FUNCTION: LEGO1 0x10066100 MxResult Doors::VTable0x94(LegoPathActor* p_actor, MxBool p_bool) { - // TODO - return 0; + if (m_unk0x154 == 1) { + m_unk0x154 = 2; + + m_unk0x158 = Timer()->GetTime(); + + m_unk0x164 = *m_unk0x15c; + m_unk0x1ac = *m_unk0x160; + } + + if (m_unk0x1f4 < 0.001) { + return SUCCESS; + } + + return FAILURE; } // STUB: LEGO1 0x10066250