mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-25 09:24:17 +00:00
Refactor actor states, define enum (#1220)
* Refactor actor states, define enum * Revert * Rename `UpdateState` to `Animate`
This commit is contained in:
committed by
GitHub
parent
ce3f71ea0f
commit
6da2faa48c
@@ -48,19 +48,17 @@ MxS32 LegoRaceActor::VTable0x68(Vector3& p_v1, Vector3& p_v2, Vector3& p_v3)
|
||||
MxU32 LegoRaceActor::VTable0x90(float p_time, Matrix4& p_transform)
|
||||
{
|
||||
// Note: Code duplication with LegoExtraActor::VTable0x90
|
||||
switch (m_actorFlags) {
|
||||
case 0:
|
||||
case 1:
|
||||
return 1;
|
||||
|
||||
case 2:
|
||||
switch (m_actorState) {
|
||||
case c_initial:
|
||||
case c_one:
|
||||
return TRUE;
|
||||
case c_two:
|
||||
m_unk0x08 = p_time + 2000.0f;
|
||||
m_actorFlags = 3;
|
||||
m_actorState = c_three;
|
||||
m_actorTime += (p_time - m_lastTime) * m_worldSpeed;
|
||||
m_lastTime = p_time;
|
||||
return 0;
|
||||
|
||||
case 3:
|
||||
return FALSE;
|
||||
case c_three:
|
||||
assert(!m_userNavFlag);
|
||||
Vector3 positionRef(p_transform[3]);
|
||||
|
||||
@@ -78,19 +76,19 @@ MxU32 LegoRaceActor::VTable0x90(float p_time, Matrix4& p_transform)
|
||||
m_lastTime = p_time;
|
||||
|
||||
VTable0x74(p_transform);
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
else {
|
||||
m_actorFlags = 0;
|
||||
m_actorState = c_initial;
|
||||
m_unk0x08 = 0;
|
||||
|
||||
positionRef -= g_unk0x10102b08;
|
||||
m_roi->FUN_100a58f0(p_transform);
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10014a00
|
||||
@@ -98,7 +96,7 @@ MxU32 LegoRaceActor::VTable0x90(float p_time, Matrix4& p_transform)
|
||||
MxResult LegoRaceActor::HitActor(LegoPathActor* p_actor, MxBool p_bool)
|
||||
{
|
||||
if (!p_actor->GetUserNavFlag()) {
|
||||
if (p_actor->GetActorFlags()) {
|
||||
if (p_actor->GetActorState() != c_initial) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
@@ -112,7 +110,7 @@ MxResult LegoRaceActor::HitActor(LegoPathActor* p_actor, MxBool p_bool)
|
||||
|
||||
roi->FUN_100a58f0(matr);
|
||||
|
||||
p_actor->SetActorFlags(2);
|
||||
p_actor->SetActorState(c_two);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user