Clear unknowns in LegoActor (#1708)

This commit is contained in:
Fabian Neundorf 2026-01-05 20:29:30 +01:00 committed by GitHub
parent c0c56be530
commit 29dda2c369
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 10 additions and 10 deletions

View File

@ -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
};

View File

@ -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;
}

View File

@ -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;

View File

@ -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);

View File

@ -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;
}

View File

@ -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;