From 8d0854804ee99e09e4f032a3db6d7ec08ba0c392 Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Sat, 25 Apr 2020 11:40:21 +0200 Subject: [PATCH 1/4] Replace missed check for coasters with vertical towers --- src/openrct2-ui/windows/RideConstruction.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openrct2-ui/windows/RideConstruction.cpp b/src/openrct2-ui/windows/RideConstruction.cpp index 8fc121ec55..c39dedab6f 100644 --- a/src/openrct2-ui/windows/RideConstruction.cpp +++ b/src/openrct2-ui/windows/RideConstruction.cpp @@ -773,7 +773,7 @@ static void window_ride_construction_resize(rct_window* w) } if (!is_track_enabled(TRACK_SLOPE) && !is_track_enabled(TRACK_SLOPE_STEEP)) { - if (rideType != RIDE_TYPE_REVERSE_FREEFALL_COASTER && rideType != RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER) + if (!RideTypeDescriptors[ride->type].SupportsTrackPiece(TRACK_REVERSE_FREEFALL)) { // Disable all slopes disabledWidgets |= (1ULL << WIDX_SLOPE_GROUPBOX) | (1ULL << WIDX_SLOPE_DOWN_STEEP) | (1ULL << WIDX_SLOPE_DOWN) From 2e3a4d41ce8778355388333239463339668622df Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Sat, 25 Apr 2020 12:02:49 +0200 Subject: [PATCH 2/4] Clean up some ride construction variables --- src/openrct2-ui/windows/RideConstruction.cpp | 75 +++++++++++--------- src/openrct2/ride/Ride.cpp | 8 +-- src/openrct2/ride/Track.h | 2 + src/openrct2/windows/_legacy.cpp | 30 ++++---- 4 files changed, 61 insertions(+), 54 deletions(-) diff --git a/src/openrct2-ui/windows/RideConstruction.cpp b/src/openrct2-ui/windows/RideConstruction.cpp index c39dedab6f..5397c6582e 100644 --- a/src/openrct2-ui/windows/RideConstruction.cpp +++ b/src/openrct2-ui/windows/RideConstruction.cpp @@ -563,7 +563,7 @@ rct_window* window_ride_construction_open() _currentBrakeSpeed2 = 8; _currentSeatRotationAngle = 4; - _currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | 0x100; + _currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | RideConstructionSpecialPieceSelected; _currentTrackSlopeEnd = 0; _currentTrackBankEnd = 0; _currentTrackLiftHill = 0; @@ -712,7 +712,7 @@ static void window_ride_construction_resize(rct_window* w) uint64_t disabledWidgets = 0; - if (_currentTrackCurve & 0x100) + if (_currentTrackCurve & RideConstructionSpecialPieceSelected) { disabledWidgets |= (1ULL << WIDX_SLOPE_GROUPBOX) | (1ULL << WIDX_BANKING_GROUPBOX) | (1ULL << WIDX_SLOPE_DOWN_STEEP) | (1ULL << WIDX_SLOPE_DOWN) | (1ULL << WIDX_LEVEL) | (1ULL << WIDX_SLOPE_UP) | (1ULL << WIDX_SLOPE_UP_STEEP) @@ -1321,28 +1321,28 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi { if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100; + _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100; + _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; } else if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL | 0x100; + _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; } else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL | 0x100; + _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1352,14 +1352,15 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi { if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN | 0x100; + _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN | 0x100; + _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1371,14 +1372,14 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi { if (_currentTrackCurve == TRACK_CURVE_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN | 0x100; + _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; } else if (_currentTrackCurve == TRACK_CURVE_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | 0x100; + _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1438,7 +1439,7 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi { if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT && _currentTrackCurve == TRACK_CURVE_NONE) { - _currentTrackCurve = TRACK_ELEM_REVERSE_FREEFALL_SLOPE | 0x100; + _currentTrackCurve = TRACK_ELEM_REVERSE_FREEFALL_SLOPE | RideConstructionSpecialPieceSelected; window_ride_construction_update_active_elements(); } } @@ -1453,28 +1454,28 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi { if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE | 0x100; + _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE | 0x100; + _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; } else if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | 0x100; + _currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; } else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL | 0x100; + _currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1484,14 +1485,14 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi { if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100; + _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; } else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100; + _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1503,14 +1504,14 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi { if (_currentTrackCurve == TRACK_CURVE_LEFT) { - _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP | 0x100; + _currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; } else if (_currentTrackCurve == TRACK_CURVE_RIGHT) { - _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP | 0x100; + _currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1672,7 +1673,7 @@ static void window_ride_construction_dropdown(rct_window* w, rct_widgetindex wid _currentTrackLiftHill &= ~CONSTRUCTION_LIFT_HILL_SELECTED; break; } - _currentTrackCurve = trackPiece | 0x100; + _currentTrackCurve = trackPiece | RideConstructionSpecialPieceSelected; window_ride_construction_update_active_elements(); } static void RideConstructPlacedForwardGameActionCallback(const GameAction* ga, const TrackPlaceActionResult* result); @@ -1850,10 +1851,10 @@ static void window_ride_construction_construct(rct_window* w) viewport_set_visibility(1); } - if ((_currentTrackCurve >= (TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | 0x100) - && _currentTrackCurve <= (TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100)) - || (_currentTrackCurve >= (TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100) - && _currentTrackCurve <= (TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | 0x100)) + if ((_currentTrackCurve >= (TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | RideConstructionSpecialPieceSelected) + && _currentTrackCurve <= (TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | RideConstructionSpecialPieceSelected)) + || (_currentTrackCurve >= (TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | RideConstructionSpecialPieceSelected) + && _currentTrackCurve <= (TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | RideConstructionSpecialPieceSelected)) || (_currentTrackSlopeEnd != TRACK_SLOPE_NONE)) { viewport_set_visibility(2); @@ -2065,10 +2066,10 @@ static void window_ride_construction_update(rct_window* w) switch (_currentTrackCurve) { - case TRACK_ELEM_SPINNING_TUNNEL | 0x100: - case TRACK_ELEM_WHIRLPOOL | 0x100: - case TRACK_ELEM_RAPIDS | 0x100: - case TRACK_ELEM_WATERFALL | 0x100: + case TRACK_ELEM_SPINNING_TUNNEL | RideConstructionSpecialPieceSelected: + case TRACK_ELEM_WHIRLPOOL | RideConstructionSpecialPieceSelected: + case TRACK_ELEM_RAPIDS | RideConstructionSpecialPieceSelected: + case TRACK_ELEM_WATERFALL | RideConstructionSpecialPieceSelected: widget_invalidate(w, WIDX_CONSTRUCT); break; } @@ -2265,7 +2266,7 @@ static void window_ride_construction_invalidate(rct_window* w) } rct_string_id stringId = STR_RIDE_CONSTRUCTION_SPECIAL; - if (_currentTrackCurve & 0x100) + if (_currentTrackCurve & RideConstructionSpecialPieceSelected) { stringId = RideConfigurationStringIds[_currentTrackCurve & 0xFF]; if (stringId == STR_RAPIDS && ride->type == RIDE_TYPE_CAR_RIDE) @@ -3081,9 +3082,11 @@ static void window_ride_construction_update_widgets(rct_window* w) window_ride_construction_widgets[WIDX_U_TRACK].type = WWT_EMPTY; window_ride_construction_widgets[WIDX_O_TRACK].type = WWT_EMPTY; - bool brakesSelected = _selectedTrackType == TRACK_ELEM_BRAKES || _currentTrackCurve == (0x100 | TRACK_ELEM_BRAKES); + bool brakesSelected = _selectedTrackType == TRACK_ELEM_BRAKES + || _currentTrackCurve == (RideConstructionSpecialPieceSelected | TRACK_ELEM_BRAKES); _boosterTrackSelected = track_element_is_booster(ride->type, _selectedTrackType) - || (ride->type != RIDE_TYPE_STEEL_WILD_MOUSE && _currentTrackCurve == (0x100 | TRACK_ELEM_BOOSTER)); + || (ride->type != RIDE_TYPE_STEEL_WILD_MOUSE + && _currentTrackCurve == (RideConstructionSpecialPieceSelected | TRACK_ELEM_BOOSTER)); if (!brakesSelected && !_boosterTrackSelected) { @@ -3101,8 +3104,9 @@ static void window_ride_construction_update_widgets(rct_window* w) window_ride_construction_widgets[WIDX_O_TRACK].image = SPR_RIDE_CONSTRUCTION_WATER_CHANNEL; window_ride_construction_widgets[WIDX_U_TRACK].tooltip = STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP; window_ride_construction_widgets[WIDX_O_TRACK].tooltip = STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP; - if ((_currentTrackCurve < TRACK_CURVE_LEFT_SMALL || _currentTrackCurve == (0x100 | TRACK_ELEM_S_BEND_LEFT) - || _currentTrackCurve == (0x100 | TRACK_ELEM_S_BEND_RIGHT)) + if ((_currentTrackCurve < TRACK_CURVE_LEFT_SMALL + || _currentTrackCurve == (RideConstructionSpecialPieceSelected | TRACK_ELEM_S_BEND_LEFT) + || _currentTrackCurve == (RideConstructionSpecialPieceSelected | TRACK_ELEM_S_BEND_RIGHT)) && _currentTrackSlopeEnd == TRACK_SLOPE_NONE && _currentTrackBankEnd == TRACK_BANK_NONE) { window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE; @@ -3168,7 +3172,8 @@ static void window_ride_construction_update_widgets(rct_window* w) window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP].type = WWT_EMPTY; window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN].type = WWT_EMPTY; if ((rideType == RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER || rideType == RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT) - && _selectedTrackType != TRACK_ELEM_BRAKES && _currentTrackCurve != (0x100 | TRACK_ELEM_BRAKES)) + && _selectedTrackType != TRACK_ELEM_BRAKES + && _currentTrackCurve != (RideConstructionSpecialPieceSelected | TRACK_ELEM_BRAKES)) { window_ride_construction_widgets[WIDX_SEAT_ROTATION_GROUPBOX].type = WWT_GROUPBOX; window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER].type = WWT_SPINNER; @@ -3375,7 +3380,7 @@ static void window_ride_construction_show_special_track_dropdown(rct_window* w, trackPieceStringId = STR_BOOSTER; } gDropdownItemsFormat[i] = trackPieceStringId; - if ((trackPiece | 0x100) == _currentTrackCurve) + if ((trackPiece | RideConstructionSpecialPieceSelected) == _currentTrackCurve) { defaultIndex = i; } diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index 346749bbca..bfb733c0e7 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -1361,7 +1361,7 @@ static void ride_construction_reset_current_piece() if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK) || ride->num_stations == 0) { - _currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | 0x100; + _currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | RideConstructionSpecialPieceSelected; _currentTrackSlopeEnd = 0; _currentTrackBankEnd = 0; _currentTrackLiftHill = 0; @@ -1437,7 +1437,7 @@ void ride_construction_set_default_next_piece() { if (track_element_is_booster(ride->type, trackType)) { - curve = 0x100 | TRACK_ELEM_BOOSTER; + curve = RideConstructionSpecialPieceSelected | TRACK_ELEM_BOOSTER; } else { @@ -1501,7 +1501,7 @@ void ride_construction_set_default_next_piece() { if (track_element_is_booster(ride->type, trackType)) { - curve = 0x100 | TRACK_ELEM_BOOSTER; + curve = RideConstructionSpecialPieceSelected | TRACK_ELEM_BOOSTER; } else { @@ -1920,7 +1920,7 @@ int32_t ride_initialise_construction_window(Ride* ride) if (ride == nullptr) return 0; - _currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | 0x100; + _currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | RideConstructionSpecialPieceSelected; _currentTrackSlopeEnd = 0; _currentTrackBankEnd = 0; _currentTrackLiftHill = 0; diff --git a/src/openrct2/ride/Track.h b/src/openrct2/ride/Track.h index becd6f4ad9..0d8e4ff67d 100644 --- a/src/openrct2/ride/Track.h +++ b/src/openrct2/ride/Track.h @@ -13,6 +13,8 @@ #include "../object/Object.h" #include "Ride.h" +constexpr const uint16_t RideConstructionSpecialPieceSelected = 0x100; + using track_type_t = uint16_t; #pragma pack(push, 1) diff --git a/src/openrct2/windows/_legacy.cpp b/src/openrct2/windows/_legacy.cpp index 0becb1a2e5..45d03dfa34 100644 --- a/src/openrct2/windows/_legacy.cpp +++ b/src/openrct2/windows/_legacy.cpp @@ -449,13 +449,13 @@ void window_ride_construction_mouseup_demolish_next_piece(int32_t x, int32_t y, _currentTrackSelectionFlags = 0; _rideConstructionArrowPulseTime = 0; _currentTrackPieceDirection = direction & 3; - int32_t slope = _currentTrackCurve; - int32_t slopeEnd = _previousTrackSlopeEnd; - int32_t b2 = _currentTrackSlopeEnd; - int32_t bankEnd = _previousTrackBankEnd; - int32_t bankStart = _currentTrackBankEnd; - int32_t b5 = _currentTrackAlternative; - int32_t b4 = _currentTrackLiftHill; + int32_t savedCurrentTrackCurve = _currentTrackCurve; + int32_t savedPreviousTrackSlopeEnd = _previousTrackSlopeEnd; + int32_t savedCurrentTrackSlopeEnd = _currentTrackSlopeEnd; + int32_t savedPreviousTrackBankEnd = _previousTrackBankEnd; + int32_t savedCurrentTrackBankEnd = _currentTrackBankEnd; + int32_t savedCurrentTrackAlternative = _currentTrackAlternative; + int32_t savedCurrentTrackLiftHill = _currentTrackLiftHill; ride_construction_set_default_next_piece(); window_ride_construction_update_active_elements(); auto ride = get_ride(_currentRideIndex); @@ -463,15 +463,15 @@ void window_ride_construction_mouseup_demolish_next_piece(int32_t x, int32_t y, { ride_initialise_construction_window(ride); _currentTrackPieceDirection = direction & 3; - if (!(slope & 0x100)) + if (!(savedCurrentTrackCurve & RideConstructionSpecialPieceSelected)) { - _currentTrackCurve = slope; - _previousTrackSlopeEnd = slopeEnd; - _currentTrackSlopeEnd = b2; - _previousTrackBankEnd = bankEnd; - _currentTrackBankEnd = bankStart; - _currentTrackAlternative = b5; - _currentTrackLiftHill = b4; + _currentTrackCurve = savedCurrentTrackCurve; + _previousTrackSlopeEnd = savedPreviousTrackSlopeEnd; + _currentTrackSlopeEnd = savedCurrentTrackSlopeEnd; + _previousTrackBankEnd = savedPreviousTrackBankEnd; + _currentTrackBankEnd = savedCurrentTrackBankEnd; + _currentTrackAlternative = savedCurrentTrackAlternative; + _currentTrackLiftHill = savedCurrentTrackLiftHill; window_ride_construction_update_active_elements(); } } From 100236c2d2c1cfe397e3ae05723445dc396127de Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Sat, 25 Apr 2020 15:29:18 +0200 Subject: [PATCH 3/4] Move available ride modes to RTD; ride mode cleanup --- src/openrct2-ui/windows/Ride.cpp | 59 +++++---- src/openrct2/actions/RideSetSetting.hpp | 12 +- src/openrct2/ride/Ride.cpp | 53 +++----- src/openrct2/ride/Ride.h | 15 +-- src/openrct2/ride/RideData.cpp | 118 ------------------ src/openrct2/ride/RideData.h | 42 ++++++- .../coaster/meta/AirPoweredVerticalCoaster.h | 2 + .../ride/coaster/meta/BobsleighCoaster.h | 2 + .../coaster/meta/CompactInvertedCoaster.h | 2 + .../coaster/meta/CorkscrewRollerCoaster.h | 2 + .../ride/coaster/meta/FlyingRollerCoaster.h | 4 + src/openrct2/ride/coaster/meta/GigaCoaster.h | 2 + .../coaster/meta/HeartlineTwisterCoaster.h | 2 + .../coaster/meta/InvertedHairpinCoaster.h | 2 + .../coaster/meta/InvertedImpulseCoaster.h | 2 + .../ride/coaster/meta/InvertedRollerCoaster.h | 2 + .../ride/coaster/meta/JuniorRollerCoaster.h | 2 + .../coaster/meta/LIMLaunchedRollerCoaster.h | 2 + .../ride/coaster/meta/LayDownRollerCoaster.h | 4 + .../ride/coaster/meta/LoopingRollerCoaster.h | 2 + src/openrct2/ride/coaster/meta/MineRide.h | 2 + .../ride/coaster/meta/MineTrainCoaster.h | 2 + .../ride/coaster/meta/MiniRollerCoaster.h | 2 + .../ride/coaster/meta/MiniSuspendedCoaster.h | 2 + .../meta/MultiDimensionRollerCoaster.h | 4 + .../coaster/meta/ReverseFreefallCoaster.h | 2 + .../ride/coaster/meta/ReverserRollerCoaster.h | 2 + .../coaster/meta/SideFrictionRollerCoaster.h | 2 + .../ride/coaster/meta/SpiralRollerCoaster.h | 2 + .../ride/coaster/meta/StandUpRollerCoaster.h | 2 + .../ride/coaster/meta/SteelWildMouse.h | 2 + src/openrct2/ride/coaster/meta/Steeplechase.h | 2 + .../coaster/meta/SuspendedSwingingCoaster.h | 2 + .../ride/coaster/meta/TwisterRollerCoaster.h | 2 + .../ride/coaster/meta/VerticalDropCoaster.h | 2 + src/openrct2/ride/coaster/meta/VirginiaReel.h | 2 + src/openrct2/ride/coaster/meta/WaterCoaster.h | 2 + .../ride/coaster/meta/WoodenRollerCoaster.h | 2 + .../ride/coaster/meta/WoodenWildMouse.h | 2 + src/openrct2/ride/gentle/meta/CarRide.h | 2 + src/openrct2/ride/gentle/meta/Circus.h | 2 + src/openrct2/ride/gentle/meta/CrookedHouse.h | 2 + src/openrct2/ride/gentle/meta/Dodgems.h | 2 + src/openrct2/ride/gentle/meta/FerrisWheel.h | 2 + src/openrct2/ride/gentle/meta/FlyingSaucers.h | 2 + src/openrct2/ride/gentle/meta/GhostTrain.h | 2 + src/openrct2/ride/gentle/meta/HauntedHouse.h | 2 + src/openrct2/ride/gentle/meta/Maze.h | 2 + src/openrct2/ride/gentle/meta/MerryGoRound.h | 2 + src/openrct2/ride/gentle/meta/MiniGolf.h | 2 + .../ride/gentle/meta/MiniHelicopters.h | 2 + .../ride/gentle/meta/MonorailCycles.h | 2 + .../ride/gentle/meta/ObservationTower.h | 2 + src/openrct2/ride/gentle/meta/SpaceRings.h | 2 + src/openrct2/ride/gentle/meta/SpiralSlide.h | 2 + src/openrct2/ride/shops/meta/CashMachine.h | 2 + src/openrct2/ride/shops/meta/DrinkStall.h | 2 + src/openrct2/ride/shops/meta/FirstAid.h | 2 + src/openrct2/ride/shops/meta/FoodStall.h | 2 + .../ride/shops/meta/InformationKiosk.h | 2 + src/openrct2/ride/shops/meta/Shop.h | 2 + src/openrct2/ride/shops/meta/Toilets.h | 2 + src/openrct2/ride/thrill/meta/3DCinema.h | 2 + src/openrct2/ride/thrill/meta/Enterprise.h | 2 + src/openrct2/ride/thrill/meta/GoKarts.h | 2 + .../ride/thrill/meta/LaunchedFreefall.h | 2 + src/openrct2/ride/thrill/meta/MagicCarpet.h | 2 + .../ride/thrill/meta/MotionSimulator.h | 2 + src/openrct2/ride/thrill/meta/RotoDrop.h | 2 + .../ride/thrill/meta/SwingingInverterShip.h | 2 + src/openrct2/ride/thrill/meta/SwingingShip.h | 2 + src/openrct2/ride/thrill/meta/TopSpin.h | 2 + src/openrct2/ride/thrill/meta/Twist.h | 2 + src/openrct2/ride/transport/meta/Chairlift.h | 2 + src/openrct2/ride/transport/meta/Lift.h | 2 + .../ride/transport/meta/MiniatureRailway.h | 2 + src/openrct2/ride/transport/meta/Monorail.h | 2 + .../ride/transport/meta/SuspendedMonorail.h | 2 + src/openrct2/ride/water/meta/BoatHire.h | 2 + src/openrct2/ride/water/meta/DinghySlide.h | 2 + src/openrct2/ride/water/meta/LogFlume.h | 2 + src/openrct2/ride/water/meta/RiverRafts.h | 2 + src/openrct2/ride/water/meta/RiverRapids.h | 2 + src/openrct2/ride/water/meta/SplashBoats.h | 2 + src/openrct2/ride/water/meta/SubmarineRide.h | 2 + 85 files changed, 261 insertions(+), 202 deletions(-) diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index 7199dd2918..c9d2e81723 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -3360,43 +3360,39 @@ static void window_ride_mode_tweak_decrease(rct_window* w) static void window_ride_mode_dropdown(rct_window* w, rct_widget* widget) { rct_widget* dropdownWidget; - const uint8_t *availableModes, *mode; - int32_t i, numAvailableModes; dropdownWidget = widget - 1; auto ride = get_ride(w->number); if (ride == nullptr) return; - // Seek to available modes for this ride - availableModes = ride_seek_available_modes(ride); - - // Count number of available modes - mode = availableModes; - numAvailableModes = -1; - do - { - numAvailableModes++; - } while (*(mode++) != 255); + auto availableModes = ride->GetAvailableModes(); // Create dropdown list - for (i = 0; i < numAvailableModes; i++) + auto numAvailableModes = 0; + auto checkedIndex = -1; + for (auto i = 0; i < RIDE_MODE_COUNT; i++) { - gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - gDropdownItemsArgs[i] = RideModeNames[availableModes[i]]; + if (availableModes & (1ULL << i)) + { + gDropdownItemsFormat[numAvailableModes] = STR_DROPDOWN_MENU_LABEL; + gDropdownItemsArgs[numAvailableModes] = RideModeNames[i]; + + if (ride->mode == i) + checkedIndex = numAvailableModes; + + numAvailableModes++; + } } + window_dropdown_show_text_custom_width( w->windowPos.x + dropdownWidget->left, w->windowPos.y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], 0, DROPDOWN_FLAG_STAY_OPEN, numAvailableModes, widget->right - dropdownWidget->left); - // Set checked item - for (i = 0; i < numAvailableModes; i++) + if (checkedIndex != -1) { - if (ride->mode == availableModes[i]) - { - dropdown_set_checked(i, true); - } + dropdown_set_checked(checkedIndex, true); } } @@ -3581,10 +3577,23 @@ static void window_ride_operating_dropdown(rct_window* w, rct_widgetindex widget { case WIDX_MODE_DROPDOWN: { - // Seek to available modes for this ride - auto availableModes = ride_seek_available_modes(ride); - if (availableModes != nullptr) - set_operating_setting(w->number, RideSetSetting::Mode, availableModes[dropdownIndex]); + uint8_t rideMode = RIDE_MODE_NULL; + auto availableModes = ride->GetAvailableModes(); + auto modeInDropdownIndex = -1; + for (uint8_t rideModeIndex = 0; rideModeIndex < RIDE_MODE_COUNT; rideModeIndex++) + { + if (availableModes & (1ULL << rideModeIndex)) + { + modeInDropdownIndex++; + if (modeInDropdownIndex == dropdownIndex) + { + rideMode = rideModeIndex; + break; + } + } + } + if (rideMode != RIDE_MODE_NULL) + set_operating_setting(w->number, RideSetSetting::Mode, rideMode); break; } case WIDX_LOAD_DROPDOWN: diff --git a/src/openrct2/actions/RideSetSetting.hpp b/src/openrct2/actions/RideSetSetting.hpp index 9c737d74a3..85cf5a52bf 100644 --- a/src/openrct2/actions/RideSetSetting.hpp +++ b/src/openrct2/actions/RideSetSetting.hpp @@ -255,17 +255,7 @@ public: private: bool ride_is_mode_valid(Ride * ride) const { - const uint8_t* availableModes = ride_seek_available_modes(ride); - - for (; *availableModes != 0xFF; availableModes++) - { - if (*availableModes == _value) - { - return true; - } - } - - return false; + return RideTypeDescriptors[ride->type].RideModes & (1ULL << _value); } bool ride_is_valid_lift_hill_speed(Ride * ride) const diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index bfb733c0e7..18b6b196a1 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -5499,22 +5499,7 @@ void Ride::StopGuestsQueuing() uint8_t Ride::GetDefaultMode() const { - const rct_ride_entry* rideEntry = get_ride_entry(subtype); - const uint8_t* availableModes = RideAvailableModes; - - for (int32_t i = 0; i < type; i++) - { - while (*(availableModes++) != RIDE_MODE_NULL) - { - } - } - // Since this only selects a default mode and does not prevent other modes from being used, there is no need - // to check if select-by-track-type or the all-ride-modes cheat have been enabled. - if (rideEntry->flags & RIDE_ENTRY_DISABLE_FIRST_TWO_OPERATING_MODES) - { - availableModes += 2; - } - return availableModes[0]; + return GetRideTypeDescriptor().DefaultMode; } static bool ride_with_colour_config_exists(uint8_t ride_type, const TrackColour* colours) @@ -7131,29 +7116,6 @@ void ride_reset_all_names() } } -const uint8_t* ride_seek_available_modes(Ride* ride) -{ - const uint8_t* availableModes; - - if (!gCheatsShowAllOperatingModes) - { - availableModes = RideAvailableModes; - - for (int32_t i = 0; i < ride->type; i++) - { - while (*(availableModes++) != 255) - { - } - } - } - else - { - availableModes = AllRideModesAvailable; - } - - return availableModes; -} - // Gets the approximate value of customers per hour for this ride. Multiplies ride_customers_in_last_5_minutes() by 12. uint32_t ride_customers_per_hour(const Ride* ride) { @@ -7821,3 +7783,16 @@ size_t Ride::FormatNameTo(void* argsV) const return ft.NumBytes(); } } + +uint64_t Ride::GetAvailableModes() const +{ + if (gCheatsShowAllOperatingModes) + return AllRideModesAvailable; + + return GetRideTypeDescriptor().RideModes; +} + +const RideTypeDescriptor& Ride::GetRideTypeDescriptor() const +{ + return RideTypeDescriptors[type]; +} diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index a66cc74e83..fe8e666771 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -26,6 +26,7 @@ class Formatter; class StationObject; struct Peep; struct Ride; +struct RideTypeDescriptor; struct Staff; #define MAX_RIDE_TYPES_PER_RIDE_ENTRY 3 @@ -449,6 +450,9 @@ public: static bool NameExists(const std::string_view& name, ride_id_t excludeRideId = RIDE_ID_NULL); std::unique_ptr SaveToTrackDesign() const; + + uint64_t GetAvailableModes() const; + const RideTypeDescriptor& GetRideTypeDescriptor() const; }; #pragma pack(push, 1) @@ -523,9 +527,9 @@ enum RIDE_ENTRY_FLAG_SEPARATE_RIDE_NAME_DEPRECATED = 1 << 12, // Always set with SEPARATE_RIDE, and deprecated in favour of it. RIDE_ENTRY_FLAG_SEPARATE_RIDE_DEPRECATED = 1 << 13, // Made redundant by ride groups RIDE_ENTRY_FLAG_CANNOT_BREAK_DOWN = 1 << 14, - RIDE_ENTRY_DISABLE_LAST_OPERATING_MODE = 1 << 15, + RIDE_ENTRY_DISABLE_LAST_OPERATING_MODE_DEPRECATED = 1 << 15, RIDE_ENTRY_FLAG_DISABLE_DOOR_CONSTRUCTION_DEPRECATED = 1 << 16, - RIDE_ENTRY_DISABLE_FIRST_TWO_OPERATING_MODES = 1 << 17, + RIDE_ENTRY_DISABLE_FIRST_TWO_OPERATING_MODES_DEPRECATED = 1 << 17, RIDE_ENTRY_FLAG_DISABLE_COLLISION_CRASHES = 1 << 18, RIDE_ENTRY_FLAG_DISABLE_COLOUR_TAB = 1 << 19, // Must be set with swing mode 1 as well. @@ -649,7 +653,7 @@ enum RIDE_STATUS_SIMULATING, }; -enum +enum : uint8_t { RIDE_MODE_NORMAL, RIDE_MODE_CONTINUOUS_CIRCUIT, @@ -689,7 +693,7 @@ enum RIDE_MODE_POWERED_LAUNCH, // RCT1 style, don't pass through station RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED, - RIDE_MOUNT_COUNT, + RIDE_MODE_COUNT, RIDE_MODE_NULL = 255, }; @@ -941,8 +945,6 @@ struct rct_ride_properties int8_t booster_speed_factor; // The factor to shift the raw booster speed with }; -#define RIDE_MODE_COUNT 37 - #define MAX_RIDE_MEASUREMENTS 8 #define RIDE_VALUE_UNDEFINED 0xFFFF #define RIDE_INITIAL_RELIABILITY ((100 << 8) | 0xFF) // Upper byte is percentage, lower byte is "decimal". @@ -1209,7 +1211,6 @@ void sub_6CB945(Ride* ride); void sub_6C94D8(); void ride_reset_all_names(); -const uint8_t* ride_seek_available_modes(Ride* ride); void window_ride_construction_mouseup_demolish_next_piece(int32_t x, int32_t y, int32_t z, int32_t direction, int32_t type); diff --git a/src/openrct2/ride/RideData.cpp b/src/openrct2/ride/RideData.cpp index d18471d7e3..3dd2f9ef4d 100644 --- a/src/openrct2/ride/RideData.cpp +++ b/src/openrct2/ride/RideData.cpp @@ -299,108 +299,6 @@ const rct_ride_name RideNaming[] = { { STR_RIDE_NAME_LIM_LAUNCHED_ROLLER_COASTER, STR_RIDE_DESCRIPTION_LIM_LAUNCHED_ROLLER_COASTER }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; -/** - * - * rct2: 0x0097C8AC - */ -const uint8_t RideAvailableModes[] = { - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 00 Spiral Roller coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, 0xFF, // 01 Stand Up Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 02 Suspended Swinging - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, 0xFF, // 03 Inverted - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 04 Steel Mini Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_SHUTTLE, 0xFF, // 05 Mini Railway - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_SHUTTLE, 0xFF, // 06 Monorail - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 07 Mini Suspended Coaster - RIDE_MODE_BOAT_HIRE, 0xFF, // 08 Boat Hire - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 09 Wooden Wild Mine/Mouse - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 0A Steeplechase/Motorbike/Soap Box Derby - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 0B Car Ride - RIDE_MODE_UPWARD_LAUNCH, RIDE_MODE_DOWNWARD_LAUNCH, 0xFF, // 0C Launched Freefall - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 0D Bobsleigh Coaster - RIDE_MODE_ROTATING_LIFT, 0xFF, // 0E Observation Tower - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, 0xFF, // 0F Looping Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 10 Dinghy Slide - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 11 Mine Train Coaster - RIDE_MODE_STATION_TO_STATION, 0xFF, // 12 Chairlift - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 13 Corkscrew Roller Coaster - RIDE_MODE_MAZE, 0xFF, // 14 Maze - RIDE_MODE_SINGLE_RIDE_PER_ADMISSION, RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION, 0xFF, // 15 Spiral Slide - RIDE_MODE_RACE, RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 16 Go Karts - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 17 Log Flume - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 18 River Rapids - RIDE_MODE_BUMPERCAR, 0xFF, // 19 Dodgems - RIDE_MODE_SWING, 0xFF, // 1A Pirate Ship - RIDE_MODE_SWING, 0xFF, // 1B Swinging Inverter Ship - RIDE_MODE_SHOP_STALL, 0xFF, // 1C Food Stall - RIDE_MODE_SHOP_STALL, 0xFF, // 1D (none) - RIDE_MODE_SHOP_STALL, 0xFF, // 1E Drink Stall - RIDE_MODE_SHOP_STALL, 0xFF, // 1F (none) - RIDE_MODE_SHOP_STALL, 0xFF, // 20 Shop (all types) - RIDE_MODE_ROTATION, 0xFF, // 21 Merry Go Round - RIDE_MODE_SHOP_STALL, 0xFF, // 22 Balloon Stall (maybe) - RIDE_MODE_SHOP_STALL, 0xFF, // 23 Information Kiosk - RIDE_MODE_SHOP_STALL, 0xFF, // 24 Bathroom - RIDE_MODE_FORWARD_ROTATION, RIDE_MODE_BACKWARD_ROTATION, 0xFF, // 25 Ferris Wheel - RIDE_MODE_FILM_AVENGING_AVIATORS, RIDE_MODE_FILM_THRILL_RIDERS, 0xFF, // 26 Motion Simulator - RIDE_MODE_3D_FILM_MOUSE_TAILS, RIDE_MODE_3D_FILM_STORM_CHASERS, RIDE_MODE_3D_FILM_SPACE_RAIDERS, 0xFF, // 27 3D Cinema - RIDE_MODE_BEGINNERS, RIDE_MODE_INTENSE, RIDE_MODE_BERSERK, 0xFF, // 28 Topspin - RIDE_MODE_SPACE_RINGS, 0xFF, // 29 Space Rings - RIDE_MODE_LIM_POWERED_LAUNCH, 0xFF, // 2A Reverse Freefall Coaster - RIDE_MODE_SHUTTLE, 0xFF, // 2B Elevator - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 2C Vertical Drop Roller Coaster - RIDE_MODE_SHOP_STALL, 0xFF, // 2D ATM - RIDE_MODE_ROTATION, 0xFF, // 2E Twist - RIDE_MODE_HAUNTED_HOUSE, 0xFF, // 2F Haunted House - RIDE_MODE_SHOP_STALL, 0xFF, // 30 First Aid - RIDE_MODE_CIRCUS_SHOW, 0xFF, // 31 Circus Show - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 32 Ghost Train - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 33 Twister Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 34 Wooden Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 35 Side-Friction Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 36 Wild Mouse - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 37 Multi Dimension Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 38 (none) - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 39 Flying Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 3A (none) - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 3B Virginia Reel - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 3C Splash Boats - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 3D Mini Helicopters - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 3E Lay-down Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_SHUTTLE, 0xFF, // 3F Suspended Monorail - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 40 (none) - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 41 Reverser Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 42 Heartline Twister Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 43 Mini Golf - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 44 Giga Coaster - RIDE_MODE_FREEFALL_DROP, 0xFF, // 45 Roto-Drop - RIDE_MODE_BUMPERCAR, 0xFF, // 46 Flying Saucers - RIDE_MODE_CROOKED_HOUSE, 0xFF, // 47 Crooked House - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 48 Monorail Cycles - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, 0xFF, // 49 Compact Inverted Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 4A Water Coaster - RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, 0xFF, // 4B Air Powered Vertical Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 4C Inverted Hairpin Coaster - RIDE_MODE_SWING, 0xFF, // 4D Magic Carpet - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 4E Submarine Ride - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 4F River Rafts - RIDE_MODE_SHOP_STALL, 0xFF, // 50 (none) - RIDE_MODE_ROTATION, 0xFF, // 51 Enterprise - RIDE_MODE_SHOP_STALL, 0xFF, // 52 (none) - RIDE_MODE_SHOP_STALL, 0xFF, // 53 (none) - RIDE_MODE_SHOP_STALL, 0xFF, // 54 (none) - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 55 (none) - RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, 0xFF, // 56 Inverted Impulse Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 57 Mini Roller Coaster - RIDE_MODE_CONTINUOUS_CIRCUIT, 0xFF, // 58 Mine Ride - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 59 Unknown - RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_POWERED_LAUNCH, RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED, 0xFF // 5a LIM Launched Roller Coaster -}; - -const uint8_t AllRideModesAvailable[] = { - RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH, RIDE_MODE_SHUTTLE, RIDE_MODE_NORMAL, RIDE_MODE_BOAT_HIRE, RIDE_MODE_UPWARD_LAUNCH, RIDE_MODE_ROTATING_LIFT, RIDE_MODE_STATION_TO_STATION, RIDE_MODE_SINGLE_RIDE_PER_ADMISSION, RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION, RIDE_MODE_MAZE, RIDE_MODE_RACE, RIDE_MODE_BUMPERCAR, RIDE_MODE_SWING, RIDE_MODE_SHOP_STALL, RIDE_MODE_ROTATION, RIDE_MODE_FORWARD_ROTATION, RIDE_MODE_BACKWARD_ROTATION, RIDE_MODE_FILM_AVENGING_AVIATORS, RIDE_MODE_3D_FILM_MOUSE_TAILS, RIDE_MODE_SPACE_RINGS, RIDE_MODE_BEGINNERS, RIDE_MODE_LIM_POWERED_LAUNCH, RIDE_MODE_FILM_THRILL_RIDERS, RIDE_MODE_3D_FILM_STORM_CHASERS, RIDE_MODE_3D_FILM_SPACE_RAIDERS, RIDE_MODE_INTENSE, RIDE_MODE_BERSERK, RIDE_MODE_HAUNTED_HOUSE, RIDE_MODE_CIRCUS_SHOW, RIDE_MODE_DOWNWARD_LAUNCH, RIDE_MODE_CROOKED_HOUSE, RIDE_MODE_FREEFALL_DROP, RIDE_MODE_POWERED_LAUNCH, RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED, 0xFF -}; - // rct2: 0x0097D4F0, 0x0097D4F1, 0x0097D4F2, 0x0097D4F4, 0x0097D4F5 const rct_ride_data_4 RideData4[RIDE_TYPE_COUNT] = { { 20, 20, MUSIC_STYLE_ROCK_STYLE_3, }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER @@ -1524,22 +1422,6 @@ const rct_string_id RideModeNames[] = { STR_RIDE_MODE_POWERED_LAUNCH, STR_RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED_MODE, }; - -static constexpr const RideTypeDescriptor DummyRTD = -{ - SET_FIELD(AlternateType, RIDE_TYPE_NULL), - SET_FIELD(Category, RIDE_CATEGORY_NONE), - SET_FIELD(EnabledTrackPieces, 0), - SET_FIELD(ExtraTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), - SET_FIELD(TrackPaintFunction, nullptr), - SET_FIELD(Flags, 0), - SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), - SET_FIELD(AvailableBreakdowns, 0), - SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), - SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }), - SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), -}; // clang-format on constexpr const RideTypeDescriptor RideTypeDescriptors[RIDE_TYPE_COUNT] = { diff --git a/src/openrct2/ride/RideData.h b/src/openrct2/ride/RideData.h index 33c8647170..487b509bd2 100644 --- a/src/openrct2/ride/RideData.h +++ b/src/openrct2/ride/RideData.h @@ -13,6 +13,8 @@ #include "../common.h" #include "../localisation/StringIds.h" #include "Ride.h" +#include "ShopItem.h" +#include "Track.h" #include "TrackPaint.h" struct RideComponentName @@ -116,6 +118,9 @@ struct RideTypeDescriptor uint64_t StartTrackPiece; TRACK_PAINT_FUNCTION_GETTER TrackPaintFunction; uint64_t Flags; + /** rct2: 0x0097C8AC */ + uint64_t RideModes; + uint8_t DefaultMode; RideNameConvention NameConvention; uint8_t AvailableBreakdowns; /** rct2: 0x0097D7C8, 0x0097D7C9, 0x0097D7CA */ @@ -245,8 +250,21 @@ constexpr const RideComponentName RideComponentNames[] = // clang-format on extern const rct_ride_name RideNaming[RIDE_TYPE_COUNT]; -extern const uint8_t RideAvailableModes[]; -extern const uint8_t AllRideModesAvailable[]; + +constexpr const uint64_t AllRideModesAvailable = (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) + | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) + | (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_SHUTTLE) | (1ULL << RIDE_MODE_NORMAL) + | (1ULL << RIDE_MODE_BOAT_HIRE) | (1ULL << RIDE_MODE_UPWARD_LAUNCH) | (1ULL << RIDE_MODE_ROTATING_LIFT) + | (1ULL << RIDE_MODE_STATION_TO_STATION) | (1ULL << RIDE_MODE_SINGLE_RIDE_PER_ADMISSION) + | (1ULL << RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION) | (1ULL << RIDE_MODE_MAZE) | (1ULL << RIDE_MODE_RACE) + | (1ULL << RIDE_MODE_BUMPERCAR) | (1ULL << RIDE_MODE_SWING) | (1ULL << RIDE_MODE_SHOP_STALL) | (1ULL << RIDE_MODE_ROTATION) + | (1ULL << RIDE_MODE_FORWARD_ROTATION) | (1ULL << RIDE_MODE_BACKWARD_ROTATION) | (1ULL << RIDE_MODE_FILM_AVENGING_AVIATORS) + | (1ULL << RIDE_MODE_3D_FILM_MOUSE_TAILS) | (1ULL << RIDE_MODE_SPACE_RINGS) | (1ULL << RIDE_MODE_BEGINNERS) + | (1ULL << RIDE_MODE_LIM_POWERED_LAUNCH) | (1ULL << RIDE_MODE_FILM_THRILL_RIDERS) + | (1ULL << RIDE_MODE_3D_FILM_STORM_CHASERS) | (1ULL << RIDE_MODE_3D_FILM_SPACE_RAIDERS) | (1ULL << RIDE_MODE_INTENSE) + | (1ULL << RIDE_MODE_BERSERK) | (1ULL << RIDE_MODE_HAUNTED_HOUSE) | (1ULL << RIDE_MODE_CIRCUS_SHOW) + | (1ULL << RIDE_MODE_DOWNWARD_LAUNCH) | (1ULL << RIDE_MODE_CROOKED_HOUSE) | (1ULL << RIDE_MODE_FREEFALL_DROP) + | (1ULL << RIDE_MODE_POWERED_LAUNCH) | RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED; extern const rct_ride_data_4 RideData4[RIDE_TYPE_COUNT]; extern const ride_cost RideTrackCosts[RIDE_TYPE_COUNT]; @@ -262,4 +280,24 @@ extern const track_colour_preset_list RideColourPresets[RIDE_TYPE_COUNT]; extern const rct_string_id RideModeNames[RIDE_MODE_COUNT]; +// clang-format off +constexpr const RideTypeDescriptor DummyRTD = +{ + SET_FIELD(AlternateType, RIDE_TYPE_NULL), + SET_FIELD(Category, RIDE_CATEGORY_NONE), + SET_FIELD(EnabledTrackPieces, 0), + SET_FIELD(ExtraTrackPieces, 0), + SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(TrackPaintFunction, nullptr), + SET_FIELD(Flags, 0), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), + SET_FIELD(AvailableBreakdowns, 0), + SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), + SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }), + SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), +}; +// clang-format on + #endif diff --git a/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h b/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h index a0d16db676..e27dae343c 100644 --- a/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h +++ b/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h @@ -23,6 +23,8 @@ constexpr const RideTypeDescriptor AirPoweredVerticalCoasterRTD = SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), SET_FIELD(TrackPaintFunction, get_track_paint_function_air_powered_vertical_rc), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH)), + SET_FIELD(DefaultMode, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/coaster/meta/BobsleighCoaster.h b/src/openrct2/ride/coaster/meta/BobsleighCoaster.h index deee276a27..f91c202a4a 100644 --- a/src/openrct2/ride/coaster/meta/BobsleighCoaster.h +++ b/src/openrct2/ride/coaster/meta/BobsleighCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor BobsleighCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftFrictionWheels, 4, 5 }), diff --git a/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h b/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h index c2a2c7fe44..9adce25772 100644 --- a/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h +++ b/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor CompactInvertedCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_IS_SUSPENDED), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftFrictionWheels, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h b/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h index 4c875559a4..abbfb0c5a3 100644 --- a/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor CorkscrewRollerCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_HAS_RIDE_GROUPS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftArrow, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h b/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h index 7b08340993..97433b5128 100644 --- a/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h @@ -27,6 +27,8 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterRTD = RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftBM, 4, 6 }), @@ -46,6 +48,8 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterAltRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftBM, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/GigaCoaster.h b/src/openrct2/ride/coaster/meta/GigaCoaster.h index ea588dd523..4a2362d1b9 100644 --- a/src/openrct2/ride/coaster/meta/GigaCoaster.h +++ b/src/openrct2/ride/coaster/meta/GigaCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor GigaCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_ALLOW_CABLE_LIFT_HILL), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 5, 8 }), diff --git a/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h b/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h index 5b71406971..e7869fe384 100644 --- a/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h +++ b/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h @@ -24,6 +24,8 @@ constexpr const RideTypeDescriptor HeartlineTwisterCoasterRTD = SET_FIELD(TrackPaintFunction, get_track_paint_function_heartline_twister_rc), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::LiftClassic, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h b/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h index f3d650334f..511f2524c5 100644 --- a/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor InvertedHairpinCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_IS_SUSPENDED), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftWildMouse, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h b/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h index 74a59d249a..3249c56f02 100644 --- a/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor InvertedImpulseCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_IS_SUSPENDED), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH)), + SET_FIELD(DefaultMode, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::LiftClassic, 4, 7 }), diff --git a/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h b/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h index e8d7bde00f..da75a3b194 100644 --- a/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor InvertedRollerCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_IS_SUSPENDED), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftBM, 5, 7 }), diff --git a/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h b/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h index dce196cfe2..e358156708 100644 --- a/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor JuniorRollerCoasterRTD = RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_ALLOW_DOORS_ON_TRACK | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_HAS_RIDE_GROUPS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftFrictionWheels, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h b/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h index 5527b28c86..6b2b2e51ac 100644 --- a/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor LIMLaunchedRollerCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH) | (1ULL << RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::Null, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h b/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h index ba739e628c..0529d61f3f 100644 --- a/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 4, 6 }), @@ -42,6 +44,8 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterAltRTD = SET_FIELD(TrackPaintFunction, nullptr), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAG_HAS_LARGE_CURVES), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h b/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h index d6a377ac10..3f18a45680 100644 --- a/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor LoopingRollerCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) | (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/MineRide.h b/src/openrct2/ride/coaster/meta/MineRide.h index 2533d97c12..184a33f7ad 100644 --- a/src/openrct2/ride/coaster/meta/MineRide.h +++ b/src/openrct2/ride/coaster/meta/MineRide.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor MineRideRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/coaster/meta/MineTrainCoaster.h b/src/openrct2/ride/coaster/meta/MineTrainCoaster.h index 743975db26..13eace4ba9 100644 --- a/src/openrct2/ride/coaster/meta/MineTrainCoaster.h +++ b/src/openrct2/ride/coaster/meta/MineTrainCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor MineTrainCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftArrow, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h b/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h index 9b78f5cc80..c951adaa9f 100644 --- a/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor MiniRollerCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h b/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h index 9efd002c8d..6e85e227eb 100644 --- a/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h +++ b/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor MiniSuspendedCoasterRTD = RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_IS_SUSPENDED), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftFrictionWheels, 4, 5 }), diff --git a/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h b/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h index 46ca9bd6d1..0ebcfe1313 100644 --- a/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterRTD = RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftFrictionWheels, 4, 6 }), @@ -43,6 +45,8 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterAltRTD = SET_FIELD(TrackPaintFunction, nullptr), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAG_HAS_LARGE_CURVES), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftFrictionWheels, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h b/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h index 90cc3017d1..c7971f1495 100644 --- a/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h +++ b/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h @@ -23,6 +23,8 @@ constexpr const RideTypeDescriptor ReverseFreefallCoasterRTD = SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), SET_FIELD(TrackPaintFunction, get_track_paint_function_reverse_freefall_rc), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_LIM_POWERED_LAUNCH)), + SET_FIELD(DefaultMode, RIDE_MODE_LIM_POWERED_LAUNCH), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h b/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h index c43996c383..cf895a659e 100644 --- a/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h @@ -24,6 +24,8 @@ constexpr const RideTypeDescriptor ReverserRollerCoasterRTD = SET_FIELD(TrackPaintFunction, get_track_paint_function_reverser_rc), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 3, 4 }), diff --git a/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h b/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h index b16e96b851..dea9ecc68e 100644 --- a/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor SideFrictionRollerCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftWood, 3, 4 }), diff --git a/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h b/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h index 72cd1b5c5d..64489b9f27 100644 --- a/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor SpiralRollerCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftFrictionWheels, 7, 7 }), diff --git a/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h b/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h index b33ffae6a8..38638a6aa6 100644 --- a/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor StandUpRollerCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) | (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/SteelWildMouse.h b/src/openrct2/ride/coaster/meta/SteelWildMouse.h index b52b81f6ce..b06bcc5cf1 100644 --- a/src/openrct2/ride/coaster/meta/SteelWildMouse.h +++ b/src/openrct2/ride/coaster/meta/SteelWildMouse.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor SteelWildMouseRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_ALLOW_DOORS_ON_TRACK | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_HAS_RIDE_GROUPS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftWildMouse, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/Steeplechase.h b/src/openrct2/ride/coaster/meta/Steeplechase.h index 1bb5c833f1..e5f1f7996a 100644 --- a/src/openrct2/ride/coaster/meta/Steeplechase.h +++ b/src/openrct2/ride/coaster/meta/Steeplechase.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor SteeplechaseRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 4, 5 }), diff --git a/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h b/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h index 59cbf4daae..ee2cc95fa7 100644 --- a/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h +++ b/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor SuspendedSwingingCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_IS_SUSPENDED), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h b/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h index bc23c09550..8707a44c9d 100644 --- a/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor TwisterRollerCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_HAS_RIDE_GROUPS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftBM, 5, 8 }), diff --git a/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h b/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h index 5558cc1c85..734c18bce8 100644 --- a/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h +++ b/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor VerticalDropCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftBM, 4, 5 }), diff --git a/src/openrct2/ride/coaster/meta/VirginiaReel.h b/src/openrct2/ride/coaster/meta/VirginiaReel.h index 169354bbef..316be0139b 100644 --- a/src/openrct2/ride/coaster/meta/VirginiaReel.h +++ b/src/openrct2/ride/coaster/meta/VirginiaReel.h @@ -24,6 +24,8 @@ constexpr const RideTypeDescriptor VirginiaReelRTD = SET_FIELD(TrackPaintFunction, get_track_paint_function_virginia_reel), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 3, 4 }), diff --git a/src/openrct2/ride/coaster/meta/WaterCoaster.h b/src/openrct2/ride/coaster/meta/WaterCoaster.h index cf62dec7b9..d60b333a19 100644 --- a/src/openrct2/ride/coaster/meta/WaterCoaster.h +++ b/src/openrct2/ride/coaster/meta/WaterCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor WaterCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 4, 6 }), diff --git a/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h b/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h index f5e7b20b9e..e354de6177 100644 --- a/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor WoodenRollerCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) ), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftWood, 5, 7 }), diff --git a/src/openrct2/ride/coaster/meta/WoodenWildMouse.h b/src/openrct2/ride/coaster/meta/WoodenWildMouse.h index 66524206d6..ecb52ed5ae 100644 --- a/src/openrct2/ride/coaster/meta/WoodenWildMouse.h +++ b/src/openrct2/ride/coaster/meta/WoodenWildMouse.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor WoodenWildMouseRTD = RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAG_ALLOW_DOORS_ON_TRACK | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), SET_FIELD(LiftData, { SoundId::LiftClassic, 4, 5 }), diff --git a/src/openrct2/ride/gentle/meta/CarRide.h b/src/openrct2/ride/gentle/meta/CarRide.h index 1e2487e699..6048404710 100644 --- a/src/openrct2/ride/gentle/meta/CarRide.h +++ b/src/openrct2/ride/gentle/meta/CarRide.h @@ -28,6 +28,8 @@ constexpr const RideTypeDescriptor CarRideRTD = RIDE_TYPE_FLAG_ALLOW_DOORS_ON_TRACK | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_HAS_RIDE_GROUPS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/Circus.h b/src/openrct2/ride/gentle/meta/Circus.h index 8a33b2a119..14ffdcdd89 100644 --- a/src/openrct2/ride/gentle/meta/Circus.h +++ b/src/openrct2/ride/gentle/meta/Circus.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor CircusRTD = RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CIRCUS_SHOW)), + SET_FIELD(DefaultMode, RIDE_MODE_CIRCUS_SHOW), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/CrookedHouse.h b/src/openrct2/ride/gentle/meta/CrookedHouse.h index e932b7a241..35216c239b 100644 --- a/src/openrct2/ride/gentle/meta/CrookedHouse.h +++ b/src/openrct2/ride/gentle/meta/CrookedHouse.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor CrookedHouseRTD = RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CROOKED_HOUSE)), + SET_FIELD(DefaultMode, RIDE_MODE_CROOKED_HOUSE), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/Dodgems.h b/src/openrct2/ride/gentle/meta/Dodgems.h index 3df4765075..75fc75fadd 100644 --- a/src/openrct2/ride/gentle/meta/Dodgems.h +++ b/src/openrct2/ride/gentle/meta/Dodgems.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor DodgemsRTD = RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_BUMPERCAR)), + SET_FIELD(DefaultMode, RIDE_MODE_BUMPERCAR), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/FerrisWheel.h b/src/openrct2/ride/gentle/meta/FerrisWheel.h index dcaa6f57d0..cb508a9f13 100644 --- a/src/openrct2/ride/gentle/meta/FerrisWheel.h +++ b/src/openrct2/ride/gentle/meta/FerrisWheel.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor FerrisWheelRTD = RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_FORWARD_ROTATION) | (1ULL << RIDE_MODE_BACKWARD_ROTATION)), + SET_FIELD(DefaultMode, RIDE_MODE_FORWARD_ROTATION), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_WHEEL, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/FlyingSaucers.h b/src/openrct2/ride/gentle/meta/FlyingSaucers.h index 255b6bbaad..e6f0844cf8 100644 --- a/src/openrct2/ride/gentle/meta/FlyingSaucers.h +++ b/src/openrct2/ride/gentle/meta/FlyingSaucers.h @@ -27,6 +27,8 @@ constexpr const RideTypeDescriptor FlyingSaucersRTD = RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_BUMPERCAR)), + SET_FIELD(DefaultMode, RIDE_MODE_BUMPERCAR), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/GhostTrain.h b/src/openrct2/ride/gentle/meta/GhostTrain.h index 05edd29ab4..20e79acb61 100644 --- a/src/openrct2/ride/gentle/meta/GhostTrain.h +++ b/src/openrct2/ride/gentle/meta/GhostTrain.h @@ -28,6 +28,8 @@ constexpr const RideTypeDescriptor GhostTrainRTD = RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_DOORS_ON_TRACK | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG_HAS_AIR_TIME | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/HauntedHouse.h b/src/openrct2/ride/gentle/meta/HauntedHouse.h index b0f3eb6437..a3ab6a7742 100644 --- a/src/openrct2/ride/gentle/meta/HauntedHouse.h +++ b/src/openrct2/ride/gentle/meta/HauntedHouse.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor HauntedHouseRTD = RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_HAUNTED_HOUSE)), + SET_FIELD(DefaultMode, RIDE_MODE_HAUNTED_HOUSE), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/Maze.h b/src/openrct2/ride/gentle/meta/Maze.h index 3db9ef5941..520f158d77 100644 --- a/src/openrct2/ride/gentle/meta/Maze.h +++ b/src/openrct2/ride/gentle/meta/Maze.h @@ -24,6 +24,8 @@ constexpr const RideTypeDescriptor MazeRTD = SET_FIELD(TrackPaintFunction, get_track_paint_function_maze), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_MAZE)), + SET_FIELD(DefaultMode, RIDE_MODE_MAZE), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/MerryGoRound.h b/src/openrct2/ride/gentle/meta/MerryGoRound.h index 0274223af8..66db817036 100644 --- a/src/openrct2/ride/gentle/meta/MerryGoRound.h +++ b/src/openrct2/ride/gentle/meta/MerryGoRound.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor MerryGoRoundRTD = RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_ROTATION)), + SET_FIELD(DefaultMode, RIDE_MODE_ROTATION), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/MiniGolf.h b/src/openrct2/ride/gentle/meta/MiniGolf.h index 1057c8673a..615bbe4d92 100644 --- a/src/openrct2/ride/gentle/meta/MiniGolf.h +++ b/src/openrct2/ride/gentle/meta/MiniGolf.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor MiniGolfRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_PLAYER, RIDE_COMPONENT_TYPE_COURSE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/MiniHelicopters.h b/src/openrct2/ride/gentle/meta/MiniHelicopters.h index 3bbaa093ab..73423356e7 100644 --- a/src/openrct2/ride/gentle/meta/MiniHelicopters.h +++ b/src/openrct2/ride/gentle/meta/MiniHelicopters.h @@ -28,6 +28,8 @@ constexpr const RideTypeDescriptor MiniHelicoptersRTD = RIDE_TYPE_FLAG_ALLOW_DOORS_ON_TRACK | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/MonorailCycles.h b/src/openrct2/ride/gentle/meta/MonorailCycles.h index d6a672d771..fdbd34f45c 100644 --- a/src/openrct2/ride/gentle/meta/MonorailCycles.h +++ b/src/openrct2/ride/gentle/meta/MonorailCycles.h @@ -27,6 +27,8 @@ constexpr const RideTypeDescriptor MonorailCyclesRTD = RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/ObservationTower.h b/src/openrct2/ride/gentle/meta/ObservationTower.h index 3e7a06ae62..088e1bfa9b 100644 --- a/src/openrct2/ride/gentle/meta/ObservationTower.h +++ b/src/openrct2/ride/gentle/meta/ObservationTower.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor ObservationTowerRTD = RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_ROTATING_LIFT)), + SET_FIELD(DefaultMode, RIDE_MODE_ROTATING_LIFT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CABIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/SpaceRings.h b/src/openrct2/ride/gentle/meta/SpaceRings.h index adcf1315bf..e3bac1a617 100644 --- a/src/openrct2/ride/gentle/meta/SpaceRings.h +++ b/src/openrct2/ride/gentle/meta/SpaceRings.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor SpaceRingsRTD = RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SPACE_RINGS)), + SET_FIELD(DefaultMode, RIDE_MODE_SPACE_RINGS), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_RING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/SpiralSlide.h b/src/openrct2/ride/gentle/meta/SpiralSlide.h index 6804a0a5f2..c4054eafe5 100644 --- a/src/openrct2/ride/gentle/meta/SpiralSlide.h +++ b/src/openrct2/ride/gentle/meta/SpiralSlide.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor SpiralSlideRTD = RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SINGLE_RIDE_PER_ADMISSION) | (1ULL << RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION)), + SET_FIELD(DefaultMode, RIDE_MODE_SINGLE_RIDE_PER_ADMISSION), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/shops/meta/CashMachine.h b/src/openrct2/ride/shops/meta/CashMachine.h index 665a5d0962..37081d3c08 100644 --- a/src/openrct2/ride/shops/meta/CashMachine.h +++ b/src/openrct2/ride/shops/meta/CashMachine.h @@ -24,6 +24,8 @@ constexpr const RideTypeDescriptor CashMachineRTD = SET_FIELD(TrackPaintFunction, get_track_paint_function_shop), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), + SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/shops/meta/DrinkStall.h b/src/openrct2/ride/shops/meta/DrinkStall.h index 3fea670080..0a06827181 100644 --- a/src/openrct2/ride/shops/meta/DrinkStall.h +++ b/src/openrct2/ride/shops/meta/DrinkStall.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor DrinkStallRTD = SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_SELLS_DRINKS | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), + SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/shops/meta/FirstAid.h b/src/openrct2/ride/shops/meta/FirstAid.h index 45cdd060cd..55ebaf701f 100644 --- a/src/openrct2/ride/shops/meta/FirstAid.h +++ b/src/openrct2/ride/shops/meta/FirstAid.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor FirstAidRTD = SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), + SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/shops/meta/FoodStall.h b/src/openrct2/ride/shops/meta/FoodStall.h index 96ec139ccc..0ca267648c 100644 --- a/src/openrct2/ride/shops/meta/FoodStall.h +++ b/src/openrct2/ride/shops/meta/FoodStall.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor FoodStallRTD = SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_SELLS_FOOD | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), + SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/shops/meta/InformationKiosk.h b/src/openrct2/ride/shops/meta/InformationKiosk.h index 66f5cf5b7e..fe639795ef 100644 --- a/src/openrct2/ride/shops/meta/InformationKiosk.h +++ b/src/openrct2/ride/shops/meta/InformationKiosk.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor InformationKioskRTD = SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), + SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/shops/meta/Shop.h b/src/openrct2/ride/shops/meta/Shop.h index 0fc86deb92..d77c475a81 100644 --- a/src/openrct2/ride/shops/meta/Shop.h +++ b/src/openrct2/ride/shops/meta/Shop.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor ShopRTD = SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), + SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/shops/meta/Toilets.h b/src/openrct2/ride/shops/meta/Toilets.h index 426005dd6b..073fedf754 100644 --- a/src/openrct2/ride/shops/meta/Toilets.h +++ b/src/openrct2/ride/shops/meta/Toilets.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor ToiletsRTD = SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_IS_TOILET | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), + SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/thrill/meta/3DCinema.h b/src/openrct2/ride/thrill/meta/3DCinema.h index 381f6a4fa4..b0343288e6 100644 --- a/src/openrct2/ride/thrill/meta/3DCinema.h +++ b/src/openrct2/ride/thrill/meta/3DCinema.h @@ -27,6 +27,8 @@ constexpr const RideTypeDescriptor CinemaRTD = RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_3D_FILM_MOUSE_TAILS) | (1ULL << RIDE_MODE_3D_FILM_STORM_CHASERS) | (1ULL << RIDE_MODE_3D_FILM_SPACE_RAIDERS)), + SET_FIELD(DefaultMode, RIDE_MODE_3D_FILM_MOUSE_TAILS), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/thrill/meta/Enterprise.h b/src/openrct2/ride/thrill/meta/Enterprise.h index 69a37b5e27..bda8f4daa1 100644 --- a/src/openrct2/ride/thrill/meta/Enterprise.h +++ b/src/openrct2/ride/thrill/meta/Enterprise.h @@ -27,6 +27,8 @@ constexpr const RideTypeDescriptor EnterpriseRTD = RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_ROTATION)), + SET_FIELD(DefaultMode, RIDE_MODE_ROTATION), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_WHEEL, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/thrill/meta/GoKarts.h b/src/openrct2/ride/thrill/meta/GoKarts.h index 185b6d6aff..0daf9d71f2 100644 --- a/src/openrct2/ride/thrill/meta/GoKarts.h +++ b/src/openrct2/ride/thrill/meta/GoKarts.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor GoKartsRTD = SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_RACE) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_RACE), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/thrill/meta/LaunchedFreefall.h b/src/openrct2/ride/thrill/meta/LaunchedFreefall.h index a5f7935918..246458495e 100644 --- a/src/openrct2/ride/thrill/meta/LaunchedFreefall.h +++ b/src/openrct2/ride/thrill/meta/LaunchedFreefall.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor LaunchedFreefallRTD = RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_UPWARD_LAUNCH) | (1ULL << RIDE_MODE_DOWNWARD_LAUNCH)), + SET_FIELD(DefaultMode, RIDE_MODE_UPWARD_LAUNCH), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/thrill/meta/MagicCarpet.h b/src/openrct2/ride/thrill/meta/MagicCarpet.h index 728d211465..4890faee96 100644 --- a/src/openrct2/ride/thrill/meta/MagicCarpet.h +++ b/src/openrct2/ride/thrill/meta/MagicCarpet.h @@ -27,6 +27,8 @@ constexpr const RideTypeDescriptor MagicCarpetRTD = RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SWING)), + SET_FIELD(DefaultMode, RIDE_MODE_SWING), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/thrill/meta/MotionSimulator.h b/src/openrct2/ride/thrill/meta/MotionSimulator.h index 3f4fa47421..4a81a2d4a5 100644 --- a/src/openrct2/ride/thrill/meta/MotionSimulator.h +++ b/src/openrct2/ride/thrill/meta/MotionSimulator.h @@ -27,6 +27,8 @@ constexpr const RideTypeDescriptor MotionSimulatorRTD = RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_FILM_AVENGING_AVIATORS) | (1ULL << RIDE_MODE_FILM_THRILL_RIDERS)), + SET_FIELD(DefaultMode, RIDE_MODE_FILM_AVENGING_AVIATORS), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/thrill/meta/RotoDrop.h b/src/openrct2/ride/thrill/meta/RotoDrop.h index 80ed50eee4..b5ddcf04b0 100644 --- a/src/openrct2/ride/thrill/meta/RotoDrop.h +++ b/src/openrct2/ride/thrill/meta/RotoDrop.h @@ -27,6 +27,8 @@ constexpr const RideTypeDescriptor RotoDropRTD = RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_FREEFALL_DROP)), + SET_FIELD(DefaultMode, RIDE_MODE_FREEFALL_DROP), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/thrill/meta/SwingingInverterShip.h b/src/openrct2/ride/thrill/meta/SwingingInverterShip.h index cd58e04482..98a8ab20f7 100644 --- a/src/openrct2/ride/thrill/meta/SwingingInverterShip.h +++ b/src/openrct2/ride/thrill/meta/SwingingInverterShip.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor SwingingInverterShipRTD = RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SWING)), + SET_FIELD(DefaultMode, RIDE_MODE_SWING), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_SHIP, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/thrill/meta/SwingingShip.h b/src/openrct2/ride/thrill/meta/SwingingShip.h index 623d51d5df..2426e56fde 100644 --- a/src/openrct2/ride/thrill/meta/SwingingShip.h +++ b/src/openrct2/ride/thrill/meta/SwingingShip.h @@ -27,6 +27,8 @@ constexpr const RideTypeDescriptor SwingingShipRTD = RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SWING)), + SET_FIELD(DefaultMode, RIDE_MODE_SWING), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_SHIP, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/thrill/meta/TopSpin.h b/src/openrct2/ride/thrill/meta/TopSpin.h index b8fee46f7c..3aa5861e4a 100644 --- a/src/openrct2/ride/thrill/meta/TopSpin.h +++ b/src/openrct2/ride/thrill/meta/TopSpin.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor TopSpinRTD = RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_BEGINNERS) | (1ULL << RIDE_MODE_INTENSE) | (1ULL << RIDE_MODE_BERSERK)), + SET_FIELD(DefaultMode, RIDE_MODE_BEGINNERS), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/thrill/meta/Twist.h b/src/openrct2/ride/thrill/meta/Twist.h index 4059401553..619a8eb6eb 100644 --- a/src/openrct2/ride/thrill/meta/Twist.h +++ b/src/openrct2/ride/thrill/meta/Twist.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor TwistRTD = RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_ROTATION)), + SET_FIELD(DefaultMode, RIDE_MODE_ROTATION), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/transport/meta/Chairlift.h b/src/openrct2/ride/transport/meta/Chairlift.h index 54a2462210..ee36a20d6d 100644 --- a/src/openrct2/ride/transport/meta/Chairlift.h +++ b/src/openrct2/ride/transport/meta/Chairlift.h @@ -27,6 +27,8 @@ constexpr const RideTypeDescriptor ChairliftRTD = RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG_TRANSPORT_RIDE | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_IS_SUSPENDED), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_STATION_TO_STATION)), + SET_FIELD(DefaultMode, RIDE_MODE_STATION_TO_STATION), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/transport/meta/Lift.h b/src/openrct2/ride/transport/meta/Lift.h index 7cf6aa2e14..f93eef3a8e 100644 --- a/src/openrct2/ride/transport/meta/Lift.h +++ b/src/openrct2/ride/transport/meta/Lift.h @@ -26,6 +26,8 @@ constexpr const RideTypeDescriptor LiftRTD = RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_ALLOW_EXTRA_TOWER_BASES | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_TRANSPORT_RIDE | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHUTTLE)), + SET_FIELD(DefaultMode, RIDE_MODE_SHUTTLE), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CABIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/transport/meta/MiniatureRailway.h b/src/openrct2/ride/transport/meta/MiniatureRailway.h index 7c29579dbf..704550f366 100644 --- a/src/openrct2/ride/transport/meta/MiniatureRailway.h +++ b/src/openrct2/ride/transport/meta/MiniatureRailway.h @@ -28,6 +28,8 @@ constexpr const RideTypeDescriptor MiniatureRailwayRTD = RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_TRANSPORT_RIDE | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_SUPPORTS_LEVEL_CROSSINGS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_SHUTTLE)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/transport/meta/Monorail.h b/src/openrct2/ride/transport/meta/Monorail.h index ccf8b28eaa..b218f053d8 100644 --- a/src/openrct2/ride/transport/meta/Monorail.h +++ b/src/openrct2/ride/transport/meta/Monorail.h @@ -28,6 +28,8 @@ constexpr const RideTypeDescriptor MonorailRTD = RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_TRANSPORT_RIDE | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_SHUTTLE)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/transport/meta/SuspendedMonorail.h b/src/openrct2/ride/transport/meta/SuspendedMonorail.h index 98f932dd27..15465e7506 100644 --- a/src/openrct2/ride/transport/meta/SuspendedMonorail.h +++ b/src/openrct2/ride/transport/meta/SuspendedMonorail.h @@ -29,6 +29,8 @@ constexpr const RideTypeDescriptor SuspendedMonorailRTD = RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_TRANSPORT_RIDE | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_IS_SUSPENDED), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_SHUTTLE)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/water/meta/BoatHire.h b/src/openrct2/ride/water/meta/BoatHire.h index 9ecb1ebe3a..92e9c9426e 100644 --- a/src/openrct2/ride/water/meta/BoatHire.h +++ b/src/openrct2/ride/water/meta/BoatHire.h @@ -25,6 +25,8 @@ constexpr const RideTypeDescriptor BoatHireRTD = SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_BOAT_HIRE)), + SET_FIELD(DefaultMode, RIDE_MODE_BOAT_HIRE), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/water/meta/DinghySlide.h b/src/openrct2/ride/water/meta/DinghySlide.h index 0f57a0fac5..30cbd4885c 100644 --- a/src/openrct2/ride/water/meta/DinghySlide.h +++ b/src/openrct2/ride/water/meta/DinghySlide.h @@ -29,6 +29,8 @@ constexpr const RideTypeDescriptor DinghySlideRTD = RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_HAS_AIR_TIME | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::LiftFrictionWheels, 4, 5 }), diff --git a/src/openrct2/ride/water/meta/LogFlume.h b/src/openrct2/ride/water/meta/LogFlume.h index 7bb59c5eb5..e3b7f3e3c8 100644 --- a/src/openrct2/ride/water/meta/LogFlume.h +++ b/src/openrct2/ride/water/meta/LogFlume.h @@ -28,6 +28,8 @@ constexpr const RideTypeDescriptor LogFlumeRTD = RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG_HAS_AIR_TIME | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/water/meta/RiverRafts.h b/src/openrct2/ride/water/meta/RiverRafts.h index 4988216241..f92ef0326e 100644 --- a/src/openrct2/ride/water/meta/RiverRafts.h +++ b/src/openrct2/ride/water/meta/RiverRafts.h @@ -28,6 +28,8 @@ constexpr const RideTypeDescriptor RiverRaftsRTD = RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/water/meta/RiverRapids.h b/src/openrct2/ride/water/meta/RiverRapids.h index 5d99d80173..81fa2bcd10 100644 --- a/src/openrct2/ride/water/meta/RiverRapids.h +++ b/src/openrct2/ride/water/meta/RiverRapids.h @@ -29,6 +29,8 @@ constexpr const RideTypeDescriptor RiverRapidsRTD = RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG_HAS_AIR_TIME | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/water/meta/SplashBoats.h b/src/openrct2/ride/water/meta/SplashBoats.h index 76aec1ee2e..c30ed19eae 100644 --- a/src/openrct2/ride/water/meta/SplashBoats.h +++ b/src/openrct2/ride/water/meta/SplashBoats.h @@ -28,6 +28,8 @@ constexpr const RideTypeDescriptor SplashBoatsRTD = RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG_HAS_AIR_TIME | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/water/meta/SubmarineRide.h b/src/openrct2/ride/water/meta/SubmarineRide.h index 364a36710b..acba3af2f3 100644 --- a/src/openrct2/ride/water/meta/SubmarineRide.h +++ b/src/openrct2/ride/water/meta/SubmarineRide.h @@ -27,6 +27,8 @@ constexpr const RideTypeDescriptor SubmarineRideRTD = RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), + SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), From e67ebed697a620dbed16cc16cad186e9a39e704e Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Sat, 25 Apr 2020 15:34:43 +0200 Subject: [PATCH 4/4] Remove some Americanisms --- src/openrct2-ui/windows/Cheats.cpp | 23 +++++++++---------- src/openrct2-ui/windows/Ride.cpp | 6 ++--- src/openrct2/Cheats.h | 2 +- src/openrct2/actions/RideSetSetting.hpp | 2 +- src/openrct2/actions/SetCheatAction.hpp | 6 ++--- src/openrct2/localisation/Localisation.cpp | 2 +- src/openrct2/localisation/StringIds.h | 6 ++--- src/openrct2/management/Award.cpp | 2 +- src/openrct2/peep/Guest.cpp | 20 ++++++++-------- src/openrct2/peep/Peep.cpp | 12 +++++----- src/openrct2/peep/Peep.h | 10 ++++---- src/openrct2/rct1/RCT1.h | 2 +- src/openrct2/rct1/Tables.cpp | 2 +- src/openrct2/ride/Ride.h | 2 +- src/openrct2/ride/RideData.h | 2 +- src/openrct2/ride/Station.cpp | 2 +- src/openrct2/ride/Vehicle.cpp | 4 ++-- src/openrct2/ride/gentle/meta/Dodgems.h | 4 ++-- src/openrct2/ride/gentle/meta/FlyingSaucers.h | 4 ++-- 19 files changed, 56 insertions(+), 57 deletions(-) diff --git a/src/openrct2-ui/windows/Cheats.cpp b/src/openrct2-ui/windows/Cheats.cpp index c425642392..da6501bb98 100644 --- a/src/openrct2-ui/windows/Cheats.cpp +++ b/src/openrct2-ui/windows/Cheats.cpp @@ -108,8 +108,8 @@ enum WINDOW_CHEATS_WIDGET_IDX WIDX_GUEST_NAUSEA_MIN, WIDX_GUEST_NAUSEA_TOLERANCE_MAX, WIDX_GUEST_NAUSEA_TOLERANCE_MIN, - WIDX_GUEST_BATHROOM_MAX, - WIDX_GUEST_BATHROOM_MIN, + WIDX_GUEST_TOILET_MAX, + WIDX_GUEST_TOILET_MIN, WIDX_GUEST_RIDE_INTENSITY_MORE_THAN_1, WIDX_GUEST_RIDE_INTENSITY_LESS_THAN_15, WIDX_GUEST_IGNORE_RIDE_INTENSITY, @@ -248,8 +248,8 @@ static rct_widget window_cheats_guests_widgets[] = { WWT_BUTTON, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(5), HPL(5), STR_MIN, STR_NONE }, // nausea min { WWT_BUTTON, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(6), HPL(6), STR_MAX, STR_NONE }, // nausea tolerance max { WWT_BUTTON, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(6), HPL(6), STR_MIN, STR_NONE }, // nausea tolerance min - { WWT_BUTTON, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(7), HPL(7), STR_MAX, STR_NONE }, // bathroom max - { WWT_BUTTON, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(7), HPL(7), STR_MIN, STR_NONE }, // bathroom min + { WWT_BUTTON, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(7), HPL(7), STR_MAX, STR_NONE }, // toilet max + { WWT_BUTTON, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(7), HPL(7), STR_MIN, STR_NONE }, // toilet min { WWT_BUTTON, 1, XPL(1), WPL(1), YPL(9), HPL(9), STR_CHEAT_MORE_THAN_1, STR_NONE }, // ride intensity > 1 { WWT_BUTTON, 1, XPL(0), WPL(0), YPL(9), HPL(9), STR_CHEAT_LESS_THAN_15, STR_NONE }, // ride intensity < 15 { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(10), OHPL(10), STR_CHEAT_IGNORE_INTENSITY, STR_CHEAT_IGNORE_INTENSITY_TIP }, // guests ignore intensity @@ -522,8 +522,8 @@ static uint64_t window_cheats_page_enabled_widgets[] = { (1ULL << WIDX_GUEST_NAUSEA_MIN) | (1ULL << WIDX_GUEST_NAUSEA_TOLERANCE_MAX) | (1ULL << WIDX_GUEST_NAUSEA_TOLERANCE_MIN) | - (1ULL << WIDX_GUEST_BATHROOM_MAX) | - (1ULL << WIDX_GUEST_BATHROOM_MIN) | + (1ULL << WIDX_GUEST_TOILET_MAX) | + (1ULL << WIDX_GUEST_TOILET_MIN) | (1ULL << WIDX_GUEST_RIDE_INTENSITY_MORE_THAN_1) | (1ULL << WIDX_GUEST_RIDE_INTENSITY_LESS_THAN_15) | (1ULL << WIDX_GUEST_IGNORE_RIDE_INTENSITY) | @@ -872,11 +872,11 @@ static void window_cheats_guests_mouseup(rct_window* w, rct_widgetindex widgetIn case WIDX_GUEST_NAUSEA_TOLERANCE_MIN: CheatsSet(CheatType::SetGuestParameter, GUEST_PARAMETER_NAUSEA_TOLERANCE, PEEP_NAUSEA_TOLERANCE_NONE); break; - case WIDX_GUEST_BATHROOM_MAX: - CheatsSet(CheatType::SetGuestParameter, GUEST_PARAMETER_BATHROOM, PEEP_MAX_BATHROOM); + case WIDX_GUEST_TOILET_MAX: + CheatsSet(CheatType::SetGuestParameter, GUEST_PARAMETER_TOILET, PEEP_MAX_TOILET); break; - case WIDX_GUEST_BATHROOM_MIN: - CheatsSet(CheatType::SetGuestParameter, GUEST_PARAMETER_BATHROOM, 0); + case WIDX_GUEST_TOILET_MIN: + CheatsSet(CheatType::SetGuestParameter, GUEST_PARAMETER_TOILET, 0); break; case WIDX_GUEST_RIDE_INTENSITY_MORE_THAN_1: CheatsSet(CheatType::SetGuestParameter, GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY, 1); @@ -1250,8 +1250,7 @@ static void window_cheats_paint(rct_window* w, rct_drawpixelinfo* dpi) dpi, STR_CHEAT_GUEST_NAUSEA_TOLERANCE, nullptr, COLOUR_BLACK, w->windowPos.x + XPL(0) + TXTO, w->windowPos.y + YPL(6) + TXTO); gfx_draw_string_left( - dpi, STR_CHEAT_GUEST_BATHROOM, nullptr, COLOUR_BLACK, w->windowPos.x + XPL(0) + TXTO, - w->windowPos.y + YPL(7) + TXTO); + dpi, STR_CHEAT_GUEST_TOILET, nullptr, COLOUR_BLACK, w->windowPos.x + XPL(0) + TXTO, w->windowPos.y + YPL(7) + TXTO); gfx_draw_string_left( dpi, STR_CHEAT_GUEST_PREFERRED_INTENSITY, nullptr, COLOUR_BLACK, w->windowPos.x + XPL(0) + TXTO, w->windowPos.y + YPL(8) + TXTO); diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index c9d2e81723..8ff2edc189 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -3324,7 +3324,7 @@ static void window_ride_mode_tweak_increase(rct_window* w) maxValue = 255; } - uint8_t increment = ride->mode == RIDE_MODE_BUMPERCAR ? 10 : 1; + uint8_t increment = ride->mode == RIDE_MODE_DODGEMS ? 10 : 1; set_operating_setting( w->number, RideSetSetting::Operation, std::clamp(ride->operation_option + increment, minValue, maxValue)); @@ -3347,7 +3347,7 @@ static void window_ride_mode_tweak_decrease(rct_window* w) maxValue = 255; } - uint8_t decrement = ride->mode == RIDE_MODE_BUMPERCAR ? 10 : 1; + uint8_t decrement = ride->mode == RIDE_MODE_DODGEMS ? 10 : 1; set_operating_setting( w->number, RideSetSetting::Operation, std::clamp(ride->operation_option - decrement, minValue, maxValue)); @@ -3801,7 +3801,7 @@ static void window_ride_operating_invalidate(rct_window* w) caption = STR_NUMBER_OF_LAPS; tooltip = STR_NUMBER_OF_LAPS_TIP; break; - case RIDE_MODE_BUMPERCAR: + case RIDE_MODE_DODGEMS: format = STR_RIDE_MODE_TIME_LIMIT_VALUE; caption = STR_TIME_LIMIT; tooltip = STR_TIME_LIMIT_TIP; diff --git a/src/openrct2/Cheats.h b/src/openrct2/Cheats.h index 82595b8ba3..a116a6c28c 100644 --- a/src/openrct2/Cheats.h +++ b/src/openrct2/Cheats.h @@ -98,7 +98,7 @@ enum GUEST_PARAMETER_THIRST, GUEST_PARAMETER_NAUSEA, GUEST_PARAMETER_NAUSEA_TOLERANCE, - GUEST_PARAMETER_BATHROOM, + GUEST_PARAMETER_TOILET, GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY }; diff --git a/src/openrct2/actions/RideSetSetting.hpp b/src/openrct2/actions/RideSetSetting.hpp index 85cf5a52bf..97ec25c153 100644 --- a/src/openrct2/actions/RideSetSetting.hpp +++ b/src/openrct2/actions/RideSetSetting.hpp @@ -293,7 +293,7 @@ private: return STR_CANT_CHANGE_SPEED; case RIDE_MODE_RACE: return STR_CANT_CHANGE_NUMBER_OF_LAPS; - case RIDE_MODE_BUMPERCAR: + case RIDE_MODE_DODGEMS: return STR_CANT_CHANGE_TIME_LIMIT; case RIDE_MODE_SWING: return STR_CANT_CHANGE_NUMBER_OF_SWINGS; diff --git a/src/openrct2/actions/SetCheatAction.hpp b/src/openrct2/actions/SetCheatAction.hpp index 13839973a9..079ad3f2d1 100644 --- a/src/openrct2/actions/SetCheatAction.hpp +++ b/src/openrct2/actions/SetCheatAction.hpp @@ -333,9 +333,9 @@ private: case GUEST_PARAMETER_NAUSEA_TOLERANCE: return { { GUEST_PARAMETER_HAPPINESS, GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY }, { PEEP_NAUSEA_TOLERANCE_NONE, PEEP_NAUSEA_TOLERANCE_HIGH } }; - case GUEST_PARAMETER_BATHROOM: + case GUEST_PARAMETER_TOILET: return { { GUEST_PARAMETER_HAPPINESS, GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY }, - { 0, PEEP_MAX_BATHROOM } }; + { 0, PEEP_MAX_TOILET } }; case GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY: return { { GUEST_PARAMETER_HAPPINESS, GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY }, { 0, 255 } }; default: @@ -601,7 +601,7 @@ private: case GUEST_PARAMETER_NAUSEA_TOLERANCE: peep->nausea_tolerance = value; break; - case GUEST_PARAMETER_BATHROOM: + case GUEST_PARAMETER_TOILET: peep->toilet = value; break; case GUEST_PARAMETER_PREFERRED_RIDE_INTENSITY: diff --git a/src/openrct2/localisation/Localisation.cpp b/src/openrct2/localisation/Localisation.cpp index 486e0d72fe..b309628651 100644 --- a/src/openrct2/localisation/Localisation.cpp +++ b/src/openrct2/localisation/Localisation.cpp @@ -120,7 +120,7 @@ const rct_string_id PeepThoughts[] = { STR_PEEP_THOUGHT_TYPE_TIRED, STR_PEEP_THOUGHT_TYPE_HUNGRY, STR_PEEP_THOUGHT_TYPE_THIRSTY, - STR_PEEP_THOUGHT_TYPE_BATHROOM, + STR_PEEP_THOUGHT_TYPE_TOILET, STR_PEEP_THOUGHT_TYPE_CANT_FIND, STR_PEEP_THOUGHT_TYPE_NOT_PAYING, STR_PEEP_THOUGHT_TYPE_NOT_WHILE_RAINING, diff --git a/src/openrct2/localisation/StringIds.h b/src/openrct2/localisation/StringIds.h index 41f9231f00..a8a62267d3 100644 --- a/src/openrct2/localisation/StringIds.h +++ b/src/openrct2/localisation/StringIds.h @@ -915,7 +915,7 @@ enum STR_PEEP_THOUGHT_TYPE_TIRED = 1499, STR_PEEP_THOUGHT_TYPE_HUNGRY = 1500, STR_PEEP_THOUGHT_TYPE_THIRSTY = 1501, - STR_PEEP_THOUGHT_TYPE_BATHROOM = 1502, + STR_PEEP_THOUGHT_TYPE_TOILET = 1502, STR_PEEP_THOUGHT_TYPE_CANT_FIND = 1503, STR_PEEP_THOUGHT_TYPE_NOT_PAYING = 1504, STR_PEEP_THOUGHT_TYPE_NOT_WHILE_RAINING = 1505, @@ -2119,7 +2119,7 @@ enum STR_PEEPS_DISLIKE_VANDALISM = 2808, STR_PEEPS_ARE_HUNGRY = 2809, STR_PEEPS_ARE_THIRSTY = 2810, - STR_PEEPS_CANT_FIND_BATHROOM = 2811, + STR_PEEPS_CANT_FIND_TOILET = 2811, STR_PEEPS_GETTING_LOST_OR_STUCK = 2812, STR_ENTRANCE_FEE_TOO_HI = 2813, STR_AWARD_MOST_UNTIDY = 2814, @@ -2841,7 +2841,7 @@ enum STR_CHEAT_GUEST_THIRST = 5355, STR_CHEAT_GUEST_NAUSEA = 5356, STR_CHEAT_GUEST_NAUSEA_TOLERANCE = 5357, - STR_CHEAT_GUEST_BATHROOM = 5358, + STR_CHEAT_GUEST_TOILET = 5358, STR_CHEAT_REMOVE_ALL_GUESTS = 5359, STR_CHEAT_REMOVE_ALL_GUESTS_TIP = 5360, STR_CHEAT_GIVE_ALL_GUESTS = 5361, diff --git a/src/openrct2/management/Award.cpp b/src/openrct2/management/Award.cpp index 78a4f796ca..76f94af532 100644 --- a/src/openrct2/management/Award.cpp +++ b/src/openrct2/management/Award.cpp @@ -418,7 +418,7 @@ static bool award_is_deserved_best_restrooms([[maybe_unused]] int32_t activeAwar if (peep->outside_of_park != 0) continue; - if (peep->thoughts[0].freshness <= 5 && peep->thoughts[0].type == PEEP_THOUGHT_TYPE_BATHROOM) + if (peep->thoughts[0].freshness <= 5 && peep->thoughts[0].type == PEEP_THOUGHT_TYPE_TOILET) guestsWhoNeedRestroom++; } return (guestsWhoNeedRestroom <= 16); diff --git a/src/openrct2/peep/Guest.cpp b/src/openrct2/peep/Guest.cpp index d949f59c73..47a15eed7f 100644 --- a/src/openrct2/peep/Guest.cpp +++ b/src/openrct2/peep/Guest.cpp @@ -283,7 +283,7 @@ static constexpr const PeepThoughtType crowded_thoughts[] = { PEEP_THOUGHT_TYPE_WATCHED, PEEP_THOUGHT_TYPE_NOT_HUNGRY, PEEP_THOUGHT_TYPE_NOT_THIRSTY, - PEEP_THOUGHT_TYPE_BATHROOM, + PEEP_THOUGHT_TYPE_TOILET, PEEP_THOUGHT_TYPE_NONE, PEEP_THOUGHT_TYPE_NONE, }; @@ -602,10 +602,10 @@ void Guest::HandleEasterEggName() peep_flags |= PEEP_FLAGS_HUNGER; } - peep_flags &= ~PEEP_FLAGS_BATHROOM; + peep_flags &= ~PEEP_FLAGS_TOILET; if (CheckEasterEggName(EASTEREGG_PEEP_NAME_FRANCES_MCGOWAN)) { - peep_flags |= PEEP_FLAGS_BATHROOM; + peep_flags |= PEEP_FLAGS_TOILET; } peep_flags &= ~PEEP_FLAGS_CROWDED; @@ -732,7 +732,7 @@ void Guest::Tick128UpdateGuest(int32_t index) hunger -= 15; } - if (peep_flags & PEEP_FLAGS_BATHROOM) + if (peep_flags & PEEP_FLAGS_TOILET) { if (toilet <= 180) toilet += 50; @@ -863,7 +863,7 @@ void Guest::Tick128UpdateGuest(int32_t index) if (toilet >= 160) { - possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_BATHROOM; + possible_thoughts[num_thoughts++] = PEEP_THOUGHT_TYPE_TOILET; } if (!(gParkFlags & PARK_FLAGS_NO_MONEY) && cash_in_pocket <= MONEY(9, 00) && happiness >= 105 @@ -894,7 +894,7 @@ void Guest::Tick128UpdateGuest(int32_t index) case PEEP_THOUGHT_TYPE_THIRSTY: peep_head_for_nearest_ride_with_flags(this, RIDE_TYPE_FLAG_SELLS_DRINKS); break; - case PEEP_THOUGHT_TYPE_BATHROOM: + case PEEP_THOUGHT_TYPE_TOILET: peep_head_for_nearest_ride_with_flags(this, RIDE_TYPE_FLAG_IS_TOILET); break; case PEEP_THOUGHT_TYPE_RUNNING_OUT: @@ -2270,7 +2270,7 @@ bool Guest::ShouldGoToShop(Ride* ride, bool peepAtShop) return false; } - // The amount that peeps are willing to pay to use the Toilets scales with their bathroom stat. + // The amount that peeps are willing to pay to use the Toilets scales with their toilet stat. // It effectively has a minimum of $0.10 (due to the check above) and a maximum of $0.60. if (ride_get_price(ride) * 40 > toilet) { @@ -2557,7 +2557,7 @@ bool Guest::FindVehicleToEnter(Ride* ride, std::vector& car_array) { uint8_t chosen_train = RideStation::NO_TRAIN; - if (ride->mode == RIDE_MODE_BUMPERCAR || ride->mode == RIDE_MODE_RACE) + if (ride->mode == RIDE_MODE_DODGEMS || ride->mode == RIDE_MODE_RACE) { if (ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) return false; @@ -3285,7 +3285,7 @@ void Guest::StopPurchaseThought(uint8_t ride_type) thoughtType = PEEP_THOUGHT_TYPE_RUNNING_OUT; if (ride_type != RIDE_TYPE_CASH_MACHINE) { - thoughtType = PEEP_THOUGHT_TYPE_BATHROOM; + thoughtType = PEEP_THOUGHT_TYPE_TOILET; if (!ride_type_has_flag(ride_type, RIDE_TYPE_FLAG_IS_TOILET)) { return; @@ -6935,7 +6935,7 @@ void Guest::UpdateSpriteType() if (toilet > 220) { - SetSpriteType(PEEP_SPRITE_TYPE_REQUIRE_BATHROOM); + SetSpriteType(PEEP_SPRITE_TYPE_REQUIRE_TOILET); return; } diff --git a/src/openrct2/peep/Peep.cpp b/src/openrct2/peep/Peep.cpp index cd05c30f2d..bfad1c60ff 100644 --- a/src/openrct2/peep/Peep.cpp +++ b/src/openrct2/peep/Peep.cpp @@ -1195,7 +1195,7 @@ void peep_problem_warnings_update() Ride* ride; uint16_t spriteIndex; uint32_t hunger_counter = 0, lost_counter = 0, noexit_counter = 0, thirst_counter = 0, litter_counter = 0, - disgust_counter = 0, bathroom_counter = 0, vandalism_counter = 0; + disgust_counter = 0, toilet_counter = 0, vandalism_counter = 0; uint8_t* warning_throttle = gPeepWarningThrottle; FOR_ALL_GUESTS (spriteIndex, peep) @@ -1231,15 +1231,15 @@ void peep_problem_warnings_update() thirst_counter++; break; - case PEEP_THOUGHT_TYPE_BATHROOM: + case PEEP_THOUGHT_TYPE_TOILET: if (peep->guest_heading_to_ride_id == 0xFF) { - bathroom_counter++; + toilet_counter++; break; } ride = get_ride(peep->guest_heading_to_ride_id); if (ride != nullptr && !ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_TOILET)) - bathroom_counter++; + toilet_counter++; break; case PEEP_THOUGHT_TYPE_BAD_LITTER: // 0x1a @@ -1283,12 +1283,12 @@ void peep_problem_warnings_update() if (warning_throttle[2]) --warning_throttle[2]; - else if (bathroom_counter >= PEEP_BATHROOM_WARNING_THRESHOLD && bathroom_counter >= gNumGuestsInPark / 16) + else if (toilet_counter >= PEEP_TOILET_WARNING_THRESHOLD && toilet_counter >= gNumGuestsInPark / 16) { warning_throttle[2] = 4; if (gConfigNotifications.guest_warnings) { - news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_CANT_FIND_BATHROOM, 22); + news_item_add_to_queue(NEWS_ITEM_PEEPS, STR_PEEPS_CANT_FIND_TOILET, 22); } } diff --git a/src/openrct2/peep/Peep.h b/src/openrct2/peep/Peep.h index 6d9154fc09..c0f3cb8379 100644 --- a/src/openrct2/peep/Peep.h +++ b/src/openrct2/peep/Peep.h @@ -26,7 +26,7 @@ #define PEEP_HUNGER_WARNING_THRESHOLD 25 #define PEEP_THIRST_WARNING_THRESHOLD 25 -#define PEEP_BATHROOM_WARNING_THRESHOLD 28 +#define PEEP_TOILET_WARNING_THRESHOLD 28 #define PEEP_LITTER_WARNING_THRESHOLD 23 #define PEEP_DISGUST_WARNING_THRESHOLD 22 #define PEEP_VANDALISM_WARNING_THRESHOLD 15 @@ -38,7 +38,7 @@ #define PEEP_MAX_ENERGY 128 #define PEEP_MAX_ENERGY_TARGET 255 // Oddly, this differs from max energy! #define PEEP_MAX_HUNGER 255 -#define PEEP_MAX_BATHROOM 255 +#define PEEP_MAX_TOILET 255 #define PEEP_MAX_NAUSEA 255 #define PEEP_MAX_THIRST 255 @@ -80,7 +80,7 @@ enum PeepThoughtType : uint8_t PEEP_THOUGHT_TYPE_TIRED = 19, // "I'm tired" PEEP_THOUGHT_TYPE_HUNGRY = 20, // "I'm hungry" PEEP_THOUGHT_TYPE_THIRSTY = 21, // "I'm thirsty" - PEEP_THOUGHT_TYPE_BATHROOM = 22, // "I need to go to the bathroom" + PEEP_THOUGHT_TYPE_TOILET = 22, // "I need to go to the toilet" PEEP_THOUGHT_TYPE_CANT_FIND = 23, // "I can't find X" PEEP_THOUGHT_TYPE_NOT_PAYING = 24, // "I'm not paying that much to use X" PEEP_THOUGHT_TYPE_NOT_WHILE_RAINING = 25, // "I'm not going on X while it's raining" @@ -362,7 +362,7 @@ enum PeepFlags : uint32_t PEEP_FLAGS_LITTER = (1 << 9), // Makes the peep throw litter PEEP_FLAGS_LOST = (1 << 10), // Makes the peep feel lost (animation triggered) PEEP_FLAGS_HUNGER = (1 << 11), // Makes the peep become hungry quicker - PEEP_FLAGS_BATHROOM = (1 << 12), // Makes the peep want to go to the bathroom + PEEP_FLAGS_TOILET = (1 << 12), // Makes the peep want to go to the toilet PEEP_FLAGS_CROWDED = (1 << 13), // The peep will start feeling crowded PEEP_FLAGS_HAPPINESS = (1 << 14), // The peep will start increasing happiness PEEP_FLAGS_NAUSEA = (1 << 15), // Makes the peep feel sick (e.g. after an extreme ride) @@ -488,7 +488,7 @@ enum PeepSpriteType : uint8_t PEEP_SPRITE_TYPE_HEAD_DOWN = 26, PEEP_SPRITE_TYPE_NAUSEOUS = 27, PEEP_SPRITE_TYPE_VERY_NAUSEOUS = 28, - PEEP_SPRITE_TYPE_REQUIRE_BATHROOM = 29, + PEEP_SPRITE_TYPE_REQUIRE_TOILET = 29, PEEP_SPRITE_TYPE_HAT = 30, PEEP_SPRITE_TYPE_HOT_DOG = 31, PEEP_SPRITE_TYPE_TENTACLE = 32, diff --git a/src/openrct2/rct1/RCT1.h b/src/openrct2/rct1/RCT1.h index 9a3d3e201c..1be1252336 100644 --- a/src/openrct2/rct1/RCT1.h +++ b/src/openrct2/rct1/RCT1.h @@ -501,7 +501,7 @@ enum RCT1_PEEP_SPRITE_TYPE RCT1_PEEP_SPRITE_TYPE_HEAD_DOWN = 23, RCT1_PEEP_SPRITE_TYPE_NAUSEOUS = 24, RCT1_PEEP_SPRITE_TYPE_VERY_NAUSEOUS = 25, - RCT1_PEEP_SPRITE_TYPE_REQUIRE_BATHROOM = 26, + RCT1_PEEP_SPRITE_TYPE_REQUIRE_TOILET = 26, RCT1_PEEP_SPRITE_TYPE_HAT = 27, RCT1_PEEP_SPRITE_TYPE_BURGER = 28, RCT1_PEEP_SPRITE_TYPE_TENTACLE = 29, diff --git a/src/openrct2/rct1/Tables.cpp b/src/openrct2/rct1/Tables.cpp index 20a1a9e623..137b7eb8a7 100644 --- a/src/openrct2/rct1/Tables.cpp +++ b/src/openrct2/rct1/Tables.cpp @@ -96,7 +96,7 @@ namespace RCT1 PEEP_SPRITE_TYPE_HEAD_DOWN, // 0x17 PEEP_SPRITE_TYPE_NAUSEOUS, // 0x18 PEEP_SPRITE_TYPE_VERY_NAUSEOUS, // 0x19 - PEEP_SPRITE_TYPE_REQUIRE_BATHROOM, // 0x1A + PEEP_SPRITE_TYPE_REQUIRE_TOILET, // 0x1A PEEP_SPRITE_TYPE_HAT, // 0x1B PEEP_SPRITE_TYPE_HOT_DOG, // 0x1C PEEP_SPRITE_TYPE_TENTACLE, // 0x1D diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index fe8e666771..f7ce09f5f9 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -668,7 +668,7 @@ enum : uint8_t RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION = 10, RIDE_MODE_MAZE, RIDE_MODE_RACE, - RIDE_MODE_BUMPERCAR, + RIDE_MODE_DODGEMS, RIDE_MODE_SWING, RIDE_MODE_SHOP_STALL, RIDE_MODE_ROTATION, diff --git a/src/openrct2/ride/RideData.h b/src/openrct2/ride/RideData.h index 487b509bd2..5412703cae 100644 --- a/src/openrct2/ride/RideData.h +++ b/src/openrct2/ride/RideData.h @@ -257,7 +257,7 @@ constexpr const uint64_t AllRideModesAvailable = (1ULL << RIDE_MODE_CONTINUOUS_C | (1ULL << RIDE_MODE_BOAT_HIRE) | (1ULL << RIDE_MODE_UPWARD_LAUNCH) | (1ULL << RIDE_MODE_ROTATING_LIFT) | (1ULL << RIDE_MODE_STATION_TO_STATION) | (1ULL << RIDE_MODE_SINGLE_RIDE_PER_ADMISSION) | (1ULL << RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION) | (1ULL << RIDE_MODE_MAZE) | (1ULL << RIDE_MODE_RACE) - | (1ULL << RIDE_MODE_BUMPERCAR) | (1ULL << RIDE_MODE_SWING) | (1ULL << RIDE_MODE_SHOP_STALL) | (1ULL << RIDE_MODE_ROTATION) + | (1ULL << RIDE_MODE_DODGEMS) | (1ULL << RIDE_MODE_SWING) | (1ULL << RIDE_MODE_SHOP_STALL) | (1ULL << RIDE_MODE_ROTATION) | (1ULL << RIDE_MODE_FORWARD_ROTATION) | (1ULL << RIDE_MODE_BACKWARD_ROTATION) | (1ULL << RIDE_MODE_FILM_AVENGING_AVIATORS) | (1ULL << RIDE_MODE_3D_FILM_MOUSE_TAILS) | (1ULL << RIDE_MODE_SPACE_RINGS) | (1ULL << RIDE_MODE_BEGINNERS) | (1ULL << RIDE_MODE_LIM_POWERED_LAUNCH) | (1ULL << RIDE_MODE_FILM_THRILL_RIDERS) diff --git a/src/openrct2/ride/Station.cpp b/src/openrct2/ride/Station.cpp index e754977522..f8a634a977 100644 --- a/src/openrct2/ride/Station.cpp +++ b/src/openrct2/ride/Station.cpp @@ -35,7 +35,7 @@ void ride_update_station(Ride* ride, StationIndex stationIndex) case RIDE_MODE_RACE: ride_update_station_race(ride, stationIndex); break; - case RIDE_MODE_BUMPERCAR: + case RIDE_MODE_DODGEMS: ride_update_station_bumpercar(ride, stationIndex); break; case RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED: diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 7553068135..cff2346124 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -2069,7 +2069,7 @@ void Vehicle::UpdateMovingToEndOfStation() if (!(curFlags & VEHICLE_UPDATE_MOTION_TRACK_FLAG_5)) break; [[fallthrough]]; - case RIDE_MODE_BUMPERCAR: + case RIDE_MODE_DODGEMS: case RIDE_MODE_SWING: case RIDE_MODE_ROTATION: case RIDE_MODE_FORWARD_ROTATION: @@ -2551,7 +2551,7 @@ void Vehicle::UpdateWaitingToDepart() switch (curRide->mode) { - case RIDE_MODE_BUMPERCAR: + case RIDE_MODE_DODGEMS: // Bumper mode uses sub_state / var_CE to tell how long // the vehicle has been ridden. SetState(VEHICLE_STATUS_TRAVELLING_DODGEMS); diff --git a/src/openrct2/ride/gentle/meta/Dodgems.h b/src/openrct2/ride/gentle/meta/Dodgems.h index 75fc75fadd..2a1835d342 100644 --- a/src/openrct2/ride/gentle/meta/Dodgems.h +++ b/src/openrct2/ride/gentle/meta/Dodgems.h @@ -26,8 +26,8 @@ constexpr const RideTypeDescriptor DodgemsRTD = RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), - SET_FIELD(RideModes, (1ULL << RIDE_MODE_BUMPERCAR)), - SET_FIELD(DefaultMode, RIDE_MODE_BUMPERCAR), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_DODGEMS)), + SET_FIELD(DefaultMode, RIDE_MODE_DODGEMS), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }), diff --git a/src/openrct2/ride/gentle/meta/FlyingSaucers.h b/src/openrct2/ride/gentle/meta/FlyingSaucers.h index e6f0844cf8..a228ae22e9 100644 --- a/src/openrct2/ride/gentle/meta/FlyingSaucers.h +++ b/src/openrct2/ride/gentle/meta/FlyingSaucers.h @@ -27,8 +27,8 @@ constexpr const RideTypeDescriptor FlyingSaucersRTD = RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), - SET_FIELD(RideModes, (1ULL << RIDE_MODE_BUMPERCAR)), - SET_FIELD(DefaultMode, RIDE_MODE_BUMPERCAR), + SET_FIELD(RideModes, (1ULL << RIDE_MODE_DODGEMS)), + SET_FIELD(DefaultMode, RIDE_MODE_DODGEMS), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), SET_FIELD(LiftData, { SoundId::Null, 5, 5 }),