Implement/match PizzeriaState::NextAction

This commit is contained in:
Christian Semmler 2024-10-28 10:39:00 -07:00
parent 5f822dabc7
commit b9b6b68553
2 changed files with 15 additions and 9 deletions

View File

@ -32,12 +32,12 @@ class PizzeriaState : public LegoState {
// PizzeriaState::`scalar deleting destructor'
MxS16 FUN_10017d50();
MxU32 FUN_10017d70();
MxU32 NextAction();
// TODO: Most likely getters/setters are not used according to BETA.
Playlist m_unk0x08[5]; // 0x08
undefined4 m_unk0x44[5]; // 0x44
Playlist m_unk0x08[5]; // 0x08
MxS32 m_unk0x44[5]; // 0x44
};
// VTABLE: LEGO1 0x100d5520

View File

@ -79,7 +79,7 @@ MxLong Pizzeria::HandleClick()
AnimationManager()->FUN_10061010(FALSE);
Pizza* pizza = (Pizza*) CurrentWorld()->Find(*g_isleScript, IsleScript::c_Pizza_Actor);
pizza->FUN_10038220((IsleScript::Script) m_pizzeriaState->FUN_10017d70());
pizza->FUN_10038220((IsleScript::Script) m_pizzeriaState->NextAction());
}
return 1;
@ -97,17 +97,23 @@ PizzeriaState::PizzeriaState()
memset(m_unk0x44, -1, sizeof(m_unk0x44));
}
// STUB: LEGO1 0x10017d50
// FUNCTION: LEGO1 0x10017d50
MxS16 PizzeriaState::FUN_10017d50()
{
return 0;
return m_unk0x44[GameState()->GetActorId() - 1];
}
// STUB: LEGO1 0x10017d70
// FUNCTION: LEGO1 0x10017d70
// FUNCTION: BETA10 0x100effc0
MxU32 PizzeriaState::FUN_10017d70()
MxU32 PizzeriaState::NextAction()
{
return 0;
MxU8 actorId = GameState()->GetActorId();
if (m_unk0x44[actorId - 1] < 2) {
m_unk0x44[actorId - 1]++;
}
return m_unk0x08[actorId - 1].Next();
}
// FUNCTION: LEGO1 0x10017da0