From 293370c3c58192633c3eef08fa09e5ebae10336e Mon Sep 17 00:00:00 2001 From: frutiemax Date: Sun, 31 Jul 2022 15:25:31 -0400 Subject: [PATCH] Convert PoweredLaunch to PoweredLaunchBlockSectioned when block brake --- src/openrct2/actions/TrackPlaceAction.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/openrct2/actions/TrackPlaceAction.cpp b/src/openrct2/actions/TrackPlaceAction.cpp index 870d956930..eebd0f83d3 100644 --- a/src/openrct2/actions/TrackPlaceAction.cpp +++ b/src/openrct2/actions/TrackPlaceAction.cpp @@ -547,9 +547,17 @@ GameActions::Result TrackPlaceAction::Execute() const ride->num_block_brakes++; ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_OPERATING; + // change the current mode to its circuit blocked equivalent RideMode newMode = RideMode::ContinuousCircuitBlockSectioned; - if (ride->type == RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER) - newMode = RideMode::PoweredLaunchBlockSectioned; + if (ride->mode == RideMode::PoweredLaunch) + { + if (ride->GetRideTypeDescriptor().RideModes + & (1ULL << static_cast(RideMode::PoweredLaunchBlockSectioned)) + || gCheatsShowAllOperatingModes) + newMode = RideMode::PoweredLaunchBlockSectioned; + else + newMode = RideMode::PoweredLaunch; + } auto rideSetSetting = RideSetSettingAction(ride->id, RideSetSetting::Mode, static_cast(newMode)); GameActions::ExecuteNested(&rideSetSetting);