Implement/match Act3::GoodEnding (#1218)

This commit is contained in:
Christian Semmler
2024-12-13 10:49:45 -07:00
committed by GitHub
parent de7bc813ca
commit 263d7d1e4f
11 changed files with 120 additions and 21 deletions

View File

@@ -177,7 +177,7 @@ MxResult LegoAct2::Tickle()
m_unk0x10c4 = 1;
break;
case 1:
((LegoPathActor*) m_pepper->GetEntity())->SetState(LegoPathActor::c_bit3);
((LegoPathActor*) m_pepper->GetEntity())->SetState(LegoPathActor::c_disable);
switch (rand() % 3) {
case 0:
@@ -336,7 +336,7 @@ MxLong LegoAct2::Notify(MxParam& p_param)
m_unk0x10c4 = 14;
m_unk0x10d0 = 0;
((LegoPathActor*) m_pepper->GetEntity())->SetState(LegoPathActor::c_bit3);
((LegoPathActor*) m_pepper->GetEntity())->SetState(LegoPathActor::c_disable);
}
break;
case c_notificationTransitioned:
@@ -417,7 +417,7 @@ MxLong LegoAct2::HandleEndAction(MxEndActionNotificationParam& p_param)
m_unk0x10d0 = 0;
FUN_10052560(Act2mainScript::c_tra045la_RunAnim, TRUE, TRUE, NULL, NULL, NULL);
((LegoPathActor*) m_pepper->GetEntity())->SetState(LegoPathActor::c_bit3);
((LegoPathActor*) m_pepper->GetEntity())->SetState(LegoPathActor::c_disable);
AnimationManager()->EnableCamAnims(TRUE);
AnimationManager()->FUN_1005f6d0(TRUE);
AnimationManager()->FUN_100604f0(g_unk0x100f4428, sizeOfArray(g_unk0x100f4428));
@@ -602,7 +602,7 @@ MxLong LegoAct2::HandlePathStruct(LegoPathStructNotificationParam& p_param)
{
if (m_unk0x10c4 == 5 && p_param.GetData() == 0x32) {
LegoPathActor* actor = (LegoPathActor*) m_pepper->GetEntity();
actor->SetState(LegoPathActor::c_bit3);
actor->SetState(LegoPathActor::c_disable);
actor->SetWorldSpeed(0.0f);
FUN_10051900();
@@ -630,7 +630,7 @@ MxLong LegoAct2::HandlePathStruct(LegoPathStructNotificationParam& p_param)
FUN_10051fa0(p_param.GetData());
}
else if (m_unk0x10c4 == 10 && p_param.GetData() == 0x165) {
((LegoPathActor*) m_pepper->GetEntity())->SetState(LegoPathActor::c_bit3);
((LegoPathActor*) m_pepper->GetEntity())->SetState(LegoPathActor::c_disable);
if (FUN_10052560(Act2mainScript::c_VOhide_PlayWav, FALSE, TRUE, NULL, NULL, NULL) == SUCCESS) {
m_unk0x1140 = Act2mainScript::c_VOhide_PlayWav;
@@ -937,7 +937,7 @@ MxResult LegoAct2::BadEnding()
}
LegoPathActor* actor = m_unk0x1138;
actor->SetState(LegoPathActor::c_bit3);
actor->SetState(LegoPathActor::c_disable);
m_gameState->SetUnknown0x08(104);
m_destLocation = LegoGameState::e_infomain;