mirror of
https://github.com/isledecomp/isle-portable.git
synced 2025-05-09 04:32:22 -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 CreateState();
|
||||||
void FUN_1004dab0();
|
void FUN_1004dab0();
|
||||||
void FUN_1004dad0();
|
void FUN_1004dad0();
|
||||||
void FUN_1004db10();
|
void StopActions();
|
||||||
void FUN_1004dbe0();
|
void FUN_1004dbe0();
|
||||||
|
|
||||||
// SYNTHETIC: LEGO1 0x1004c950
|
// SYNTHETIC: LEGO1 0x1004c950
|
||||||
// TowTrack::`scalar deleting destructor'
|
// TowTrack::`scalar deleting destructor'
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void Leave();
|
||||||
void FUN_1004dcf0(IsleScript::Script);
|
void FUN_1004dcf0(IsleScript::Script);
|
||||||
|
|
||||||
undefined4 m_unk0x160; // 0x160
|
undefined4 m_unk0x160; // 0x160
|
||||||
|
|
|
@ -204,10 +204,29 @@ MxLong TowTrack::HandleClick()
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1004d8f0
|
// FUNCTION: LEGO1 0x1004d8f0
|
||||||
void TowTrack::Exit()
|
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
|
// STUB: LEGO1 0x1004d9e0
|
||||||
|
@ -229,10 +248,18 @@ void TowTrack::FUN_1004dad0()
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1004db10
|
// FUNCTION: LEGO1 0x1004db10
|
||||||
void TowTrack::FUN_1004db10()
|
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
|
// STUB: LEGO1 0x1004dbe0
|
||||||
|
|
|
@ -1196,7 +1196,7 @@ MxBool Isle::Escape()
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
if (UserActor() != NULL && !UserActor()->IsA("TowTrack")) {
|
if (UserActor() != NULL && !UserActor()->IsA("TowTrack")) {
|
||||||
m_towtrack->FUN_1004db10();
|
m_towtrack->StopActions();
|
||||||
m_towtrack->FUN_1004dbe0();
|
m_towtrack->FUN_1004dbe0();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1250,7 +1250,7 @@ void Isle::FUN_10033350()
|
||||||
|
|
||||||
if (m_act1state->m_unk0x018 == 8) {
|
if (m_act1state->m_unk0x018 == 8) {
|
||||||
if (UserActor() != NULL && !UserActor()->IsA("TowTrack")) {
|
if (UserActor() != NULL && !UserActor()->IsA("TowTrack")) {
|
||||||
m_towtrack->FUN_1004db10();
|
m_towtrack->StopActions();
|
||||||
m_towtrack->FUN_1004dbe0();
|
m_towtrack->FUN_1004dbe0();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue