Implement/match Pizzeria::HandleClick (#971)

This commit is contained in:
Christian Semmler
2024-05-30 09:54:24 -04:00
committed by GitHub
parent ae859fbc19
commit 650903d043
57 changed files with 178 additions and 143 deletions

View File

@@ -1,7 +1,17 @@
#include "pizzeria.h"
#include "isle_actions.h"
#include "islepathactor.h"
#include "legoanimationmanager.h"
#include "legogamestate.h"
#include "legopathactor.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
#include "pizza.h"
#include "pizzamissionstate.h"
#include "pizzeriastate.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(Pizzeria, 0x84)
@@ -35,9 +45,21 @@ void Pizzeria::CreateState()
m_pizzaMissionState = pizzaMissionState;
}
// STUB: LEGO1 0x10017a50
undefined4 Pizzeria::VTable0x68()
// FUNCTION: LEGO1 0x10017a50
undefined4 Pizzeria::HandleClick()
{
// TODO
return 0;
if (FUN_1003ef60() && m_pizzaMissionState->m_unk0x0c == 0) {
if (CurrentActor()->GetActorId() != GameState()->GetActorId()) {
if (!CurrentActor()->IsA("SkateBoard")) {
((IslePathActor*) CurrentActor())->VTable0xe4();
}
}
AnimationManager()->FUN_10061010(FALSE);
Pizza* pizza = (Pizza*) CurrentWorld()->Find(*g_isleScript, IsleScript::c_Pizza_Actor);
pizza->FUN_10038220(m_pizzeriaState->FUN_10017d70());
}
return 1;
}