Match Ambulance::StopScriptOnAmbulance and StopScriptOnEntity ()

* Match Ambulance::StopScriptOnAmbulance and StopScriptOnEntity

* Rename for consistency

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Joshua Peisach 2024-06-08 17:40:36 -04:00 committed by GitHub
parent 14a2aaadea
commit b7b0b7f50a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 19 additions and 6 deletions
LEGO1/lego/legoomni
include
src

View file

@ -98,13 +98,15 @@ public:
void CreateState();
void FUN_10036e60();
void FUN_10037060();
void FUN_10037240();
void StopActions();
void FUN_10037250();
// SYNTHETIC: LEGO1 0x10036130
// Ambulance::`scalar deleting destructor'
private:
void StopAction(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"
@ -123,6 +125,7 @@ MxLong Ambulance::Notify(MxParam& p_param)
}
// STUB: LEGO1 0x100364d0
// FUNCTION: BETA10 0x10022cc2
MxLong Ambulance::HandleEndAction(MxEndActionNotificationParam& p_param)
{
// TODO
@ -182,10 +185,10 @@ MxResult Ambulance::Tickle()
return SUCCESS;
}
// STUB: LEGO1 0x10037240
void Ambulance::FUN_10037240()
// FUNCTION: LEGO1 0x10037240
void Ambulance::StopActions()
{
// TODO
StopAction(IsleScript::c_pns018rd_RunAnim);
}
// STUB: LEGO1 0x10037250
@ -194,6 +197,14 @@ void Ambulance::FUN_10037250()
// TODO
}
// FUNCTION: LEGO1 0x10037340
void Ambulance::StopAction(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->StopActions();
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->StopActions();
m_ambulance->FUN_10037250();
}
}