Match Ambulance::StopScriptOnAmbulance and StopScriptOnEntity

This commit is contained in:
Joshua Peisach 2024-06-08 11:45:42 -04:00
parent cb74a8c80e
commit bc42a72cd6
No known key found for this signature in database
GPG Key ID: 41C3D4189AFEDB5A
3 changed files with 18 additions and 6 deletions

View File

@ -98,13 +98,15 @@ class Ambulance : public IslePathActor {
void CreateState();
void FUN_10036e60();
void FUN_10037060();
void FUN_10037240();
void StopScriptOnAmbulance();
void FUN_10037250();
// SYNTHETIC: LEGO1 0x10036130
// Ambulance::`scalar deleting destructor'
private:
void StopScriptOnEntity(MxS32 p_entityId);
undefined m_unk0x160[4]; // 0x160
AmbulanceMissionState* m_state; // 0x164
MxS16 m_unk0x168; // 0x168

View File

@ -1,8 +1,10 @@
#include "ambulance.h"
#include "decomp.h"
#include "isle_actions.h"
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoutils.h"
#include "legovariables.h"
#include "legoworld.h"
#include "misc.h"
@ -182,10 +184,10 @@ MxResult Ambulance::Tickle()
return SUCCESS;
}
// STUB: LEGO1 0x10037240
void Ambulance::FUN_10037240()
// FUNCTION: LEGO1 0x10037240
void Ambulance::StopScriptOnAmbulance()
{
// TODO
StopScriptOnEntity(IsleScript::c_pns018rd_RunAnim);
}
// STUB: LEGO1 0x10037250
@ -194,6 +196,14 @@ void Ambulance::FUN_10037250()
// TODO
}
// FUNCTION: LEGO1 0x10037340
void Ambulance::StopScriptOnEntity(MxS32 p_entityId)
{
if (p_entityId != -1) {
InvokeAction(Extra::e_stop, *g_isleScript, p_entityId, NULL);
}
}
// FUNCTION: LEGO1 0x100373a0
AmbulanceMissionState::AmbulanceMissionState()
{

View File

@ -1201,7 +1201,7 @@ MxBool Isle::Escape()
break;
case 10:
if (CurrentActor() != NULL && !CurrentActor()->IsA("Ambulance")) {
m_ambulance->FUN_10037240();
m_ambulance->StopScriptOnAmbulance();
m_ambulance->FUN_10037250();
}
break;
@ -1242,7 +1242,7 @@ void Isle::FUN_10033350()
{
if (m_act1state->m_unk0x018 == 10) {
if (CurrentActor() != NULL && !CurrentActor()->IsA("Ambulance")) {
m_ambulance->FUN_10037240();
m_ambulance->StopScriptOnAmbulance();
m_ambulance->FUN_10037250();
}
}