Name locations after exiting buildings/vehicles (#1564)

* Hospital
* Infocenter
* Garage
* Police
* Jetski Build
* Racecar Build
* Any vehicle
This commit is contained in:
Fabian Neundorf
2025-06-15 19:31:19 +02:00
committed by GitHub
parent aeac9f787e
commit 16ccb0e06e
16 changed files with 53 additions and 53 deletions

View File

@@ -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

View File

@@ -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:

View File

@@ -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:

View File

@@ -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:

View File

@@ -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: {

View File

@@ -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",

View File

@@ -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);

View File

@@ -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:

View File

@@ -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;
}

View File

@@ -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:

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;