mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-22 16:04:17 +00:00
Name locations after exiting buildings/vehicles (#1564)
* Hospital * Infocenter * Garage * Police * Jetski Build * Racecar Build * Any vehicle
This commit is contained in:
@@ -67,7 +67,7 @@ public:
|
||||
e_isle,
|
||||
e_infomain,
|
||||
e_infodoor,
|
||||
e_unk4,
|
||||
e_infocenterExited,
|
||||
e_elevbott,
|
||||
e_elevride,
|
||||
e_elevride2,
|
||||
@@ -80,10 +80,10 @@ public:
|
||||
e_jetrace,
|
||||
e_jetrace2,
|
||||
e_jetraceExterior,
|
||||
e_unk17,
|
||||
e_jetskibuildExited,
|
||||
e_carrace,
|
||||
e_carraceExterior,
|
||||
e_unk20,
|
||||
e_racecarbuildExited,
|
||||
e_unk21,
|
||||
e_pizzeriaExterior,
|
||||
e_unk23,
|
||||
@@ -91,12 +91,12 @@ public:
|
||||
e_garageExterior,
|
||||
e_garage,
|
||||
e_garadoor,
|
||||
e_unk28,
|
||||
e_garageExited,
|
||||
e_hospitalExterior,
|
||||
e_hospital,
|
||||
e_unk31,
|
||||
e_hospitalExited,
|
||||
e_policeExterior,
|
||||
e_unk33,
|
||||
e_policeExited,
|
||||
e_police,
|
||||
e_polidoor,
|
||||
e_copterbuild,
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
e_towtrack,
|
||||
e_jetski,
|
||||
|
||||
e_unk66 = 66
|
||||
e_vehicleExited = 66
|
||||
};
|
||||
|
||||
// SIZE 0x0e
|
||||
|
@@ -221,7 +221,7 @@ MxLong Ambulance::HandleEndAction(MxEndActionNotificationParam& p_param)
|
||||
else if (objectId == IsleScript::c_hps117bd_RunAnim) {
|
||||
CurrentWorld()->PlaceActor(UserActor());
|
||||
HandleClick();
|
||||
SpawnPlayer(LegoGameState::e_unk33, TRUE, 0);
|
||||
SpawnPlayer(LegoGameState::e_policeExited, TRUE, 0);
|
||||
m_unk0x172 = 0;
|
||||
TickleManager()->RegisterClient(this, 40000);
|
||||
|
||||
@@ -388,7 +388,7 @@ MxLong Ambulance::HandleClick()
|
||||
ControlManager()->Register(this);
|
||||
|
||||
if (m_state->m_unk0x08 == 1) {
|
||||
SpawnPlayer(LegoGameState::e_unk31, TRUE, 0);
|
||||
SpawnPlayer(LegoGameState::e_hospitalExited, TRUE, 0);
|
||||
m_state->m_startTime = Timer()->GetTime();
|
||||
InvokeAction(Extra::e_start, *g_isleScript, IsleScript::c_pns018rd_RunAnim, NULL);
|
||||
}
|
||||
@@ -441,14 +441,14 @@ MxLong Ambulance::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||
switch (p_param.m_clickedObjectId) {
|
||||
case IsleScript::c_AmbulanceArms_Ctl:
|
||||
Exit();
|
||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::e_vehicleExited;
|
||||
result = 1;
|
||||
break;
|
||||
case IsleScript::c_AmbulanceInfo_Ctl:
|
||||
((Isle*) CurrentWorld())->SetDestLocation(LegoGameState::e_infomain);
|
||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||
Exit();
|
||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::e_vehicleExited;
|
||||
result = 1;
|
||||
break;
|
||||
case IsleScript::c_AmbulanceHorn_Ctl:
|
||||
|
@@ -85,7 +85,7 @@ MxLong Bike::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||
switch (p_param.m_clickedObjectId) {
|
||||
case IsleScript::c_BikeArms_Ctl:
|
||||
Exit();
|
||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::e_vehicleExited;
|
||||
result = 1;
|
||||
break;
|
||||
case IsleScript::c_BikeInfo_Ctl:
|
||||
|
@@ -125,7 +125,7 @@ MxLong DuneBuggy::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||
switch (p_param.m_clickedObjectId) {
|
||||
case IsleScript::c_DuneCarArms_Ctl:
|
||||
Exit();
|
||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::e_vehicleExited;
|
||||
result = 1;
|
||||
break;
|
||||
case IsleScript::c_DuneCarInfo_Ctl:
|
||||
|
@@ -203,7 +203,7 @@ MxLong Helicopter::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||
}
|
||||
|
||||
Exit();
|
||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::e_vehicleExited;
|
||||
result = 1;
|
||||
break;
|
||||
case IsleScript::c_Helicopter_TakeOff_Ctl: {
|
||||
|
@@ -148,7 +148,7 @@ void IslePathActor::Exit()
|
||||
}
|
||||
|
||||
m_previousActor->SetActorState(c_initial);
|
||||
GameState()->m_currentArea = LegoGameState::Area::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::Area::e_vehicleExited;
|
||||
}
|
||||
|
||||
FUN_1001b660();
|
||||
@@ -199,7 +199,7 @@ void IslePathActor::RegisterSpawnLocations()
|
||||
JukeboxScript::c_Quiet_Audio
|
||||
);
|
||||
g_spawnLocations[3] = SpawnLocation(
|
||||
LegoGameState::e_unk4,
|
||||
LegoGameState::e_infocenterExited,
|
||||
g_isleScript,
|
||||
0,
|
||||
"int46",
|
||||
@@ -223,7 +223,7 @@ void IslePathActor::RegisterSpawnLocations()
|
||||
JukeboxScript::c_Beach_Music
|
||||
);
|
||||
g_spawnLocations[5] = SpawnLocation(
|
||||
LegoGameState::e_unk17,
|
||||
LegoGameState::e_jetskibuildExited,
|
||||
g_isleScript,
|
||||
0,
|
||||
"EDG00_46",
|
||||
@@ -259,7 +259,7 @@ void IslePathActor::RegisterSpawnLocations()
|
||||
JukeboxScript::c_CentralNorthRoad_Music
|
||||
);
|
||||
g_spawnLocations[8] = SpawnLocation(
|
||||
LegoGameState::e_unk20,
|
||||
LegoGameState::e_racecarbuildExited,
|
||||
g_isleScript,
|
||||
0,
|
||||
"INT16",
|
||||
@@ -295,7 +295,7 @@ void IslePathActor::RegisterSpawnLocations()
|
||||
JukeboxScript::c_GarageArea_Music
|
||||
);
|
||||
g_spawnLocations[11] = SpawnLocation(
|
||||
LegoGameState::e_unk28,
|
||||
LegoGameState::e_garageExited,
|
||||
g_isleScript,
|
||||
0,
|
||||
"INT24",
|
||||
@@ -319,7 +319,7 @@ void IslePathActor::RegisterSpawnLocations()
|
||||
JukeboxScript::c_Hospital_Music
|
||||
);
|
||||
g_spawnLocations[13] = SpawnLocation(
|
||||
LegoGameState::e_unk31,
|
||||
LegoGameState::e_hospitalExited,
|
||||
g_isleScript,
|
||||
0,
|
||||
"EDG02_28",
|
||||
@@ -343,7 +343,7 @@ void IslePathActor::RegisterSpawnLocations()
|
||||
JukeboxScript::c_PoliceStation_Music
|
||||
);
|
||||
g_spawnLocations[15] = SpawnLocation(
|
||||
LegoGameState::e_unk33,
|
||||
LegoGameState::e_policeExited,
|
||||
g_isleScript,
|
||||
0,
|
||||
"EDG02_64",
|
||||
|
@@ -143,7 +143,7 @@ MxLong Jetski::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||
Exit();
|
||||
((IslePathActor*) UserActor())
|
||||
->SpawnPlayer(LegoGameState::e_jetraceExterior, TRUE, c_spawnBit1 | c_playMusic | c_spawnBit3);
|
||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::e_vehicleExited;
|
||||
return 1;
|
||||
case IsleScript::c_JetskiInfo_Ctl:
|
||||
((Isle*) CurrentWorld())->SetDestLocation(LegoGameState::e_infomain);
|
||||
|
@@ -119,7 +119,7 @@ MxLong Motocycle::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||
switch (p_param.m_clickedObjectId) {
|
||||
case IsleScript::c_MotoBikeArms_Ctl:
|
||||
Exit();
|
||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::e_vehicleExited;
|
||||
result = 1;
|
||||
break;
|
||||
case IsleScript::c_MotoBikeInfo_Ctl:
|
||||
|
@@ -112,7 +112,7 @@ MxLong SkateBoard::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||
|
||||
if (p_param.m_unk0x28 == 1 && p_param.m_clickedObjectId == IsleScript::c_SkateArms_Ctl) {
|
||||
Exit();
|
||||
GameState()->m_currentArea = LegoGameState::Area::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::Area::e_vehicleExited;
|
||||
result = 1;
|
||||
}
|
||||
|
||||
|
@@ -435,7 +435,7 @@ MxLong TowTrack::HandleClick()
|
||||
FindROI("rcred")->SetVisibility(FALSE);
|
||||
}
|
||||
else {
|
||||
SpawnPlayer(LegoGameState::e_unk28, TRUE, 0);
|
||||
SpawnPlayer(LegoGameState::e_garageExited, TRUE, 0);
|
||||
m_lastAction = IsleScript::c_noneIsle;
|
||||
m_lastAnimation = IsleScript::c_noneIsle;
|
||||
m_state->m_startTime = Timer()->GetTime();
|
||||
@@ -486,14 +486,14 @@ MxLong TowTrack::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||
switch (p_param.m_clickedObjectId) {
|
||||
case IsleScript::c_TowTrackArms_Ctl:
|
||||
Exit();
|
||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::e_vehicleExited;
|
||||
result = 1;
|
||||
break;
|
||||
case IsleScript::c_TowInfo_Ctl:
|
||||
((Isle*) CurrentWorld())->SetDestLocation(LegoGameState::e_infomain);
|
||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||
Exit();
|
||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::e_vehicleExited;
|
||||
result = 1;
|
||||
break;
|
||||
case IsleScript::c_TowHorn_Ctl:
|
||||
|
@@ -784,11 +784,11 @@ void LegoCarBuild::FUN_100243a0()
|
||||
TransitionManager()->StartTransition(MxTransitionManager::TransitionType::e_mosaic, 50, FALSE, FALSE);
|
||||
break;
|
||||
case Jetski_Actor:
|
||||
m_destLocation = LegoGameState::Area::e_unk17;
|
||||
m_destLocation = LegoGameState::Area::e_jetskibuildExited;
|
||||
TransitionManager()->StartTransition(MxTransitionManager::TransitionType::e_mosaic, 50, FALSE, FALSE);
|
||||
break;
|
||||
case RaceCar_Actor:
|
||||
m_destLocation = LegoGameState::Area::e_unk20;
|
||||
m_destLocation = LegoGameState::Area::e_racecarbuildExited;
|
||||
TransitionManager()->StartTransition(MxTransitionManager::TransitionType::e_mosaic, 50, FALSE, FALSE);
|
||||
}
|
||||
}
|
||||
|
@@ -868,17 +868,17 @@ void LegoGameState::SwitchArea(Area p_area)
|
||||
VideoManager()->SetUnk0x554(TRUE);
|
||||
InvokeAction(Extra::ActionType::e_opendisk, *g_infodoorScript, InfodoorScript::c__StartUp, NULL);
|
||||
break;
|
||||
case e_unk4:
|
||||
case e_infocenterExited:
|
||||
case e_jetrace2:
|
||||
case e_jetraceExterior:
|
||||
case e_unk17:
|
||||
case e_jetskibuildExited:
|
||||
case e_carraceExterior:
|
||||
case e_unk20:
|
||||
case e_racecarbuildExited:
|
||||
case e_unk21:
|
||||
case e_pizzeriaExterior:
|
||||
case e_garageExterior:
|
||||
case e_hospitalExterior:
|
||||
case e_unk31:
|
||||
case e_hospitalExited:
|
||||
case e_policeExterior:
|
||||
case e_bike:
|
||||
case e_dunecar:
|
||||
@@ -886,7 +886,7 @@ void LegoGameState::SwitchArea(Area p_area)
|
||||
case e_copter:
|
||||
case e_skateboard:
|
||||
case e_jetski:
|
||||
case e_unk66:
|
||||
case e_vehicleExited:
|
||||
LoadIsle();
|
||||
break;
|
||||
case e_elevbott:
|
||||
@@ -948,7 +948,7 @@ void LegoGameState::SwitchArea(Area p_area)
|
||||
VideoManager()->Get3DManager()->SetFrustrum(90, 0.1f, 250.0f);
|
||||
InvokeAction(Extra::ActionType::e_start, *g_isleScript, IsleScript::c_GaraDoor, NULL);
|
||||
break;
|
||||
case e_unk28: {
|
||||
case e_garageExited: {
|
||||
Act1State* state = (Act1State*) GameState()->GetState("Act1State");
|
||||
LoadIsle();
|
||||
|
||||
@@ -973,7 +973,7 @@ void LegoGameState::SwitchArea(Area p_area)
|
||||
VideoManager()->SetUnk0x554(TRUE);
|
||||
InvokeAction(Extra::ActionType::e_opendisk, *g_hospitalScript, HospitalScript::c__StartUp, NULL);
|
||||
break;
|
||||
case e_unk33:
|
||||
case e_policeExited:
|
||||
LoadIsle();
|
||||
SetCameraControllerFromIsle();
|
||||
UserActor()->ResetWorldTransform(TRUE);
|
||||
|
@@ -329,7 +329,7 @@ MxLong GasStation::HandleEndAction(MxEndActionNotificationParam& p_param)
|
||||
case GasStationState::e_afterAcceptingQuest:
|
||||
m_state->m_state = GasStationState::e_beforeExitingForQuest;
|
||||
((Act1State*) GameState()->GetState("Act1State"))->m_unk0x018 = 7;
|
||||
m_destLocation = LegoGameState::e_unk28;
|
||||
m_destLocation = LegoGameState::e_garageExited;
|
||||
m_radio.Stop();
|
||||
BackgroundAudioManager()->Stop();
|
||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||
|
@@ -369,7 +369,7 @@ MxLong Hospital::HandleEndAction(MxEndActionNotificationParam& p_param)
|
||||
case HospitalState::e_exitToFront:
|
||||
if (m_unk0x128 == 0) {
|
||||
m_unk0x128 = 1;
|
||||
m_destLocation = LegoGameState::e_unk31;
|
||||
m_destLocation = LegoGameState::e_hospitalExited;
|
||||
|
||||
DeleteObjects(&m_atomId, HospitalScript::c_hho002cl_RunAnim, HospitalScript::c_hho006cl_RunAnim);
|
||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||
@@ -421,7 +421,7 @@ MxLong Hospital::HandleButtonDown(LegoControlManagerNotificationParam& p_param)
|
||||
|
||||
act1State->m_unk0x018 = 9;
|
||||
|
||||
m_destLocation = LegoGameState::e_unk31;
|
||||
m_destLocation = LegoGameState::e_hospitalExited;
|
||||
DeleteObjects(
|
||||
&m_atomId,
|
||||
HospitalScript::c_hho002cl_RunAnim,
|
||||
@@ -590,7 +590,7 @@ MxBool Hospital::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||
else if (m_unk0x128 == 0) {
|
||||
m_unk0x128 = 1;
|
||||
m_hospitalState->m_state = HospitalState::e_exitImmediately;
|
||||
m_destLocation = LegoGameState::e_unk31;
|
||||
m_destLocation = LegoGameState::e_hospitalExited;
|
||||
|
||||
DeleteObjects(&m_atomId, HospitalScript::c_hho002cl_RunAnim, HospitalScript::c_hho006cl_RunAnim);
|
||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||
|
@@ -119,7 +119,7 @@ MxLong InfocenterDoor::HandleControl(LegoControlManagerNotificationParam& p_para
|
||||
if (GameState()->GetActorId() != LegoActor::c_none) {
|
||||
InfocenterState* state = (InfocenterState*) GameState()->GetState("InfocenterState");
|
||||
if (state->HasRegistered()) {
|
||||
m_destLocation = LegoGameState::e_unk4;
|
||||
m_destLocation = LegoGameState::e_infocenterExited;
|
||||
}
|
||||
else {
|
||||
MxDSAction action;
|
||||
|
@@ -430,7 +430,7 @@ MxLong Isle::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||
break;
|
||||
case IsleScript::c_PoliDoor_Door_Ctl:
|
||||
m_destLocation = LegoGameState::e_unk33;
|
||||
m_destLocation = LegoGameState::e_policeExited;
|
||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||
break;
|
||||
case IsleScript::c_GaraDoor_LeftArrow_Ctl:
|
||||
@@ -440,7 +440,7 @@ MxLong Isle::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||
break;
|
||||
case IsleScript::c_GaraDoor_Door_Ctl:
|
||||
m_destLocation = LegoGameState::e_unk28;
|
||||
m_destLocation = LegoGameState::e_garageExited;
|
||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||
break;
|
||||
}
|
||||
@@ -712,7 +712,7 @@ void Isle::Enable(MxBool p_enable)
|
||||
if (GameState()->m_currentArea == LegoGameState::e_pizzeriaExterior) {
|
||||
AnimationManager()->FUN_10064740(NULL);
|
||||
}
|
||||
else if (GameState()->m_currentArea == LegoGameState::e_unk66) {
|
||||
else if (GameState()->m_currentArea == LegoGameState::e_vehicleExited) {
|
||||
Mx3DPointFloat position(UserActor()->GetROI()->GetWorldPosition());
|
||||
|
||||
Mx3DPointFloat sub(-21.375f, 0.0f, -41.75f);
|
||||
@@ -820,7 +820,7 @@ void Isle::Enable(MxBool p_enable)
|
||||
TRUE,
|
||||
IslePathActor::c_spawnBit1 | IslePathActor::c_playMusic | IslePathActor::c_spawnBit3
|
||||
);
|
||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::e_vehicleExited;
|
||||
EnableAnimations(TRUE);
|
||||
m_jukebox->StartAction();
|
||||
break;
|
||||
@@ -863,21 +863,21 @@ void Isle::FUN_10032620()
|
||||
VideoManager()->Get3DManager()->SetFrustrum(90.0, 0.1, 250.0);
|
||||
|
||||
switch (GameState()->m_currentArea) {
|
||||
case LegoGameState::e_unk66: {
|
||||
case LegoGameState::e_vehicleExited: {
|
||||
MxMatrix mat(UserActor()->GetROI()->GetLocal2World());
|
||||
LegoPathBoundary* boundary = UserActor()->GetBoundary();
|
||||
((IslePathActor*) UserActor())->VTable0xec(mat, boundary, TRUE);
|
||||
break;
|
||||
}
|
||||
case LegoGameState::e_unk4:
|
||||
case LegoGameState::e_infocenterExited:
|
||||
case LegoGameState::e_jetraceExterior:
|
||||
case LegoGameState::e_unk17:
|
||||
case LegoGameState::e_jetskibuildExited:
|
||||
case LegoGameState::e_carraceExterior:
|
||||
case LegoGameState::e_unk20:
|
||||
case LegoGameState::e_racecarbuildExited:
|
||||
case LegoGameState::e_pizzeriaExterior:
|
||||
case LegoGameState::e_garageExterior:
|
||||
case LegoGameState::e_hospitalExterior:
|
||||
case LegoGameState::e_unk31:
|
||||
case LegoGameState::e_hospitalExited:
|
||||
case LegoGameState::e_policeExterior:
|
||||
((IslePathActor*) UserActor())
|
||||
->SpawnPlayer(
|
||||
@@ -885,7 +885,7 @@ void Isle::FUN_10032620()
|
||||
TRUE,
|
||||
IslePathActor::c_spawnBit1 | IslePathActor::c_playMusic | IslePathActor::c_spawnBit3
|
||||
);
|
||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||
GameState()->m_currentArea = LegoGameState::e_vehicleExited;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -955,7 +955,7 @@ MxLong Isle::HandleTransitionEnd()
|
||||
VariableTable()->SetVariable("VISIBILITY", "Hide Gas");
|
||||
FUN_10032d30(IsleScript::c_GaraDoor_Background_Bitmap, JukeboxScript::c_JBMusic2, "LCAMZG1,90", FALSE);
|
||||
break;
|
||||
case LegoGameState::e_unk28:
|
||||
case LegoGameState::e_garageExited:
|
||||
GameState()->SwitchArea(m_destLocation);
|
||||
GameState()->StopArea(LegoGameState::e_previousArea);
|
||||
m_destLocation = LegoGameState::e_undefined;
|
||||
@@ -965,7 +965,7 @@ MxLong Isle::HandleTransitionEnd()
|
||||
SetAppCursor(e_cursorArrow);
|
||||
SetIsWorldActive(TRUE);
|
||||
break;
|
||||
case LegoGameState::e_unk33:
|
||||
case LegoGameState::e_policeExited:
|
||||
GameState()->SwitchArea(m_destLocation);
|
||||
GameState()->StopArea(LegoGameState::e_previousArea);
|
||||
m_destLocation = LegoGameState::e_undefined;
|
||||
|
Reference in New Issue
Block a user