Implement/match several functions in Act3, refactor (#1197)

* Implement/match several functions in Act3, refactor

* Fix naming

* Rename

* Add comment

* Add annotation

* Add BETA assert
This commit is contained in:
Christian Semmler
2024-12-08 10:00:57 -07:00
committed by GitHub
parent 97fb6e4f15
commit 1aff40dd94
37 changed files with 244 additions and 112 deletions

View File

@@ -45,7 +45,7 @@ MxS32 LegoRaceActor::VTable0x68(Vector3& p_v1, Vector3& p_v2, Vector3& p_v3)
// FUNCTION: LEGO1 0x100147f0
// FUNCTION: BETA10 0x100c9c93
MxU32 LegoRaceActor::VTable0x90(float p_float, Matrix4& p_transform)
MxU32 LegoRaceActor::VTable0x90(float p_time, Matrix4& p_transform)
{
// Note: Code duplication with LegoExtraActor::VTable0x90
switch (m_state) {
@@ -54,10 +54,10 @@ MxU32 LegoRaceActor::VTable0x90(float p_float, Matrix4& p_transform)
return 1;
case 2:
m_unk0x08 = p_float + 2000.0f;
m_unk0x08 = p_time + 2000.0f;
m_state = 3;
m_actorTime += (p_float - m_lastTime) * m_worldSpeed;
m_lastTime = p_float;
m_actorTime += (p_time - m_lastTime) * m_worldSpeed;
m_lastTime = p_time;
return 0;
case 3:
@@ -66,7 +66,7 @@ MxU32 LegoRaceActor::VTable0x90(float p_float, Matrix4& p_transform)
p_transform = m_roi->GetLocal2World();
if (m_unk0x08 > p_float) {
if (m_unk0x08 > p_time) {
Mx3DPointFloat position;
position = positionRef;
@@ -74,8 +74,8 @@ MxU32 LegoRaceActor::VTable0x90(float p_float, Matrix4& p_transform)
p_transform.RotateX(0.6);
positionRef = position;
m_actorTime += (p_float - m_lastTime) * m_worldSpeed;
m_lastTime = p_float;
m_actorTime += (p_time - m_lastTime) * m_worldSpeed;
m_lastTime = p_time;
VTable0x74(p_transform);
return 0;