mirror of
https://github.com/isledecomp/isle-portable.git
synced 2025-04-26 14:24:08 -04:00
Implement/match TowTrack::Leave and related (#1074)
This commit is contained in:
parent
f94d39bf63
commit
a1c6196bbc
3 changed files with 36 additions and 8 deletions
LEGO1/lego/legoomni
|
@ -97,13 +97,14 @@ public:
|
|||
void CreateState();
|
||||
void FUN_1004dab0();
|
||||
void FUN_1004dad0();
|
||||
void FUN_1004db10();
|
||||
void StopActions();
|
||||
void FUN_1004dbe0();
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1004c950
|
||||
// TowTrack::`scalar deleting destructor'
|
||||
|
||||
private:
|
||||
void Leave();
|
||||
void FUN_1004dcf0(IsleScript::Script);
|
||||
|
||||
undefined4 m_unk0x160; // 0x160
|
||||
|
|
|
@ -204,10 +204,29 @@ MxLong TowTrack::HandleClick()
|
|||
return 1;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1004d8f0
|
||||
// FUNCTION: LEGO1 0x1004d8f0
|
||||
void TowTrack::Exit()
|
||||
{
|
||||
// TODO
|
||||
GameState()->m_currentArea = LegoGameState::e_garageExterior;
|
||||
StopActions();
|
||||
FUN_1004dbe0();
|
||||
Leave();
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1004d920
|
||||
void TowTrack::Leave()
|
||||
{
|
||||
IslePathActor::Exit();
|
||||
CurrentWorld()->RemoveActor(this);
|
||||
m_roi->SetVisibility(FALSE);
|
||||
RemoveFromCurrentWorld(*g_isleScript, IsleScript::c_TowTrackDashboard_Bitmap);
|
||||
RemoveFromCurrentWorld(*g_isleScript, IsleScript::c_TowTrackArms_Ctl);
|
||||
RemoveFromCurrentWorld(*g_isleScript, IsleScript::c_TowHorn_Ctl);
|
||||
RemoveFromCurrentWorld(*g_isleScript, IsleScript::c_TowHorn_Sound);
|
||||
RemoveFromCurrentWorld(*g_isleScript, IsleScript::c_TowInfo_Ctl);
|
||||
RemoveFromCurrentWorld(*g_isleScript, IsleScript::c_TowSpeedMeter);
|
||||
RemoveFromCurrentWorld(*g_isleScript, IsleScript::c_TowFuelMeter);
|
||||
ControlManager()->Unregister(this);
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1004d9e0
|
||||
|
@ -229,10 +248,18 @@ void TowTrack::FUN_1004dad0()
|
|||
// TODO
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1004db10
|
||||
void TowTrack::FUN_1004db10()
|
||||
// FUNCTION: LEGO1 0x1004db10
|
||||
void TowTrack::StopActions()
|
||||
{
|
||||
// TODO
|
||||
InvokeAction(Extra::e_stop, *g_isleScript, IsleScript::c_wns050p1_RunAnim, NULL);
|
||||
InvokeAction(Extra::e_stop, *g_isleScript, IsleScript::c_wns046mg_RunAnim, NULL);
|
||||
InvokeAction(Extra::e_stop, *g_isleScript, IsleScript::c_wns057rd_RunAnim, NULL);
|
||||
InvokeAction(Extra::e_stop, *g_isleScript, IsleScript::c_wns048p1_RunAnim, NULL);
|
||||
InvokeAction(Extra::e_stop, *g_isleScript, IsleScript::c_wns049p1_RunAnim, NULL);
|
||||
InvokeAction(Extra::e_stop, *g_isleScript, IsleScript::c_wns051bd_RunAnim, NULL);
|
||||
InvokeAction(Extra::e_stop, *g_isleScript, IsleScript::c_wns053pr_RunAnim, NULL);
|
||||
InvokeAction(Extra::e_stop, *g_isleScript, IsleScript::c_wns045di_RunAnim, NULL);
|
||||
InvokeAction(Extra::e_stop, *g_isleScript, IsleScript::c_pns123pr_RunAnim, NULL);
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1004dbe0
|
||||
|
|
|
@ -1196,7 +1196,7 @@ MxBool Isle::Escape()
|
|||
break;
|
||||
case 8:
|
||||
if (UserActor() != NULL && !UserActor()->IsA("TowTrack")) {
|
||||
m_towtrack->FUN_1004db10();
|
||||
m_towtrack->StopActions();
|
||||
m_towtrack->FUN_1004dbe0();
|
||||
}
|
||||
break;
|
||||
|
@ -1250,7 +1250,7 @@ void Isle::FUN_10033350()
|
|||
|
||||
if (m_act1state->m_unk0x018 == 8) {
|
||||
if (UserActor() != NULL && !UserActor()->IsA("TowTrack")) {
|
||||
m_towtrack->FUN_1004db10();
|
||||
m_towtrack->StopActions();
|
||||
m_towtrack->FUN_1004dbe0();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue