From 3a1cab323f792d7d28ef069e4ae985bd70202400 Mon Sep 17 00:00:00 2001 From: Ramen2X <64166386+Ramen2X@users.noreply.github.com> Date: Mon, 16 Oct 2023 16:18:35 -0400 Subject: [PATCH] complete and match LegoState vtable (#216) --- LEGO1/legostate.cpp | 20 ++++++++++++++++++++ LEGO1/legostate.h | 6 +++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/LEGO1/legostate.cpp b/LEGO1/legostate.cpp index 3b43d662..7b547ef4 100644 --- a/LEGO1/legostate.cpp +++ b/LEGO1/legostate.cpp @@ -11,3 +11,23 @@ LegoState::~LegoState() MxBool LegoState::VTable0x14() { return TRUE; } + +// OFFSET: LEGO1 0x10005fa0 +MxBool LegoState::VTable0x18() { + return FALSE; +} + +// OFFSET: LEGO1 0x10005fb0 +MxResult LegoState::VTable0x1C(LegoState *p_legoState) +{ + if (p_legoState->VTable0x14()) { + p_legoState->FUN_10006030(this->ClassName()); + } + return SUCCESS; +} + +// OFFSET: LEGO1 0x10006030 STUB +void LegoState::FUN_10006030(MxString p_str) +{ + // TODO +} diff --git a/LEGO1/legostate.h b/LEGO1/legostate.h index 77246153..fc478745 100644 --- a/LEGO1/legostate.h +++ b/LEGO1/legostate.h @@ -4,6 +4,7 @@ #include "decomp.h" #include "mxcore.h" +#include "mxstring.h" // VTABLE 0x100d46c0 class LegoState : public MxCore @@ -24,8 +25,11 @@ public: return !strcmp(name, LegoState::ClassName()) || MxCore::IsA(name); } - virtual MxBool VTable0x14(); + virtual MxBool VTable0x14(); // vtable+0x14 + virtual MxBool VTable0x18(); // vtable+0x18 + virtual MxResult VTable0x1C(LegoState *p_legoState); // vtable+0x1C + void FUN_10006030(MxString p_str); }; #endif // LEGOSTATE_H