From 29dda2c36919db2fc88acfc4d5c8a7bccd701930 Mon Sep 17 00:00:00 2001 From: Fabian Neundorf Date: Mon, 5 Jan 2026 20:29:30 +0100 Subject: [PATCH] Clear unknowns in `LegoActor` (#1708) --- LEGO1/lego/legoomni/include/legoactor.h | 6 +++--- LEGO1/lego/legoomni/src/entity/legoactor.cpp | 2 +- LEGO1/lego/legoomni/src/paths/legoextraactor.cpp | 2 +- LEGO1/lego/legoomni/src/paths/legopathstruct.cpp | 2 +- LEGO1/lego/legoomni/src/race/legoraceactor.cpp | 2 +- LEGO1/lego/legoomni/src/race/legoracespecial.cpp | 6 +++--- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legoactor.h b/LEGO1/lego/legoomni/include/legoactor.h index 174ec4e1..f6456474 100644 --- a/LEGO1/lego/legoomni/include/legoactor.h +++ b/LEGO1/lego/legoomni/include/legoactor.h @@ -56,11 +56,11 @@ class LegoActor : public LegoEntity { // FUNCTION: LEGO1 0x10002ce0 // FUNCTION: BETA10 0x1000f440 - virtual void VTable0x58(MxFloat p_unk0x70) { m_unk0x70 = p_unk0x70; } // vtable+0x58 + virtual void SetLastPathStruct(MxFloat p_lastPathStruct) { m_lastPathStruct = p_lastPathStruct; } // vtable+0x58 // FUNCTION: LEGO1 0x10002cf0 // FUNCTION: BETA10 0x1000f470 - virtual MxFloat VTable0x5c() { return m_unk0x70; } // vtable+0x5c + virtual MxFloat GetLastPathStruct() { return m_lastPathStruct; } // vtable+0x5c // FUNCTION: LEGO1 0x10002d00 // FUNCTION: BETA10 0x1000f4a0 @@ -77,7 +77,7 @@ class LegoActor : public LegoEntity { protected: MxFloat m_frequencyFactor; // 0x68 LegoCacheSound* m_sound; // 0x6c - MxFloat m_unk0x70; // 0x70 + MxFloat m_lastPathStruct; // 0x70 MxU8 m_actorId; // 0x74 }; diff --git a/LEGO1/lego/legoomni/src/entity/legoactor.cpp b/LEGO1/lego/legoomni/src/entity/legoactor.cpp index c2196f30..d7ac570c 100644 --- a/LEGO1/lego/legoomni/src/entity/legoactor.cpp +++ b/LEGO1/lego/legoomni/src/entity/legoactor.cpp @@ -17,7 +17,7 @@ LegoActor::LegoActor() { m_frequencyFactor = 0.0f; m_sound = NULL; - m_unk0x70 = 0.0f; + m_lastPathStruct = 0.0f; m_interaction = 0; m_actorId = 0; } diff --git a/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp b/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp index 9ff1505d..60356a0b 100644 --- a/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp +++ b/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp @@ -30,7 +30,7 @@ Mx3DPointFloat g_unk0x10104c18 = Mx3DPointFloat(0.0f, 2.5f, 0.0f); // FUNCTION: BETA10 0x10080908 LegoExtraActor::LegoExtraActor() { - m_unk0x70 = 0.0f; + m_lastPathStruct = 0.0f; m_scheduledTime = 0; m_unk0x0c = 0; m_unk0x0e = 0; diff --git a/LEGO1/lego/legoomni/src/paths/legopathstruct.cpp b/LEGO1/lego/legoomni/src/paths/legopathstruct.cpp index 7d8dfc0f..15cca7c4 100644 --- a/LEGO1/lego/legoomni/src/paths/legopathstruct.cpp +++ b/LEGO1/lego/legoomni/src/paths/legopathstruct.cpp @@ -49,7 +49,7 @@ MxBool LegoPathStruct::HandleTrigger(LegoPathActor* p_actor, MxBool p_direction, } break; case c_d: { - p_actor->VTable0x58(p_data); + p_actor->SetLastPathStruct(p_data); LegoPathStructNotificationParam param(c_notificationPathStruct, p_actor, m_name[2], p_data); p_actor->Notify(param); diff --git a/LEGO1/lego/legoomni/src/race/legoraceactor.cpp b/LEGO1/lego/legoomni/src/race/legoraceactor.cpp index f005d996..6019ba17 100644 --- a/LEGO1/lego/legoomni/src/race/legoraceactor.cpp +++ b/LEGO1/lego/legoomni/src/race/legoraceactor.cpp @@ -19,7 +19,7 @@ Mx3DPointFloat LegoRaceActor::g_unk0x10102b08 = Mx3DPointFloat(0.0, 2.0, 0.0); // FUNCTION: LEGO1 0x100145d0 LegoRaceActor::LegoRaceActor() { - m_unk0x70 = 0; + m_lastPathStruct = 0; m_unk0x08 = 0; } diff --git a/LEGO1/lego/legoomni/src/race/legoracespecial.cpp b/LEGO1/lego/legoomni/src/race/legoracespecial.cpp index e599c633..45a6d664 100644 --- a/LEGO1/lego/legoomni/src/race/legoracespecial.cpp +++ b/LEGO1/lego/legoomni/src/race/legoracespecial.cpp @@ -43,7 +43,7 @@ MxFloat g_unk0x100da044 = 8.0f; LegoCarRaceActor::LegoCarRaceActor() { m_unk0x08 = 1.0f; - m_unk0x70 = 0.0f; + m_lastPathStruct = 0.0f; m_animState = 0; m_maxLinearVel = 0.0f; m_frequencyFactor = 1.0f; @@ -75,8 +75,8 @@ void LegoCarRaceActor::FUN_10080590(float p_time) LegoPathActor* userActor = UserActor(); if (userActor) { - // All known implementations of LegoPathActor->VTable0x5c() return LegoPathActor::m_unk0x70 - deltaUnk0x70 = m_unk0x70 - userActor->VTable0x5c(); + // All known implementations of LegoPathActor->GetLastPathStruct() return LegoPathActor::m_lastPathStruct + deltaUnk0x70 = m_lastPathStruct - userActor->GetLastPathStruct(); } else { deltaUnk0x70 = 0;