Implement/Match LegoPathActor::VTable0x74

This commit is contained in:
Nathan 2024-04-15 06:51:49 -04:00
parent c8840117be
commit c4b03404c7

View File

@ -221,10 +221,7 @@ MxS32 LegoPathActor::VTable0x8c(float p_time, Matrix4& p_transform)
LegoNavController* nav = NavController(); LegoNavController* nav = NavController();
m_worldSpeed = nav->GetLinearVel(); m_worldSpeed = nav->GetLinearVel();
if (!nav->CalculateNewPosDir(p4, p5, p2, p1, m_boundary->GetUnknown0x14())) { if (nav->CalculateNewPosDir(p4, p5, p2, p1, m_boundary->GetUnknown0x14())) {
return -1;
}
Mx3DPointFloat p6; Mx3DPointFloat p6;
p6 = p2; p6 = p2;
@ -293,6 +290,10 @@ MxS32 LegoPathActor::VTable0x8c(float p_time, Matrix4& p_transform)
pos = p2; pos = p2;
return result; return result;
} }
else {
return -1;
}
}
else { else {
if (p_time < 0 || m_worldSpeed <= 0) { if (p_time < 0 || m_worldSpeed <= 0) {
return -1; return -1;
@ -315,10 +316,10 @@ MxS32 LegoPathActor::VTable0x8c(float p_time, Matrix4& p_transform)
p_transform.SetIdentity(); p_transform.SetIdentity();
if (m_userNavFlag) { if (m_userNavFlag) {
m_unk0x8c.FUN_1009a1e0(m_BADuration / m_unk0x7c, p_transform, *m_boundary->GetUnknown0x14(), 0); m_unk0x8c.FUN_1009a1e0(m_unk0x7c / m_BADuration, p_transform, *m_boundary->GetUnknown0x14(), 0);
} }
else { else {
m_unk0x8c.FUN_1009a1e0(m_BADuration / m_unk0x7c, p_transform, *m_boundary->GetUnknown0x14(), 1); m_unk0x8c.FUN_1009a1e0(m_unk0x7c / m_BADuration, p_transform, *m_boundary->GetUnknown0x14(), 1);
} }
Vector3 pos1(p_transform[3]); Vector3 pos1(p_transform[3]);
@ -344,10 +345,20 @@ MxS32 LegoPathActor::VTable0x8c(float p_time, Matrix4& p_transform)
return -1; return -1;
} }
// STUB: LEGO1 0x1002e740 // FUNCTION: LEGO1 0x1002e740
void LegoPathActor::VTable0x74(Matrix4& p_transform) void LegoPathActor::VTable0x74(Matrix4& p_transform)
{ {
// TODO if (m_userNavFlag) {
m_roi->WrappedSetLocalTransform(p_transform);
FUN_10010c30();
}
else {
m_roi->WrappedSetLocalTransform(p_transform);
m_roi->VTable0x14();
if (m_cameraFlag) {
FUN_10010c30();
}
}
} }
// STUB: LEGO1 0x1002e790 // STUB: LEGO1 0x1002e790