This commit is contained in:
Christian Semmler 2024-04-14 09:58:13 -04:00
parent 510f656df2
commit 86187532f7

View File

@ -295,40 +295,41 @@ MxS32 LegoPathActor::VTable0x8c(float p_time, Matrix4& p_transform)
return result;
}
else {
if (p_time >= 0 && m_worldSpeed > 0) {
float f = (m_BADuration - m_unk0x7c) / m_worldSpeed + m_lastTime;
if (p_time < 0 || m_worldSpeed <= 0) {
return -1;
}
if (f < p_time) {
m_unk0x7c = m_BADuration;
m_unk0xe9 = 1;
}
else {
f = p_time;
m_unk0xe9 = 0;
m_unk0x7c += (p_time - m_lastTime) * m_worldSpeed;
}
float f = (m_BADuration - m_unk0x7c) / m_worldSpeed + m_lastTime;
m_actorTime += (f - m_lastTime) * m_worldSpeed;
m_lastTime = f;
p_transform.SetIdentity();
m_unk0x8c
.FUN_1009a1e0(m_BADuration / m_unk0x7c, p_transform, *m_boundary->GetUnknown0x14(), !m_userNavFlag);
Vector3 pos1(p_transform[3]);
Vector3 pos2(m_unk0xec[3]);
Mx3DPointFloat p1;
if (f < p_time) {
m_unk0x7c = m_BADuration;
m_unk0xe9 = 1;
}
else {
f = p_time;
m_unk0xe9 = 0;
m_unk0x7c += (p_time - m_lastTime) * m_worldSpeed;
}
if (VTable0x68(pos2, pos1, p1) > 0) {
m_lastTime = p_time;
return 1;
}
m_actorTime += (f - m_lastTime) * m_worldSpeed;
m_lastTime = f;
p_transform.SetIdentity();
m_unk0x8c.FUN_1009a1e0(m_BADuration / m_unk0x7c, p_transform, *m_boundary->GetUnknown0x14(), !m_userNavFlag);
Vector3 pos1(p_transform[3]);
Vector3 pos2(m_unk0xec[3]);
Mx3DPointFloat p1;
m_boundary->FUN_100575b0(pos2, pos1, this);
pos2 = pos1;
if (VTable0x68(pos2, pos1, p1) > 0) {
m_lastTime = p_time;
return 1;
}
if (m_unk0xe9 != 0) {
WaitForAnimation();
return 0;
}
m_boundary->FUN_100575b0(pos2, pos1, this);
pos2 = pos1;
if (m_unk0xe9 != 0) {
WaitForAnimation();
return 0;
}
}