diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index 73f043314a..16d06ff9af 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -2508,9 +2508,9 @@ static rct_string_id window_ride_get_status_vehicle(rct_window* w, Formatter& ft if (vehicle->status != Vehicle::Status::Crashing && vehicle->status != Vehicle::Status::Crashed) { int32_t trackType = vehicle->GetTrackType(); - if (trackType == TRACK_ELEM_BLOCK_BRAKES || trackType == TRACK_ELEM_CABLE_LIFT_HILL - || trackType == TRACK_ELEM_25_DEG_UP_TO_FLAT || trackType == TRACK_ELEM_60_DEG_UP_TO_FLAT - || trackType == TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT || trackType == TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT) + if (trackType == TrackElemType::BlockBrakes || trackType == TrackElemType::CableLiftHill + || trackType == TrackElemType::Up25ToFlat || trackType == TrackElemType::Up60ToFlat + || trackType == TrackElemType::DiagUp25ToFlat || trackType == TrackElemType::DiagUp60ToFlat) { if (RideTypeDescriptors[ride->type].SupportsTrackPiece(TRACK_BLOCK_BRAKES) && vehicle->velocity == 0) { diff --git a/src/openrct2-ui/windows/RideConstruction.cpp b/src/openrct2-ui/windows/RideConstruction.cpp index 3e462150f7..4df90e7b2f 100644 --- a/src/openrct2-ui/windows/RideConstruction.cpp +++ b/src/openrct2-ui/windows/RideConstruction.cpp @@ -1305,28 +1305,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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::LeftHalfBankedHelixDownLarge | 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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::RightHalfBankedHelixDownLarge | 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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::LeftHalfBankedHelixDownSmall | 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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::RightHalfBankedHelixDownSmall | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1336,15 +1336,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_DOWN | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::LeftQuarterBankedHelixLargeDown | 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 - | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::RightQuarterBankedHelixLargeDown | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1356,14 +1355,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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::LeftQuarterHelixLargeDown | 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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::RightQuarterHelixLargeDown | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1423,7 +1422,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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::ReverseFreefallSlope | RideConstructionSpecialPieceSelected; window_ride_construction_update_active_elements(); } } @@ -1438,28 +1437,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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::LeftHalfBankedHelixUpLarge | 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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::RightHalfBankedHelixUpLarge | 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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::LeftHalfBankedHelixUpSmall | 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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::RightHalfBankedHelixUpSmall | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1469,14 +1468,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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::LeftQuarterBankedHelixLargeUp | 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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::RightQuarterBankedHelixLargeUp | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1488,14 +1487,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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::LeftQuarterHelixLargeUp | 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 | RideConstructionSpecialPieceSelected; + _currentTrackCurve = TrackElemType::RightQuarterHelixLargeUp | RideConstructionSpecialPieceSelected; _currentTrackPrice = MONEY32_UNDEFINED; window_ride_construction_update_active_elements(); break; @@ -1646,13 +1645,13 @@ static void window_ride_construction_dropdown(rct_window* w, rct_widgetindex wid int32_t trackPiece = _currentPossibleRideConfigurations[dropdownIndex]; switch (trackPiece) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::EndStation: + case TrackElemType::SBendLeft: + case TrackElemType::SBendRight: _currentTrackSlopeEnd = 0; break; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: + case TrackElemType::RightVerticalLoop: _currentTrackBankEnd = TRACK_BANK_NONE; _currentTrackLiftHill &= ~CONSTRUCTION_LIFT_HILL_SELECTED; break; @@ -1833,10 +1832,10 @@ static void window_ride_construction_construct(rct_window* w) viewport_set_visibility(1); } - 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)) + if ((_currentTrackCurve >= (TrackElemType::LeftHalfBankedHelixUpSmall | RideConstructionSpecialPieceSelected) + && _currentTrackCurve <= (TrackElemType::RightHalfBankedHelixDownLarge | RideConstructionSpecialPieceSelected)) + || (_currentTrackCurve >= (TrackElemType::LeftQuarterBankedHelixLargeUp | RideConstructionSpecialPieceSelected) + && _currentTrackCurve <= (TrackElemType::RightQuarterHelixLargeDown | RideConstructionSpecialPieceSelected)) || (_currentTrackSlopeEnd != TRACK_SLOPE_NONE)) { viewport_set_visibility(2); @@ -2042,10 +2041,10 @@ static void window_ride_construction_update(rct_window* w) switch (_currentTrackCurve) { - case TRACK_ELEM_SPINNING_TUNNEL | RideConstructionSpecialPieceSelected: - case TRACK_ELEM_WHIRLPOOL | RideConstructionSpecialPieceSelected: - case TRACK_ELEM_RAPIDS | RideConstructionSpecialPieceSelected: - case TRACK_ELEM_WATERFALL | RideConstructionSpecialPieceSelected: + case TrackElemType::SpinningTunnel | RideConstructionSpecialPieceSelected: + case TrackElemType::Whirlpool | RideConstructionSpecialPieceSelected: + case TrackElemType::Rapids | RideConstructionSpecialPieceSelected: + case TrackElemType::Waterfall | RideConstructionSpecialPieceSelected: widget_invalidate(w, WIDX_CONSTRUCT); break; } @@ -2694,7 +2693,7 @@ static void window_ride_construction_update_possible_ride_configurations() int32_t currentPossibleRideConfigurationIndex = 0; _numCurrentPossibleSpecialTrackPieces = 0; - for (trackType = 0; trackType < TRACK_ELEM_COUNT; trackType++) + for (trackType = 0; trackType < TrackElemType::Count; trackType++) { int32_t trackTypeCategory = ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE) ? FlatRideTrackDefinitions[trackType].type @@ -2761,7 +2760,8 @@ static void window_ride_construction_update_possible_ride_configurations() _currentPossibleRideConfigurations[currentPossibleRideConfigurationIndex] = trackType; _currentDisabledSpecialTrackPieces |= (1 << currentPossibleRideConfigurationIndex); if (_currentTrackPieceDirection < 4 && slope == _previousTrackSlopeEnd && bank == _previousTrackBankEnd - && (trackType != TRACK_ELEM_TOWER_BASE || ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_ALLOW_EXTRA_TOWER_BASES))) + && (trackType != TrackElemType::TowerBase + || ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_ALLOW_EXTRA_TOWER_BASES))) { _currentDisabledSpecialTrackPieces &= ~(1 << currentPossibleRideConfigurationIndex); _numCurrentPossibleSpecialTrackPieces++; @@ -3046,11 +3046,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 == (RideConstructionSpecialPieceSelected | TRACK_ELEM_BRAKES); + bool brakesSelected = _selectedTrackType == TrackElemType::Brakes + || _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::Brakes); _boosterTrackSelected = TrackTypeIsBooster(ride->type, _selectedTrackType) || (ride->type != RIDE_TYPE_SPINNING_WILD_MOUSE - && _currentTrackCurve == (RideConstructionSpecialPieceSelected | TRACK_ELEM_BOOSTER)); + && _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::Booster)); if (!brakesSelected && !_boosterTrackSelected) { @@ -3069,8 +3069,8 @@ static void window_ride_construction_update_widgets(rct_window* w) 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 == (RideConstructionSpecialPieceSelected | TRACK_ELEM_S_BEND_LEFT) - || _currentTrackCurve == (RideConstructionSpecialPieceSelected | TRACK_ELEM_S_BEND_RIGHT)) + || _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::SBendLeft) + || _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::SBendRight)) && _currentTrackSlopeEnd == TRACK_SLOPE_NONE && _currentTrackBankEnd == TRACK_BANK_NONE) { window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE; @@ -3136,8 +3136,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 != (RideConstructionSpecialPieceSelected | TRACK_ELEM_BRAKES)) + && _selectedTrackType != TrackElemType::Brakes + && _currentTrackCurve != (RideConstructionSpecialPieceSelected | TrackElemType::Brakes)) { window_ride_construction_widgets[WIDX_SEAT_ROTATION_GROUPBOX].type = WWT_GROUPBOX; window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER].type = WWT_SPINNER; diff --git a/src/openrct2-ui/windows/TrackDesignPlace.cpp b/src/openrct2-ui/windows/TrackDesignPlace.cpp index c00d6e5721..7caabbadb1 100644 --- a/src/openrct2-ui/windows/TrackDesignPlace.cpp +++ b/src/openrct2-ui/windows/TrackDesignPlace.cpp @@ -544,9 +544,9 @@ static void window_track_place_draw_mini_preview_track( for (const auto& trackElement : td6->track_elements) { int32_t trackType = trackElement.type; - if (trackType == TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP_ALIAS) + if (trackType == TrackElemType::InvertedUp90ToFlatQuarterLoopAlias) { - trackType = TRACK_ELEM_MULTIDIM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP; + trackType = TrackElemType::MultiDimInvertedUp90ToFlatQuarterLoop; } // Follow a single track piece shape diff --git a/src/openrct2/actions/MazePlaceTrackAction.hpp b/src/openrct2/actions/MazePlaceTrackAction.hpp index 67e5a11405..424dafe8dc 100644 --- a/src/openrct2/actions/MazePlaceTrackAction.hpp +++ b/src/openrct2/actions/MazePlaceTrackAction.hpp @@ -125,7 +125,7 @@ public: return res; } - money32 price = (((RideTypeDescriptors[ride->type].BuildCosts.TrackPrice * TrackPricing[TRACK_ELEM_MAZE]) >> 16)); + money32 price = (((RideTypeDescriptors[ride->type].BuildCosts.TrackPrice * TrackPricing[TrackElemType::Maze]) >> 16)); res->Cost = clearCost + price / 2 * 10; return res; @@ -172,7 +172,7 @@ public: return MakeResult(GA_ERROR::NO_CLEARANCE, res->ErrorTitle.GetStringId(), gGameCommandErrorText, gCommonFormatArgs); } - money32 price = (((RideTypeDescriptors[ride->type].BuildCosts.TrackPrice * TrackPricing[TRACK_ELEM_MAZE]) >> 16)); + money32 price = (((RideTypeDescriptors[ride->type].BuildCosts.TrackPrice * TrackPricing[TrackElemType::Maze]) >> 16)); res->Cost = clearCost + price / 2 * 10; auto startLoc = _loc.ToTileStart(); @@ -183,7 +183,7 @@ public: tileElement->SetClearanceZ(clearanceHeight); tileElement->SetType(TILE_ELEMENT_TYPE_TRACK); - tileElement->AsTrack()->SetTrackType(TRACK_ELEM_MAZE); + tileElement->AsTrack()->SetTrackType(TrackElemType::Maze); tileElement->AsTrack()->SetRideIndex(_rideIndex); tileElement->AsTrack()->SetMazeEntry(_mazeEntry); diff --git a/src/openrct2/actions/MazeSetTrackAction.hpp b/src/openrct2/actions/MazeSetTrackAction.hpp index 1cb1f564ab..462d1116f7 100644 --- a/src/openrct2/actions/MazeSetTrackAction.hpp +++ b/src/openrct2/actions/MazeSetTrackAction.hpp @@ -132,7 +132,7 @@ public: } } - TileElement* tileElement = map_get_track_element_at_of_type_from_ride(_loc, TRACK_ELEM_MAZE, _rideIndex); + TileElement* tileElement = map_get_track_element_at_of_type_from_ride(_loc, TrackElemType::Maze, _rideIndex); if (tileElement == nullptr) { if (_mode != GC_SET_MAZE_TRACK_BUILD) @@ -171,7 +171,8 @@ public: return res; } - money32 price = (((RideTypeDescriptors[ride->type].BuildCosts.TrackPrice * TrackPricing[TRACK_ELEM_MAZE]) >> 16)); + money32 price = (( + (RideTypeDescriptors[ride->type].BuildCosts.TrackPrice * TrackPricing[TrackElemType::Maze]) >> 16)); res->Cost = price / 2 * 10; return res; @@ -210,10 +211,11 @@ public: wall_remove_at({ _loc.ToTileStart(), _loc.z, _loc.z + 32 }); } - auto tileElement = map_get_track_element_at_of_type_from_ride(_loc, TRACK_ELEM_MAZE, _rideIndex); + auto tileElement = map_get_track_element_at_of_type_from_ride(_loc, TrackElemType::Maze, _rideIndex); if (tileElement == nullptr) { - money32 price = (((RideTypeDescriptors[ride->type].BuildCosts.TrackPrice * TrackPricing[TRACK_ELEM_MAZE]) >> 16)); + money32 price = (( + (RideTypeDescriptors[ride->type].BuildCosts.TrackPrice * TrackPricing[TrackElemType::Maze]) >> 16)); res->Cost = price / 2 * 10; auto startLoc = _loc.ToTileStart(); @@ -224,7 +226,7 @@ public: tileElement->SetClearanceZ(_loc.z + MAZE_CLEARANCE_HEIGHT); tileElement->SetType(TILE_ELEMENT_TYPE_TRACK); - tileElement->AsTrack()->SetTrackType(TRACK_ELEM_MAZE); + tileElement->AsTrack()->SetTrackType(TrackElemType::Maze); tileElement->AsTrack()->SetRideIndex(_rideIndex); tileElement->AsTrack()->SetMazeEntry(0xFFFF); @@ -264,7 +266,7 @@ public: auto previousElementLoc = CoordsXY{ _loc }.ToTileStart() - CoordsDirectionDelta[_loc.direction]; TileElement* previousTileElement = map_get_track_element_at_of_type_from_ride( - { previousElementLoc, _loc.z }, TRACK_ELEM_MAZE, _rideIndex); + { previousElementLoc, _loc.z }, TrackElemType::Maze, _rideIndex); if (previousTileElement != nullptr) { @@ -290,7 +292,7 @@ public: _loc.y - CoordsDirectionDelta[_loc.direction].y / 2 }; tileElement = map_get_track_element_at_of_type_from_ride( - { previousSegment, _loc.z }, TRACK_ELEM_MAZE, _rideIndex); + { previousSegment, _loc.z }, TrackElemType::Maze, _rideIndex); map_invalidate_tile_full(previousSegment.ToTileStart()); if (tileElement == nullptr) @@ -318,7 +320,7 @@ public: auto nextElementLoc = previousSegment.ToTileStart() + CoordsDirectionDelta[direction1]; TileElement* tmp_tileElement = map_get_track_element_at_of_type_from_ride( - { nextElementLoc, _loc.z }, TRACK_ELEM_MAZE, _rideIndex); + { nextElementLoc, _loc.z }, TrackElemType::Maze, _rideIndex); if (tmp_tileElement != nullptr) { diff --git a/src/openrct2/actions/RideDemolishAction.hpp b/src/openrct2/actions/RideDemolishAction.hpp index 5748711c5d..77664f2547 100644 --- a/src/openrct2/actions/RideDemolishAction.hpp +++ b/src/openrct2/actions/RideDemolishAction.hpp @@ -312,7 +312,7 @@ private: TileCoordsXY(it.x, it.y).ToCoordsXY(), it.element->GetBaseZ(), it.element->GetDirection()); auto type = it.element->AsTrack()->GetTrackType(); - if (type != TRACK_ELEM_MAZE) + if (type != TrackElemType::Maze) { auto trackRemoveAction = TrackRemoveAction(type, it.element->AsTrack()->GetSequenceIndex(), location); trackRemoveAction.SetFlags(GAME_COMMAND_FLAG_NO_SPEND); diff --git a/src/openrct2/actions/TrackPlaceAction.hpp b/src/openrct2/actions/TrackPlaceAction.hpp index b0f60939a0..8cd7146855 100644 --- a/src/openrct2/actions/TrackPlaceAction.hpp +++ b/src/openrct2/actions/TrackPlaceAction.hpp @@ -130,7 +130,7 @@ public: uint32_t rideTypeFlags = RideTypeDescriptors[ride->type].Flags; - if ((ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK) && _trackType == TRACK_ELEM_END_STATION) + if ((ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK) && _trackType == TrackElemType::EndStation) { return std::make_unique(GA_ERROR::DISALLOWED, STR_NOT_ALLOWED_TO_MODIFY_STATION); } @@ -146,14 +146,14 @@ public: if (!(rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE)) { - if (_trackType == TRACK_ELEM_ON_RIDE_PHOTO) + if (_trackType == TrackElemType::OnRidePhoto) { if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) { return std::make_unique(GA_ERROR::DISALLOWED, STR_ONLY_ONE_ON_RIDE_PHOTO_PER_RIDE); } } - else if (_trackType == TRACK_ELEM_CABLE_LIFT_HILL) + else if (_trackType == TrackElemType::CableLiftHill) { if (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED) { @@ -248,7 +248,7 @@ public: } uint8_t crossingMode = (RideTypeDescriptors[ride->type].HasFlag(RIDE_TYPE_FLAG_SUPPORTS_LEVEL_CROSSINGS) - && _trackType == TRACK_ELEM_FLAT) + && _trackType == TrackElemType::Flat) ? CREATE_CROSSING_MODE_TRACK_OVER_PATH : CREATE_CROSSING_MODE_NONE; if (!map_can_construct_with_clear_at( @@ -483,7 +483,7 @@ public: const auto mapLocWithClearance = CoordsXYRangedZ(mapLoc, baseZ, clearanceZ); uint8_t crossingMode = (RideTypeDescriptors[ride->type].HasFlag(RIDE_TYPE_FLAG_SUPPORTS_LEVEL_CROSSINGS) - && _trackType == TRACK_ELEM_FLAT) + && _trackType == TrackElemType::Flat) ? CREATE_CROSSING_MODE_TRACK_OVER_PATH : CREATE_CROSSING_MODE_NONE; if (!map_can_construct_with_clear_at( @@ -542,16 +542,16 @@ public: invalidate_test_results(ride); switch (_trackType) { - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: ride->lifecycle_flags |= RIDE_LIFECYCLE_ON_RIDE_PHOTO; break; - case TRACK_ELEM_CABLE_LIFT_HILL: + case TrackElemType::CableLiftHill: if (trackBlock->index != 0) break; ride->lifecycle_flags |= RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED; ride->CableLiftLoc = mapLoc; break; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: ride->num_block_brakes++; ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_OPERATING; @@ -566,14 +566,14 @@ public: { switch (_trackType) { - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: + case TrackElemType::Up60ToFlat: + case TrackElemType::DiagUp25ToFlat: + case TrackElemType::DiagUp60ToFlat: if (!(_trackPlaceFlags & CONSTRUCTION_LIFT_HILL_SELECTED)) break; [[fallthrough]]; - case TRACK_ELEM_CABLE_LIFT_HILL: + case TrackElemType::CableLiftHill: ride->num_block_brakes++; break; } @@ -620,16 +620,16 @@ public: switch (_trackType) { - case TRACK_ELEM_WATERFALL: + case TrackElemType::Waterfall: map_animation_create(MAP_ANIMATION_TYPE_TRACK_WATERFALL, CoordsXYZ{ mapLoc, tileElement->GetBaseZ() }); break; - case TRACK_ELEM_RAPIDS: + case TrackElemType::Rapids: map_animation_create(MAP_ANIMATION_TYPE_TRACK_RAPIDS, CoordsXYZ{ mapLoc, tileElement->GetBaseZ() }); break; - case TRACK_ELEM_WHIRLPOOL: + case TrackElemType::Whirlpool: map_animation_create(MAP_ANIMATION_TYPE_TRACK_WHIRLPOOL, CoordsXYZ{ mapLoc, tileElement->GetBaseZ() }); break; - case TRACK_ELEM_SPINNING_TUNNEL: + case TrackElemType::SpinningTunnel: map_animation_create(MAP_ANIMATION_TYPE_TRACK_SPINNINGTUNNEL, CoordsXYZ{ mapLoc, tileElement->GetBaseZ() }); break; } diff --git a/src/openrct2/actions/TrackRemoveAction.hpp b/src/openrct2/actions/TrackRemoveAction.hpp index a34b29a29e..fa05109f4c 100644 --- a/src/openrct2/actions/TrackRemoveAction.hpp +++ b/src/openrct2/actions/TrackRemoveAction.hpp @@ -70,9 +70,9 @@ public: auto comparableTrackType = _trackType; switch (_trackType) { - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - comparableTrackType = TRACK_ELEM_END_STATION; + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: + comparableTrackType = TrackElemType::EndStation; break; } @@ -103,9 +103,9 @@ public: auto tileTrackType = tileElement->AsTrack()->GetTrackType(); switch (tileTrackType) { - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - tileTrackType = TRACK_ELEM_END_STATION; + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: + tileTrackType = TrackElemType::EndStation; break; } @@ -270,9 +270,9 @@ public: auto comparableTrackType = _trackType; switch (_trackType) { - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - comparableTrackType = TRACK_ELEM_END_STATION; + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: + comparableTrackType = TrackElemType::EndStation; break; } @@ -303,9 +303,9 @@ public: auto tileTrackType = tileElement->AsTrack()->GetTrackType(); switch (tileTrackType) { - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - tileTrackType = TRACK_ELEM_END_STATION; + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: + tileTrackType = TrackElemType::EndStation; break; } @@ -456,13 +456,13 @@ public: switch (trackType) { - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: ride->lifecycle_flags &= ~RIDE_LIFECYCLE_ON_RIDE_PHOTO; break; - case TRACK_ELEM_CABLE_LIFT_HILL: + case TrackElemType::CableLiftHill: ride->lifecycle_flags &= ~RIDE_LIFECYCLE_CABLE_LIFT_HILL_COMPONENT_USED; break; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: ride->num_block_brakes--; if (ride->num_block_brakes == 0) { @@ -478,14 +478,14 @@ public: switch (trackType) { - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: + case TrackElemType::Up60ToFlat: + case TrackElemType::DiagUp25ToFlat: + case TrackElemType::DiagUp60ToFlat: if (!isLiftHill) break; [[fallthrough]]; - case TRACK_ELEM_CABLE_LIFT_HILL: + case TrackElemType::CableLiftHill: ride->num_block_brakes--; break; } diff --git a/src/openrct2/paint/tile_element/Paint.Path.cpp b/src/openrct2/paint/tile_element/Paint.Path.cpp index 67e31b9d1b..00f5d84b8a 100644 --- a/src/openrct2/paint/tile_element/Paint.Path.cpp +++ b/src/openrct2/paint/tile_element/Paint.Path.cpp @@ -1034,7 +1034,7 @@ void path_paint_box_support( // can clip above gravel part of the track sprite if (session->TrackElementOnSameHeight) { - if (session->TrackElementOnSameHeight->AsTrack()->GetTrackType() == TRACK_ELEM_FLAT) + if (session->TrackElementOnSameHeight->AsTrack()->GetTrackType() == TrackElemType::Flat) { boundingBoxZOffset = 2; } @@ -1184,7 +1184,7 @@ void path_paint_pole_support( // can clip above gravel part of the track sprite if (session->TrackElementOnSameHeight) { - if (session->TrackElementOnSameHeight->AsTrack()->GetTrackType() == TRACK_ELEM_FLAT) + if (session->TrackElementOnSameHeight->AsTrack()->GetTrackType() == TrackElemType::Flat) { boundingBoxZOffset = 2; } diff --git a/src/openrct2/peep/Guest.cpp b/src/openrct2/peep/Guest.cpp index 77ab4d9083..1f3622b0aa 100644 --- a/src/openrct2/peep/Guest.cpp +++ b/src/openrct2/peep/Guest.cpp @@ -4185,7 +4185,7 @@ void Guest::UpdateRideLeaveVehicle() for (; vehicle != nullptr && !vehicle->IsHead(); vehicle = GetEntity(vehicle->prev_vehicle_on_ride)) { uint16_t trackType = vehicle->GetTrackType(); - if (trackType == TRACK_ELEM_FLAT || trackType > TRACK_ELEM_MIDDLE_STATION) + if (trackType == TrackElemType::Flat || trackType > TrackElemType::MiddleStation) continue; TileElement* inner_map = map_get_first_element_at(vehicle->TrackLocation); diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index aa6fcd5820..a200c9a830 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -2145,7 +2145,7 @@ private: { dst2->SetBrakeBoosterSpeed(src2->GetBrakeBoosterSpeed()); } - else if (trackType == TRACK_ELEM_ON_RIDE_PHOTO) + else if (trackType == TrackElemType::OnRidePhoto) { dst2->SetPhotoTimeout(src2->GetPhotoTimeout()); } @@ -3100,10 +3100,10 @@ private: auto trackType = tileElement->AsTrack()->GetTrackType(); switch (trackType) { - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: + case TrackElemType::Up60ToFlat: + case TrackElemType::DiagUp25ToFlat: + case TrackElemType::DiagUp60ToFlat: break; default: continue; diff --git a/src/openrct2/rct12/RCT12.cpp b/src/openrct2/rct12/RCT12.cpp index 616afc052c..8fd2606d75 100644 --- a/src/openrct2/rct12/RCT12.cpp +++ b/src/openrct2/rct12/RCT12.cpp @@ -221,7 +221,7 @@ uint8_t RCT12TrackElement::GetColourScheme() const uint8_t RCT12TrackElement::GetStationIndex() const { - if (track_type_is_station(trackType) || trackType == TRACK_ELEM_TOWER_BASE) + if (track_type_is_station(trackType) || trackType == TrackElemType::TowerBase) { return (sequence & RCT12_TRACK_ELEMENT_SEQUENCE_STATION_INDEX_MASK) >> 4; } @@ -273,7 +273,7 @@ uint16_t RCT12TrackElement::GetMazeEntry() const uint8_t RCT12TrackElement::GetPhotoTimeout() const { - if (GetTrackType() == TRACK_ELEM_ON_RIDE_PHOTO) + if (GetTrackType() == TrackElemType::OnRidePhoto) { return sequence >> 4; } @@ -752,7 +752,7 @@ void RCT12TrackElement::SetSequenceIndex(uint8_t newSequenceIndex) void RCT12TrackElement::SetStationIndex(uint8_t newStationIndex) { - if (track_type_is_station(trackType) || trackType == TRACK_ELEM_TOWER_BASE) + if (track_type_is_station(trackType) || trackType == TrackElemType::TowerBase) { sequence &= ~RCT12_TRACK_ELEMENT_SEQUENCE_STATION_INDEX_MASK; sequence |= (newStationIndex << 4); @@ -852,7 +852,7 @@ void RCT12TrackElement::SetMazeEntry(uint16_t newMazeEntry) void RCT12TrackElement::SetPhotoTimeout(uint8_t value) { - if (GetTrackType() == TRACK_ELEM_ON_RIDE_PHOTO) + if (GetTrackType() == TrackElemType::OnRidePhoto) { sequence &= RCT12_TRACK_ELEMENT_SEQUENCE_SEQUENCE_MASK; sequence |= (value << 4); diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index 61d32cdac6..0ff6aadbcb 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -1139,7 +1139,7 @@ public: { dst2->SetBrakeBoosterSpeed(src2->GetBrakeBoosterSpeed()); } - else if (trackType == TRACK_ELEM_ON_RIDE_PHOTO) + else if (trackType == TrackElemType::OnRidePhoto) { dst2->SetPhotoTimeout(src2->GetPhotoTimeout()); } diff --git a/src/openrct2/ride/CableLift.cpp b/src/openrct2/ride/CableLift.cpp index e015d55684..87b2cc59bb 100644 --- a/src/openrct2/ride/CableLift.cpp +++ b/src/openrct2/ride/CableLift.cpp @@ -72,7 +72,7 @@ Vehicle* cable_lift_segment_create( z += RideTypeDescriptors[ride.type].Heights.VehicleZOffset; current->MoveTo({ 16, 16, z }); - current->track_type = (TRACK_ELEM_CABLE_LIFT_HILL << 2) | (current->sprite_direction >> 3); + current->track_type = (TrackElemType::CableLiftHill << 2) | (current->sprite_direction >> 3); current->track_progress = 164; current->update_flags = VEHICLE_UPDATE_FLAG_1; current->SetState(Vehicle::Status::MovingToEndOfStation, 0); @@ -234,7 +234,7 @@ bool Vehicle::CableLiftUpdateTrackMotionForwards() for (; remaining_distance >= 13962; _vehicleUnkF64E10++) { uint8_t trackType = GetTrackType(); - if (trackType == TRACK_ELEM_CABLE_LIFT_HILL && track_progress == 160) + if (trackType == TrackElemType::CableLiftHill && track_progress == 160) { _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_1; } @@ -322,7 +322,7 @@ bool Vehicle::CableLiftUpdateTrackMotionBackwards() track_direction = output.begin_direction; track_type |= output.begin_element->AsTrack()->GetTrackType() << 2; - if (output.begin_element->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (output.begin_element->AsTrack()->GetTrackType() == TrackElemType::EndStation) { _vehicleMotionTrackFlags = VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION; } diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index f8d5887358..ce990fbb45 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -452,8 +452,8 @@ bool ride_try_get_origin_element(const Ride* ride, CoordsXYE* output) // Check if it's not the station or ??? (but allow end piece of station) bool specialTrackPiece - = (it.element->AsTrack()->GetTrackType() != TRACK_ELEM_BEGIN_STATION - && it.element->AsTrack()->GetTrackType() != TRACK_ELEM_MIDDLE_STATION + = (it.element->AsTrack()->GetTrackType() != TrackElemType::BeginStation + && it.element->AsTrack()->GetTrackType() != TrackElemType::MiddleStation && (TrackSequenceProperties[it.element->AsTrack()->GetTrackType()][0] & TRACK_SEQUENCE_FLAG_ORIGIN)); // Set result tile to this track piece if first found track or a ??? @@ -1476,7 +1476,7 @@ void ride_construction_set_default_next_piece() { if (TrackTypeIsBooster(ride->type, trackType)) { - curve = RideConstructionSpecialPieceSelected | TRACK_ELEM_BOOSTER; + curve = RideConstructionSpecialPieceSelected | TrackElemType::Booster; } else { @@ -1537,7 +1537,7 @@ void ride_construction_set_default_next_piece() { if (TrackTypeIsBooster(ride->type, trackType)) { - curve = RideConstructionSpecialPieceSelected | TRACK_ELEM_BOOSTER; + curve = RideConstructionSpecialPieceSelected | TrackElemType::Booster; } else { @@ -2889,9 +2889,9 @@ static void ride_measurement_update(Ride& ride, RideMeasurement& measurement) } uint8_t trackType = (vehicle->GetTrackType()) & 0xFF; - if (trackType == TRACK_ELEM_BLOCK_BRAKES || trackType == TRACK_ELEM_CABLE_LIFT_HILL - || trackType == TRACK_ELEM_25_DEG_UP_TO_FLAT || trackType == TRACK_ELEM_60_DEG_UP_TO_FLAT - || trackType == TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT || trackType == TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT) + if (trackType == TrackElemType::BlockBrakes || trackType == TrackElemType::CableLiftHill + || trackType == TrackElemType::Up25ToFlat || trackType == TrackElemType::Up60ToFlat + || trackType == TrackElemType::DiagUp25ToFlat || trackType == TrackElemType::DiagUp60ToFlat) if (vehicle->velocity == 0) return; @@ -3932,23 +3932,23 @@ static int32_t ride_check_block_brakes(CoordsXYE* input, CoordsXYE* output) track_circuit_iterator_begin(&it, *input); while (track_circuit_iterator_next(&it)) { - if (it.current.element->AsTrack()->GetTrackType() == TRACK_ELEM_BLOCK_BRAKES) + if (it.current.element->AsTrack()->GetTrackType() == TrackElemType::BlockBrakes) { type = it.last.element->AsTrack()->GetTrackType(); - if (type == TRACK_ELEM_END_STATION) + if (type == TrackElemType::EndStation) { gGameCommandErrorText = STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_STATION; *output = it.current; return 0; } - if (type == TRACK_ELEM_BLOCK_BRAKES) + if (type == TrackElemType::BlockBrakes) { gGameCommandErrorText = STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_EACH_OTHER; *output = it.current; return 0; } - if (it.last.element->AsTrack()->HasChain() && type != TRACK_ELEM_LEFT_CURVED_LIFT_HILL - && type != TRACK_ELEM_RIGHT_CURVED_LIFT_HILL) + if (it.last.element->AsTrack()->HasChain() && type != TrackElemType::LeftCurvedLiftHill + && type != TrackElemType::RightCurvedLiftHill) { gGameCommandErrorText = STR_BLOCK_BRAKES_CANNOT_BE_USED_DIRECTLY_AFTER_THE_TOP_OF_THIS_LIFT_HILL; *output = it.current; @@ -4271,13 +4271,13 @@ static void ride_set_block_points(CoordsXYE* startElement) int32_t trackType = currentElement.element->AsTrack()->GetTrackType(); switch (trackType) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_CABLE_LIFT_HILL: - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::EndStation: + case TrackElemType::CableLiftHill: + case TrackElemType::Up25ToFlat: + case TrackElemType::Up60ToFlat: + case TrackElemType::DiagUp25ToFlat: + case TrackElemType::DiagUp60ToFlat: + case TrackElemType::BlockBrakes: currentElement.element->AsTrack()->SetBlockBrakeClosed(false); break; } @@ -4656,16 +4656,16 @@ static void ride_create_vehicles_find_first_block(Ride* ride, CoordsXYE* outXYEl int32_t trackType = trackElement->GetTrackType(); switch (trackType) { - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: + case TrackElemType::Up60ToFlat: if (trackElement->HasChain()) { *outXYElement = { trackPos, reinterpret_cast(trackElement) }; return; } break; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: + case TrackElemType::DiagUp60ToFlat: if (trackElement->HasChain()) { TileElement* tileElement = map_get_track_element_at_of_type_seq( @@ -4680,9 +4680,9 @@ static void ride_create_vehicles_find_first_block(Ride* ride, CoordsXYE* outXYEl } } break; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_CABLE_LIFT_HILL: - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::EndStation: + case TrackElemType::CableLiftHill: + case TrackElemType::BlockBrakes: *outXYElement = { trackPos, reinterpret_cast(trackElement) }; return; } @@ -4816,7 +4816,7 @@ void loc_6DDF9C(Ride* ride, TileElement* tileElement) { car->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_1); car->SetState(Vehicle::Status::Travelling, car->sub_state); - if ((car->GetTrackType()) == TRACK_ELEM_END_STATION) + if ((car->GetTrackType()) == TrackElemType::EndStation) { car->SetState(Vehicle::Status::MovingToEndOfStation, car->sub_state); } @@ -4886,7 +4886,7 @@ static bool ride_initialise_cable_lift_track(Ride* ride, bool isApplying) { case STATE_FIND_CABLE_LIFT: // Search for a cable lift hill track element - if (trackType == TRACK_ELEM_CABLE_LIFT_HILL) + if (trackType == TrackElemType::CableLiftHill) { flags = TRACK_ELEMENT_SET_HAS_CABLE_LIFT_TRUE; state = STATE_FIND_STATION; @@ -4896,17 +4896,17 @@ static bool ride_initialise_cable_lift_track(Ride* ride, bool isApplying) // Search for the start of the hill switch (trackType) { - case TRACK_ELEM_FLAT: - case TRACK_ELEM_25_DEG_UP: - case TRACK_ELEM_60_DEG_UP: - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + case TrackElemType::Flat: + case TrackElemType::Up25: + case TrackElemType::Up60: + case TrackElemType::FlatToUp25: + case TrackElemType::Up25ToFlat: + case TrackElemType::Up25ToUp60: + case TrackElemType::Up60ToUp25: + case TrackElemType::FlatToUp60LongBase: flags = TRACK_ELEMENT_SET_HAS_CABLE_LIFT_TRUE; break; - case TRACK_ELEM_END_STATION: + case TrackElemType::EndStation: state = STATE_REST_OF_TRACK; break; default: @@ -6066,7 +6066,7 @@ CoordsXYZD ride_get_entrance_or_exit_position_from_screen_position(const ScreenC { if (TrackSequenceProperties[info.Element->AsTrack()->GetTrackType()][0] & TRACK_SEQUENCE_FLAG_ORIGIN) { - if (info.Element->AsTrack()->GetTrackType() == TRACK_ELEM_MAZE) + if (info.Element->AsTrack()->GetTrackType() == TrackElemType::Maze) { gRideEntranceExitPlaceStationIndex = 0; } @@ -6143,7 +6143,7 @@ CoordsXYZD ride_get_entrance_or_exit_position_from_screen_position(const ScreenC continue; if (tileElement->AsTrack()->GetRideIndex() != gRideEntranceExitPlaceRideIndex) continue; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_MAZE) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::Maze) { entranceExitCoords.direction = direction_reverse(entranceExitCoords.direction); gRideEntranceExitPlaceDirection = entranceExitCoords.direction; @@ -7001,7 +7001,7 @@ void sub_6CB945(Ride* ride) } StationIndex stationId = 0; - if (trackType != TRACK_ELEM_MAZE) + if (trackType != TrackElemType::Maze) { stationId = trackElement->AsTrack()->GetStationIndex(); } diff --git a/src/openrct2/ride/RideData.h b/src/openrct2/ride/RideData.h index f45e664dba..7010ca3748 100644 --- a/src/openrct2/ride/RideData.h +++ b/src/openrct2/ride/RideData.h @@ -315,7 +315,7 @@ constexpr const RideTypeDescriptor DummyRTD = SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, nullptr), SET_FIELD(Flags, 0), SET_FIELD(RideModes, EnumsToFlags(RideMode::ContinuousCircuit)), diff --git a/src/openrct2/ride/RideRatings.cpp b/src/openrct2/ride/RideRatings.cpp index 4848696c86..4cf826ec96 100644 --- a/src/openrct2/ride/RideRatings.cpp +++ b/src/openrct2/ride/RideRatings.cpp @@ -229,7 +229,7 @@ static void ride_ratings_update_state_2() if (trackType == 255 || (tileElement->AsTrack()->GetSequenceIndex() == 0 && trackType == tileElement->AsTrack()->GetTrackType())) { - if (trackType == TRACK_ELEM_END_STATION) + if (trackType == TrackElemType::EndStation) { int32_t entranceIndex = tileElement->AsTrack()->GetStationIndex(); gRideRatingsCalcData.StationFlags &= ~RIDE_RATING_STATION_FLAG_NO_ENTRANCE; @@ -501,8 +501,8 @@ static void ride_ratings_score_close_proximity_loops_helper(const CoordsXYE& coo if (zDiff >= 0 && zDiff <= 16) { proximity_score_increment(PROXIMITY_TRACK_THROUGH_VERTICAL_LOOP); - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_LEFT_VERTICAL_LOOP - || tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_RIGHT_VERTICAL_LOOP) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::LeftVerticalLoop + || tileElement->AsTrack()->GetTrackType() == TrackElemType::RightVerticalLoop) { proximity_score_increment(PROXIMITY_INTERSECTING_VERTICAL_LOOP); } @@ -521,7 +521,7 @@ static void ride_ratings_score_close_proximity_loops_helper(const CoordsXYE& coo static void ride_ratings_score_close_proximity_loops(TileElement* inputTileElement) { int32_t trackType = inputTileElement->AsTrack()->GetTrackType(); - if (trackType == TRACK_ELEM_LEFT_VERTICAL_LOOP || trackType == TRACK_ELEM_RIGHT_VERTICAL_LOOP) + if (trackType == TrackElemType::LeftVerticalLoop || trackType == TrackElemType::RightVerticalLoop) { ride_ratings_score_close_proximity_loops_helper({ gRideRatingsCalcData.Proximity, inputTileElement }); @@ -617,7 +617,7 @@ static void ride_ratings_score_close_proximity(TileElement* inputTileElement) case TILE_ELEMENT_TYPE_TRACK: { int32_t trackType = tileElement->AsTrack()->GetTrackType(); - if (trackType == TRACK_ELEM_LEFT_VERTICAL_LOOP || trackType == TRACK_ELEM_RIGHT_VERTICAL_LOOP) + if (trackType == TrackElemType::LeftVerticalLoop || trackType == TrackElemType::RightVerticalLoop) { int32_t sequence = tileElement->AsTrack()->GetSequenceIndex(); if (sequence == 3 || sequence == 6) @@ -709,11 +709,11 @@ static void ride_ratings_score_close_proximity(TileElement* inputTileElement) switch (gRideRatingsCalcData.ProximityTrackType) { - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: gRideRatingsCalcData.AmountOfBrakes++; break; - case TRACK_ELEM_LEFT_REVERSER: - case TRACK_ELEM_RIGHT_REVERSER: + case TrackElemType::LeftReverser: + case TrackElemType::RightReverser: gRideRatingsCalcData.AmountOfReversers++; break; } diff --git a/src/openrct2/ride/Track.cpp b/src/openrct2/ride/Track.cpp index 2e105cc65d..15e35f70f7 100644 --- a/src/openrct2/ride/Track.cpp +++ b/src/openrct2/ride/Track.cpp @@ -689,7 +689,7 @@ bool track_add_station_element(CoordsXYZD loc, ride_id_t rideIndex, int32_t flag stationElement = find_station_element(loc, rideIndex); if (stationElement != nullptr) { - if (stationElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (stationElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { if (flags & GAME_COMMAND_FLAG_APPLY) { @@ -711,7 +711,7 @@ bool track_add_station_element(CoordsXYZD loc, ride_id_t rideIndex, int32_t flag stationElement = find_station_element(loc, rideIndex); if (stationElement != nullptr) { - if (stationElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (stationElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { if (flags & GAME_COMMAND_FLAG_APPLY) { @@ -768,15 +768,15 @@ bool track_add_station_element(CoordsXYZD loc, ride_id_t rideIndex, int32_t flag ride->num_stations++; } - targetTrackType = TRACK_ELEM_END_STATION; + targetTrackType = TrackElemType::EndStation; } else if (stationBackLoc == loc) { - targetTrackType = TRACK_ELEM_BEGIN_STATION; + targetTrackType = TrackElemType::BeginStation; } else { - targetTrackType = TRACK_ELEM_MIDDLE_STATION; + targetTrackType = TrackElemType::MiddleStation; } stationElement->AsTrack()->SetTrackType(targetTrackType); @@ -828,7 +828,7 @@ bool track_remove_station_element(const CoordsXYZD& loc, ride_id_t rideIndex, in CoordsXYZD currentLoc = stationBackLoc; while ((stationElement = find_station_element(currentLoc, rideIndex)) != nullptr) { - if (stationElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (stationElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { if (flags & GAME_COMMAND_FLAG_APPLY) { @@ -851,7 +851,7 @@ bool track_remove_station_element(const CoordsXYZD& loc, ride_id_t rideIndex, in stationElement = find_station_element(currentLoc, rideIndex); if (stationElement != nullptr) { - if (stationElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (stationElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { if (flags & GAME_COMMAND_FLAG_APPLY) { @@ -905,23 +905,23 @@ bool track_remove_station_element(const CoordsXYZD& loc, ride_id_t rideIndex, in } stationLength = 0; - targetTrackType = TRACK_ELEM_END_STATION; + targetTrackType = TrackElemType::EndStation; } else { if (currentLoc - CoordsDirectionDelta[currentLoc.direction] == removeLoc) { - targetTrackType = TRACK_ELEM_BEGIN_STATION; + targetTrackType = TrackElemType::BeginStation; } else { if (currentLoc == stationBackLoc) { - targetTrackType = TRACK_ELEM_BEGIN_STATION; + targetTrackType = TrackElemType::BeginStation; } else { - targetTrackType = TRACK_ELEM_MIDDLE_STATION; + targetTrackType = TrackElemType::MiddleStation; } } } @@ -1089,14 +1089,14 @@ bool TrackElement::IsBlockStart() const { switch (GetTrackType()) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_CABLE_LIFT_HILL: - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::EndStation: + case TrackElemType::CableLiftHill: + case TrackElemType::BlockBrakes: return true; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: + case TrackElemType::Up60ToFlat: + case TrackElemType::DiagUp25ToFlat: + case TrackElemType::DiagUp60ToFlat: if (HasChain()) { return true; @@ -1157,9 +1157,9 @@ bool track_type_is_station(track_type_t trackType) { switch (trackType) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return true; default: return false; @@ -1170,25 +1170,25 @@ bool track_element_is_covered(track_type_t trackElementType) { switch (trackElementType) { - case TRACK_ELEM_FLAT_COVERED: - case TRACK_ELEM_25_DEG_UP_COVERED: - case TRACK_ELEM_60_DEG_UP_COVERED: - case TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED: - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED: - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED: - case TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED: - case TRACK_ELEM_25_DEG_DOWN_COVERED: - case TRACK_ELEM_60_DEG_DOWN_COVERED: - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_S_BEND_LEFT_COVERED: - case TRACK_ELEM_S_BEND_RIGHT_COVERED: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: + case TrackElemType::FlatCovered: + case TrackElemType::Up25Covered: + case TrackElemType::Up60Covered: + case TrackElemType::FlatToUp25Covered: + case TrackElemType::Up25ToUp60Covered: + case TrackElemType::Up60ToUp25Covered: + case TrackElemType::Up25ToFlatCovered: + case TrackElemType::Down25Covered: + case TrackElemType::Down60Covered: + case TrackElemType::FlatToDown25Covered: + case TrackElemType::Down25ToDown60Covered: + case TrackElemType::Down60ToDown25Covered: + case TrackElemType::Down25ToFlatCovered: + case TrackElemType::LeftQuarterTurn5TilesCovered: + case TrackElemType::RightQuarterTurn5TilesCovered: + case TrackElemType::SBendLeftCovered: + case TrackElemType::SBendRightCovered: + case TrackElemType::LeftQuarterTurn3TilesCovered: + case TrackElemType::RightQuarterTurn3TilesCovered: return true; default: return false; @@ -1198,14 +1198,14 @@ bool track_element_is_covered(track_type_t trackElementType) bool TrackTypeIsBooster(uint8_t rideType, track_type_t trackType) { // Boosters share their ID with the Spinning Control track. - return rideType != RIDE_TYPE_SPINNING_WILD_MOUSE && trackType == TRACK_ELEM_BOOSTER; + return rideType != RIDE_TYPE_SPINNING_WILD_MOUSE && trackType == TrackElemType::Booster; } bool TrackTypeHasSpeedSetting(track_type_t trackType) { // This does not check if the element is really a Spinning Control track instead of a booster, // but this does not cause problems. - return trackType == TRACK_ELEM_BRAKES || trackType == TRACK_ELEM_BOOSTER; + return trackType == TrackElemType::Brakes || trackType == TrackElemType::Booster; } uint8_t TrackElement::GetSeatRotation() const diff --git a/src/openrct2/ride/Track.h b/src/openrct2/ride/Track.h index 7a6ded31a0..65c639cb98 100644 --- a/src/openrct2/ride/Track.h +++ b/src/openrct2/ride/Track.h @@ -239,270 +239,270 @@ enum TRACK_ELEM_FLAG_BANKED = (1 << 15), // Also set on Spinning Tunnel and Log Flume reverser, probably to save a flag. }; -enum +namespace TrackElemType { - TRACK_ELEM_FLAT, - TRACK_ELEM_END_STATION, - TRACK_ELEM_BEGIN_STATION, - TRACK_ELEM_MIDDLE_STATION, - TRACK_ELEM_25_DEG_UP, - TRACK_ELEM_60_DEG_UP, - TRACK_ELEM_FLAT_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP, - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_FLAT, - TRACK_ELEM_25_DEG_DOWN = 10, - TRACK_ELEM_60_DEG_DOWN, - TRACK_ELEM_FLAT_TO_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES, - TRACK_ELEM_FLAT_TO_LEFT_BANK, - TRACK_ELEM_FLAT_TO_RIGHT_BANK, - TRACK_ELEM_LEFT_BANK_TO_FLAT = 20, - TRACK_ELEM_RIGHT_BANK_TO_FLAT, - TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES, - TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES, - TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP, - TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK, - TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK, - TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK = 30, - TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK, - TRACK_ELEM_LEFT_BANK, - TRACK_ELEM_RIGHT_BANK, - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP, - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN, - TRACK_ELEM_S_BEND_LEFT, - TRACK_ELEM_S_BEND_RIGHT, - TRACK_ELEM_LEFT_VERTICAL_LOOP = 40, - TRACK_ELEM_RIGHT_VERTICAL_LOOP, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN, - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE = 50, - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE, - TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP, - TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP, - TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN, - TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN, - TRACK_ELEM_HALF_LOOP_UP, - TRACK_ELEM_HALF_LOOP_DOWN, - TRACK_ELEM_LEFT_CORKSCREW_UP, - TRACK_ELEM_RIGHT_CORKSCREW_UP, - TRACK_ELEM_LEFT_CORKSCREW_DOWN = 60, - TRACK_ELEM_RIGHT_CORKSCREW_DOWN, - TRACK_ELEM_FLAT_TO_60_DEG_UP, - TRACK_ELEM_60_DEG_UP_TO_FLAT, - TRACK_ELEM_FLAT_TO_60_DEG_DOWN, - TRACK_ELEM_60_DEG_DOWN_TO_FLAT, - TRACK_ELEM_TOWER_BASE, - TRACK_ELEM_TOWER_SECTION, - TRACK_ELEM_FLAT_COVERED, - TRACK_ELEM_25_DEG_UP_COVERED, - TRACK_ELEM_60_DEG_UP_COVERED = 70, - TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED, - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED, - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED, - TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED, - TRACK_ELEM_25_DEG_DOWN_COVERED, - TRACK_ELEM_60_DEG_DOWN_COVERED, - TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED, - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED, - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED, - TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED = 80, - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED, - TRACK_ELEM_S_BEND_LEFT_COVERED, - TRACK_ELEM_S_BEND_RIGHT_COVERED, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED, - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL, - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL, - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL, - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL = 90, - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE, - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE, - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE, - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE, - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP, - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP, - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN, - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN, - TRACK_ELEM_BRAKES, - TRACK_ELEM_ROTATION_CONTROL_TOGGLE = 100, - TRACK_ELEM_BOOSTER = 100, - TRACK_ELEM_MAZE = 101, - TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP_ALIAS = 101, // Used by the multi-dimension coaster, as TD6 cannot handle - // index 255. - TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP, - TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP, - TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN, - TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN, - TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP, - TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP, - TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN, - TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN, - TRACK_ELEM_25_DEG_UP_LEFT_BANKED = 110, - TRACK_ELEM_25_DEG_UP_RIGHT_BANKED, - TRACK_ELEM_WATERFALL, - TRACK_ELEM_RAPIDS, - TRACK_ELEM_ON_RIDE_PHOTO, - TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED, - TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED, - TRACK_ELEM_WATER_SPLASH, - TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE, - TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE, - TRACK_ELEM_WHIRLPOOL = 120, - TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE, - TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122, - TRACK_ELEM_CABLE_LIFT_HILL, - TRACK_ELEM_REVERSE_FREEFALL_SLOPE, - TRACK_ELEM_REVERSE_FREEFALL_VERTICAL, - TRACK_ELEM_90_DEG_UP, - TRACK_ELEM_90_DEG_DOWN, - TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP, - TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP = 130, - TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN, - TRACK_ELEM_BRAKE_FOR_DROP, - TRACK_ELEM_LEFT_EIGHTH_TO_DIAG, - TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG, - TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL, - TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL, - TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG, - TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG, - TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL, - TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL = 140, - TRACK_ELEM_DIAG_FLAT, - TRACK_ELEM_DIAG_25_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP, - TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP, - TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT, - TRACK_ELEM_DIAG_25_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN, - TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN = 150, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK, - TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK, - TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT = 160, - TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT, - TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP, - TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP, - TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK, - TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK, - TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN, - TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK, - TRACK_ELEM_DIAG_LEFT_BANK = 170, - TRACK_ELEM_DIAG_RIGHT_BANK, - TRACK_ELEM_LOG_FLUME_REVERSER, - TRACK_ELEM_SPINNING_TUNNEL, - TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN, - TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN, - TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP, - TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP, - TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, - TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK = 180, - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK, - TRACK_ELEM_POWERED_LIFT, - TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP, - TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP, - TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN, - TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN, - TRACK_ELEM_LEFT_FLYER_TWIST_UP, - TRACK_ELEM_RIGHT_FLYER_TWIST_UP, - TRACK_ELEM_LEFT_FLYER_TWIST_DOWN, - TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN = 190, - TRACK_ELEM_FLYER_HALF_LOOP_UP, - TRACK_ELEM_FLYER_HALF_LOOP_DOWN, - TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP, - TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP, - TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN, - TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN, - TRACK_ELEM_HEARTLINE_TRANSFER_UP, - TRACK_ELEM_HEARTLINE_TRANSFER_DOWN, - TRACK_ELEM_LEFT_HEARTLINE_ROLL, - TRACK_ELEM_RIGHT_HEARTLINE_ROLL = 200, - TRACK_ELEM_MINI_GOLF_HOLE_A, - TRACK_ELEM_MINI_GOLF_HOLE_B, - TRACK_ELEM_MINI_GOLF_HOLE_C, - TRACK_ELEM_MINI_GOLF_HOLE_D, - TRACK_ELEM_MINI_GOLF_HOLE_E, - TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, - TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP, - TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, - TRACK_ELEM_LEFT_CURVED_LIFT_HILL, - TRACK_ELEM_RIGHT_CURVED_LIFT_HILL = 210, - TRACK_ELEM_LEFT_REVERSER, - TRACK_ELEM_RIGHT_REVERSER, - TRACK_ELEM_AIR_THRUST_TOP_CAP, - TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN, - TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL, - TRACK_ELEM_BLOCK_BRAKES, - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, - TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP, - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP, - TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP, - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT, - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT, - TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT, - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT, - TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP, - TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP, - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT, - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT, - TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, - TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP, - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP, - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN, - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN, - TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP, - TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP, - TRACK_ELEM_MULTIDIM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP, + constexpr uint16_t Flat = 0; + constexpr uint16_t EndStation = 1; + constexpr uint16_t BeginStation = 2; + constexpr uint16_t MiddleStation = 3; + constexpr uint16_t Up25 = 4; + constexpr uint16_t Up60 = 5; + constexpr uint16_t FlatToUp25 = 6; + constexpr uint16_t Up25ToUp60 = 7; + constexpr uint16_t Up60ToUp25 = 8; + constexpr uint16_t Up25ToFlat = 9; + constexpr uint16_t Down25 = 10; + constexpr uint16_t Down60 = 11; + constexpr uint16_t FlatToDown25 = 12; + constexpr uint16_t Down25ToDown60 = 13; + constexpr uint16_t Down60ToDown25 = 14; + constexpr uint16_t Down25ToFlat = 15; + constexpr uint16_t LeftQuarterTurn5Tiles = 16; + constexpr uint16_t RightQuarterTurn5Tiles = 17; + constexpr uint16_t FlatToLeftBank = 18; + constexpr uint16_t FlatToRightBank = 19; + constexpr uint16_t LeftBankToFlat = 20; + constexpr uint16_t RightBankToFlat = 21; + constexpr uint16_t BankedLeftQuarterTurn5Tiles = 22; + constexpr uint16_t BankedRightQuarterTurn5Tiles = 23; + constexpr uint16_t LeftBankToUp25 = 24; + constexpr uint16_t RightBankToUp25 = 25; + constexpr uint16_t Up25ToLeftBank = 26; + constexpr uint16_t Up25ToRightBank = 27; + constexpr uint16_t LeftBankToDown25 = 28; + constexpr uint16_t RightBankToDown25 = 29; + constexpr uint16_t Down25ToLeftBank = 30; + constexpr uint16_t Down25ToRightBank = 31; + constexpr uint16_t LeftBank = 32; + constexpr uint16_t RightBank = 33; + constexpr uint16_t LeftQuarterTurn5TilesUp25 = 34; + constexpr uint16_t RightQuarterTurn5TilesUp25 = 35; + constexpr uint16_t LeftQuarterTurn5TilesDown25 = 36; + constexpr uint16_t RightQuarterTurn5TilesDown25 = 37; + constexpr uint16_t SBendLeft = 38; + constexpr uint16_t SBendRight = 39; + constexpr uint16_t LeftVerticalLoop = 40; + constexpr uint16_t RightVerticalLoop = 41; + constexpr uint16_t LeftQuarterTurn3Tiles = 42; + constexpr uint16_t RightQuarterTurn3Tiles = 43; + constexpr uint16_t LeftBankedQuarterTurn3Tiles = 44; + constexpr uint16_t RightBankedQuarterTurn3Tiles = 45; + constexpr uint16_t LeftQuarterTurn3TilesUp25 = 46; + constexpr uint16_t RightQuarterTurn3TilesUp25 = 47; + constexpr uint16_t LeftQuarterTurn3TilesDown25 = 48; + constexpr uint16_t RightQuarterTurn3TilesDown25 = 49; + constexpr uint16_t LeftQuarterTurn1Tile = 50; + constexpr uint16_t RightQuarterTurn1Tile = 51; + constexpr uint16_t LeftTwistDownToUp = 52; + constexpr uint16_t RightTwistDownToUp = 53; + constexpr uint16_t LeftTwistUpToDown = 54; + constexpr uint16_t RightTwistUpToDown = 55; + constexpr uint16_t HalfLoopUp = 56; + constexpr uint16_t HalfLoopDown = 57; + constexpr uint16_t LeftCorkscrewUp = 58; + constexpr uint16_t RightCorkscrewUp = 59; + constexpr uint16_t LeftCorkscrewDown = 60; + constexpr uint16_t RightCorkscrewDown = 61; + constexpr uint16_t FlatToUp60 = 62; + constexpr uint16_t Up60ToFlat = 63; + constexpr uint16_t FlatToDown60 = 64; + constexpr uint16_t Down60ToFlat = 65; + constexpr uint16_t TowerBase = 66; + constexpr uint16_t TowerSection = 67; + constexpr uint16_t FlatCovered = 68; + constexpr uint16_t Up25Covered = 69; + constexpr uint16_t Up60Covered = 70; + constexpr uint16_t FlatToUp25Covered = 71; + constexpr uint16_t Up25ToUp60Covered = 72; + constexpr uint16_t Up60ToUp25Covered = 73; + constexpr uint16_t Up25ToFlatCovered = 74; + constexpr uint16_t Down25Covered = 75; + constexpr uint16_t Down60Covered = 76; + constexpr uint16_t FlatToDown25Covered = 77; + constexpr uint16_t Down25ToDown60Covered = 78; + constexpr uint16_t Down60ToDown25Covered = 79; + constexpr uint16_t Down25ToFlatCovered = 80; + constexpr uint16_t LeftQuarterTurn5TilesCovered = 81; + constexpr uint16_t RightQuarterTurn5TilesCovered = 82; + constexpr uint16_t SBendLeftCovered = 83; + constexpr uint16_t SBendRightCovered = 84; + constexpr uint16_t LeftQuarterTurn3TilesCovered = 85; + constexpr uint16_t RightQuarterTurn3TilesCovered = 86; + constexpr uint16_t LeftHalfBankedHelixUpSmall = 87; + constexpr uint16_t RightHalfBankedHelixUpSmall = 88; + constexpr uint16_t LeftHalfBankedHelixDownSmall = 89; + constexpr uint16_t RightHalfBankedHelixDownSmall = 90; + constexpr uint16_t LeftHalfBankedHelixUpLarge = 91; + constexpr uint16_t RightHalfBankedHelixUpLarge = 92; + constexpr uint16_t LeftHalfBankedHelixDownLarge = 93; + constexpr uint16_t RightHalfBankedHelixDownLarge = 94; + constexpr uint16_t LeftQuarterTurn1TileUp60 = 95; + constexpr uint16_t RightQuarterTurn1TileUp60 = 96; + constexpr uint16_t LeftQuarterTurn1TileDown60 = 97; + constexpr uint16_t RightQuarterTurn1TileDown60 = 98; + constexpr uint16_t Brakes = 99; + constexpr uint16_t RotationControlToggle = 100; + constexpr uint16_t Booster = 100; + constexpr uint16_t Maze = 101; + // Used by the multi-dimension coaster, as TD6 cannot handle index 255. + constexpr uint16_t InvertedUp90ToFlatQuarterLoopAlias = 101; + constexpr uint16_t LeftQuarterBankedHelixLargeUp = 102; + constexpr uint16_t RightQuarterBankedHelixLargeUp = 103; + constexpr uint16_t LeftQuarterBankedHelixLargeDown = 104; + constexpr uint16_t RightQuarterBankedHelixLargeDown = 105; + constexpr uint16_t LeftQuarterHelixLargeUp = 106; + constexpr uint16_t RightQuarterHelixLargeUp = 107; + constexpr uint16_t LeftQuarterHelixLargeDown = 108; + constexpr uint16_t RightQuarterHelixLargeDown = 109; + constexpr uint16_t Up25LeftBanked = 110; + constexpr uint16_t Up25RightBanked = 111; + constexpr uint16_t Waterfall = 112; + constexpr uint16_t Rapids = 113; + constexpr uint16_t OnRidePhoto = 114; + constexpr uint16_t Down25LeftBanked = 115; + constexpr uint16_t Down25RightBanked = 116; + constexpr uint16_t Watersplash = 117; + constexpr uint16_t FlatToUp60LongBase = 118; + constexpr uint16_t Up60ToFlatLongBase = 119; + constexpr uint16_t Whirlpool = 120; + constexpr uint16_t Down60ToFlatLongBase = 121; + constexpr uint16_t FlatToDown60LongBase = 122; + constexpr uint16_t CableLiftHill = 123; + constexpr uint16_t ReverseFreefallSlope = 124; + constexpr uint16_t ReverseFreefallVertical = 125; + constexpr uint16_t Up90 = 126; + constexpr uint16_t Down90 = 127; + constexpr uint16_t Up60ToUp90 = 128; + constexpr uint16_t Down90ToDown60 = 129; + constexpr uint16_t Up90ToUp60 = 130; + constexpr uint16_t Down60ToDown90 = 131; + constexpr uint16_t BrakeForDrop = 132; + constexpr uint16_t LeftEighthToDiag = 133; + constexpr uint16_t RightEighthToDiag = 134; + constexpr uint16_t LeftEighthToOrthogonal = 135; + constexpr uint16_t RightEighthToOrthogonal = 136; + constexpr uint16_t LeftEighthBankToDiag = 137; + constexpr uint16_t RightEighthBankToDiag = 138; + constexpr uint16_t LeftEighthBankToOrthogonal = 139; + constexpr uint16_t RightEighthBankToOrthogonal = 140; + constexpr uint16_t DiagFlat = 141; + constexpr uint16_t DiagUp25 = 142; + constexpr uint16_t DiagUp60 = 143; + constexpr uint16_t DiagFlatToUp25 = 144; + constexpr uint16_t DiagUp25ToUp60 = 145; + constexpr uint16_t DiagUp60ToUp25 = 146; + constexpr uint16_t DiagUp25ToFlat = 147; + constexpr uint16_t DiagDown25 = 148; + constexpr uint16_t DiagDown60 = 149; + constexpr uint16_t DiagFlatToDown25 = 150; + constexpr uint16_t DiagDown25ToDown60 = 151; + constexpr uint16_t DiagDown60ToDown25 = 152; + constexpr uint16_t DiagDown25ToFlat = 153; + constexpr uint16_t DiagFlatToUp60 = 154; + constexpr uint16_t DiagUp60ToFlat = 155; + constexpr uint16_t DiagFlatToDown60 = 156; + constexpr uint16_t DiagDown60ToFlat = 157; + constexpr uint16_t DiagFlatToLeftBank = 158; + constexpr uint16_t DiagFlatToRightBank = 159; + constexpr uint16_t DiagLeftBankToFlat = 160; + constexpr uint16_t DiagRightBankToFlat = 161; + constexpr uint16_t DiagLeftBankToUp25 = 162; + constexpr uint16_t DiagRightBankToUp25 = 163; + constexpr uint16_t DiagUp25ToLeftBank = 164; + constexpr uint16_t DiagUp25ToRightBank = 165; + constexpr uint16_t DiagLeftBankToDown25 = 166; + constexpr uint16_t DiagRightBankToDown25 = 167; + constexpr uint16_t DiagDown25ToLeftBank = 168; + constexpr uint16_t DiagDown25ToRightBank = 169; + constexpr uint16_t DiagLeftBank = 170; + constexpr uint16_t DiagRightBank = 171; + constexpr uint16_t LogFlumeReverser = 172; + constexpr uint16_t SpinningTunnel = 173; + constexpr uint16_t LeftBarrelRollUpToDown = 174; + constexpr uint16_t RightBarrelRollUpToDown = 175; + constexpr uint16_t LeftBarrelRollDownToUp = 176; + constexpr uint16_t RightBarrelRollDownToUp = 177; + constexpr uint16_t LeftBankToLeftQuarterTurn3TilesUp25 = 178; + constexpr uint16_t RightBankToRightQuarterTurn3TilesUp25 = 179; + constexpr uint16_t LeftQuarterTurn3TilesDown25ToLeftBank = 180; + constexpr uint16_t RightQuarterTurn3TilesDown25ToRightBank = 181; + constexpr uint16_t PoweredLift = 182; + constexpr uint16_t LeftLargeHalfLoopUp = 183; + constexpr uint16_t RightLargeHalfLoopUp = 184; + constexpr uint16_t RightLargeHalfLoopDown = 185; + constexpr uint16_t LeftLargeHalfLoopDown = 186; + constexpr uint16_t LeftFlyerTwistUp = 187; + constexpr uint16_t RightFlyerTwistUp = 188; + constexpr uint16_t LeftFlyerTwistDown = 189; + constexpr uint16_t RightFlyerTwistDown = 190; + constexpr uint16_t FlyerHalfLoopUp = 191; + constexpr uint16_t FlyerHalfLoopDown = 192; + constexpr uint16_t LeftFlyerCorkscrewUp = 193; + constexpr uint16_t RightFlyerCorkscrewUp = 194; + constexpr uint16_t LeftFlyerCorkscrewDown = 195; + constexpr uint16_t RightFlyerCorkscrewDown = 196; + constexpr uint16_t HeartLineTransferUp = 197; + constexpr uint16_t HeartLineTransferDown = 198; + constexpr uint16_t LeftHeartLineRoll = 199; + constexpr uint16_t RightHeartLineRoll = 200; + constexpr uint16_t MinigolfHoleA = 201; + constexpr uint16_t MinigolfHoleB = 202; + constexpr uint16_t MinigolfHoleC = 203; + constexpr uint16_t MinigolfHoleD = 204; + constexpr uint16_t MinigolfHoleE = 205; + constexpr uint16_t MultiDimInvertedFlatToDown90QuarterLoop = 206; + constexpr uint16_t Up90ToInvertedFlatQuarterLoop = 207; + constexpr uint16_t InvertedFlatToDown90QuarterLoop = 208; + constexpr uint16_t LeftCurvedLiftHill = 209; + constexpr uint16_t RightCurvedLiftHill = 210; + constexpr uint16_t LeftReverser = 211; + constexpr uint16_t RightReverser = 212; + constexpr uint16_t AirThrustTopCap = 213; + constexpr uint16_t AirThrustVerticalDown = 214; + constexpr uint16_t AirThrustVerticalDownToLevel = 215; + constexpr uint16_t BlockBrakes = 216; + constexpr uint16_t LeftBankedQuarterTurn3TileUp25 = 217; + constexpr uint16_t RightBankedQuarterTurn3TileUp25 = 218; + constexpr uint16_t LeftBankedQuarterTurn3TileDown25 = 219; + constexpr uint16_t RightBankedQuarterTurn3TileDown25 = 220; + constexpr uint16_t LeftBankedQuarterTurn5TileUp25 = 221; + constexpr uint16_t RightBankedQuarterTurn5TileUp25 = 222; + constexpr uint16_t LeftBankedQuarterTurn5TileDown25 = 223; + constexpr uint16_t RightBankedQuarterTurn5TileDown25 = 224; + constexpr uint16_t Up25ToLeftBankedUp25 = 225; + constexpr uint16_t Up25ToRightBankedUp25 = 226; + constexpr uint16_t LeftBankedUp25ToUp25 = 227; + constexpr uint16_t RightBankedUp25ToUp25 = 228; + constexpr uint16_t Down25ToLeftBankedDown25 = 229; + constexpr uint16_t Down25ToRightBankedDown25 = 230; + constexpr uint16_t LeftBankedDown25ToDown25 = 231; + constexpr uint16_t RightBankedDown25ToDown25 = 232; + constexpr uint16_t LeftBankedFlatToLeftBankedUp25 = 233; + constexpr uint16_t RightBankedFlatToRightBankedUp25 = 234; + constexpr uint16_t LeftBankedUp25ToLeftBankedFlat = 235; + constexpr uint16_t RightBankedUp25ToRightBankedFlat = 236; + constexpr uint16_t LeftBankedFlatToLeftBankedDown25 = 237; + constexpr uint16_t RightBankedFlatToRightBankedDown25 = 238; + constexpr uint16_t LeftBankedDown25ToLeftBankedFlat = 239; + constexpr uint16_t RightBankedDown25ToRightBankedFlat = 240; + constexpr uint16_t FlatToLeftBankedUp25 = 241; + constexpr uint16_t FlatToRightBankedUp25 = 242; + constexpr uint16_t LeftBankedUp25ToFlat = 243; + constexpr uint16_t RightBankedUp25ToFlat = 244; + constexpr uint16_t FlatToLeftBankedDown25 = 245; + constexpr uint16_t FlatToRightBankedDown25 = 246; + constexpr uint16_t LeftBankedDown25ToFlat = 247; + constexpr uint16_t RightBankedDown25ToFlat = 248; + constexpr uint16_t LeftQuarterTurn1TileUp90 = 249; + constexpr uint16_t RightQuarterTurn1TileUp90 = 250; + constexpr uint16_t LeftQuarterTurn1TileDown90 = 251; + constexpr uint16_t RightQuarterTurn1TileDown90 = 252; + constexpr uint16_t MultiDimUp90ToInvertedFlatQuarterLoop = 253; + constexpr uint16_t MultiDimFlatToDown90QuarterLoop = 254; + constexpr uint16_t MultiDimInvertedUp90ToFlatQuarterLoop = 255; - TRACK_ELEM_COUNT, -}; + constexpr uint16_t Count = 256; +}; // namespace TrackElemType enum { diff --git a/src/openrct2/ride/TrackData.cpp b/src/openrct2/ride/TrackData.cpp index b43026434c..fbaefec665 100644 --- a/src/openrct2/ride/TrackData.cpp +++ b/src/openrct2/ride/TrackData.cpp @@ -15,7 +15,7 @@ #include // clang-format off -const rct_track_coordinates FlatTrackCoordinates[TRACK_ELEM_COUNT] = { +const rct_track_coordinates FlatTrackCoordinates[TrackElemType::Count] = { { 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0 }, @@ -271,7 +271,7 @@ const rct_track_coordinates FlatTrackCoordinates[TRACK_ELEM_COUNT] = { { 0, 1, 96, 0, 0, -32 }, }; -const rct_track_coordinates TrackCoordinates[TRACK_ELEM_COUNT] = { +const rct_track_coordinates TrackCoordinates[TrackElemType::Count] = { { 0, 0, 0, 0, 0, 0 }, // ELEM_FLAT { 0, 0, 0, 0, 0, 0 }, // ELEM_END_STATION { 0, 0, 0, 0, 0, 0 }, // ELEM_BEGIN_STATION @@ -533,9 +533,9 @@ const rct_track_coordinates TrackCoordinates[TRACK_ELEM_COUNT] = { /** rct2: 0x0099BA64 */ const uint8_t TrackSequenceProperties[][16] = { { 0 }, - /* TRACK_ELEM_END_STATION */ { TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - /* TRACK_ELEM_BEGIN_STATION */ { TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - /* TRACK_ELEM_MIDDLE_STATION */ { TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* TrackElemType::EndStation */ { TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* TrackElemType::BeginStation */ { TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* TrackElemType::MiddleStation */ { TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN | TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0 }, { 0 }, { 0 }, @@ -598,7 +598,7 @@ const uint8_t TrackSequenceProperties[][16] = { { 0 }, { 0 }, { 0 }, - /* TRACK_ELEM_TOWER_BASE */ { TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_3, TRACK_SEQUENCE_FLAG_DIRECTION_0, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1, TRACK_SEQUENCE_FLAG_DIRECTION_3, TRACK_SEQUENCE_FLAG_DIRECTION_1, TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3, TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2, TRACK_SEQUENCE_FLAG_DIRECTION_2, 0, 0, 0, 0, 0, 0, 0 }, + /* TrackElemType::TowerBase */ { TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_3, TRACK_SEQUENCE_FLAG_DIRECTION_0, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1, TRACK_SEQUENCE_FLAG_DIRECTION_3, TRACK_SEQUENCE_FLAG_DIRECTION_1, TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3, TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2, TRACK_SEQUENCE_FLAG_DIRECTION_2, 0, 0, 0, 0, 0, 0, 0 }, { 0 }, { 0 }, { 0 }, @@ -633,7 +633,7 @@ const uint8_t TrackSequenceProperties[][16] = { { 0 }, { 0 }, { 0 }, - /* TRACK_ELEM_MAZE */ { TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN }, + /* TrackElemType::Maze */ { TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN, TRACK_SEQUENCE_FLAG_DIRECTION_0 | TRACK_SEQUENCE_FLAG_DIRECTION_1 | TRACK_SEQUENCE_FLAG_DIRECTION_2 | TRACK_SEQUENCE_FLAG_DIRECTION_3 | TRACK_SEQUENCE_FLAG_ORIGIN }, { 0 }, { 0 }, { 0 }, @@ -705,7 +705,7 @@ const uint8_t TrackSequenceProperties[][16] = { { 0 }, { 0 }, { 0 }, - /* TRACK_ELEM_SPINNING_TUNNEL */ { TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + /* TrackElemType::SpinningTunnel */ { TRACK_SEQUENCE_FLAG_DISALLOW_DOORS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0 }, { 0 }, { 0 }, @@ -2937,7 +2937,7 @@ static constexpr const rct_preview_track TrackBlocks255[] = { }; // rct2: 0x00994638 -const rct_preview_track *TrackBlocks[TRACK_ELEM_COUNT] = { +const rct_preview_track *TrackBlocks[TrackElemType::Count] = { TrackBlocks000, TrackBlocks001, TrackBlocks002, @@ -3297,7 +3297,7 @@ static constexpr const rct_preview_track FlatRideTrackBlocks255[] = { }; // rct2: 0x00994A38 -const rct_preview_track *FlatRideTrackBlocks[TRACK_ELEM_COUNT] = { +const rct_preview_track *FlatRideTrackBlocks[TrackElemType::Count] = { TrackBlocks000, TrackBlocks001, TrackBlocks002, @@ -3556,194 +3556,194 @@ const rct_preview_track *FlatRideTrackBlocks[TRACK_ELEM_COUNT] = { FlatRideTrackBlocks255 }; -const uint8_t TrackPieceLengths[TRACK_ELEM_COUNT] = { - 32, // TRACK_ELEM_FLAT - 32, // TRACK_ELEM_END_STATION - 32, // TRACK_ELEM_BEGIN_STATION - 32, // TRACK_ELEM_MIDDLE_STATION - 33, // TRACK_ELEM_25_DEG_UP - 40, // TRACK_ELEM_60_DEG_UP - 32, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 34, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 34, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 32, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 33, // TRACK_ELEM_25_DEG_DOWN - 40, // TRACK_ELEM_60_DEG_DOWN - 32, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 34, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 34, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 32, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 124, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 124, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 32, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 32, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 32, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 32, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 124, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 124, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 32, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 32, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 32, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 32, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 32, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 32, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 32, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 32, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 32, // TRACK_ELEM_LEFT_BANK - 32, // TRACK_ELEM_RIGHT_BANK - 130, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 130, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 130, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 130, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 96, // TRACK_ELEM_S_BEND_LEFT - 96, // TRACK_ELEM_S_BEND_RIGHT - 120, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 120, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 75, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 75, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 75, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 75, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 77, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 77, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 77, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 77, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 24, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 24, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 96, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - 96, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - 96, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - 96, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - 60, // TRACK_ELEM_HALF_LOOP_UP - 60, // TRACK_ELEM_HALF_LOOP_DOWN - 55, // TRACK_ELEM_LEFT_CORKSCREW_UP - 55, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 55, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 55, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - 36, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 36, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 36, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 36, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - 32, // TRACK_ELEM_TOWER_BASE - 32, // TRACK_ELEM_TOWER_SECTION - 32, // TRACK_ELEM_FLAT_COVERED - 33, // TRACK_ELEM_25_DEG_UP_COVERED - 40, // TRACK_ELEM_60_DEG_UP_COVERED - 32, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED - 34, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - 34, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - 32, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED - 33, // TRACK_ELEM_25_DEG_DOWN_COVERED - 40, // TRACK_ELEM_60_DEG_DOWN_COVERED - 32, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED - 34, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - 34, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - 32, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED - 124, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - 124, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - 96, // TRACK_ELEM_S_BEND_LEFT_COVERED - 96, // TRACK_ELEM_S_BEND_RIGHT_COVERED - 75, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - 75, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - 150, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 150, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 150, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 150, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 248, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 248, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 248, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 248, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 64, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 64, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 64, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 64, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 32, // TRACK_ELEM_BRAKES - 32, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE - 32, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP - 124, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - 124, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - 124, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - 124, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - 124, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - 124, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - 124, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - 124, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - 33, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 33, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 32, // TRACK_ELEM_WATERFALL - 32, // TRACK_ELEM_RAPIDS - 32, // TRACK_ELEM_ON_RIDE_PHOTO - 33, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 33, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 128, // TRACK_ELEM_WATER_SPLASH - 165, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - 165, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - 32, // TRACK_ELEM_WHIRLPOOL - 165, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - 165, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - 138, // TRACK_ELEM_CABLE_LIFT_HILL - 32, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - 32, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL - 32, // TRACK_ELEM_90_DEG_UP - 32, // TRACK_ELEM_90_DEG_DOWN - 32, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 32, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 32, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 32, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - 32, // TRACK_ELEM_BRAKE_FOR_DROP - 87, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 87, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 87, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 87, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 87, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 87, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 87, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 87, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 45, // TRACK_ELEM_DIAG_FLAT - 45, // TRACK_ELEM_DIAG_25_DEG_UP - 45, // TRACK_ELEM_DIAG_60_DEG_UP - 45, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 45, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 45, // TRACK_ELEM_DIAG_25_DEG_DOWN - 45, // TRACK_ELEM_DIAG_60_DEG_DOWN - 45, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 45, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 45, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP - 45, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT - 45, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN - 45, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT - 45, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 45, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 45, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 45, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 45, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 45, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 45, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 45, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 45, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 45, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 45, // TRACK_ELEM_DIAG_LEFT_BANK - 45, // TRACK_ELEM_DIAG_RIGHT_BANK - 16, // TRACK_ELEM_LOG_FLUME_REVERSER - 32, // TRACK_ELEM_SPINNING_TUNNEL - 96, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - 96, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - 96, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - 96, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - 64, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 64, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 64, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - 64, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - 32, // TRACK_ELEM_POWERED_LIFT - 100, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - 100, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - 100, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - 100, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN +const uint8_t TrackPieceLengths[TrackElemType::Count] = { + 32, // TrackElemType::Flat + 32, // TrackElemType::EndStation + 32, // TrackElemType::BeginStation + 32, // TrackElemType::MiddleStation + 33, // TrackElemType::Up25 + 40, // TrackElemType::Up60 + 32, // TrackElemType::FlatToUp25 + 34, // TrackElemType::Up25ToUp60 + 34, // TrackElemType::Up60ToUp25 + 32, // TrackElemType::Up25ToFlat + 33, // TrackElemType::Down25 + 40, // TrackElemType::Down60 + 32, // TrackElemType::FlatToDown25 + 34, // TrackElemType::Down25ToDown60 + 34, // TrackElemType::Down60ToDown25 + 32, // TrackElemType::Down25ToFlat + 124, // TrackElemType::LeftQuarterTurn5Tiles + 124, // TrackElemType::RightQuarterTurn5Tiles + 32, // TrackElemType::FlatToLeftBank + 32, // TrackElemType::FlatToRightBank + 32, // TrackElemType::LeftBankToFlat + 32, // TrackElemType::RightBankToFlat + 124, // TrackElemType::BankedLeftQuarterTurn5Tiles + 124, // TrackElemType::BankedRightQuarterTurn5Tiles + 32, // TrackElemType::LeftBankToUp25 + 32, // TrackElemType::RightBankToUp25 + 32, // TrackElemType::Up25ToLeftBank + 32, // TrackElemType::Up25ToRightBank + 32, // TrackElemType::LeftBankToDown25 + 32, // TrackElemType::RightBankToDown25 + 32, // TrackElemType::Down25ToLeftBank + 32, // TrackElemType::Down25ToRightBank + 32, // TrackElemType::LeftBank + 32, // TrackElemType::RightBank + 130, // TrackElemType::LeftQuarterTurn5TilesUp25 + 130, // TrackElemType::RightQuarterTurn5TilesUp25 + 130, // TrackElemType::LeftQuarterTurn5TilesDown25 + 130, // TrackElemType::RightQuarterTurn5TilesDown25 + 96, // TrackElemType::SBendLeft + 96, // TrackElemType::SBendRight + 120, // TrackElemType::LeftVerticalLoop + 120, // TrackElemType::RightVerticalLoop + 75, // TrackElemType::LeftQuarterTurn3Tiles + 75, // TrackElemType::RightQuarterTurn3Tiles + 75, // TrackElemType::LeftBankedQuarterTurn3Tiles + 75, // TrackElemType::RightBankedQuarterTurn3Tiles + 77, // TrackElemType::LeftQuarterTurn3TilesUp25 + 77, // TrackElemType::RightQuarterTurn3TilesUp25 + 77, // TrackElemType::LeftQuarterTurn3TilesDown25 + 77, // TrackElemType::RightQuarterTurn3TilesDown25 + 24, // TrackElemType::LeftQuarterTurn1Tile + 24, // TrackElemType::RightQuarterTurn1Tile + 96, // TrackElemType::LeftTwistDownToUp + 96, // TrackElemType::RightTwistDownToUp + 96, // TrackElemType::LeftTwistUpToDown + 96, // TrackElemType::RightTwistUpToDown + 60, // TrackElemType::HalfLoopUp + 60, // TrackElemType::HalfLoopDown + 55, // TrackElemType::LeftCorkscrewUp + 55, // TrackElemType::RightCorkscrewUp + 55, // TrackElemType::LeftCorkscrewDown + 55, // TrackElemType::RightCorkscrewDown + 36, // TrackElemType::FlatToUp60 + 36, // TrackElemType::Up60ToFlat + 36, // TrackElemType::FlatToDown60 + 36, // TrackElemType::Down60ToFlat + 32, // TrackElemType::TowerBase + 32, // TrackElemType::TowerSection + 32, // TrackElemType::FlatCovered + 33, // TrackElemType::Up25Covered + 40, // TrackElemType::Up60Covered + 32, // TrackElemType::FlatToUp25Covered + 34, // TrackElemType::Up25ToUp60Covered + 34, // TrackElemType::Up60ToUp25Covered + 32, // TrackElemType::Up25ToFlatCovered + 33, // TrackElemType::Down25Covered + 40, // TrackElemType::Down60Covered + 32, // TrackElemType::FlatToDown25Covered + 34, // TrackElemType::Down25ToDown60Covered + 34, // TrackElemType::Down60ToDown25Covered + 32, // TrackElemType::Down25ToFlatCovered + 124, // TrackElemType::LeftQuarterTurn5TilesCovered + 124, // TrackElemType::RightQuarterTurn5TilesCovered + 96, // TrackElemType::SBendLeftCovered + 96, // TrackElemType::SBendRightCovered + 75, // TrackElemType::LeftQuarterTurn3TilesCovered + 75, // TrackElemType::RightQuarterTurn3TilesCovered + 150, // TrackElemType::LeftHalfBankedHelixUpSmall + 150, // TrackElemType::RightHalfBankedHelixUpSmall + 150, // TrackElemType::LeftHalfBankedHelixDownSmall + 150, // TrackElemType::RightHalfBankedHelixDownSmall + 248, // TrackElemType::LeftHalfBankedHelixUpLarge + 248, // TrackElemType::RightHalfBankedHelixUpLarge + 248, // TrackElemType::LeftHalfBankedHelixDownLarge + 248, // TrackElemType::RightHalfBankedHelixDownLarge + 64, // TrackElemType::LeftQuarterTurn1TileUp60 + 64, // TrackElemType::RightQuarterTurn1TileUp60 + 64, // TrackElemType::LeftQuarterTurn1TileDown60 + 64, // TrackElemType::RightQuarterTurn1TileDown60 + 32, // TrackElemType::Brakes + 32, // TrackElemType::RotationControlToggle + 32, // TrackElemType::InvertedUp90ToFlatQuarterLoopAlias / Maze + 124, // TrackElemType::LeftQuarterBankedHelixLargeUp + 124, // TrackElemType::RightQuarterBankedHelixLargeUp + 124, // TrackElemType::LeftQuarterBankedHelixLargeDown + 124, // TrackElemType::RightQuarterBankedHelixLargeDown + 124, // TrackElemType::LeftQuarterHelixLargeUp + 124, // TrackElemType::RightQuarterHelixLargeUp + 124, // TrackElemType::LeftQuarterHelixLargeDown + 124, // TrackElemType::RightQuarterHelixLargeDown + 33, // TrackElemType::Up25LeftBanked + 33, // TrackElemType::Up25RightBanked + 32, // TrackElemType::Waterfall + 32, // TrackElemType::Rapids + 32, // TrackElemType::OnRidePhoto + 33, // TrackElemType::Down25LeftBanked + 33, // TrackElemType::Down25RightBanked + 128, // TrackElemType::Watersplash + 165, // TrackElemType::FlatToUp60LongBase + 165, // TrackElemType::Up60ToFlatLongBase + 32, // TrackElemType::Whirlpool + 165, // TrackElemType::Down60ToFlatLongBase + 165, // TrackElemType::FlatToDown60LongBase + 138, // TrackElemType::CableLiftHill + 32, // TrackElemType::ReverseFreefallSlope + 32, // TrackElemType::ReverseFreefallVertical + 32, // TrackElemType::Up90 + 32, // TrackElemType::Down90 + 32, // TrackElemType::Up60ToUp90 + 32, // TrackElemType::Down90ToDown60 + 32, // TrackElemType::Up90ToUp60 + 32, // TrackElemType::Down60ToDown90 + 32, // TrackElemType::BrakeForDrop + 87, // TrackElemType::LeftEighthToDiag + 87, // TrackElemType::RightEighthToDiag + 87, // TrackElemType::LeftEighthToOrthogonal + 87, // TrackElemType::RightEighthToOrthogonal + 87, // TrackElemType::LeftEighthBankToDiag + 87, // TrackElemType::RightEighthBankToDiag + 87, // TrackElemType::LeftEighthBankToOrthogonal + 87, // TrackElemType::RightEighthBankToOrthogonal + 45, // TrackElemType::DiagFlat + 45, // TrackElemType::DiagUp25 + 45, // TrackElemType::DiagUp60 + 45, // TrackElemType::DiagFlatToUp25 + 45, // TrackElemType::DiagUp25ToUp60 + 45, // TrackElemType::DiagUp60ToUp25 + 45, // TrackElemType::DiagUp25ToFlat + 45, // TrackElemType::DiagDown25 + 45, // TrackElemType::DiagDown60 + 45, // TrackElemType::DiagFlatToDown25 + 45, // TrackElemType::DiagDown25ToDown60 + 45, // TrackElemType::DiagDown60ToDown25 + 45, // TrackElemType::DiagDown25ToFlat + 45, // TrackElemType::DiagFlatToUp60 + 45, // TrackElemType::DiagUp60ToFlat + 45, // TrackElemType::DiagFlatToDown60 + 45, // TrackElemType::DiagDown60ToFlat + 45, // TrackElemType::DiagFlatToLeftBank + 45, // TrackElemType::DiagFlatToRightBank + 45, // TrackElemType::DiagLeftBankToFlat + 45, // TrackElemType::DiagRightBankToFlat + 45, // TrackElemType::DiagLeftBankToUp25 + 45, // TrackElemType::DiagRightBankToUp25 + 45, // TrackElemType::DiagUp25ToLeftBank + 45, // TrackElemType::DiagUp25ToRightBank + 45, // TrackElemType::DiagLeftBankToDown25 + 45, // TrackElemType::DiagRightBankToDown25 + 45, // TrackElemType::DiagDown25ToLeftBank + 45, // TrackElemType::DiagDown25ToRightBank + 45, // TrackElemType::DiagLeftBank + 45, // TrackElemType::DiagRightBank + 16, // TrackElemType::LogFlumeReverser + 32, // TrackElemType::SpinningTunnel + 96, // TrackElemType::LeftBarrelRollUpToDown + 96, // TrackElemType::RightBarrelRollUpToDown + 96, // TrackElemType::LeftBarrelRollDownToUp + 96, // TrackElemType::RightBarrelRollDownToUp + 64, // TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25 + 64, // TrackElemType::RightBankToRightQuarterTurn3TilesUp25 + 64, // TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank + 64, // TrackElemType::RightQuarterTurn3TilesDown25ToRightBank + 32, // TrackElemType::PoweredLift + 100, // TrackElemType::LeftLargeHalfLoopUp + 100, // TrackElemType::RightLargeHalfLoopUp + 100, // TrackElemType::RightLargeHalfLoopDown + 100, // TrackElemType::LeftLargeHalfLoopDown 96, // 96, // 96, // @@ -3816,11 +3816,11 @@ const uint8_t TrackPieceLengths[TRACK_ELEM_COUNT] = { }; // rct2: 0x00998C95 -const track_curve_chain gTrackCurveChain[TRACK_ELEM_COUNT] = { +const track_curve_chain gTrackCurveChain[TrackElemType::Count] = { { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION, RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION, RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION, RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION }, + { RideConstructionSpecialPieceSelected | TrackElemType::EndStation, RideConstructionSpecialPieceSelected | TrackElemType::EndStation }, + { RideConstructionSpecialPieceSelected | TrackElemType::EndStation, RideConstructionSpecialPieceSelected | TrackElemType::EndStation }, + { RideConstructionSpecialPieceSelected | TrackElemType::EndStation, RideConstructionSpecialPieceSelected | TrackElemType::EndStation }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, @@ -3869,22 +3869,22 @@ const track_curve_chain gTrackCurveChain[TRACK_ELEM_COUNT] = { { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, { TRACK_CURVE_LEFT_VERY_SMALL, TRACK_CURVE_LEFT_VERY_SMALL }, { TRACK_CURVE_RIGHT_VERY_SMALL, TRACK_CURVE_RIGHT_VERY_SMALL }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN, TRACK_CURVE_NONE }, - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP }, - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_HALF_LOOP_DOWN, TRACK_CURVE_NONE }, - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_HALF_LOOP_UP }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_CORKSCREW_DOWN, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_CORKSCREW_DOWN, TRACK_CURVE_NONE }, - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_CORKSCREW_UP }, - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_CORKSCREW_UP }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftTwistUpToDown, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightTwistUpToDown, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftTwistDownToUp }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightTwistDownToUp }, + { RideConstructionSpecialPieceSelected | TrackElemType::HalfLoopDown, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::HalfLoopUp }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightCorkscrewDown, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftCorkscrewDown, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightCorkscrewUp }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftCorkscrewUp }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_TOWER_SECTION, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_TOWER_SECTION, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TrackElemType::TowerSection, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TrackElemType::TowerSection, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, @@ -3904,33 +3904,33 @@ const track_curve_chain gTrackCurveChain[TRACK_ELEM_COUNT] = { { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftHalfBankedHelixUpSmall, RideConstructionSpecialPieceSelected | TrackElemType::LeftHalfBankedHelixUpSmall }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightHalfBankedHelixUpSmall, RideConstructionSpecialPieceSelected | TrackElemType::RightHalfBankedHelixUpSmall }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftHalfBankedHelixDownSmall, RideConstructionSpecialPieceSelected | TrackElemType::LeftHalfBankedHelixDownSmall }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightHalfBankedHelixDownSmall, RideConstructionSpecialPieceSelected | TrackElemType::RightHalfBankedHelixDownSmall }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftHalfBankedHelixUpLarge, RideConstructionSpecialPieceSelected | TrackElemType::LeftHalfBankedHelixUpLarge }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightHalfBankedHelixUpLarge, RideConstructionSpecialPieceSelected | TrackElemType::RightHalfBankedHelixUpLarge }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftHalfBankedHelixDownLarge, RideConstructionSpecialPieceSelected | TrackElemType::LeftHalfBankedHelixDownLarge }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightHalfBankedHelixDownLarge, RideConstructionSpecialPieceSelected | TrackElemType::RightHalfBankedHelixDownLarge }, { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_BRAKES, RideConstructionSpecialPieceSelected | TRACK_ELEM_BRAKES }, + { RideConstructionSpecialPieceSelected | TrackElemType::Brakes, RideConstructionSpecialPieceSelected | TrackElemType::Brakes }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftQuarterBankedHelixLargeUp, RideConstructionSpecialPieceSelected | TrackElemType::LeftQuarterBankedHelixLargeUp }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightQuarterBankedHelixLargeUp, RideConstructionSpecialPieceSelected | TrackElemType::RightQuarterBankedHelixLargeUp }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftQuarterBankedHelixLargeDown, RideConstructionSpecialPieceSelected | TrackElemType::LeftQuarterBankedHelixLargeDown }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightQuarterBankedHelixLargeDown, RideConstructionSpecialPieceSelected | TrackElemType::RightQuarterBankedHelixLargeDown }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftQuarterHelixLargeUp, RideConstructionSpecialPieceSelected | TrackElemType::LeftQuarterHelixLargeUp }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightQuarterHelixLargeUp, RideConstructionSpecialPieceSelected | TrackElemType::RightQuarterHelixLargeUp }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftQuarterHelixLargeDown, RideConstructionSpecialPieceSelected | TrackElemType::LeftQuarterHelixLargeDown }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightQuarterHelixLargeDown, RideConstructionSpecialPieceSelected | TrackElemType::RightQuarterHelixLargeDown }, { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_WATERFALL, RideConstructionSpecialPieceSelected | TRACK_ELEM_WATERFALL }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RAPIDS, RideConstructionSpecialPieceSelected | TRACK_ELEM_RAPIDS }, + { RideConstructionSpecialPieceSelected | TrackElemType::Waterfall, RideConstructionSpecialPieceSelected | TrackElemType::Waterfall }, + { RideConstructionSpecialPieceSelected | TrackElemType::Rapids, RideConstructionSpecialPieceSelected | TrackElemType::Rapids }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, @@ -3941,8 +3941,8 @@ const track_curve_chain gTrackCurveChain[TRACK_ELEM_COUNT] = { { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_REVERSE_FREEFALL_VERTICAL, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_REVERSE_FREEFALL_VERTICAL, RideConstructionSpecialPieceSelected | TRACK_ELEM_REVERSE_FREEFALL_VERTICAL }, + { RideConstructionSpecialPieceSelected | TrackElemType::ReverseFreefallVertical, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TrackElemType::ReverseFreefallVertical, RideConstructionSpecialPieceSelected | TrackElemType::ReverseFreefallVertical }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, @@ -3991,19 +3991,19 @@ const track_curve_chain gTrackCurveChain[TRACK_ELEM_COUNT] = { { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP, TRACK_CURVE_NONE }, - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN }, - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftBarrelRollDownToUp, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightBarrelRollDownToUp, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftBarrelRollUpToDown }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightBarrelRollUpToDown }, { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_POWERED_LIFT, RideConstructionSpecialPieceSelected | TRACK_ELEM_POWERED_LIFT }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN, TRACK_CURVE_NONE }, - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP }, - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP }, + { RideConstructionSpecialPieceSelected | TrackElemType::PoweredLift, RideConstructionSpecialPieceSelected | TrackElemType::PoweredLift }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftLargeHalfLoopDown, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightLargeHalfLoopDown, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightLargeHalfLoopUp }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftLargeHalfLoopUp }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, @@ -4024,15 +4024,15 @@ const track_curve_chain gTrackCurveChain[TRACK_ELEM_COUNT] = { { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, TRACK_CURVE_NONE }, - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_CURVED_LIFT_HILL, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_CURVED_LIFT_HILL }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_CURVED_LIFT_HILL, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_CURVED_LIFT_HILL }, + { RideConstructionSpecialPieceSelected | TrackElemType::InvertedFlatToDown90QuarterLoop, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::Up90ToInvertedFlatQuarterLoop }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftCurvedLiftHill, RideConstructionSpecialPieceSelected | TrackElemType::LeftCurvedLiftHill }, + { RideConstructionSpecialPieceSelected | TrackElemType::RightCurvedLiftHill, RideConstructionSpecialPieceSelected | TrackElemType::RightCurvedLiftHill }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_REVERSE_FREEFALL_VERTICAL }, - { RideConstructionSpecialPieceSelected | TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN }, - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN }, + { RideConstructionSpecialPieceSelected | TrackElemType::AirThrustVerticalDown, RideConstructionSpecialPieceSelected | TrackElemType::ReverseFreefallVertical }, + { RideConstructionSpecialPieceSelected | TrackElemType::AirThrustVerticalDown, RideConstructionSpecialPieceSelected | TrackElemType::AirThrustVerticalDown }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::AirThrustVerticalDown }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, @@ -4076,7 +4076,7 @@ const track_curve_chain gTrackCurveChain[TRACK_ELEM_COUNT] = { }; // rct2: 0x00999095 -const track_curve_chain gFlatRideTrackCurveChain[TRACK_ELEM_COUNT] = { +const track_curve_chain gFlatRideTrackCurveChain[TrackElemType::Count] = { { 0, 0 }, { 257, 257 }, { 257, 257 }, @@ -4336,170 +4336,170 @@ const track_curve_chain gFlatRideTrackCurveChain[TRACK_ELEM_COUNT] = { }; const track_descriptor gTrackDescriptors[142] = { - { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_DOWN }, - { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN }, - { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT }, - { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN }, - { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_DOWN }, - { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK }, - { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT }, - { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_LEFT_BANK }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_RIGHT_BANK }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP }, - { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL }, - { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK }, - { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT }, - { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK }, - { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_UP }, - { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP }, - { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT }, - { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP }, - { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_DIAG_60_DEG_UP }, - { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_DOWN_TO_FLAT }, - { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_DOWN_TO_FLAT }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN }, - { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_FLAT }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_EIGHTH_TO_DIAG }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_60_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_FLAT_TO_LEFT_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_FLAT }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_VERY_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_VERY_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_FLAT_TO_RIGHT_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_FLAT_TO_60_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_FLAT }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK }, - { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_UP_LEFT_BANKED }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_UP_TO_FLAT }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_25_DEG_UP_RIGHT_BANKED }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP }, - { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP_TO_FLAT }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP }, - { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP }, - { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP }, - { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP }, - { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_90_DEG_UP }, - { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP }, + { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TrackElemType::DiagDown60 }, + { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::DiagDown60ToDown25 }, + { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagDown60ToFlat }, + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TrackElemType::DiagDown25ToDown60 }, + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::DiagDown25 }, + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::DiagDown25ToLeftBank }, + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagDown25ToFlat }, + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::DiagDown25ToRightBank }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::LeftEighthBankToOrthogonal }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::DiagLeftBankToDown25 }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::DiagLeftBank }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagLeftBankToFlat }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::DiagLeftBankToUp25 }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::LeftEighthToOrthogonal }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TrackElemType::DiagFlatToDown60 }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::DiagFlatToDown25 }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::DiagFlatToLeftBank }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagFlat }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::DiagFlatToRightBank }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::DiagFlatToUp25 }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TrackElemType::DiagFlatToUp60 }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::RightEighthToOrthogonal }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::DiagRightBankToDown25 }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagRightBankToFlat }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::DiagRightBank }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::DiagRightBankToUp25 }, + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::RightEighthBankToOrthogonal }, + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::DiagUp25ToLeftBank }, + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagUp25ToFlat }, + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::DiagUp25ToRightBank }, + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::DiagUp25 }, + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TrackElemType::DiagUp25ToUp60 }, + { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagUp60ToFlat }, + { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::DiagUp60ToUp25 }, + { true, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TrackElemType::DiagUp60 }, + { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TrackElemType::LeftQuarterTurn1TileDown90 }, + { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TrackElemType::Down90 }, + { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TrackElemType::Down90ToDown60 }, + { false, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn1TileDown90 }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TrackElemType::LeftQuarterTurn1TileDown60 }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TrackElemType::Down60ToDown90 }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TrackElemType::Down60 }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::Down60ToDown25 }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::Down60ToFlat }, + { false, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn1TileDown60 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::LeftBankedQuarterTurn3TileDown25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::LeftBankedQuarterTurn5TileDown25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::Down25LeftBanked }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::LeftBankedDown25ToDown25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::LeftBankedDown25ToLeftBankedFlat }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::LeftBankedDown25ToFlat }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::LeftQuarterTurn3TilesDown25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::LeftQuarterTurn5TilesDown25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TrackElemType::Down25ToDown60 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::Down25ToLeftBankedDown25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::Down25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::Down25ToRightBankedDown25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::Down25ToLeftBank }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::Down25ToFlat }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::Down25ToRightBank }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn5TilesDown25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::RightQuarterTurn3TilesDown25ToRightBank }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn3TilesDown25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::RightBankedDown25ToDown25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::Down25RightBanked }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::RightBankedDown25ToFlat }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::RightBankedDown25ToRightBankedFlat }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::RightBankedQuarterTurn5TileDown25 }, + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::RightBankedQuarterTurn3TileDown25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::LeftBankedQuarterTurn3Tiles }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::BankedLeftQuarterTurn5Tiles }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::LeftEighthBankToDiag }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::LeftBankedFlatToLeftBankedDown25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::LeftBankToDown25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::LeftBank }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::LeftBankToFlat }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::LeftBankedFlatToLeftBankedUp25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::LeftBankToUp25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::LeftQuarterTurn3Tiles }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::LeftQuarterTurn5Tiles }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::LeftEighthToDiag }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TrackElemType::FlatToDown60 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::FlatToLeftBankedDown25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::FlatToDown25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::FlatToRightBankedDown25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::FlatToLeftBank }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::Flat }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_LEFT_VERY_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::LeftQuarterTurn1Tile }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_VERY_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn1Tile }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::FlatToRightBank }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::FlatToLeftBankedUp25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::FlatToUp25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::FlatToRightBankedUp25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TrackElemType::FlatToUp60 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::RightEighthToDiag }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn5Tiles }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn3Tiles }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::RightBankToDown25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::RightBankedFlatToRightBankedDown25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::RightBankToFlat }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::RightBank }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::RightBankToUp25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::RightBankedFlatToRightBankedUp25 }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::RightEighthBankToDiag }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::BankedRightQuarterTurn5Tiles }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::RightBankedQuarterTurn3Tiles }, + { false, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::RightBankToRightQuarterTurn3TilesUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::LeftBankedQuarterTurn3TileUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::LeftBankedQuarterTurn5TileUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::LeftBankedUp25ToLeftBankedFlat }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::LeftBankedUp25ToFlat }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::Up25LeftBanked }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::LeftBankedUp25ToUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::LeftQuarterTurn3TilesUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::LeftQuarterTurn5TilesUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::Up25ToLeftBank }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::Up25ToFlat }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::Up25ToRightBank }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::Up25ToLeftBankedUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::Up25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::Up25ToRightBankedUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TrackElemType::Up25ToUp60 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn5TilesUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn3TilesUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::RightBankedUp25ToFlat }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::RightBankedUp25ToRightBankedFlat }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::RightBankedUp25ToUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::Up25RightBanked }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::RightBankedQuarterTurn5TileUp25 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::RightBankedQuarterTurn3TileUp25 }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TrackElemType::LeftQuarterTurn1TileUp60 }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::Up60ToFlat }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::Up60ToUp25 }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TrackElemType::Up60 }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TrackElemType::Up60ToUp90 }, + { false, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn1TileUp60 }, + { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_LEFT_SMALL, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TrackElemType::LeftQuarterTurn1TileUp90 }, + { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TrackElemType::Up90ToUp60 }, + { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TrackElemType::Up90 }, + { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn1TileUp90 }, }; /** rct2: 0x00993D1C */ -const int16_t AlternativeTrackTypes[TRACK_ELEM_COUNT] = { - TRACK_ELEM_FLAT_COVERED, // TRACK_ELEM_FLAT +const int16_t AlternativeTrackTypes[TrackElemType::Count] = { + TrackElemType::FlatCovered, // TrackElemType::Flat -1, -1, -1, - TRACK_ELEM_25_DEG_UP_COVERED, // TRACK_ELEM_25_DEG_UP - TRACK_ELEM_60_DEG_UP_COVERED, // TRACK_ELEM_60_DEG_UP - TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED, // TRACK_ELEM_FLAT_TO_25_DEG_UP - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED, // TRACK_ELEM_25_DEG_UP_TO_FLAT - TRACK_ELEM_25_DEG_DOWN_COVERED, // TRACK_ELEM_25_DEG_DOWN - TRACK_ELEM_60_DEG_DOWN_COVERED, // TRACK_ELEM_60_DEG_DOWN - TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + TrackElemType::Up25Covered, // TrackElemType::Up25 + TrackElemType::Up60Covered, // TrackElemType::Up60 + TrackElemType::FlatToUp25Covered, // TrackElemType::FlatToUp25 + TrackElemType::Up25ToUp60Covered, // TrackElemType::Up25ToUp60 + TrackElemType::Up60ToUp25Covered, // TrackElemType::Up60ToUp25 + TrackElemType::Up25ToFlatCovered, // TrackElemType::Up25ToFlat + TrackElemType::Down25Covered, // TrackElemType::Down25 + TrackElemType::Down60Covered, // TrackElemType::Down60 + TrackElemType::FlatToDown25Covered, // TrackElemType::FlatToDown25 + TrackElemType::Down25ToDown60Covered, // TrackElemType::Down25ToDown60 + TrackElemType::Down60ToDown25Covered, // TrackElemType::Down60ToDown25 + TrackElemType::Down25ToFlatCovered, // TrackElemType::Down25ToFlat + TrackElemType::LeftQuarterTurn5TilesCovered, // TrackElemType::LeftQuarterTurn5Tiles + TrackElemType::RightQuarterTurn5TilesCovered, // TrackElemType::RightQuarterTurn5Tiles -1, -1, -1, @@ -4520,12 +4520,12 @@ const int16_t AlternativeTrackTypes[TRACK_ELEM_COUNT] = { -1, -1, -1, - TRACK_ELEM_S_BEND_LEFT_COVERED, // TRACK_ELEM_S_BEND_LEFT - TRACK_ELEM_S_BEND_RIGHT_COVERED, // TRACK_ELEM_S_BEND_RIGHT + TrackElemType::SBendLeftCovered, // TrackElemType::SBendLeft + TrackElemType::SBendRightCovered, // TrackElemType::SBendRight -1, -1, - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + TrackElemType::LeftQuarterTurn3TilesCovered, // TrackElemType::LeftQuarterTurn3Tiles + TrackElemType::RightQuarterTurn3TilesCovered, // TrackElemType::RightQuarterTurn3Tiles -1, -1, -1, @@ -4742,261 +4742,261 @@ const int16_t AlternativeTrackTypes[TRACK_ELEM_COUNT] = { /** rct2: 0x0099DA34 */ const money32 TrackPricing[] = { - 65536, // TRACK_ELEM_FLAT - 98304, // TRACK_ELEM_END_STATION - 98304, // TRACK_ELEM_BEGIN_STATION - 98304, // TRACK_ELEM_MIDDLE_STATION - 79872, // TRACK_ELEM_25_DEG_UP - 114688, // TRACK_ELEM_60_DEG_UP - 73728, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 96256, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 96256, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 73728, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 79872, // TRACK_ELEM_25_DEG_DOWN - 114688, // TRACK_ELEM_60_DEG_DOWN - 73728, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 96256, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 96256, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 73728, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 257359, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 257359, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 69632, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 69632, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 69632, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 69632, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 273443, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 273443, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 78336, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 78336, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 78336, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 78336, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 78336, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 78336, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 78336, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 78336, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 69632, // TRACK_ELEM_LEFT_BANK - 69632, // TRACK_ELEM_RIGHT_BANK - 313656, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 313656, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 313656, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 313656, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 229376, // TRACK_ELEM_S_BEND_LEFT - 229376, // TRACK_ELEM_S_BEND_RIGHT - 491520, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 491520, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 154415, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 154415, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 164065, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 164065, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 51471, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 51471, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - 212992, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - 212992, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - 212992, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - 212992, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - 294912, // TRACK_ELEM_HALF_LOOP_UP - 294912, // TRACK_ELEM_HALF_LOOP_DOWN - 229376, // TRACK_ELEM_LEFT_CORKSCREW_UP - 229376, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 229376, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 229376, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - 98304, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 98304, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 98304, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 98304, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - 524288, // TRACK_ELEM_TOWER_BASE - 65536, // TRACK_ELEM_TOWER_SECTION - 69632, // TRACK_ELEM_FLAT_COVERED - 83968, // TRACK_ELEM_25_DEG_UP_COVERED - 118784, // TRACK_ELEM_60_DEG_UP_COVERED - 77824, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED - 100352, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - 100352, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - 77824, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED - 83968, // TRACK_ELEM_25_DEG_DOWN_COVERED - 118784, // TRACK_ELEM_60_DEG_DOWN_COVERED - 77824, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED - 100352, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - 100352, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - 77824, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED - 261455, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - 261455, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - 233472, // TRACK_ELEM_S_BEND_LEFT_COVERED - 233472, // TRACK_ELEM_S_BEND_RIGHT_COVERED - 158511, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - 158511, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - 328192, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 328192, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 328192, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 328192, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 547072, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 547072, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 547072, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 547072, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 126976, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 126976, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 126976, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 126976, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 90112, // TRACK_ELEM_BRAKES - 77824, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE - 65536, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP / TRACK_ELEM_MAZE - 273539, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - 273539, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - 273539, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - 273539, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - 273539, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - 273539, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - 273539, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - 273539, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - 83968, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 83968, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - 143360, // TRACK_ELEM_WATERFALL - 118784, // TRACK_ELEM_RAPIDS - 196608, // TRACK_ELEM_ON_RIDE_PHOTO - 83968, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 83968, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 393216, // TRACK_ELEM_WATER_SPLASH - 376832, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - 376832, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - 126976, // TRACK_ELEM_WHIRLPOOL - 376832, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - 376832, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - 643072, // TRACK_ELEM_CABLE_LIFT_HILL - 491520, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - 65536, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL - 69632, // TRACK_ELEM_90_DEG_UP - 69632, // TRACK_ELEM_90_DEG_DOWN - 114688, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 114688, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 114688, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 114688, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - 147456, // TRACK_ELEM_BRAKE_FOR_DROP - 180151, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 180151, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 180151, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 180151, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 190960, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 190960, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 190960, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 190960, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 92681, // TRACK_ELEM_DIAG_FLAT - 111820, // TRACK_ELEM_DIAG_25_DEG_UP - 147456, // TRACK_ELEM_DIAG_60_DEG_UP - 102400, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 129024, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 129024, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 102400, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 111820, // TRACK_ELEM_DIAG_25_DEG_DOWN - 147456, // TRACK_ELEM_DIAG_60_DEG_DOWN - 102400, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 129024, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 129024, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 102400, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 107008, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP - 107008, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT - 107008, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN - 107008, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT - 96777, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 96777, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 96777, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 96777, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 106496, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 106496, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 106496, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 106496, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 106496, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 106496, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 106496, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 106496, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 96777, // TRACK_ELEM_DIAG_LEFT_BANK - 96777, // TRACK_ELEM_DIAG_RIGHT_BANK - 282624, // TRACK_ELEM_LOG_FLUME_REVERSER - 217088, // TRACK_ELEM_SPINNING_TUNNEL - 221184, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - 221184, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - 221184, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - 221184, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - 270226, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 270226, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - 270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - 96384, // TRACK_ELEM_POWERED_LIFT - 884736, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - 884736, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - 884736, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - 884736, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN - 221184, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - 221184, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - 221184, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - 221184, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - 294912, // TRACK_ELEM_FLYER_HALF_LOOP_UP - 294912, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN - 229376, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP - 229376, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP - 229376, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN - 229376, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN - 294912, // TRACK_ELEM_HEARTLINE_TRANSFER_UP - 294912, // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN - 417792, // TRACK_ELEM_LEFT_HEARTLINE_ROLL - 417792, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL - 159744, // TRACK_ELEM_MINI_GOLF_HOLE_A - 167936, // TRACK_ELEM_MINI_GOLF_HOLE_B - 172032, // TRACK_ELEM_MINI_GOLF_HOLE_C - 184320, // TRACK_ELEM_MINI_GOLF_HOLE_D - 184320, // TRACK_ELEM_MINI_GOLF_HOLE_E - 360448, // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - 360448, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - 360448, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - 270226, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL - 270226, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL - 393216, // TRACK_ELEM_LEFT_REVERSER - 393216, // TRACK_ELEM_RIGHT_REVERSER - 65536, // TRACK_ELEM_AIR_THRUST_TOP_CAP - 65536, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN - 491520, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL - 94208, // TRACK_ELEM_BLOCK_BRAKES - 287115, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 287115, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 287115, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 287115, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 333259, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 333259, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 333259, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 333259, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 83968, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 83968, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 83968, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 83968, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 83968, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 83968, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 83968, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 83968, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 77824, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 77824, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 77824, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 77824, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 77824, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 77824, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 77824, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 77824, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 151552, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - 151552, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - 151552, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 151552, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 360448, // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP - 360448, // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP + 65536, // TrackElemType::Flat + 98304, // TrackElemType::EndStation + 98304, // TrackElemType::BeginStation + 98304, // TrackElemType::MiddleStation + 79872, // TrackElemType::Up25 + 114688, // TrackElemType::Up60 + 73728, // TrackElemType::FlatToUp25 + 96256, // TrackElemType::Up25ToUp60 + 96256, // TrackElemType::Up60ToUp25 + 73728, // TrackElemType::Up25ToFlat + 79872, // TrackElemType::Down25 + 114688, // TrackElemType::Down60 + 73728, // TrackElemType::FlatToDown25 + 96256, // TrackElemType::Down25ToDown60 + 96256, // TrackElemType::Down60ToDown25 + 73728, // TrackElemType::Down25ToFlat + 257359, // TrackElemType::LeftQuarterTurn5Tiles + 257359, // TrackElemType::RightQuarterTurn5Tiles + 69632, // TrackElemType::FlatToLeftBank + 69632, // TrackElemType::FlatToRightBank + 69632, // TrackElemType::LeftBankToFlat + 69632, // TrackElemType::RightBankToFlat + 273443, // TrackElemType::BankedLeftQuarterTurn5Tiles + 273443, // TrackElemType::BankedRightQuarterTurn5Tiles + 78336, // TrackElemType::LeftBankToUp25 + 78336, // TrackElemType::RightBankToUp25 + 78336, // TrackElemType::Up25ToLeftBank + 78336, // TrackElemType::Up25ToRightBank + 78336, // TrackElemType::LeftBankToDown25 + 78336, // TrackElemType::RightBankToDown25 + 78336, // TrackElemType::Down25ToLeftBank + 78336, // TrackElemType::Down25ToRightBank + 69632, // TrackElemType::LeftBank + 69632, // TrackElemType::RightBank + 313656, // TrackElemType::LeftQuarterTurn5TilesUp25 + 313656, // TrackElemType::RightQuarterTurn5TilesUp25 + 313656, // TrackElemType::LeftQuarterTurn5TilesDown25 + 313656, // TrackElemType::RightQuarterTurn5TilesDown25 + 229376, // TrackElemType::SBendLeft + 229376, // TrackElemType::SBendRight + 491520, // TrackElemType::LeftVerticalLoop + 491520, // TrackElemType::RightVerticalLoop + 154415, // TrackElemType::LeftQuarterTurn3Tiles + 154415, // TrackElemType::RightQuarterTurn3Tiles + 164065, // TrackElemType::LeftBankedQuarterTurn3Tiles + 164065, // TrackElemType::RightBankedQuarterTurn3Tiles + 270226, // TrackElemType::LeftQuarterTurn3TilesUp25 + 270226, // TrackElemType::RightQuarterTurn3TilesUp25 + 270226, // TrackElemType::LeftQuarterTurn3TilesDown25 + 270226, // TrackElemType::RightQuarterTurn3TilesDown25 + 51471, // TrackElemType::LeftQuarterTurn1Tile + 51471, // TrackElemType::RightQuarterTurn1Tile + 212992, // TrackElemType::LeftTwistDownToUp + 212992, // TrackElemType::RightTwistDownToUp + 212992, // TrackElemType::LeftTwistUpToDown + 212992, // TrackElemType::RightTwistUpToDown + 294912, // TrackElemType::HalfLoopUp + 294912, // TrackElemType::HalfLoopDown + 229376, // TrackElemType::LeftCorkscrewUp + 229376, // TrackElemType::RightCorkscrewUp + 229376, // TrackElemType::LeftCorkscrewDown + 229376, // TrackElemType::RightCorkscrewDown + 98304, // TrackElemType::FlatToUp60 + 98304, // TrackElemType::Up60ToFlat + 98304, // TrackElemType::FlatToDown60 + 98304, // TrackElemType::Down60ToFlat + 524288, // TrackElemType::TowerBase + 65536, // TrackElemType::TowerSection + 69632, // TrackElemType::FlatCovered + 83968, // TrackElemType::Up25Covered + 118784, // TrackElemType::Up60Covered + 77824, // TrackElemType::FlatToUp25Covered + 100352, // TrackElemType::Up25ToUp60Covered + 100352, // TrackElemType::Up60ToUp25Covered + 77824, // TrackElemType::Up25ToFlatCovered + 83968, // TrackElemType::Down25Covered + 118784, // TrackElemType::Down60Covered + 77824, // TrackElemType::FlatToDown25Covered + 100352, // TrackElemType::Down25ToDown60Covered + 100352, // TrackElemType::Down60ToDown25Covered + 77824, // TrackElemType::Down25ToFlatCovered + 261455, // TrackElemType::LeftQuarterTurn5TilesCovered + 261455, // TrackElemType::RightQuarterTurn5TilesCovered + 233472, // TrackElemType::SBendLeftCovered + 233472, // TrackElemType::SBendRightCovered + 158511, // TrackElemType::LeftQuarterTurn3TilesCovered + 158511, // TrackElemType::RightQuarterTurn3TilesCovered + 328192, // TrackElemType::LeftHalfBankedHelixUpSmall + 328192, // TrackElemType::RightHalfBankedHelixUpSmall + 328192, // TrackElemType::LeftHalfBankedHelixDownSmall + 328192, // TrackElemType::RightHalfBankedHelixDownSmall + 547072, // TrackElemType::LeftHalfBankedHelixUpLarge + 547072, // TrackElemType::RightHalfBankedHelixUpLarge + 547072, // TrackElemType::LeftHalfBankedHelixDownLarge + 547072, // TrackElemType::RightHalfBankedHelixDownLarge + 126976, // TrackElemType::LeftQuarterTurn1TileUp60 + 126976, // TrackElemType::RightQuarterTurn1TileUp60 + 126976, // TrackElemType::LeftQuarterTurn1TileDown60 + 126976, // TrackElemType::RightQuarterTurn1TileDown60 + 90112, // TrackElemType::Brakes + 77824, // TrackElemType::RotationControlToggle + 65536, // TrackElemType::InvertedUp90ToFlatQuarterLoopAlias / Maze + 273539, // TrackElemType::LeftQuarterBankedHelixLargeUp + 273539, // TrackElemType::RightQuarterBankedHelixLargeUp + 273539, // TrackElemType::LeftQuarterBankedHelixLargeDown + 273539, // TrackElemType::RightQuarterBankedHelixLargeDown + 273539, // TrackElemType::LeftQuarterHelixLargeUp + 273539, // TrackElemType::RightQuarterHelixLargeUp + 273539, // TrackElemType::LeftQuarterHelixLargeDown + 273539, // TrackElemType::RightQuarterHelixLargeDown + 83968, // TrackElemType::Up25LeftBanked + 83968, // TrackElemType::Up25RightBanked + 143360, // TrackElemType::Waterfall + 118784, // TrackElemType::Rapids + 196608, // TrackElemType::OnRidePhoto + 83968, // TrackElemType::Down25LeftBanked + 83968, // TrackElemType::Down25RightBanked + 393216, // TrackElemType::Watersplash + 376832, // TrackElemType::FlatToUp60LongBase + 376832, // TrackElemType::Up60ToFlatLongBase + 126976, // TrackElemType::Whirlpool + 376832, // TrackElemType::Down60ToFlatLongBase + 376832, // TrackElemType::FlatToDown60LongBase + 643072, // TrackElemType::CableLiftHill + 491520, // TrackElemType::ReverseFreefallSlope + 65536, // TrackElemType::ReverseFreefallVertical + 69632, // TrackElemType::Up90 + 69632, // TrackElemType::Down90 + 114688, // TrackElemType::Up60ToUp90 + 114688, // TrackElemType::Down90ToDown60 + 114688, // TrackElemType::Up90ToUp60 + 114688, // TrackElemType::Down60ToDown90 + 147456, // TrackElemType::BrakeForDrop + 180151, // TrackElemType::LeftEighthToDiag + 180151, // TrackElemType::RightEighthToDiag + 180151, // TrackElemType::LeftEighthToOrthogonal + 180151, // TrackElemType::RightEighthToOrthogonal + 190960, // TrackElemType::LeftEighthBankToDiag + 190960, // TrackElemType::RightEighthBankToDiag + 190960, // TrackElemType::LeftEighthBankToOrthogonal + 190960, // TrackElemType::RightEighthBankToOrthogonal + 92681, // TrackElemType::DiagFlat + 111820, // TrackElemType::DiagUp25 + 147456, // TrackElemType::DiagUp60 + 102400, // TrackElemType::DiagFlatToUp25 + 129024, // TrackElemType::DiagUp25ToUp60 + 129024, // TrackElemType::DiagUp60ToUp25 + 102400, // TrackElemType::DiagUp25ToFlat + 111820, // TrackElemType::DiagDown25 + 147456, // TrackElemType::DiagDown60 + 102400, // TrackElemType::DiagFlatToDown25 + 129024, // TrackElemType::DiagDown25ToDown60 + 129024, // TrackElemType::DiagDown60ToDown25 + 102400, // TrackElemType::DiagDown25ToFlat + 107008, // TrackElemType::DiagFlatToUp60 + 107008, // TrackElemType::DiagUp60ToFlat + 107008, // TrackElemType::DiagFlatToDown60 + 107008, // TrackElemType::DiagDown60ToFlat + 96777, // TrackElemType::DiagFlatToLeftBank + 96777, // TrackElemType::DiagFlatToRightBank + 96777, // TrackElemType::DiagLeftBankToFlat + 96777, // TrackElemType::DiagRightBankToFlat + 106496, // TrackElemType::DiagLeftBankToUp25 + 106496, // TrackElemType::DiagRightBankToUp25 + 106496, // TrackElemType::DiagUp25ToLeftBank + 106496, // TrackElemType::DiagUp25ToRightBank + 106496, // TrackElemType::DiagLeftBankToDown25 + 106496, // TrackElemType::DiagRightBankToDown25 + 106496, // TrackElemType::DiagDown25ToLeftBank + 106496, // TrackElemType::DiagDown25ToRightBank + 96777, // TrackElemType::DiagLeftBank + 96777, // TrackElemType::DiagRightBank + 282624, // TrackElemType::LogFlumeReverser + 217088, // TrackElemType::SpinningTunnel + 221184, // TrackElemType::LeftBarrelRollUpToDown + 221184, // TrackElemType::RightBarrelRollUpToDown + 221184, // TrackElemType::LeftBarrelRollDownToUp + 221184, // TrackElemType::RightBarrelRollDownToUp + 270226, // TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25 + 270226, // TrackElemType::RightBankToRightQuarterTurn3TilesUp25 + 270226, // TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank + 270226, // TrackElemType::RightQuarterTurn3TilesDown25ToRightBank + 96384, // TrackElemType::PoweredLift + 884736, // TrackElemType::LeftLargeHalfLoopUp + 884736, // TrackElemType::RightLargeHalfLoopUp + 884736, // TrackElemType::RightLargeHalfLoopDown + 884736, // TrackElemType::LeftLargeHalfLoopDown + 221184, // TrackElemType::LeftFlyerTwistUp + 221184, // TrackElemType::RightFlyerTwistUp + 221184, // TrackElemType::LeftFlyerTwistDown + 221184, // TrackElemType::RightFlyerTwistDown + 294912, // TrackElemType::FlyerHalfLoopUp + 294912, // TrackElemType::FlyerHalfLoopDown + 229376, // TrackElemType::LeftFlyerCorkscrewUp + 229376, // TrackElemType::RightFlyerCorkscrewUp + 229376, // TrackElemType::LeftFlyerCorkscrewDown + 229376, // TrackElemType::RightFlyerCorkscrewDown + 294912, // TrackElemType::HeartLineTransferUp + 294912, // TrackElemType::HeartLineTransferDown + 417792, // TrackElemType::LeftHeartLineRoll + 417792, // TrackElemType::RightHeartLineRoll + 159744, // TrackElemType::MinigolfHoleA + 167936, // TrackElemType::MinigolfHoleB + 172032, // TrackElemType::MinigolfHoleC + 184320, // TrackElemType::MinigolfHoleD + 184320, // TrackElemType::MinigolfHoleE + 360448, // TrackElemType::MultiDimInvertedFlatToDown90QuarterLoop + 360448, // TrackElemType::Up90ToInvertedFlatQuarterLoop + 360448, // TrackElemType::InvertedFlatToDown90QuarterLoop + 270226, // TrackElemType::LeftCurvedLiftHill + 270226, // TrackElemType::RightCurvedLiftHill + 393216, // TrackElemType::LeftReverser + 393216, // TrackElemType::RightReverser + 65536, // TrackElemType::AirThrustTopCap + 65536, // TrackElemType::AirThrustVerticalDown + 491520, // TrackElemType::AirThrustVerticalDownToLevel + 94208, // TrackElemType::BlockBrakes + 287115, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + 287115, // TrackElemType::RightBankedQuarterTurn3TileUp25 + 287115, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + 287115, // TrackElemType::RightBankedQuarterTurn3TileDown25 + 333259, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + 333259, // TrackElemType::RightBankedQuarterTurn5TileUp25 + 333259, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + 333259, // TrackElemType::RightBankedQuarterTurn5TileDown25 + 83968, // TrackElemType::Up25ToLeftBankedUp25 + 83968, // TrackElemType::Up25ToRightBankedUp25 + 83968, // TrackElemType::LeftBankedUp25ToUp25 + 83968, // TrackElemType::RightBankedUp25ToUp25 + 83968, // TrackElemType::Down25ToLeftBankedDown25 + 83968, // TrackElemType::Down25ToRightBankedDown25 + 83968, // TrackElemType::LeftBankedDown25ToDown25 + 83968, // TrackElemType::RightBankedDown25ToDown25 + 77824, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + 77824, // TrackElemType::RightBankedFlatToRightBankedUp25 + 77824, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + 77824, // TrackElemType::RightBankedUp25ToRightBankedFlat + 77824, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + 77824, // TrackElemType::RightBankedFlatToRightBankedDown25 + 77824, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + 77824, // TrackElemType::RightBankedDown25ToRightBankedFlat + 77824, // TrackElemType::FlatToLeftBankedUp25 + 77824, // TrackElemType::FlatToRightBankedUp25 + 77824, // TrackElemType::LeftBankedUp25ToFlat + 77824, // TrackElemType::RightBankedUp25ToFlat + 77824, // TrackElemType::FlatToLeftBankedDown25 + 77824, // TrackElemType::FlatToRightBankedDown25 + 77824, // TrackElemType::LeftBankedDown25ToFlat + 77824, // TrackElemType::RightBankedDown25ToFlat + 151552, // TrackElemType::LeftQuarterTurn1TileUp90 + 151552, // TrackElemType::RightQuarterTurn1TileUp90 + 151552, // TrackElemType::LeftQuarterTurn1TileDown90 + 151552, // TrackElemType::RightQuarterTurn1TileDown90 + 360448, // TrackElemType::MultiDimUp90ToInvertedFlatQuarterLoop + 360448, // TrackElemType::MultiDimFlatToDown90QuarterLoop 360448, // }; @@ -5516,781 +5516,781 @@ const dodgems_track_size DodgemsTrackSize[] = { /** rct2: 0x0099EA1C */ const uint8_t TrackElementMirrorMap[] = { - TRACK_ELEM_FLAT, - TRACK_ELEM_END_STATION, - TRACK_ELEM_BEGIN_STATION, - TRACK_ELEM_MIDDLE_STATION, - TRACK_ELEM_25_DEG_UP, - TRACK_ELEM_60_DEG_UP, - TRACK_ELEM_FLAT_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP, - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_25_DEG_UP_TO_FLAT, - TRACK_ELEM_25_DEG_DOWN, - TRACK_ELEM_60_DEG_DOWN, - TRACK_ELEM_FLAT_TO_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - TRACK_ELEM_FLAT_TO_RIGHT_BANK, // TRACK_ELEM_FLAT_TO_LEFT_BANK - TRACK_ELEM_FLAT_TO_LEFT_BANK, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - TRACK_ELEM_RIGHT_BANK_TO_FLAT, // TRACK_ELEM_LEFT_BANK_TO_FLAT - TRACK_ELEM_LEFT_BANK_TO_FLAT, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - TRACK_ELEM_RIGHT_BANK, // TRACK_ELEM_LEFT_BANK - TRACK_ELEM_LEFT_BANK, // TRACK_ELEM_RIGHT_BANK - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - TRACK_ELEM_S_BEND_RIGHT, // TRACK_ELEM_S_BEND_LEFT - TRACK_ELEM_S_BEND_LEFT, // TRACK_ELEM_S_BEND_RIGHT - TRACK_ELEM_RIGHT_VERTICAL_LOOP, // TRACK_ELEM_LEFT_VERTICAL_LOOP - TRACK_ELEM_LEFT_VERTICAL_LOOP, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - TRACK_ELEM_HALF_LOOP_UP, - TRACK_ELEM_HALF_LOOP_DOWN, - TRACK_ELEM_RIGHT_CORKSCREW_UP, // TRACK_ELEM_LEFT_CORKSCREW_UP - TRACK_ELEM_LEFT_CORKSCREW_UP, // TRACK_ELEM_RIGHT_CORKSCREW_UP - TRACK_ELEM_RIGHT_CORKSCREW_DOWN, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - TRACK_ELEM_LEFT_CORKSCREW_DOWN, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - TRACK_ELEM_FLAT_TO_60_DEG_UP, - TRACK_ELEM_60_DEG_UP_TO_FLAT, - TRACK_ELEM_FLAT_TO_60_DEG_DOWN, - TRACK_ELEM_60_DEG_DOWN_TO_FLAT, - TRACK_ELEM_TOWER_BASE, - TRACK_ELEM_TOWER_SECTION, - TRACK_ELEM_FLAT_COVERED, - TRACK_ELEM_25_DEG_UP_COVERED, - TRACK_ELEM_60_DEG_UP_COVERED, - TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED, - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED, - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED, - TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED, - TRACK_ELEM_25_DEG_DOWN_COVERED, - TRACK_ELEM_60_DEG_DOWN_COVERED, - TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED, - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED, - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED, - TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED, - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - TRACK_ELEM_S_BEND_RIGHT_COVERED, // TRACK_ELEM_S_BEND_LEFT_COVERED - TRACK_ELEM_S_BEND_LEFT_COVERED, // TRACK_ELEM_S_BEND_RIGHT_COVERED - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - TRACK_ELEM_BRAKES, - TRACK_ELEM_ROTATION_CONTROL_TOGGLE, - TRACK_ELEM_MAZE, - TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - TRACK_ELEM_25_DEG_UP_RIGHT_BANKED, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - TRACK_ELEM_25_DEG_UP_LEFT_BANKED, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - TRACK_ELEM_WATERFALL, - TRACK_ELEM_RAPIDS, - TRACK_ELEM_ON_RIDE_PHOTO, - TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - TRACK_ELEM_WATER_SPLASH, - TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE, - TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE, - TRACK_ELEM_WHIRLPOOL, - TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE, - TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122, - TRACK_ELEM_CABLE_LIFT_HILL, - TRACK_ELEM_REVERSE_FREEFALL_SLOPE, - TRACK_ELEM_REVERSE_FREEFALL_VERTICAL, - TRACK_ELEM_90_DEG_UP, - TRACK_ELEM_90_DEG_DOWN, - TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP, - TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP, - TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN, - TRACK_ELEM_BRAKE_FOR_DROP, - TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - TRACK_ELEM_LEFT_EIGHTH_TO_DIAG, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - TRACK_ELEM_DIAG_FLAT, - TRACK_ELEM_DIAG_25_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP, - TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP, - TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP, - TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT, - TRACK_ELEM_DIAG_25_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN, - TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN, - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP, - TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN, - TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT, - TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - TRACK_ELEM_DIAG_RIGHT_BANK, // TRACK_ELEM_DIAG_LEFT_BANK - TRACK_ELEM_DIAG_LEFT_BANK, // TRACK_ELEM_DIAG_RIGHT_BANK - TRACK_ELEM_LOG_FLUME_REVERSER, - TRACK_ELEM_SPINNING_TUNNEL, - TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - TRACK_ELEM_POWERED_LIFT, - TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN - TRACK_ELEM_RIGHT_FLYER_TWIST_UP, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - TRACK_ELEM_LEFT_FLYER_TWIST_UP, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - TRACK_ELEM_LEFT_FLYER_TWIST_DOWN, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - TRACK_ELEM_FLYER_HALF_LOOP_UP, - TRACK_ELEM_FLYER_HALF_LOOP_DOWN, - TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP - TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP - TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN - TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN - TRACK_ELEM_HEARTLINE_TRANSFER_UP, - TRACK_ELEM_HEARTLINE_TRANSFER_DOWN, - TRACK_ELEM_RIGHT_HEARTLINE_ROLL, // TRACK_ELEM_LEFT_HEARTLINE_ROLL - TRACK_ELEM_LEFT_HEARTLINE_ROLL, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL - TRACK_ELEM_MINI_GOLF_HOLE_A, - TRACK_ELEM_MINI_GOLF_HOLE_B, - TRACK_ELEM_MINI_GOLF_HOLE_C, - TRACK_ELEM_MINI_GOLF_HOLE_E, // TRACK_ELEM_MINI_GOLF_HOLE_D - TRACK_ELEM_MINI_GOLF_HOLE_D, // TRACK_ELEM_MINI_GOLF_HOLE_E - TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, - TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP, - TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, - TRACK_ELEM_RIGHT_CURVED_LIFT_HILL, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL - TRACK_ELEM_LEFT_CURVED_LIFT_HILL, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL - TRACK_ELEM_RIGHT_REVERSER, // TRACK_ELEM_LEFT_REVERSER - TRACK_ELEM_LEFT_REVERSER, // TRACK_ELEM_RIGHT_REVERSER - TRACK_ELEM_AIR_THRUST_TOP_CAP, - TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN, - TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL, - TRACK_ELEM_BLOCK_BRAKES, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP, - TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP, + TrackElemType::Flat, + TrackElemType::EndStation, + TrackElemType::BeginStation, + TrackElemType::MiddleStation, + TrackElemType::Up25, + TrackElemType::Up60, + TrackElemType::FlatToUp25, + TrackElemType::Up25ToUp60, + TrackElemType::Up60ToUp25, + TrackElemType::Up25ToFlat, + TrackElemType::Down25, + TrackElemType::Down60, + TrackElemType::FlatToDown25, + TrackElemType::Down25ToDown60, + TrackElemType::Down60ToDown25, + TrackElemType::Down25ToFlat, + TrackElemType::RightQuarterTurn5Tiles, // TrackElemType::LeftQuarterTurn5Tiles + TrackElemType::LeftQuarterTurn5Tiles, // TrackElemType::RightQuarterTurn5Tiles + TrackElemType::FlatToRightBank, // TrackElemType::FlatToLeftBank + TrackElemType::FlatToLeftBank, // TrackElemType::FlatToRightBank + TrackElemType::RightBankToFlat, // TrackElemType::LeftBankToFlat + TrackElemType::LeftBankToFlat, // TrackElemType::RightBankToFlat + TrackElemType::BankedRightQuarterTurn5Tiles, // TrackElemType::BankedLeftQuarterTurn5Tiles + TrackElemType::BankedLeftQuarterTurn5Tiles, // TrackElemType::BankedRightQuarterTurn5Tiles + TrackElemType::RightBankToUp25, // TrackElemType::LeftBankToUp25 + TrackElemType::LeftBankToUp25, // TrackElemType::RightBankToUp25 + TrackElemType::Up25ToRightBank, // TrackElemType::Up25ToLeftBank + TrackElemType::Up25ToLeftBank, // TrackElemType::Up25ToRightBank + TrackElemType::RightBankToDown25, // TrackElemType::LeftBankToDown25 + TrackElemType::LeftBankToDown25, // TrackElemType::RightBankToDown25 + TrackElemType::Down25ToRightBank, // TrackElemType::Down25ToLeftBank + TrackElemType::Down25ToLeftBank, // TrackElemType::Down25ToRightBank + TrackElemType::RightBank, // TrackElemType::LeftBank + TrackElemType::LeftBank, // TrackElemType::RightBank + TrackElemType::RightQuarterTurn5TilesUp25, // TrackElemType::LeftQuarterTurn5TilesUp25 + TrackElemType::LeftQuarterTurn5TilesUp25, // TrackElemType::RightQuarterTurn5TilesUp25 + TrackElemType::RightQuarterTurn5TilesDown25, // TrackElemType::LeftQuarterTurn5TilesDown25 + TrackElemType::LeftQuarterTurn5TilesDown25, // TrackElemType::RightQuarterTurn5TilesDown25 + TrackElemType::SBendRight, // TrackElemType::SBendLeft + TrackElemType::SBendLeft, // TrackElemType::SBendRight + TrackElemType::RightVerticalLoop, // TrackElemType::LeftVerticalLoop + TrackElemType::LeftVerticalLoop, // TrackElemType::RightVerticalLoop + TrackElemType::RightQuarterTurn3Tiles, // TrackElemType::LeftQuarterTurn3Tiles + TrackElemType::LeftQuarterTurn3Tiles, // TrackElemType::RightQuarterTurn3Tiles + TrackElemType::RightBankedQuarterTurn3Tiles, // TrackElemType::LeftBankedQuarterTurn3Tiles + TrackElemType::LeftBankedQuarterTurn3Tiles, // TrackElemType::RightBankedQuarterTurn3Tiles + TrackElemType::RightQuarterTurn3TilesUp25, // TrackElemType::LeftQuarterTurn3TilesUp25 + TrackElemType::LeftQuarterTurn3TilesUp25, // TrackElemType::RightQuarterTurn3TilesUp25 + TrackElemType::RightQuarterTurn3TilesDown25, // TrackElemType::LeftQuarterTurn3TilesDown25 + TrackElemType::LeftQuarterTurn3TilesDown25, // TrackElemType::RightQuarterTurn3TilesDown25 + TrackElemType::RightQuarterTurn1Tile, // TrackElemType::LeftQuarterTurn1Tile + TrackElemType::LeftQuarterTurn1Tile, // TrackElemType::RightQuarterTurn1Tile + TrackElemType::RightTwistDownToUp, // TrackElemType::LeftTwistDownToUp + TrackElemType::LeftTwistDownToUp, // TrackElemType::RightTwistDownToUp + TrackElemType::RightTwistUpToDown, // TrackElemType::LeftTwistUpToDown + TrackElemType::LeftTwistUpToDown, // TrackElemType::RightTwistUpToDown + TrackElemType::HalfLoopUp, + TrackElemType::HalfLoopDown, + TrackElemType::RightCorkscrewUp, // TrackElemType::LeftCorkscrewUp + TrackElemType::LeftCorkscrewUp, // TrackElemType::RightCorkscrewUp + TrackElemType::RightCorkscrewDown, // TrackElemType::LeftCorkscrewDown + TrackElemType::LeftCorkscrewDown, // TrackElemType::RightCorkscrewDown + TrackElemType::FlatToUp60, + TrackElemType::Up60ToFlat, + TrackElemType::FlatToDown60, + TrackElemType::Down60ToFlat, + TrackElemType::TowerBase, + TrackElemType::TowerSection, + TrackElemType::FlatCovered, + TrackElemType::Up25Covered, + TrackElemType::Up60Covered, + TrackElemType::FlatToUp25Covered, + TrackElemType::Up25ToUp60Covered, + TrackElemType::Up60ToUp25Covered, + TrackElemType::Up25ToFlatCovered, + TrackElemType::Down25Covered, + TrackElemType::Down60Covered, + TrackElemType::FlatToDown25Covered, + TrackElemType::Down25ToDown60Covered, + TrackElemType::Down60ToDown25Covered, + TrackElemType::Down25ToFlatCovered, + TrackElemType::RightQuarterTurn5TilesCovered, // TrackElemType::LeftQuarterTurn5TilesCovered + TrackElemType::LeftQuarterTurn5TilesCovered, // TrackElemType::RightQuarterTurn5TilesCovered + TrackElemType::SBendRightCovered, // TrackElemType::SBendLeftCovered + TrackElemType::SBendLeftCovered, // TrackElemType::SBendRightCovered + TrackElemType::RightQuarterTurn3TilesCovered, // TrackElemType::LeftQuarterTurn3TilesCovered + TrackElemType::LeftQuarterTurn3TilesCovered, // TrackElemType::RightQuarterTurn3TilesCovered + TrackElemType::RightHalfBankedHelixUpSmall, // TrackElemType::LeftHalfBankedHelixUpSmall + TrackElemType::LeftHalfBankedHelixUpSmall, // TrackElemType::RightHalfBankedHelixUpSmall + TrackElemType::RightHalfBankedHelixDownSmall, // TrackElemType::LeftHalfBankedHelixDownSmall + TrackElemType::LeftHalfBankedHelixDownSmall, // TrackElemType::RightHalfBankedHelixDownSmall + TrackElemType::RightHalfBankedHelixUpLarge, // TrackElemType::LeftHalfBankedHelixUpLarge + TrackElemType::LeftHalfBankedHelixUpLarge, // TrackElemType::RightHalfBankedHelixUpLarge + TrackElemType::RightHalfBankedHelixDownLarge, // TrackElemType::LeftHalfBankedHelixDownLarge + TrackElemType::LeftHalfBankedHelixDownLarge, // TrackElemType::RightHalfBankedHelixDownLarge + TrackElemType::RightQuarterTurn1TileUp60, // TrackElemType::LeftQuarterTurn1TileUp60 + TrackElemType::LeftQuarterTurn1TileUp60, // TrackElemType::RightQuarterTurn1TileUp60 + TrackElemType::RightQuarterTurn1TileDown60, // TrackElemType::LeftQuarterTurn1TileDown60 + TrackElemType::LeftQuarterTurn1TileDown60, // TrackElemType::RightQuarterTurn1TileDown60 + TrackElemType::Brakes, + TrackElemType::RotationControlToggle, + TrackElemType::Maze, + TrackElemType::RightQuarterBankedHelixLargeUp, // TrackElemType::LeftQuarterBankedHelixLargeUp + TrackElemType::LeftQuarterBankedHelixLargeUp, // TrackElemType::RightQuarterBankedHelixLargeUp + TrackElemType::RightQuarterBankedHelixLargeDown, // TrackElemType::LeftQuarterBankedHelixLargeDown + TrackElemType::LeftQuarterBankedHelixLargeDown, // TrackElemType::RightQuarterBankedHelixLargeDown + TrackElemType::RightQuarterHelixLargeUp, // TrackElemType::LeftQuarterHelixLargeUp + TrackElemType::LeftQuarterHelixLargeUp, // TrackElemType::RightQuarterHelixLargeUp + TrackElemType::RightQuarterHelixLargeDown, // TrackElemType::LeftQuarterHelixLargeDown + TrackElemType::LeftQuarterHelixLargeDown, // TrackElemType::RightQuarterHelixLargeDown + TrackElemType::Up25RightBanked, // TrackElemType::Up25LeftBanked + TrackElemType::Up25LeftBanked, // TrackElemType::Up25RightBanked + TrackElemType::Waterfall, + TrackElemType::Rapids, + TrackElemType::OnRidePhoto, + TrackElemType::Down25RightBanked, // TrackElemType::Down25LeftBanked + TrackElemType::Down25LeftBanked, // TrackElemType::Down25RightBanked + TrackElemType::Watersplash, + TrackElemType::FlatToUp60LongBase, + TrackElemType::Up60ToFlatLongBase, + TrackElemType::Whirlpool, + TrackElemType::Down60ToFlatLongBase, + TrackElemType::FlatToDown60LongBase, + TrackElemType::CableLiftHill, + TrackElemType::ReverseFreefallSlope, + TrackElemType::ReverseFreefallVertical, + TrackElemType::Up90, + TrackElemType::Down90, + TrackElemType::Up60ToUp90, + TrackElemType::Down90ToDown60, + TrackElemType::Up90ToUp60, + TrackElemType::Down60ToDown90, + TrackElemType::BrakeForDrop, + TrackElemType::RightEighthToDiag, // TrackElemType::LeftEighthToDiag + TrackElemType::LeftEighthToDiag, // TrackElemType::RightEighthToDiag + TrackElemType::RightEighthToOrthogonal, // TrackElemType::LeftEighthToOrthogonal + TrackElemType::LeftEighthToOrthogonal, // TrackElemType::RightEighthToOrthogonal + TrackElemType::RightEighthBankToDiag, // TrackElemType::LeftEighthBankToDiag + TrackElemType::LeftEighthBankToDiag, // TrackElemType::RightEighthBankToDiag + TrackElemType::RightEighthBankToOrthogonal, // TrackElemType::LeftEighthBankToOrthogonal + TrackElemType::LeftEighthBankToOrthogonal, // TrackElemType::RightEighthBankToOrthogonal + TrackElemType::DiagFlat, + TrackElemType::DiagUp25, + TrackElemType::DiagUp60, + TrackElemType::DiagFlatToUp25, + TrackElemType::DiagUp25ToUp60, + TrackElemType::DiagUp60ToUp25, + TrackElemType::DiagUp25ToFlat, + TrackElemType::DiagDown25, + TrackElemType::DiagDown60, + TrackElemType::DiagFlatToDown25, + TrackElemType::DiagDown25ToDown60, + TrackElemType::DiagDown60ToDown25, + TrackElemType::DiagDown25ToFlat, + TrackElemType::DiagFlatToUp60, + TrackElemType::DiagUp60ToFlat, + TrackElemType::DiagFlatToDown60, + TrackElemType::DiagDown60ToFlat, + TrackElemType::DiagFlatToRightBank, // TrackElemType::DiagFlatToLeftBank + TrackElemType::DiagFlatToLeftBank, // TrackElemType::DiagFlatToRightBank + TrackElemType::DiagRightBankToFlat, // TrackElemType::DiagLeftBankToFlat + TrackElemType::DiagLeftBankToFlat, // TrackElemType::DiagRightBankToFlat + TrackElemType::DiagRightBankToUp25, // TrackElemType::DiagLeftBankToUp25 + TrackElemType::DiagLeftBankToUp25, // TrackElemType::DiagRightBankToUp25 + TrackElemType::DiagUp25ToRightBank, // TrackElemType::DiagUp25ToLeftBank + TrackElemType::DiagUp25ToLeftBank, // TrackElemType::DiagUp25ToRightBank + TrackElemType::DiagRightBankToDown25, // TrackElemType::DiagLeftBankToDown25 + TrackElemType::DiagLeftBankToDown25, // TrackElemType::DiagRightBankToDown25 + TrackElemType::DiagDown25ToRightBank, // TrackElemType::DiagDown25ToLeftBank + TrackElemType::DiagDown25ToLeftBank, // TrackElemType::DiagDown25ToRightBank + TrackElemType::DiagRightBank, // TrackElemType::DiagLeftBank + TrackElemType::DiagLeftBank, // TrackElemType::DiagRightBank + TrackElemType::LogFlumeReverser, + TrackElemType::SpinningTunnel, + TrackElemType::RightBarrelRollUpToDown, // TrackElemType::LeftBarrelRollUpToDown + TrackElemType::LeftBarrelRollUpToDown, // TrackElemType::RightBarrelRollUpToDown + TrackElemType::RightBarrelRollDownToUp, // TrackElemType::LeftBarrelRollDownToUp + TrackElemType::LeftBarrelRollDownToUp, // TrackElemType::RightBarrelRollDownToUp + TrackElemType::RightBankToRightQuarterTurn3TilesUp25, // TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25 + TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25, // TrackElemType::RightBankToRightQuarterTurn3TilesUp25 + TrackElemType::RightQuarterTurn3TilesDown25ToRightBank, // TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank + TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank, // TrackElemType::RightQuarterTurn3TilesDown25ToRightBank + TrackElemType::PoweredLift, + TrackElemType::RightLargeHalfLoopUp, // TrackElemType::LeftLargeHalfLoopUp + TrackElemType::LeftLargeHalfLoopUp, // TrackElemType::RightLargeHalfLoopUp + TrackElemType::LeftLargeHalfLoopDown, // TrackElemType::RightLargeHalfLoopDown + TrackElemType::RightLargeHalfLoopDown, // TrackElemType::LeftLargeHalfLoopDown + TrackElemType::RightFlyerTwistUp, // TrackElemType::LeftFlyerTwistUp + TrackElemType::LeftFlyerTwistUp, // TrackElemType::RightFlyerTwistUp + TrackElemType::RightFlyerTwistDown, // TrackElemType::LeftFlyerTwistDown + TrackElemType::LeftFlyerTwistDown, // TrackElemType::RightFlyerTwistDown + TrackElemType::FlyerHalfLoopUp, + TrackElemType::FlyerHalfLoopDown, + TrackElemType::RightFlyerCorkscrewUp, // TrackElemType::LeftFlyerCorkscrewUp + TrackElemType::LeftFlyerCorkscrewUp, // TrackElemType::RightFlyerCorkscrewUp + TrackElemType::RightFlyerCorkscrewDown, // TrackElemType::LeftFlyerCorkscrewDown + TrackElemType::LeftFlyerCorkscrewDown, // TrackElemType::RightFlyerCorkscrewDown + TrackElemType::HeartLineTransferUp, + TrackElemType::HeartLineTransferDown, + TrackElemType::RightHeartLineRoll, // TrackElemType::LeftHeartLineRoll + TrackElemType::LeftHeartLineRoll, // TrackElemType::RightHeartLineRoll + TrackElemType::MinigolfHoleA, + TrackElemType::MinigolfHoleB, + TrackElemType::MinigolfHoleC, + TrackElemType::MinigolfHoleE, // TrackElemType::MinigolfHoleD + TrackElemType::MinigolfHoleD, // TrackElemType::MinigolfHoleE + TrackElemType::MultiDimInvertedFlatToDown90QuarterLoop, + TrackElemType::Up90ToInvertedFlatQuarterLoop, + TrackElemType::InvertedFlatToDown90QuarterLoop, + TrackElemType::RightCurvedLiftHill, // TrackElemType::LeftCurvedLiftHill + TrackElemType::LeftCurvedLiftHill, // TrackElemType::RightCurvedLiftHill + TrackElemType::RightReverser, // TrackElemType::LeftReverser + TrackElemType::LeftReverser, // TrackElemType::RightReverser + TrackElemType::AirThrustTopCap, + TrackElemType::AirThrustVerticalDown, + TrackElemType::AirThrustVerticalDownToLevel, + TrackElemType::BlockBrakes, + TrackElemType::RightBankedQuarterTurn3TileUp25, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + TrackElemType::LeftBankedQuarterTurn3TileUp25, // TrackElemType::RightBankedQuarterTurn3TileUp25 + TrackElemType::RightBankedQuarterTurn3TileDown25, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + TrackElemType::LeftBankedQuarterTurn3TileDown25, // TrackElemType::RightBankedQuarterTurn3TileDown25 + TrackElemType::RightBankedQuarterTurn5TileUp25, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + TrackElemType::LeftBankedQuarterTurn5TileUp25, // TrackElemType::RightBankedQuarterTurn5TileUp25 + TrackElemType::RightBankedQuarterTurn5TileDown25, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + TrackElemType::LeftBankedQuarterTurn5TileDown25, // TrackElemType::RightBankedQuarterTurn5TileDown25 + TrackElemType::Up25ToRightBankedUp25, // TrackElemType::Up25ToLeftBankedUp25 + TrackElemType::Up25ToLeftBankedUp25, // TrackElemType::Up25ToRightBankedUp25 + TrackElemType::RightBankedUp25ToUp25, // TrackElemType::LeftBankedUp25ToUp25 + TrackElemType::LeftBankedUp25ToUp25, // TrackElemType::RightBankedUp25ToUp25 + TrackElemType::Down25ToRightBankedDown25, // TrackElemType::Down25ToLeftBankedDown25 + TrackElemType::Down25ToLeftBankedDown25, // TrackElemType::Down25ToRightBankedDown25 + TrackElemType::RightBankedDown25ToDown25, // TrackElemType::LeftBankedDown25ToDown25 + TrackElemType::LeftBankedDown25ToDown25, // TrackElemType::RightBankedDown25ToDown25 + TrackElemType::RightBankedFlatToRightBankedUp25, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + TrackElemType::LeftBankedFlatToLeftBankedUp25, // TrackElemType::RightBankedFlatToRightBankedUp25 + TrackElemType::RightBankedUp25ToRightBankedFlat, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + TrackElemType::LeftBankedUp25ToLeftBankedFlat, // TrackElemType::RightBankedUp25ToRightBankedFlat + TrackElemType::RightBankedFlatToRightBankedDown25, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + TrackElemType::LeftBankedFlatToLeftBankedDown25, // TrackElemType::RightBankedFlatToRightBankedDown25 + TrackElemType::RightBankedDown25ToRightBankedFlat, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + TrackElemType::LeftBankedDown25ToLeftBankedFlat, // TrackElemType::RightBankedDown25ToRightBankedFlat + TrackElemType::FlatToRightBankedUp25, // TrackElemType::FlatToLeftBankedUp25 + TrackElemType::FlatToLeftBankedUp25, // TrackElemType::FlatToRightBankedUp25 + TrackElemType::RightBankedUp25ToFlat, // TrackElemType::LeftBankedUp25ToFlat + TrackElemType::LeftBankedUp25ToFlat, // TrackElemType::RightBankedUp25ToFlat + TrackElemType::FlatToRightBankedDown25, // TrackElemType::FlatToLeftBankedDown25 + TrackElemType::FlatToLeftBankedDown25, // TrackElemType::FlatToRightBankedDown25 + TrackElemType::RightBankedDown25ToFlat, // TrackElemType::LeftBankedDown25ToFlat + TrackElemType::LeftBankedDown25ToFlat, // TrackElemType::RightBankedDown25ToFlat + TrackElemType::RightQuarterTurn1TileUp90, // TrackElemType::LeftQuarterTurn1TileUp90 + TrackElemType::LeftQuarterTurn1TileUp90, // TrackElemType::RightQuarterTurn1TileUp90 + TrackElemType::RightQuarterTurn1TileDown90, // TrackElemType::LeftQuarterTurn1TileDown90 + TrackElemType::LeftQuarterTurn1TileDown90, // TrackElemType::RightQuarterTurn1TileDown90 + TrackElemType::MultiDimUp90ToInvertedFlatQuarterLoop, + TrackElemType::MultiDimFlatToDown90QuarterLoop, 255, }; /** rct2: 0x00999694 */ -const uint32_t TrackHeightMarkerPositions[TRACK_ELEM_COUNT] = { - (1 << 0), // TRACK_ELEM_FLAT - (1 << 0), // TRACK_ELEM_END_STATION - (1 << 0), // TRACK_ELEM_BEGIN_STATION - (1 << 0), // TRACK_ELEM_MIDDLE_STATION - (1 << 0), // TRACK_ELEM_25_DEG_UP - (1 << 0), // TRACK_ELEM_60_DEG_UP - (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_FLAT - (1 << 0), // TRACK_ELEM_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - (1 << 0), // TRACK_ELEM_FLAT_TO_LEFT_BANK - (1 << 0), // TRACK_ELEM_FLAT_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_LEFT_BANK_TO_FLAT - (1 << 0), // TRACK_ELEM_RIGHT_BANK_TO_FLAT - (1 << 0) | (1 << 6), // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - (1 << 0) | (1 << 6), // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - (1 << 0), // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_LEFT_BANK - (1 << 0), // TRACK_ELEM_RIGHT_BANK - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_LEFT - (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_RIGHT - (1 << 0) | (1 << 9), // TRACK_ELEM_LEFT_VERTICAL_LOOP - (1 << 0) | (1 << 9), // TRACK_ELEM_RIGHT_VERTICAL_LOOP - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_HALF_LOOP_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_HALF_LOOP_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_CORKSCREW_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_CORKSCREW_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_CORKSCREW_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - (1 << 0), // TRACK_ELEM_FLAT_TO_60_DEG_UP - (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_FLAT - (1 << 0), // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - (1 << 1) | (1 << 3) | (1 << 6) | (1 << 7), // TRACK_ELEM_TOWER_BASE - (1 << 0), // TRACK_ELEM_TOWER_SECTION - (1 << 0), // TRACK_ELEM_FLAT_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_UP_COVERED - (1 << 0), // TRACK_ELEM_60_DEG_UP_COVERED - (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_COVERED - (1 << 0), // TRACK_ELEM_60_DEG_DOWN_COVERED - (1 << 0), // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_LEFT_COVERED - (1 << 0) | (1 << 3), // TRACK_ELEM_S_BEND_RIGHT_COVERED - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - (1 << 0) | (1 << 7), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - (1 << 0) | (1 << 7), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - (1 << 0) | (1 << 7), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - (1 << 0) | (1 << 7), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - (1 << 0) | (1 << 13), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - (1 << 0) | (1 << 13), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - (1 << 0) | (1 << 13), // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - (1 << 0) | (1 << 13), // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_BRAKES - (1 << 0), // TRACK_ELEM_ROTATION_CONTROL_TOGGLE - (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) | (1 << 7) | (1 << 8) | (1 << 9) | (1 << 10) | (1 << 11) | (1 << 12) | (1 << 13) | (1 << 14) | (1 << 15), // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - (1 << 0) | (1 << 3) | (1 << 12) | (1 << 15), // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - (1 << 0), // TRACK_ELEM_WATERFALL - (1 << 0), // TRACK_ELEM_RAPIDS - (1 << 0), // TRACK_ELEM_ON_RIDE_PHOTO - (1 << 0) | (1 << 7), // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - (1 << 0) | (1 << 4), // TRACK_ELEM_WATER_SPLASH - (1 << 0) | (1 << 3), // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - (1 << 0) | (1 << 3), // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - (1 << 0), // TRACK_ELEM_WHIRLPOOL - (1 << 0) | (1 << 3), // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - (1 << 0) | (1 << 3), // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - (1 << 0) | (1 << 3), // TRACK_ELEM_CABLE_LIFT_HILL - (1 << 0) | (1 << 5), // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - (1 << 0), // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL - (1 << 0), // TRACK_ELEM_90_DEG_UP - (1 << 0), // TRACK_ELEM_90_DEG_DOWN - (1 << 0), // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - (1 << 0), // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - (1 << 0), // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - (1 << 0), // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - (1 << 0), // TRACK_ELEM_BRAKE_FOR_DROP - (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - (1 << 0) | (1 << 4), // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - (1 << 0) | (1 << 4), // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - (1 << 0), // TRACK_ELEM_DIAG_FLAT - (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_60_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_60_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT - (1 << 3), // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT - (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - (1 << 0), // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - (1 << 0), // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - (1 << 0), // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - (1 << 0), // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - (1 << 3), // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - (1 << 3), // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_DIAG_LEFT_BANK - (1 << 0), // TRACK_ELEM_DIAG_RIGHT_BANK - (1 << 0), // TRACK_ELEM_LOG_FLUME_REVERSER - (1 << 0), // TRACK_ELEM_SPINNING_TUNNEL - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - (1 << 0), // TRACK_ELEM_POWERED_LIFT - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_TWIST_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_FLYER_HALF_LOOP_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_FLYER_HALF_LOOP_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_HEARTLINE_TRANSFER_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN - (1 << 0) | (1 << 5), // TRACK_ELEM_LEFT_HEARTLINE_ROLL - (1 << 0) | (1 << 5), // TRACK_ELEM_RIGHT_HEARTLINE_ROLL - (1 << 0) | (1 << 1), // TRACK_ELEM_MINI_GOLF_HOLE_A - (1 << 0) | (1 << 1), // TRACK_ELEM_MINI_GOLF_HOLE_B - (1 << 0) | (1 << 1), // TRACK_ELEM_MINI_GOLF_HOLE_C - (1 << 0) | (1 << 2), // TRACK_ELEM_MINI_GOLF_HOLE_D - (1 << 0) | (1 << 2), // TRACK_ELEM_MINI_GOLF_HOLE_E - (1 << 0) | (1 << 2), // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - (1 << 0) | (1 << 2), // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_CURVED_LIFT_HILL - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL - (1 << 0) | (1 << 5), // TRACK_ELEM_LEFT_REVERSER - (1 << 0) | (1 << 5), // TRACK_ELEM_RIGHT_REVERSER - (1 << 0) | (1 << 3), // TRACK_ELEM_AIR_THRUST_TOP_CAP - (1 << 0), // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN - (1 << 0) | (1 << 5), // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL - (1 << 0), // TRACK_ELEM_BLOCK_BRAKES - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - (1 << 0) | (1 << 3), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - (1 << 0) | (1 << 3), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - (1 << 0) | (1 << 6), // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - (1 << 0) | (1 << 6), // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - (1 << 0), // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - (1 << 0), // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - (1 << 0), // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - (1 << 0), // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - (1 << 0), // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - (1 << 0), // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - (1 << 0), // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - (1 << 0) | (1 << 2), // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP - (1 << 0) | (1 << 2), // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP +const uint32_t TrackHeightMarkerPositions[TrackElemType::Count] = { + (1 << 0), // TrackElemType::Flat + (1 << 0), // TrackElemType::EndStation + (1 << 0), // TrackElemType::BeginStation + (1 << 0), // TrackElemType::MiddleStation + (1 << 0), // TrackElemType::Up25 + (1 << 0), // TrackElemType::Up60 + (1 << 0), // TrackElemType::FlatToUp25 + (1 << 0), // TrackElemType::Up25ToUp60 + (1 << 0), // TrackElemType::Up60ToUp25 + (1 << 0), // TrackElemType::Up25ToFlat + (1 << 0), // TrackElemType::Down25 + (1 << 0), // TrackElemType::Down60 + (1 << 0), // TrackElemType::FlatToDown25 + (1 << 0), // TrackElemType::Down25ToDown60 + (1 << 0), // TrackElemType::Down60ToDown25 + (1 << 0), // TrackElemType::Down25ToFlat + (1 << 0) | (1 << 6), // TrackElemType::LeftQuarterTurn5Tiles + (1 << 0) | (1 << 6), // TrackElemType::RightQuarterTurn5Tiles + (1 << 0), // TrackElemType::FlatToLeftBank + (1 << 0), // TrackElemType::FlatToRightBank + (1 << 0), // TrackElemType::LeftBankToFlat + (1 << 0), // TrackElemType::RightBankToFlat + (1 << 0) | (1 << 6), // TrackElemType::BankedLeftQuarterTurn5Tiles + (1 << 0) | (1 << 6), // TrackElemType::BankedRightQuarterTurn5Tiles + (1 << 0), // TrackElemType::LeftBankToUp25 + (1 << 0), // TrackElemType::RightBankToUp25 + (1 << 0), // TrackElemType::Up25ToLeftBank + (1 << 0), // TrackElemType::Up25ToRightBank + (1 << 0), // TrackElemType::LeftBankToDown25 + (1 << 0), // TrackElemType::RightBankToDown25 + (1 << 0), // TrackElemType::Down25ToLeftBank + (1 << 0), // TrackElemType::Down25ToRightBank + (1 << 0), // TrackElemType::LeftBank + (1 << 0), // TrackElemType::RightBank + (1 << 0) | (1 << 6), // TrackElemType::LeftQuarterTurn5TilesUp25 + (1 << 0) | (1 << 6), // TrackElemType::RightQuarterTurn5TilesUp25 + (1 << 0) | (1 << 6), // TrackElemType::LeftQuarterTurn5TilesDown25 + (1 << 0) | (1 << 6), // TrackElemType::RightQuarterTurn5TilesDown25 + (1 << 0) | (1 << 3), // TrackElemType::SBendLeft + (1 << 0) | (1 << 3), // TrackElemType::SBendRight + (1 << 0) | (1 << 9), // TrackElemType::LeftVerticalLoop + (1 << 0) | (1 << 9), // TrackElemType::RightVerticalLoop + (1 << 0) | (1 << 3), // TrackElemType::LeftQuarterTurn3Tiles + (1 << 0) | (1 << 3), // TrackElemType::RightQuarterTurn3Tiles + (1 << 0) | (1 << 3), // TrackElemType::LeftBankedQuarterTurn3Tiles + (1 << 0) | (1 << 3), // TrackElemType::RightBankedQuarterTurn3Tiles + (1 << 0) | (1 << 3), // TrackElemType::LeftQuarterTurn3TilesUp25 + (1 << 0) | (1 << 3), // TrackElemType::RightQuarterTurn3TilesUp25 + (1 << 0) | (1 << 3), // TrackElemType::LeftQuarterTurn3TilesDown25 + (1 << 0) | (1 << 3), // TrackElemType::RightQuarterTurn3TilesDown25 + (1 << 0), // TrackElemType::LeftQuarterTurn1Tile + (1 << 0), // TrackElemType::RightQuarterTurn1Tile + (1 << 0) | (1 << 2), // TrackElemType::LeftTwistDownToUp + (1 << 0) | (1 << 2), // TrackElemType::RightTwistDownToUp + (1 << 0) | (1 << 2), // TrackElemType::LeftTwistUpToDown + (1 << 0) | (1 << 2), // TrackElemType::RightTwistUpToDown + (1 << 0) | (1 << 3), // TrackElemType::HalfLoopUp + (1 << 0) | (1 << 3), // TrackElemType::HalfLoopDown + (1 << 0) | (1 << 2), // TrackElemType::LeftCorkscrewUp + (1 << 0) | (1 << 2), // TrackElemType::RightCorkscrewUp + (1 << 0) | (1 << 2), // TrackElemType::LeftCorkscrewDown + (1 << 0) | (1 << 2), // TrackElemType::RightCorkscrewDown + (1 << 0), // TrackElemType::FlatToUp60 + (1 << 0), // TrackElemType::Up60ToFlat + (1 << 0), // TrackElemType::FlatToDown60 + (1 << 0), // TrackElemType::Down60ToFlat + (1 << 1) | (1 << 3) | (1 << 6) | (1 << 7), // TrackElemType::TowerBase + (1 << 0), // TrackElemType::TowerSection + (1 << 0), // TrackElemType::FlatCovered + (1 << 0), // TrackElemType::Up25Covered + (1 << 0), // TrackElemType::Up60Covered + (1 << 0), // TrackElemType::FlatToUp25Covered + (1 << 0), // TrackElemType::Up25ToUp60Covered + (1 << 0), // TrackElemType::Up60ToUp25Covered + (1 << 0), // TrackElemType::Up25ToFlatCovered + (1 << 0), // TrackElemType::Down25Covered + (1 << 0), // TrackElemType::Down60Covered + (1 << 0), // TrackElemType::FlatToDown25Covered + (1 << 0), // TrackElemType::Down25ToDown60Covered + (1 << 0), // TrackElemType::Down60ToDown25Covered + (1 << 0), // TrackElemType::Down25ToFlatCovered + (1 << 0) | (1 << 6), // TrackElemType::LeftQuarterTurn5TilesCovered + (1 << 0) | (1 << 6), // TrackElemType::RightQuarterTurn5TilesCovered + (1 << 0) | (1 << 3), // TrackElemType::SBendLeftCovered + (1 << 0) | (1 << 3), // TrackElemType::SBendRightCovered + (1 << 0) | (1 << 3), // TrackElemType::LeftQuarterTurn3TilesCovered + (1 << 0) | (1 << 3), // TrackElemType::RightQuarterTurn3TilesCovered + (1 << 0) | (1 << 7), // TrackElemType::LeftHalfBankedHelixUpSmall + (1 << 0) | (1 << 7), // TrackElemType::RightHalfBankedHelixUpSmall + (1 << 0) | (1 << 7), // TrackElemType::LeftHalfBankedHelixDownSmall + (1 << 0) | (1 << 7), // TrackElemType::RightHalfBankedHelixDownSmall + (1 << 0) | (1 << 13), // TrackElemType::LeftHalfBankedHelixUpLarge + (1 << 0) | (1 << 13), // TrackElemType::RightHalfBankedHelixUpLarge + (1 << 0) | (1 << 13), // TrackElemType::LeftHalfBankedHelixDownLarge + (1 << 0) | (1 << 13), // TrackElemType::RightHalfBankedHelixDownLarge + (1 << 0), // TrackElemType::LeftQuarterTurn1TileUp60 + (1 << 0), // TrackElemType::RightQuarterTurn1TileUp60 + (1 << 0), // TrackElemType::LeftQuarterTurn1TileDown60 + (1 << 0), // TrackElemType::RightQuarterTurn1TileDown60 + (1 << 0), // TrackElemType::Brakes + (1 << 0), // TrackElemType::RotationControlToggle + (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) | (1 << 7) | (1 << 8) | (1 << 9) | (1 << 10) | (1 << 11) | (1 << 12) | (1 << 13) | (1 << 14) | (1 << 15), // TrackElemType::InvertedUp90ToFlatQuarterLoopAlias / Maze + (1 << 0) | (1 << 6), // TrackElemType::LeftQuarterBankedHelixLargeUp + (1 << 0) | (1 << 6), // TrackElemType::RightQuarterBankedHelixLargeUp + (1 << 0) | (1 << 6), // TrackElemType::LeftQuarterBankedHelixLargeDown + (1 << 0) | (1 << 6), // TrackElemType::RightQuarterBankedHelixLargeDown + (1 << 0) | (1 << 6), // TrackElemType::LeftQuarterHelixLargeUp + (1 << 0) | (1 << 6), // TrackElemType::RightQuarterHelixLargeUp + (1 << 0) | (1 << 6), // TrackElemType::LeftQuarterHelixLargeDown + (1 << 0) | (1 << 6), // TrackElemType::RightQuarterHelixLargeDown + (1 << 0), // TrackElemType::Up25LeftBanked + (1 << 0) | (1 << 3) | (1 << 12) | (1 << 15), // TrackElemType::Up25RightBanked + (1 << 0), // TrackElemType::Waterfall + (1 << 0), // TrackElemType::Rapids + (1 << 0), // TrackElemType::OnRidePhoto + (1 << 0) | (1 << 7), // TrackElemType::Down25LeftBanked + (1 << 0), // TrackElemType::Down25RightBanked + (1 << 0) | (1 << 4), // TrackElemType::Watersplash + (1 << 0) | (1 << 3), // TrackElemType::FlatToUp60LongBase + (1 << 0) | (1 << 3), // TrackElemType::Up60ToFlatLongBase + (1 << 0), // TrackElemType::Whirlpool + (1 << 0) | (1 << 3), // TrackElemType::Down60ToFlatLongBase + (1 << 0) | (1 << 3), // TrackElemType::FlatToUp60LongBase + (1 << 0) | (1 << 3), // TrackElemType::CableLiftHill + (1 << 0) | (1 << 5), // TrackElemType::ReverseFreefallSlope + (1 << 0), // TrackElemType::ReverseFreefallVertical + (1 << 0), // TrackElemType::Up90 + (1 << 0), // TrackElemType::Down90 + (1 << 0), // TrackElemType::Up60ToUp90 + (1 << 0), // TrackElemType::Down90ToDown60 + (1 << 0), // TrackElemType::Up90ToUp60 + (1 << 0), // TrackElemType::Down60ToDown90 + (1 << 0), // TrackElemType::BrakeForDrop + (1 << 0) | (1 << 4), // TrackElemType::LeftEighthToDiag + (1 << 0) | (1 << 4), // TrackElemType::RightEighthToDiag + (1 << 0) | (1 << 4), // TrackElemType::LeftEighthToOrthogonal + (1 << 0) | (1 << 4), // TrackElemType::RightEighthToOrthogonal + (1 << 0) | (1 << 4), // TrackElemType::LeftEighthBankToDiag + (1 << 0) | (1 << 4), // TrackElemType::RightEighthBankToDiag + (1 << 0) | (1 << 4), // TrackElemType::LeftEighthBankToOrthogonal + (1 << 0) | (1 << 4), // TrackElemType::RightEighthBankToOrthogonal + (1 << 0), // TrackElemType::DiagFlat + (1 << 0), // TrackElemType::DiagUp25 + (1 << 0), // TrackElemType::DiagUp60 + (1 << 0), // TrackElemType::DiagFlatToUp25 + (1 << 0), // TrackElemType::DiagUp25ToUp60 + (1 << 0), // TrackElemType::DiagUp60ToUp25 + (1 << 0), // TrackElemType::DiagUp25ToFlat + (1 << 3), // TrackElemType::DiagDown25 + (1 << 3), // TrackElemType::DiagDown60 + (1 << 3), // TrackElemType::DiagFlatToDown25 + (1 << 3), // TrackElemType::DiagDown25ToDown60 + (1 << 3), // TrackElemType::DiagDown60ToDown25 + (1 << 3), // TrackElemType::DiagDown25ToFlat + (1 << 0), // TrackElemType::DiagFlatToUp60 + (1 << 0), // TrackElemType::DiagUp60ToFlat + (1 << 3), // TrackElemType::DiagFlatToDown60 + (1 << 3), // TrackElemType::DiagDown60ToFlat + (1 << 0), // TrackElemType::DiagFlatToLeftBank + (1 << 0), // TrackElemType::DiagFlatToRightBank + (1 << 0), // TrackElemType::DiagLeftBankToFlat + (1 << 0), // TrackElemType::DiagRightBankToFlat + (1 << 0), // TrackElemType::DiagLeftBankToUp25 + (1 << 0), // TrackElemType::DiagRightBankToUp25 + (1 << 0), // TrackElemType::DiagUp25ToLeftBank + (1 << 0), // TrackElemType::DiagUp25ToRightBank + (1 << 3), // TrackElemType::DiagLeftBankToDown25 + (1 << 3), // TrackElemType::DiagRightBankToDown25 + (1 << 3), // TrackElemType::DiagDown25ToLeftBank + (1 << 3), // TrackElemType::DiagDown25ToRightBank + (1 << 0), // TrackElemType::DiagLeftBank + (1 << 0), // TrackElemType::DiagRightBank + (1 << 0), // TrackElemType::LogFlumeReverser + (1 << 0), // TrackElemType::SpinningTunnel + (1 << 0) | (1 << 2), // TrackElemType::LeftBarrelRollUpToDown + (1 << 0) | (1 << 2), // TrackElemType::RightBarrelRollUpToDown + (1 << 0) | (1 << 2), // TrackElemType::LeftBarrelRollDownToUp + (1 << 0) | (1 << 2), // TrackElemType::RightBarrelRollDownToUp + (1 << 0) | (1 << 3), // TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25 + (1 << 0) | (1 << 3), // TrackElemType::RightBankToRightQuarterTurn3TilesUp25 + (1 << 0) | (1 << 3), // TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank + (1 << 0) | (1 << 3), // TrackElemType::RightQuarterTurn3TilesDown25ToRightBank + (1 << 0), // TrackElemType::PoweredLift + (1 << 0) | (1 << 6), // TrackElemType::LeftLargeHalfLoopUp + (1 << 0) | (1 << 6), // TrackElemType::RightLargeHalfLoopUp + (1 << 0) | (1 << 6), // TrackElemType::RightLargeHalfLoopDown + (1 << 0) | (1 << 6), // TrackElemType::LeftLargeHalfLoopDown + (1 << 0) | (1 << 2), // TrackElemType::LeftFlyerTwistUp + (1 << 0) | (1 << 2), // TrackElemType::RightFlyerTwistUp + (1 << 0) | (1 << 2), // TrackElemType::LeftFlyerTwistDown + (1 << 0) | (1 << 2), // TrackElemType::RightFlyerTwistDown + (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopUp + (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopDown + (1 << 0) | (1 << 2), // TrackElemType::LeftFlyerCorkscrewUp + (1 << 0) | (1 << 2), // TrackElemType::RightFlyerCorkscrewUp + (1 << 0) | (1 << 2), // TrackElemType::LeftFlyerCorkscrewDown + (1 << 0) | (1 << 2), // TrackElemType::RightFlyerCorkscrewDown + (1 << 0) | (1 << 3), // TrackElemType::HeartLineTransferUp + (1 << 0) | (1 << 3), // TrackElemType::HeartLineTransferDown + (1 << 0) | (1 << 5), // TrackElemType::LeftHeartLineRoll + (1 << 0) | (1 << 5), // TrackElemType::RightHeartLineRoll + (1 << 0) | (1 << 1), // TrackElemType::MinigolfHoleA + (1 << 0) | (1 << 1), // TrackElemType::MinigolfHoleB + (1 << 0) | (1 << 1), // TrackElemType::MinigolfHoleC + (1 << 0) | (1 << 2), // TrackElemType::MinigolfHoleD + (1 << 0) | (1 << 2), // TrackElemType::MinigolfHoleE + (1 << 0) | (1 << 2), // TrackElemType::MultiDimInvertedFlatToDown90QuarterLoop + (1 << 0) | (1 << 2), // TrackElemType::Up90ToInvertedFlatQuarterLoop + (1 << 0) | (1 << 2), // TrackElemType::InvertedFlatToDown90QuarterLoop + (1 << 0) | (1 << 3), // TrackElemType::LeftCurvedLiftHill + (1 << 0) | (1 << 3), // TrackElemType::RightCurvedLiftHill + (1 << 0) | (1 << 5), // TrackElemType::LeftReverser + (1 << 0) | (1 << 5), // TrackElemType::RightReverser + (1 << 0) | (1 << 3), // TrackElemType::AirThrustTopCap + (1 << 0), // TrackElemType::AirThrustVerticalDown + (1 << 0) | (1 << 5), // TrackElemType::AirThrustVerticalDownToLevel + (1 << 0), // TrackElemType::BlockBrakes + (1 << 0) | (1 << 3), // TrackElemType::LeftBankedQuarterTurn3TileUp25 + (1 << 0) | (1 << 3), // TrackElemType::RightBankedQuarterTurn3TileUp25 + (1 << 0) | (1 << 3), // TrackElemType::LeftBankedQuarterTurn3TileDown25 + (1 << 0) | (1 << 3), // TrackElemType::RightBankedQuarterTurn3TileDown25 + (1 << 0) | (1 << 6), // TrackElemType::LeftBankedQuarterTurn5TileUp25 + (1 << 0) | (1 << 6), // TrackElemType::RightBankedQuarterTurn5TileUp25 + (1 << 0) | (1 << 6), // TrackElemType::LeftBankedQuarterTurn5TileDown25 + (1 << 0) | (1 << 6), // TrackElemType::RightBankedQuarterTurn5TileDown25 + (1 << 0), // TrackElemType::Up25ToLeftBankedUp25 + (1 << 0), // TrackElemType::Up25ToRightBankedUp25 + (1 << 0), // TrackElemType::LeftBankedUp25ToUp25 + (1 << 0), // TrackElemType::RightBankedUp25ToUp25 + (1 << 0), // TrackElemType::Down25ToLeftBankedDown25 + (1 << 0), // TrackElemType::Down25ToRightBankedDown25 + (1 << 0), // TrackElemType::LeftBankedDown25ToDown25 + (1 << 0), // TrackElemType::RightBankedDown25ToDown25 + (1 << 0), // TrackElemType::LeftBankedFlatToLeftBankedUp25 + (1 << 0), // TrackElemType::RightBankedFlatToRightBankedUp25 + (1 << 0), // TrackElemType::LeftBankedUp25ToLeftBankedFlat + (1 << 0), // TrackElemType::RightBankedUp25ToRightBankedFlat + (1 << 0), // TrackElemType::LeftBankedFlatToLeftBankedDown25 + (1 << 0), // TrackElemType::RightBankedFlatToRightBankedDown25 + (1 << 0), // TrackElemType::LeftBankedDown25ToLeftBankedFlat + (1 << 0), // TrackElemType::RightBankedDown25ToRightBankedFlat + (1 << 0), // TrackElemType::FlatToLeftBankedUp25 + (1 << 0), // TrackElemType::FlatToRightBankedUp25 + (1 << 0), // TrackElemType::LeftBankedUp25ToFlat + (1 << 0), // TrackElemType::RightBankedUp25ToFlat + (1 << 0), // TrackElemType::FlatToLeftBankedDown25 + (1 << 0), // TrackElemType::FlatToRightBankedDown25 + (1 << 0), // TrackElemType::LeftBankedDown25ToFlat + (1 << 0), // TrackElemType::RightBankedDown25ToFlat + (1 << 0), // TrackElemType::LeftQuarterTurn1TileUp90 + (1 << 0), // TrackElemType::RightQuarterTurn1TileUp90 + (1 << 0), // TrackElemType::LeftQuarterTurn1TileDown90 + (1 << 0), // TrackElemType::RightQuarterTurn1TileDown90 + (1 << 0) | (1 << 2), // TrackElemType::MultiDimUp90ToInvertedFlatQuarterLoop + (1 << 0) | (1 << 2), // TrackElemType::MultiDimFlatToDown90QuarterLoop (1 << 0) | (1 << 2), // 255 }; /** rct2: 0x00999A94 */ const uint8_t TrackSequenceElementAllowedWallEdges[][16] = { - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_END_STATION - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BEGIN_STATION - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MIDDLE_STATION - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_LEFT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_LEFT - { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_RIGHT - { 0b0010, 0b0010, 0b0011, 0, 0, 0, 0, 0b1100, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_VERTICAL_LOOP - { 0b1000, 0b1000, 0b1001, 0, 0, 0, 0, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HALF_LOOP_UP - { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HALF_LOOP_DOWN - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_CORKSCREW_UP - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_CORKSCREW_UP - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_TOWER_BASE - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_TOWER_SECTION - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_LEFT_COVERED - { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_S_BEND_RIGHT_COVERED - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED - { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BRAKES - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_WATERFALL - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RAPIDS - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_ON_RIDE_PHOTO - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_WATER_SPLASH - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_WHIRLPOOL - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_CABLE_LIFT_HILL - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_UP - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_DOWN - { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BRAKE_FOR_DROP - { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_LEFT_BANK - { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_DIAG_RIGHT_BANK - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LOG_FLUME_REVERSER - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_SPINNING_TUNNEL - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_POWERED_LIFT - { 0b1010, 0b1010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - { 0b1010, 0b1010, 0b1000, 0b1001, 0b0011, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLYER_HALF_LOOP_UP - { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP - { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN - { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HEARTLINE_TRANSFER_UP - { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_HEARTLINE_ROLL - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_A - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_B - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_C - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_D - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MINI_GOLF_HOLE_E - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_REVERSER - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_REVERSER - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_AIR_THRUST_TOP_CAP - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN - { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_BLOCK_BRAKES - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP - { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Flat + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::EndStation + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::BeginStation + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::MiddleStation + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up60 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25ToUp60 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up60ToUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25ToFlat + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down60 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25ToDown60 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down60ToDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25ToFlat + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn5Tiles + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn5Tiles + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToLeftBank + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToRightBank + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankToFlat + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankToFlat + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::BankedLeftQuarterTurn5Tiles + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::BankedRightQuarterTurn5Tiles + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankToUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankToUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25ToLeftBank + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25ToRightBank + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankToDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankToDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25ToLeftBank + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25ToRightBank + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBank + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBank + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn5TilesUp25 + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn5TilesUp25 + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn5TilesDown25 + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn5TilesDown25 + { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::SBendLeft + { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::SBendRight + { 0b0010, 0b0010, 0b0011, 0, 0, 0, 0, 0b1100, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftVerticalLoop + { 0b1000, 0b1000, 0b1001, 0, 0, 0, 0, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightVerticalLoop + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn3Tiles + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn3Tiles + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedQuarterTurn3Tiles + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedQuarterTurn3Tiles + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn3TilesUp25 + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn3TilesUp25 + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn3TilesDown25 + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn3TilesDown25 + { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn1Tile + { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn1Tile + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftTwistDownToUp + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightTwistDownToUp + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftTwistUpToDown + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightTwistUpToDown + { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::HalfLoopUp + { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::HalfLoopDown + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftCorkscrewUp + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightCorkscrewUp + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftCorkscrewDown + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightCorkscrewDown + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToUp60 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up60ToFlat + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToDown60 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down60ToFlat + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::TowerBase + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::TowerSection + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatCovered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25Covered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up60Covered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToUp25Covered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25ToUp60Covered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up60ToUp25Covered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25ToFlatCovered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25Covered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down60Covered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToDown25Covered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25ToDown60Covered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down60ToDown25Covered + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25ToFlatCovered + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn5TilesCovered + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn5TilesCovered + { 0b1010, 0b0011, 0b1100, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::SBendLeftCovered + { 0b1010, 0b1001, 0b0110, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::SBendRightCovered + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn3TilesCovered + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn3TilesCovered + { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftHalfBankedHelixUpSmall + { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightHalfBankedHelixUpSmall + { 0b0010, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftHalfBankedHelixDownSmall + { 0b1000, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightHalfBankedHelixDownSmall + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, // TrackElemType::LeftHalfBankedHelixUpLarge + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, // TrackElemType::RightHalfBankedHelixUpLarge + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0b0001, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b1000, 0, 0 }, // TrackElemType::LeftHalfBankedHelixDownLarge + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0b0001, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0010, 0, 0 }, // TrackElemType::RightHalfBankedHelixDownLarge + { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn1TileUp60 + { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn1TileUp60 + { 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn1TileDown60 + { 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn1TileDown60 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Brakes + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RotationControlToggle + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::InvertedUp90ToFlatQuarterLoopAlias / Maze + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterBankedHelixLargeUp + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterBankedHelixLargeUp + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterBankedHelixLargeDown + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterBankedHelixLargeDown + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterHelixLargeUp + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterHelixLargeUp + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterHelixLargeDown + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterHelixLargeDown + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25LeftBanked + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25RightBanked + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Waterfall + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Rapids + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::OnRidePhoto + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25LeftBanked + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25RightBanked + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Watersplash + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToUp60LongBase + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up60ToFlatLongBase + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Whirlpool + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down60ToFlatLongBase + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToDown60LongBase + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::CableLiftHill + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::ReverseFreefallSlope + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::ReverseFreefallVertical + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up90 + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down90 + { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up60ToUp90 + { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down90ToDown60 + { 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up90ToUp60 + { 0b1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down60ToDown90 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::BrakeForDrop + { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthToDiag + { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthToDiag + { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthToOrthogonal + { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthToOrthogonal + { 0b0010, 0b0010, 0b1000, 0b0011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthBankToDiag + { 0b1000, 0b1000, 0b0010, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthBankToDiag + { 0, 0b1000, 0b0110, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthBankToOrthogonal + { 0, 0b0100, 0b1001, 0b0001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthBankToOrthogonal + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagFlat + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp25 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp60 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagFlatToUp25 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp25ToUp60 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp60ToUp25 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp25ToFlat + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown25 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown60 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagFlatToDown25 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown25ToDown60 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown60ToDown25 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown25ToFlat + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagFlatToUp60 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp60ToFlat + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagFlatToDown60 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown60ToFlat + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagFlatToLeftBank + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagFlatToRightBank + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBankToFlat + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBankToFlat + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBankToUp25 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBankToUp25 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp25ToLeftBank + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp25ToRightBank + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBankToDown25 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBankToDown25 + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown25ToLeftBank + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown25ToRightBank + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBank + { 0, 0b0110, 0b1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBank + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LogFlumeReverser + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::SpinningTunnel + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBarrelRollUpToDown + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBarrelRollUpToDown + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBarrelRollDownToUp + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBarrelRollDownToUp + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25 + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankToRightQuarterTurn3TilesUp25 + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn3TilesDown25ToRightBank + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::PoweredLift + { 0b1010, 0b1010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftLargeHalfLoopUp + { 0b1010, 0b1010, 0b1000, 0b1001, 0b0011, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightLargeHalfLoopUp + { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightLargeHalfLoopDown + { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftLargeHalfLoopDown + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerTwistUp + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerTwistUp + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerTwistDown + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerTwistDown + { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlyerHalfLoopUp + { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlyerHalfLoopDown + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerCorkscrewUp + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerCorkscrewUp + { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerCorkscrewDown + { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerCorkscrewDown + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::HeartLineTransferUp + { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::HeartLineTransferDown + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftHeartLineRoll + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightHeartLineRoll + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::MinigolfHoleA + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::MinigolfHoleB + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::MinigolfHoleC + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::MinigolfHoleD + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::MinigolfHoleE + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::MultiDimInvertedFlatToDown90QuarterLoop + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up90ToInvertedFlatQuarterLoop + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::InvertedFlatToDown90QuarterLoop + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftCurvedLiftHill + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightCurvedLiftHill + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftReverser + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightReverser + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::AirThrustTopCap + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::AirThrustVerticalDown + { 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::AirThrustVerticalDownToLevel + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::BlockBrakes + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedQuarterTurn3TileUp25 + { 0b0010, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + { 0b1000, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedQuarterTurn3TileDown25 + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedQuarterTurn5TileUp25 + { 0b0010, 0b1100, 0b0011, 0, 0b1100, 0b0011, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + { 0b1000, 0b0110, 0b1001, 0, 0b0110, 0b1001, 0b0001, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedQuarterTurn5TileDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25ToLeftBankedUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Up25ToRightBankedUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedUp25ToUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedUp25ToUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25ToLeftBankedDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::Down25ToRightBankedDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedDown25ToDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedDown25ToDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedFlatToRightBankedUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedUp25ToRightBankedFlat + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedFlatToRightBankedDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedDown25ToRightBankedFlat + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToLeftBankedUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToRightBankedUp25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedUp25ToFlat + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedUp25ToFlat + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToLeftBankedDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlatToRightBankedDown25 + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftBankedDown25ToFlat + { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightBankedDown25ToFlat + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn1TileUp90 + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn1TileUp90 + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftQuarterTurn1TileDown90 + { 0b1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightQuarterTurn1TileDown90 + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::MultiDimUp90ToInvertedFlatQuarterLoop + { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::MultiDimFlatToDown90QuarterLoop { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 255 }; @@ -6811,261 +6811,261 @@ const uint16_t FlatTrackFlags[] = { /** rct2: 0x0099423C */ const uint16_t TrackFlags[] = { - /* TRACK_ELEM_FLAT */ TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_END_STATION */ 0, - /* TRACK_ELEM_BEGIN_STATION */ 0, - /* TRACK_ELEM_MIDDLE_STATION */ 0, - /* TRACK_ELEM_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_FLAT_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_FLAT_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_FLAT_TO_LEFT_BANK */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_FLAT_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANK */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANK */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, - /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, - /* TRACK_ELEM_S_BEND_LEFT */ 0, - /* TRACK_ELEM_S_BEND_RIGHT */ 0, - /* TRACK_ELEM_LEFT_VERTICAL_LOOP */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_VERTICAL_LOOP */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, - /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_FLAT_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_60_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_FLAT_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_60_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_TOWER_BASE */ 0, - /* TRACK_ELEM_TOWER_SECTION */ 0, - /* TRACK_ELEM_FLAT_COVERED */ 0, - /* TRACK_ELEM_25_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_60_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_25_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_60_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_S_BEND_LEFT_COVERED */ 0, - /* TRACK_ELEM_S_BEND_RIGHT_COVERED */ 0, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_BRAKES */ 0, - /* TRACK_ELEM_ROTATION_CONTROL_TOGGLE */ 0, - /* TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP */ TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND, - /* TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, - /* TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, - /* TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, - /* TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, - /* TRACK_ELEM_25_DEG_UP_LEFT_BANKED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_25_DEG_UP_RIGHT_BANKED */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_WATERFALL */ 0, - /* TRACK_ELEM_RAPIDS */ 0, - /* TRACK_ELEM_ON_RIDE_PHOTO */ 0, - /* TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_WATER_SPLASH */ 0, - /* TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_WHIRLPOOL */ 0, - /* TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_CABLE_LIFT_HILL */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_REVERSE_FREEFALL_SLOPE */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_REVERSE_FREEFALL_VERTICAL */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_90_DEG_UP */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_90_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_BRAKE_FOR_DROP */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_LEFT_EIGHTH_TO_DIAG */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_LEFT, - /* TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_RIGHT, - /* TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_FLAT */ TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, - /* TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_DIAG_LEFT_BANK */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_DIAG_RIGHT_BANK */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LOG_FLUME_REVERSER */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_SPINNING_TUNNEL */ TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_POWERED_LIFT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, - /* TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_FLYER_TWIST_UP */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_FLYER_TWIST_UP */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_FLYER_TWIST_DOWN */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_FLYER_HALF_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_FLYER_HALF_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_HEARTLINE_TRANSFER_UP */ 0, - /* TRACK_ELEM_HEARTLINE_TRANSFER_DOWN */ 0, - /* TRACK_ELEM_LEFT_HEARTLINE_ROLL */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_RIGHT_HEARTLINE_ROLL */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_MINI_GOLF_HOLE_A */ TRACK_ELEM_FLAG_IS_GOLF_HOLE, - /* TRACK_ELEM_MINI_GOLF_HOLE_B */ TRACK_ELEM_FLAG_IS_GOLF_HOLE, - /* TRACK_ELEM_MINI_GOLF_HOLE_C */ TRACK_ELEM_FLAG_IS_GOLF_HOLE, - /* TRACK_ELEM_MINI_GOLF_HOLE_D */ TRACK_ELEM_FLAG_IS_GOLF_HOLE, - /* TRACK_ELEM_MINI_GOLF_HOLE_E */ TRACK_ELEM_FLAG_IS_GOLF_HOLE, - /* TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_LEFT_CURVED_LIFT_HILL */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_RIGHT_CURVED_LIFT_HILL */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_LEFT_REVERSER */ 0, - /* TRACK_ELEM_RIGHT_REVERSER */ 0, - /* TRACK_ELEM_AIR_THRUST_TOP_CAP */ 0, - /* TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL */ TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_BLOCK_BRAKES */ 0, - /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, - /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, - /* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, - /* TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::Flat */ TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::EndStation */ 0, + /* TrackElemType::BeginStation */ 0, + /* TrackElemType::MiddleStation */ 0, + /* TrackElemType::Up25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Up60 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::FlatToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Up25ToUp60 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Up60ToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Up25ToFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Down25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Down60 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::FlatToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Down25ToDown60 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Down60ToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Down25ToFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::LeftQuarterTurn5Tiles */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TrackElemType::RightQuarterTurn5Tiles */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TrackElemType::FlatToLeftBank */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::FlatToRightBank */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankToFlat */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankToFlat */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::BankedLeftQuarterTurn5Tiles */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::BankedRightQuarterTurn5Tiles */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Up25ToLeftBank */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Up25ToRightBank */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Down25ToLeftBank */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Down25ToRightBank */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBank */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBank */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftQuarterTurn5TilesUp25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightQuarterTurn5TilesUp25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::LeftQuarterTurn5TilesDown25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightQuarterTurn5TilesDown25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::SBendLeft */ 0, + /* TrackElemType::SBendRight */ 0, + /* TrackElemType::LeftVerticalLoop */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightVerticalLoop */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftQuarterTurn3Tiles */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TrackElemType::RightQuarterTurn3Tiles */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TrackElemType::LeftBankedQuarterTurn3Tiles */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedQuarterTurn3Tiles */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftQuarterTurn3TilesUp25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightQuarterTurn3TilesUp25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::LeftQuarterTurn3TilesDown25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightQuarterTurn3TilesDown25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::LeftQuarterTurn1Tile */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TrackElemType::RightQuarterTurn1Tile */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TrackElemType::LeftTwistDownToUp */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightTwistDownToUp */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftTwistUpToDown */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightTwistUpToDown */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::HalfLoopUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::HalfLoopDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftCorkscrewUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightCorkscrewUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftCorkscrewDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightCorkscrewDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::FlatToUp60 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Up60ToFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::FlatToDown60 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Down60ToFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::TowerBase */ 0, + /* TrackElemType::TowerSection */ 0, + /* TrackElemType::FlatCovered */ 0, + /* TrackElemType::Up25Covered */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Up60Covered */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::FlatToUp25Covered */ TRACK_ELEM_FLAG_UP, + /* TrackElemType::Up25ToUp60Covered */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Up60ToUp25Covered */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Up25ToFlatCovered */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Down25Covered */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Down60Covered */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::FlatToDown25Covered */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Down25ToDown60Covered */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Down60ToDown25Covered */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Down25ToFlatCovered */ TRACK_ELEM_FLAG_DOWN, + /* TrackElemType::LeftQuarterTurn5TilesCovered */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TrackElemType::RightQuarterTurn5TilesCovered */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TrackElemType::SBendLeftCovered */ 0, + /* TrackElemType::SBendRightCovered */ 0, + /* TrackElemType::LeftQuarterTurn3TilesCovered */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TrackElemType::RightQuarterTurn3TilesCovered */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TrackElemType::LeftHalfBankedHelixUpSmall */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightHalfBankedHelixUpSmall */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftHalfBankedHelixDownSmall */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightHalfBankedHelixDownSmall */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftHalfBankedHelixUpLarge */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightHalfBankedHelixUpLarge */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftHalfBankedHelixDownLarge */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightHalfBankedHelixDownLarge */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftQuarterTurn1TileUp60 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::RightQuarterTurn1TileUp60 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::LeftQuarterTurn1TileDown60 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::RightQuarterTurn1TileDown60 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Brakes */ 0, + /* TrackElemType::RotationControlToggle */ 0, + /* TrackElemType::InvertedUp90ToFlatQuarterLoopAlias / Maze */ TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND, + /* TrackElemType::LeftQuarterBankedHelixLargeUp */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightQuarterBankedHelixLargeUp */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftQuarterBankedHelixLargeDown */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightQuarterBankedHelixLargeDown */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftQuarterHelixLargeUp */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, + /* TrackElemType::RightQuarterHelixLargeUp */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, + /* TrackElemType::LeftQuarterHelixLargeDown */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_HELIX, + /* TrackElemType::RightQuarterHelixLargeDown */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_HELIX, + /* TrackElemType::Up25LeftBanked */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Up25RightBanked */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Waterfall */ 0, + /* TrackElemType::Rapids */ 0, + /* TrackElemType::OnRidePhoto */ 0, + /* TrackElemType::Down25LeftBanked */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Down25RightBanked */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Watersplash */ 0, + /* TrackElemType::FlatToUp60LongBase */ TRACK_ELEM_FLAG_UP, + /* TrackElemType::Up60ToFlatLongBase */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Whirlpool */ 0, + /* TrackElemType::Down60ToFlatLongBase */ TRACK_ELEM_FLAG_DOWN, + /* TrackElemType::FlatToDown60LongBase */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::CableLiftHill */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::ReverseFreefallSlope */ TRACK_ELEM_FLAG_UP, + /* TrackElemType::ReverseFreefallVertical */ TRACK_ELEM_FLAG_UP, + /* TrackElemType::Up90 */ TRACK_ELEM_FLAG_UP, + /* TrackElemType::Down90 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Up60ToUp90 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Down90ToDown60 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::Up90ToUp60 */ TRACK_ELEM_FLAG_UP, + /* TrackElemType::Down60ToDown90 */ TRACK_ELEM_FLAG_DOWN, + /* TrackElemType::BrakeForDrop */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::LeftEighthToDiag */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TrackElemType::RightEighthToDiag */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TrackElemType::LeftEighthToOrthogonal */ TRACK_ELEM_FLAG_TURN_LEFT, + /* TrackElemType::RightEighthToOrthogonal */ TRACK_ELEM_FLAG_TURN_RIGHT, + /* TrackElemType::LeftEighthBankToDiag */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightEighthBankToDiag */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftEighthBankToOrthogonal */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightEighthBankToOrthogonal */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagFlat */ TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagUp60 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagFlatToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagUp25ToUp60 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagUp60ToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagUp25ToFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagDown60 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagFlatToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagDown25ToDown60 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagDown60ToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagDown25ToFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagFlatToUp60 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagUp60ToFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_IS_STEEP_UP | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagFlatToDown60 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagDown60ToFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL, + /* TrackElemType::DiagFlatToLeftBank */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagFlatToRightBank */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagLeftBankToFlat */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagRightBankToFlat */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagLeftBankToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagRightBankToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagUp25ToLeftBank */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagUp25ToRightBank */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagLeftBankToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagRightBankToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagDown25ToLeftBank */ TRACK_ELEM_FLAG_DOWN, + /* TrackElemType::DiagDown25ToRightBank */ TRACK_ELEM_FLAG_DOWN, + /* TrackElemType::DiagLeftBank */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagRightBank */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LogFlumeReverser */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::SpinningTunnel */ TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBarrelRollUpToDown */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightBarrelRollUpToDown */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftBarrelRollDownToUp */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightBarrelRollDownToUp */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankToRightQuarterTurn3TilesUp25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightQuarterTurn3TilesDown25ToRightBank */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::PoweredLift */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::LeftLargeHalfLoopUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightLargeHalfLoopUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightLargeHalfLoopDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftLargeHalfLoopDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftFlyerTwistUp */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightFlyerTwistUp */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftFlyerTwistDown */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightFlyerTwistDown */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::FlyerHalfLoopUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::FlyerHalfLoopDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftFlyerCorkscrewUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightFlyerCorkscrewUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftFlyerCorkscrewDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightFlyerCorkscrewDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::HeartLineTransferUp */ 0, + /* TrackElemType::HeartLineTransferDown */ 0, + /* TrackElemType::LeftHeartLineRoll */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightHeartLineRoll */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::MinigolfHoleA */ TRACK_ELEM_FLAG_IS_GOLF_HOLE, + /* TrackElemType::MinigolfHoleB */ TRACK_ELEM_FLAG_IS_GOLF_HOLE, + /* TrackElemType::MinigolfHoleC */ TRACK_ELEM_FLAG_IS_GOLF_HOLE, + /* TrackElemType::MinigolfHoleD */ TRACK_ELEM_FLAG_IS_GOLF_HOLE, + /* TrackElemType::MinigolfHoleE */ TRACK_ELEM_FLAG_IS_GOLF_HOLE, + /* TrackElemType::MultiDimInvertedFlatToDown90QuarterLoop */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::Up90ToInvertedFlatQuarterLoop */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::InvertedFlatToDown90QuarterLoop */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftCurvedLiftHill */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_UP, + /* TrackElemType::RightCurvedLiftHill */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_UP, + /* TrackElemType::LeftReverser */ 0, + /* TrackElemType::RightReverser */ 0, + /* TrackElemType::AirThrustTopCap */ 0, + /* TrackElemType::AirThrustVerticalDown */ TRACK_ELEM_FLAG_DOWN, + /* TrackElemType::AirThrustVerticalDownToLevel */ TRACK_ELEM_FLAG_DOWN, + /* TrackElemType::BlockBrakes */ 0, + /* TrackElemType::LeftBankedQuarterTurn3TileUp25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedQuarterTurn3TileUp25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankedQuarterTurn3TileDown25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedQuarterTurn3TileDown25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankedQuarterTurn5TileUp25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedQuarterTurn5TileUp25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankedQuarterTurn5TileDown25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedQuarterTurn5TileDown25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Up25ToLeftBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Up25ToRightBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankedUp25ToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedUp25ToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Down25ToLeftBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Down25ToRightBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankedDown25ToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedDown25ToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankedFlatToLeftBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedFlatToRightBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankedUp25ToLeftBankedFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedUp25ToRightBankedFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankedFlatToLeftBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedFlatToRightBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankedDown25ToLeftBankedFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedDown25ToRightBankedFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::FlatToLeftBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::FlatToRightBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankedUp25ToFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedUp25ToFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::FlatToLeftBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::FlatToRightBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftBankedDown25ToFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::RightBankedDown25ToFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::LeftQuarterTurn1TileUp90 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, + /* TrackElemType::RightQuarterTurn1TileUp90 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP, + /* TrackElemType::LeftQuarterTurn1TileDown90 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, + /* TrackElemType::RightQuarterTurn1TileDown90 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN, + /* TrackElemType::MultiDimUp90ToInvertedFlatQuarterLoop */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::MultiDimFlatToDown90QuarterLoop */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, }; // clang-format on diff --git a/src/openrct2/ride/TrackData.h b/src/openrct2/ride/TrackData.h index 83ded786e4..f9611f691d 100644 --- a/src/openrct2/ride/TrackData.h +++ b/src/openrct2/ride/TrackData.h @@ -14,17 +14,17 @@ #include "TrackPaint.h" // 0x009968BB, 0x009968BC, 0x009968BD, 0x009968BF, 0x009968C1, 0x009968C3 -extern const rct_track_coordinates TrackCoordinates[TRACK_ELEM_COUNT]; +extern const rct_track_coordinates TrackCoordinates[TrackElemType::Count]; // 0x009972BB, 0x009972BC, 0x009972BD, 0x009972BF, 0x009972C1, 0x009972C3 -extern const rct_track_coordinates FlatTrackCoordinates[TRACK_ELEM_COUNT]; +extern const rct_track_coordinates FlatTrackCoordinates[TrackElemType::Count]; -extern const uint8_t TrackSequenceProperties[TRACK_ELEM_COUNT][16]; -extern const uint8_t FlatRideTrackSequenceProperties[TRACK_ELEM_COUNT][16]; +extern const uint8_t TrackSequenceProperties[TrackElemType::Count][16]; +extern const uint8_t FlatRideTrackSequenceProperties[TrackElemType::Count][16]; -extern const rct_preview_track* TrackBlocks[TRACK_ELEM_COUNT]; -extern const rct_preview_track* FlatRideTrackBlocks[TRACK_ELEM_COUNT]; +extern const rct_preview_track* TrackBlocks[TrackElemType::Count]; +extern const rct_preview_track* FlatRideTrackBlocks[TrackElemType::Count]; -extern const uint8_t TrackPieceLengths[TRACK_ELEM_COUNT]; +extern const uint8_t TrackPieceLengths[TrackElemType::Count]; struct track_curve_chain { @@ -32,8 +32,8 @@ struct track_curve_chain uint16_t previous; }; -extern const track_curve_chain gTrackCurveChain[TRACK_ELEM_COUNT]; -extern const track_curve_chain gFlatRideTrackCurveChain[TRACK_ELEM_COUNT]; +extern const track_curve_chain gTrackCurveChain[TrackElemType::Count]; +extern const track_curve_chain gFlatRideTrackCurveChain[TrackElemType::Count]; struct track_descriptor { diff --git a/src/openrct2/ride/TrackDesign.cpp b/src/openrct2/ride/TrackDesign.cpp index 91900f98ce..f49b01b7e1 100644 --- a/src/openrct2/ride/TrackDesign.cpp +++ b/src/openrct2/ride/TrackDesign.cpp @@ -212,9 +212,9 @@ rct_string_id TrackDesign::CreateTrackDesignTrack(const Ride& ride) TrackDesignTrackElement track{}; track.type = trackElement.element->AsTrack()->GetTrackType(); // TODO move to RCT2 limit - if (track.type == TRACK_ELEM_MULTIDIM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP) + if (track.type == TrackElemType::MultiDimInvertedUp90ToFlatQuarterLoop) { - track.type = TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP_ALIAS; + track.type = TrackElemType::InvertedUp90ToFlatQuarterLoopAlias; } uint8_t trackFlags; @@ -1521,9 +1521,9 @@ static bool track_design_place_ride(TrackDesign* td6, const CoordsXYZ& origin, R for (const auto& track : td6->track_elements) { uint8_t trackType = track.type; - if (trackType == TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP_ALIAS) + if (trackType == TrackElemType::InvertedUp90ToFlatQuarterLoopAlias) { - trackType = TRACK_ELEM_MULTIDIM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP; + trackType = TrackElemType::MultiDimInvertedUp90ToFlatQuarterLoop; } track_design_update_max_min_coordinates(newCoords); diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index 17e7b40015..2bc6c8aac0 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -339,7 +339,7 @@ static void track_paint_util_draw_station_impl( // height += 5 (height + 5); hasFence = track_paint_util_has_fence(EDGE_NW, position, tileElement, ride, session->CurrentRotation); - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 0) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 0) { if (hasGreenLight) { @@ -354,7 +354,7 @@ static void track_paint_util_draw_station_impl( | session->TrackColours[SCHEME_SUPPORTS]; } } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 2) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 2) { imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE : SPR_STATION_PLATFORM_BEGIN_SW_NE) | session->TrackColours[SCHEME_SUPPORTS]; @@ -369,12 +369,12 @@ static void track_paint_util_draw_station_impl( track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, stationObj, coverHeight); // height += 5 (height + 5) - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 0) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 0) { imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE) | session->TrackColours[SCHEME_SUPPORTS]; } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 2) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 2) { imageId = SPR_STATION_PLATFORM_BEGIN_SW_NE | session->TrackColours[SCHEME_SUPPORTS]; } @@ -388,11 +388,11 @@ static void track_paint_util_draw_station_impl( hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, session->CurrentRotation); if (hasFence) { - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 0) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 0) { imageId = SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE | session->TrackColours[SCHEME_SUPPORTS]; } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 2) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 2) { imageId = SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NE_SW | session->TrackColours[SCHEME_SUPPORTS]; } @@ -402,13 +402,13 @@ static void track_paint_util_draw_station_impl( } sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + fenceOffsetB); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 0) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 0) { // Addition: draw only small fence if there is an entrance/exit at the beginning imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + fenceOffsetB); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 2) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 2) { // Addition: draw only small fence if there is an entrance/exit at the end imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS]; @@ -418,12 +418,12 @@ static void track_paint_util_draw_station_impl( track_paint_util_draw_station_covers(session, EDGE_SE, hasFence, stationObj, coverHeight); // height += 7 (height + 7) - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 0) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 0) { imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + fenceOffsetB); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 2) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 2) { imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + fenceOffsetB); @@ -434,7 +434,7 @@ static void track_paint_util_draw_station_impl( // height += 5 (height + 5); hasFence = track_paint_util_has_fence(EDGE_NE, position, tileElement, ride, session->CurrentRotation); - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 3) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 3) { if (hasGreenLight) { @@ -449,7 +449,7 @@ static void track_paint_util_draw_station_impl( | session->TrackColours[SCHEME_SUPPORTS]; } } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 1) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 1) { imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE : SPR_STATION_PLATFORM_BEGIN_NW_SE) | session->TrackColours[SCHEME_SUPPORTS]; @@ -464,12 +464,12 @@ static void track_paint_util_draw_station_impl( track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, stationObj, coverHeight); // height += 5 (height + 5) - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 3) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 3) { imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE) | session->TrackColours[SCHEME_SUPPORTS]; } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 1) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 1) { imageId = SPR_STATION_PLATFORM_BEGIN_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; } @@ -483,11 +483,11 @@ static void track_paint_util_draw_station_impl( hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, session->CurrentRotation); if (hasFence) { - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 3) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 3) { imageId = SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 1) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 1) { imageId = SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; } @@ -497,13 +497,13 @@ static void track_paint_util_draw_station_impl( } sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + fenceOffsetB); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 3) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 3) { // Addition: draw only small fence if there is an entrance/exit at the beginning imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + fenceOffsetB); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 1) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 1) { // Addition: draw only small fence if there is an entrance/exit at the end imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; @@ -514,12 +514,12 @@ static void track_paint_util_draw_station_impl( track_paint_util_draw_station_covers(session, EDGE_SW, hasFence, stationObj, coverHeight); // height += 7 (height + 7) - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 3) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 3) { imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + fenceOffsetB); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 1) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 1) { imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + fenceOffsetB); @@ -547,7 +547,7 @@ void track_paint_util_draw_station_inverted( // height += 5 (height + 5); hasFence = track_paint_util_has_fence(EDGE_NW, position, tileElement, ride, session->CurrentRotation); - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 0) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 0) { if (hasGreenLight) { @@ -562,7 +562,7 @@ void track_paint_util_draw_station_inverted( | session->TrackColours[SCHEME_SUPPORTS]; } } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 2) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 2) { imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE : SPR_STATION_PLATFORM_BEGIN_SW_NE) | session->TrackColours[SCHEME_SUPPORTS]; @@ -577,12 +577,12 @@ void track_paint_util_draw_station_inverted( track_paint_util_draw_station_covers_2(session, EDGE_NW, hasFence, stationObj, height, stationVariant); // height += 5 (height + 5) - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 0) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 0) { imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE) | session->TrackColours[SCHEME_SUPPORTS]; } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 2) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 2) { imageId = SPR_STATION_PLATFORM_BEGIN_SW_NE | session->TrackColours[SCHEME_SUPPORTS]; } @@ -596,11 +596,11 @@ void track_paint_util_draw_station_inverted( hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, session->CurrentRotation); if (hasFence) { - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 0) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 0) { imageId = SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_SW_NE | session->TrackColours[SCHEME_SUPPORTS]; } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 2) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 2) { imageId = SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NE_SW | session->TrackColours[SCHEME_SUPPORTS]; } @@ -610,13 +610,13 @@ void track_paint_util_draw_station_inverted( } sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 8); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 0) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 0) { // Addition: draw only small fence if there is an entrance/exit at the beginning imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 8); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 2) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 2) { // Addition: draw only small fence if there is an entrance/exit at the end imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS]; @@ -626,12 +626,12 @@ void track_paint_util_draw_station_inverted( track_paint_util_draw_station_covers_2(session, EDGE_SE, hasFence, stationObj, height, stationVariant); // height += 7 (height + 7) - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 0) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 0) { imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 8); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 2) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 2) { imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 8); @@ -642,7 +642,7 @@ void track_paint_util_draw_station_inverted( // height += 5 (height + 5); hasFence = track_paint_util_has_fence(EDGE_NE, position, tileElement, ride, session->CurrentRotation); - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 3) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 3) { if (hasGreenLight) { @@ -657,7 +657,7 @@ void track_paint_util_draw_station_inverted( | session->TrackColours[SCHEME_SUPPORTS]; } } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 1) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 1) { imageId = (hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE : SPR_STATION_PLATFORM_BEGIN_NW_SE) | session->TrackColours[SCHEME_SUPPORTS]; @@ -672,12 +672,12 @@ void track_paint_util_draw_station_inverted( track_paint_util_draw_station_covers_2(session, EDGE_NE, hasFence, stationObj, height, stationVariant); // height += 5 (height + 5) - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 3) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 3) { imageId = (hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE) | session->TrackColours[SCHEME_SUPPORTS]; } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 1) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 1) { imageId = SPR_STATION_PLATFORM_BEGIN_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; } @@ -691,11 +691,11 @@ void track_paint_util_draw_station_inverted( hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, session->CurrentRotation); if (hasFence) { - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 3) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 3) { imageId = SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 1) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 1) { imageId = SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; } @@ -705,13 +705,13 @@ void track_paint_util_draw_station_inverted( } sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 8); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 3) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 3) { // Addition: draw only small fence if there is an entrance/exit at the beginning imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 8); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 1) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 1) { // Addition: draw only small fence if there is an entrance/exit at the end imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; @@ -722,12 +722,12 @@ void track_paint_util_draw_station_inverted( track_paint_util_draw_station_covers_2(session, EDGE_SW, hasFence, stationObj, height, stationVariant); // height += 7 (height + 7) - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_BEGIN_STATION && direction == 3) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::BeginStation && direction == 3) { imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 8); } - else if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && direction == 1) + else if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && direction == 1) { imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 8); diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index e2c6f0e605..79d4e4ff8d 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -1614,7 +1614,7 @@ void Vehicle::UpdateMeasurements() return; uint16_t trackElemType = GetTrackType(); - if (trackElemType == TRACK_ELEM_POWERED_LIFT || HasUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL)) + if (trackElemType == TrackElemType::PoweredLift || HasUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL)) { if (!(curRide->testing_flags & RIDE_TESTING_POWERED_LIFT)) { @@ -1632,7 +1632,7 @@ void Vehicle::UpdateMeasurements() if (curRide->type == RIDE_TYPE_WATER_COASTER) { - if (trackElemType >= TRACK_ELEM_FLAT_COVERED && trackElemType <= TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED) + if (trackElemType >= TrackElemType::FlatCovered && trackElemType <= TrackElemType::RightQuarterTurn3TilesCovered) { curRide->special_track_elements |= RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; } @@ -1640,18 +1640,18 @@ void Vehicle::UpdateMeasurements() switch (trackElemType) { - case TRACK_ELEM_RAPIDS: - case TRACK_ELEM_SPINNING_TUNNEL: + case TrackElemType::Rapids: + case TrackElemType::SpinningTunnel: curRide->special_track_elements |= RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; break; - case TRACK_ELEM_WATERFALL: - case TRACK_ELEM_LOG_FLUME_REVERSER: + case TrackElemType::Waterfall: + case TrackElemType::LogFlumeReverser: curRide->special_track_elements |= RIDE_ELEMENT_REVERSER_OR_WATERFALL; break; - case TRACK_ELEM_WHIRLPOOL: + case TrackElemType::Whirlpool: curRide->special_track_elements |= RIDE_ELEMENT_WHIRLPOOL; break; - case TRACK_ELEM_WATER_SPLASH: + case TrackElemType::Watersplash: if (velocity >= 0xB0000) { curRide->special_track_elements |= RIDE_ELEMENT_TUNNEL_SPLASH_OR_RAPIDS; @@ -3111,7 +3111,7 @@ bool Vehicle::CurrentTowerElementIsTop() { tileElement++; if (tileElement->GetType() == TILE_ELEMENT_TYPE_TRACK - && tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_TOWER_SECTION) + && tileElement->AsTrack()->GetTrackType() == TrackElemType::TowerSection) { return false; } @@ -5703,279 +5703,279 @@ GForces Vehicle::GetGForces() const // unsigned. Possibly an original bug but will be left implemented. switch (GetTrackType()) { - case TRACK_ELEM_FLAT: - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - case TRACK_ELEM_25_DEG_UP: - case TRACK_ELEM_60_DEG_UP: // - case TRACK_ELEM_25_DEG_DOWN: - case TRACK_ELEM_60_DEG_DOWN: // - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: // - case TRACK_ELEM_LEFT_BANK: - case TRACK_ELEM_RIGHT_BANK: - case TRACK_ELEM_TOWER_BASE: - case TRACK_ELEM_TOWER_SECTION: - case TRACK_ELEM_FLAT_COVERED: - case TRACK_ELEM_25_DEG_UP_COVERED: - case TRACK_ELEM_60_DEG_UP_COVERED: - case TRACK_ELEM_25_DEG_DOWN_COVERED: - case TRACK_ELEM_60_DEG_DOWN_COVERED: - case TRACK_ELEM_BRAKES: - case TRACK_ELEM_ROTATION_CONTROL_TOGGLE: - case TRACK_ELEM_MAZE: - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - case TRACK_ELEM_WATERFALL: - case TRACK_ELEM_RAPIDS: - case TRACK_ELEM_ON_RIDE_PHOTO: - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - case TRACK_ELEM_WHIRLPOOL: - case TRACK_ELEM_REVERSE_FREEFALL_VERTICAL: - case TRACK_ELEM_90_DEG_UP: - case TRACK_ELEM_90_DEG_DOWN: - case TRACK_ELEM_DIAG_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_DOWN: - case TRACK_ELEM_DIAG_60_DEG_DOWN: - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_LEFT_BANK: - case TRACK_ELEM_DIAG_RIGHT_BANK: - case TRACK_ELEM_LOG_FLUME_REVERSER: - case TRACK_ELEM_SPINNING_TUNNEL: - case TRACK_ELEM_POWERED_LIFT: - case TRACK_ELEM_MINI_GOLF_HOLE_A: - case TRACK_ELEM_MINI_GOLF_HOLE_B: - case TRACK_ELEM_MINI_GOLF_HOLE_C: - case TRACK_ELEM_MINI_GOLF_HOLE_D: - case TRACK_ELEM_MINI_GOLF_HOLE_E: - case TRACK_ELEM_LEFT_REVERSER: - case TRACK_ELEM_RIGHT_REVERSER: - case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN: - case TRACK_ELEM_BLOCK_BRAKES: - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + case TrackElemType::Flat: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: + case TrackElemType::Up25: + case TrackElemType::Up60: // + case TrackElemType::Down25: + case TrackElemType::Down60: // + case TrackElemType::FlatToLeftBank: + case TrackElemType::FlatToRightBank: + case TrackElemType::LeftBankToFlat: + case TrackElemType::RightBankToFlat: // + case TrackElemType::LeftBank: + case TrackElemType::RightBank: + case TrackElemType::TowerBase: + case TrackElemType::TowerSection: + case TrackElemType::FlatCovered: + case TrackElemType::Up25Covered: + case TrackElemType::Up60Covered: + case TrackElemType::Down25Covered: + case TrackElemType::Down60Covered: + case TrackElemType::Brakes: + case TrackElemType::RotationControlToggle: + case TrackElemType::Maze: + case TrackElemType::Up25LeftBanked: + case TrackElemType::Up25RightBanked: + case TrackElemType::Waterfall: + case TrackElemType::Rapids: + case TrackElemType::OnRidePhoto: + case TrackElemType::Down25LeftBanked: + case TrackElemType::Down25RightBanked: + case TrackElemType::Whirlpool: + case TrackElemType::ReverseFreefallVertical: + case TrackElemType::Up90: + case TrackElemType::Down90: + case TrackElemType::DiagFlat: + case TrackElemType::DiagUp25: + case TrackElemType::DiagUp60: + case TrackElemType::DiagDown25: + case TrackElemType::DiagDown60: + case TrackElemType::DiagFlatToLeftBank: + case TrackElemType::DiagFlatToRightBank: + case TrackElemType::DiagLeftBankToFlat: + case TrackElemType::DiagRightBankToFlat: + case TrackElemType::DiagLeftBank: + case TrackElemType::DiagRightBank: + case TrackElemType::LogFlumeReverser: + case TrackElemType::SpinningTunnel: + case TrackElemType::PoweredLift: + case TrackElemType::MinigolfHoleA: + case TrackElemType::MinigolfHoleB: + case TrackElemType::MinigolfHoleC: + case TrackElemType::MinigolfHoleD: + case TrackElemType::MinigolfHoleE: + case TrackElemType::LeftReverser: + case TrackElemType::RightReverser: + case TrackElemType::AirThrustVerticalDown: + case TrackElemType::BlockBrakes: + case TrackElemType::Up25ToLeftBankedUp25: + case TrackElemType::Up25ToRightBankedUp25: + case TrackElemType::LeftBankedUp25ToUp25: + case TrackElemType::RightBankedUp25ToUp25: + case TrackElemType::Down25ToLeftBankedDown25: + case TrackElemType::Down25ToRightBankedDown25: + case TrackElemType::LeftBankedDown25ToDown25: + case TrackElemType::RightBankedDown25ToDown25: + case TrackElemType::LeftQuarterTurn1TileUp90: + case TrackElemType::RightQuarterTurn1TileUp90: + case TrackElemType::LeftQuarterTurn1TileDown90: + case TrackElemType::RightQuarterTurn1TileDown90: // 6d73FF // Do nothing break; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: // - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: // - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED: - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::FlatToUp25: // + case TrackElemType::Down25ToFlat: // + case TrackElemType::LeftBankToUp25: + case TrackElemType::RightBankToUp25: + case TrackElemType::Down25ToLeftBank: + case TrackElemType::Down25ToRightBank: + case TrackElemType::FlatToUp25Covered: + case TrackElemType::Down25ToFlatCovered: + case TrackElemType::LeftBankedFlatToLeftBankedUp25: + case TrackElemType::RightBankedFlatToRightBankedUp25: + case TrackElemType::LeftBankedDown25ToLeftBankedFlat: + case TrackElemType::RightBankedDown25ToRightBankedFlat: + case TrackElemType::FlatToLeftBankedUp25: + case TrackElemType::FlatToRightBankedUp25: + case TrackElemType::LeftBankedDown25ToFlat: + case TrackElemType::RightBankedDown25ToFlat: vertFactor = 103; // 6d7509 break; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: // - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: // - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED: - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: - case TRACK_ELEM_CABLE_LIFT_HILL: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::Up25ToFlat: // + case TrackElemType::FlatToDown25: // + case TrackElemType::Up25ToLeftBank: + case TrackElemType::Up25ToRightBank: + case TrackElemType::LeftBankToDown25: + case TrackElemType::RightBankToDown25: + case TrackElemType::Up25ToFlatCovered: + case TrackElemType::FlatToDown25Covered: + case TrackElemType::CableLiftHill: + case TrackElemType::LeftBankedUp25ToLeftBankedFlat: + case TrackElemType::RightBankedUp25ToRightBankedFlat: + case TrackElemType::LeftBankedFlatToLeftBankedDown25: + case TrackElemType::RightBankedFlatToRightBankedDown25: + case TrackElemType::LeftBankedUp25ToFlat: + case TrackElemType::RightBankedUp25ToFlat: + case TrackElemType::FlatToLeftBankedDown25: + case TrackElemType::FlatToRightBankedDown25: vertFactor = -103; // 6d7569 break; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: // - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: // - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED: - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: + case TrackElemType::Up25ToUp60: // + case TrackElemType::Down60ToDown25: // + case TrackElemType::Up25ToUp60Covered: + case TrackElemType::Down60ToDown25Covered: vertFactor = 82; // 6d7545 break; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: // - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: // - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED: - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: + case TrackElemType::Up60ToUp25: // + case TrackElemType::Down25ToDown60: // + case TrackElemType::Up60ToUp25Covered: + case TrackElemType::Down25ToDown60Covered: vertFactor = -82; // 6d7551 break; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: // - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: - case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP: - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN: - case TRACK_ELEM_LEFT_FLYER_TWIST_UP: - case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: - case TRACK_ELEM_LEFT_HEARTLINE_ROLL: + case TrackElemType::LeftQuarterTurn5Tiles: // + case TrackElemType::LeftQuarterTurn5TilesUp25: + case TrackElemType::LeftQuarterTurn5TilesDown25: + case TrackElemType::LeftTwistDownToUp: + case TrackElemType::LeftTwistUpToDown: + case TrackElemType::LeftQuarterTurn5TilesCovered: + case TrackElemType::LeftQuarterHelixLargeUp: + case TrackElemType::LeftQuarterHelixLargeDown: + case TrackElemType::LeftFlyerTwistUp: + case TrackElemType::LeftFlyerTwistDown: + case TrackElemType::LeftHeartLineRoll: lateralFactor = 98; // 6d7590 break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: // - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: - case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP: - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN: - case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: - case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: - case TRACK_ELEM_RIGHT_HEARTLINE_ROLL: + case TrackElemType::RightQuarterTurn5Tiles: // + case TrackElemType::RightQuarterTurn5TilesUp25: + case TrackElemType::RightQuarterTurn5TilesDown25: + case TrackElemType::RightTwistDownToUp: + case TrackElemType::RightTwistUpToDown: + case TrackElemType::RightQuarterTurn5TilesCovered: + case TrackElemType::RightQuarterHelixLargeUp: + case TrackElemType::RightQuarterHelixLargeDown: + case TrackElemType::RightFlyerTwistUp: + case TrackElemType::RightFlyerTwistDown: + case TrackElemType::RightHeartLineRoll: lateralFactor = -98; // 6d75B7 break; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TrackElemType::BankedLeftQuarterTurn5Tiles: + case TrackElemType::LeftHalfBankedHelixUpLarge: + case TrackElemType::LeftHalfBankedHelixDownLarge: + case TrackElemType::LeftQuarterBankedHelixLargeUp: + case TrackElemType::LeftQuarterBankedHelixLargeDown: vertFactor = 200; lateralFactor = 160; // 6d75E1 break; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TrackElemType::BankedRightQuarterTurn5Tiles: + case TrackElemType::RightHalfBankedHelixUpLarge: + case TrackElemType::RightHalfBankedHelixDownLarge: + case TrackElemType::RightQuarterBankedHelixLargeUp: + case TrackElemType::RightQuarterBankedHelixLargeDown: vertFactor = 200; lateralFactor = -160; // 6d75F0 break; - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_LEFT_COVERED: + case TrackElemType::SBendLeft: + case TrackElemType::SBendLeftCovered: lateralFactor = (track_progress < 48) ? 98 : -98; // 6d75FF break; - case TRACK_ELEM_S_BEND_RIGHT: - case TRACK_ELEM_S_BEND_RIGHT_COVERED: + case TrackElemType::SBendRight: + case TrackElemType::SBendRightCovered: lateralFactor = (track_progress < 48) ? -98 : 98; // 6d7608 break; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: + case TrackElemType::RightVerticalLoop: vertFactor = (abs(track_progress - 155) / 2) + 28; // 6d7690 break; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: - case TRACK_ELEM_LEFT_CURVED_LIFT_HILL: + case TrackElemType::LeftQuarterTurn3Tiles: + case TrackElemType::LeftQuarterTurn3TilesUp25: + case TrackElemType::LeftQuarterTurn3TilesDown25: + case TrackElemType::LeftQuarterTurn3TilesCovered: + case TrackElemType::LeftCurvedLiftHill: lateralFactor = 59; // 6d7704 break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: - case TRACK_ELEM_RIGHT_CURVED_LIFT_HILL: + case TrackElemType::RightQuarterTurn3Tiles: + case TrackElemType::RightQuarterTurn3TilesUp25: + case TrackElemType::RightQuarterTurn3TilesDown25: + case TrackElemType::RightQuarterTurn3TilesCovered: + case TrackElemType::RightCurvedLiftHill: lateralFactor = -59; // 6d7710 break; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftBankedQuarterTurn3Tiles: + case TrackElemType::LeftHalfBankedHelixUpSmall: + case TrackElemType::LeftHalfBankedHelixDownSmall: vertFactor = 100; lateralFactor = 100; // 6d7782 break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightBankedQuarterTurn3Tiles: + case TrackElemType::RightHalfBankedHelixUpSmall: + case TrackElemType::RightHalfBankedHelixDownSmall: vertFactor = 100; lateralFactor = -100; // 6d778E break; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: lateralFactor = 45; // 6d779A break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: lateralFactor = -45; // 6d77A3 break; - case TRACK_ELEM_HALF_LOOP_UP: - case TRACK_ELEM_FLYER_HALF_LOOP_UP: + case TrackElemType::HalfLoopUp: + case TrackElemType::FlyerHalfLoopUp: vertFactor = ((static_cast(-(track_progress - 155))) / 2) + 28; // 6d763E break; - case TRACK_ELEM_HALF_LOOP_DOWN: - case TRACK_ELEM_FLYER_HALF_LOOP_DOWN: + case TrackElemType::HalfLoopDown: + case TrackElemType::FlyerHalfLoopDown: vertFactor = (track_progress / 2) + 28; // 6d7656 break; - case TRACK_ELEM_LEFT_CORKSCREW_UP: - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: - case TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP: - case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN: + case TrackElemType::LeftCorkscrewUp: + case TrackElemType::RightCorkscrewDown: + case TrackElemType::LeftFlyerCorkscrewUp: + case TrackElemType::RightFlyerCorkscrewDown: vertFactor = 52; lateralFactor = 70; // 6d76AA break; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: - case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP: - case TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN: + case TrackElemType::RightCorkscrewUp: + case TrackElemType::LeftCorkscrewDown: + case TrackElemType::RightFlyerCorkscrewUp: + case TrackElemType::LeftFlyerCorkscrewDown: vertFactor = 52; lateralFactor = -70; // 6d76B9 break; - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + case TrackElemType::FlatToUp60: + case TrackElemType::Down60ToFlat: vertFactor = 56; // 6d747C break; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - case TRACK_ELEM_BRAKE_FOR_DROP: + case TrackElemType::Up60ToFlat: + case TrackElemType::FlatToDown60: + case TrackElemType::BrakeForDrop: vertFactor = -56; // 6d7488 break; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileUp60: + case TrackElemType::LeftQuarterTurn1TileDown60: lateralFactor = 88; // 6d7770 break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileUp60: + case TrackElemType::RightQuarterTurn1TileDown60: lateralFactor = -88; // 6d7779 break; - case TRACK_ELEM_WATER_SPLASH: + case TrackElemType::Watersplash: vertFactor = -150; if (track_progress < 32) break; @@ -5991,134 +5991,134 @@ GForces Vehicle::GetGForces() const vertFactor = -150; // 6d7408 break; - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: + case TrackElemType::FlatToUp60LongBase: + case TrackElemType::Down60ToFlatLongBase: vertFactor = 160; // 6d74F1 break; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: + case TrackElemType::Up60ToFlatLongBase: + case TrackElemType::FlatToDown60LongBase: vertFactor = -160; // 6d74FD break; - case TRACK_ELEM_REVERSE_FREEFALL_SLOPE: - case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL: + case TrackElemType::ReverseFreefallSlope: + case TrackElemType::AirThrustVerticalDownToLevel: vertFactor = 120; // 6d7458 break; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Up60ToUp90: + case TrackElemType::Down90ToDown60: vertFactor = 110; // 6d7515 break; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + case TrackElemType::Up90ToUp60: + case TrackElemType::Down60ToDown90: vertFactor = -110; // 6d7521 break; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToDiag: + case TrackElemType::LeftEighthToOrthogonal: lateralFactor = 137; // 6d7575 break; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToDiag: + case TrackElemType::RightEighthToOrthogonal: lateralFactor = -137; // 6d759C break; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToDiag: + case TrackElemType::LeftEighthBankToOrthogonal: vertFactor = 270; lateralFactor = 200; // 6d75C3 break; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToDiag: + case TrackElemType::RightEighthBankToOrthogonal: vertFactor = 270; lateralFactor = -200; // 6d75D2 break; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToUp25: + case TrackElemType::DiagDown25ToFlat: + case TrackElemType::DiagLeftBankToUp25: + case TrackElemType::DiagRightBankToUp25: + case TrackElemType::DiagDown25ToLeftBank: + case TrackElemType::DiagDown25ToRightBank: vertFactor = 113; // 6d7494 break; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagUp25ToFlat: + case TrackElemType::DiagFlatToDown25: + case TrackElemType::DiagUp25ToLeftBank: + case TrackElemType::DiagUp25ToRightBank: + case TrackElemType::DiagLeftBankToDown25: + case TrackElemType::DiagRightBankToDown25: vertFactor = -113; // 6d755D break; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagUp25ToUp60: + case TrackElemType::DiagDown60ToDown25: vertFactor = 95; // 6D752D break; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagUp60ToUp25: + case TrackElemType::DiagDown25ToDown60: vertFactor = -95; // 6D7539 break; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagFlatToUp60: + case TrackElemType::DiagDown60ToFlat: vertFactor = 60; // 6D7464 break; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: + case TrackElemType::DiagUp60ToFlat: + case TrackElemType::DiagFlatToDown60: vertFactor = -60; // 6d7470 break; - case TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN: - case TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP: + case TrackElemType::LeftBarrelRollUpToDown: + case TrackElemType::LeftBarrelRollDownToUp: vertFactor = 170; lateralFactor = 115; // 6d7581 break; - case TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN: - case TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP: + case TrackElemType::RightBarrelRollUpToDown: + case TrackElemType::RightBarrelRollDownToUp: vertFactor = 170; lateralFactor = -115; // 6d75A8 break; - case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25: vertFactor = -(track_progress / 2) + 134; lateralFactor = 90; // 6d771C break; - case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightBankToRightQuarterTurn3TilesUp25: vertFactor = -(track_progress / 2) + 134; lateralFactor = -90; // 6D7746 break; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank: vertFactor = -(track_progress / 2) + 134; lateralFactor = 90; // 6D7731 identical to 6d771c break; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::RightQuarterTurn3TilesDown25ToRightBank: vertFactor = -(track_progress / 2) + 134; lateralFactor = -90; // 6D775B identical to 6d7746 break; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: + case TrackElemType::LeftLargeHalfLoopUp: + case TrackElemType::RightLargeHalfLoopUp: vertFactor = ((static_cast(-(track_progress - 311))) / 4) + 46; // 6d7666 break; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: + case TrackElemType::RightLargeHalfLoopDown: + case TrackElemType::LeftLargeHalfLoopDown: vertFactor = (track_progress / 4) + 46; // 6d767F break; - case TRACK_ELEM_HEARTLINE_TRANSFER_UP: + case TrackElemType::HeartLineTransferUp: vertFactor = 103; if (track_progress < 32) break; @@ -6134,7 +6134,7 @@ GForces Vehicle::GetGForces() const vertFactor = -103; // 6d74A0 break; - case TRACK_ELEM_HEARTLINE_TRANSFER_DOWN: + case TrackElemType::HeartLineTransferDown: vertFactor = -103; if (track_progress < 32) break; @@ -6150,42 +6150,42 @@ GForces Vehicle::GetGForces() const vertFactor = 103; // 6D74CA break; - case TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: - case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: - case TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP: + case TrackElemType::MultiDimInvertedFlatToDown90QuarterLoop: + case TrackElemType::InvertedFlatToDown90QuarterLoop: + case TrackElemType::MultiDimFlatToDown90QuarterLoop: vertFactor = (track_progress / 4) + 55; // 6d762D break; - case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: - case TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP: - case TRACK_ELEM_MULTIDIM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP: + case TrackElemType::Up90ToInvertedFlatQuarterLoop: + case TrackElemType::MultiDimUp90ToInvertedFlatQuarterLoop: + case TrackElemType::MultiDimInvertedUp90ToFlatQuarterLoop: vertFactor = ((static_cast(-(track_progress - 137))) / 4) + 55; // 6D7614 break; - case TRACK_ELEM_AIR_THRUST_TOP_CAP: + case TrackElemType::AirThrustTopCap: vertFactor = -60; // 6D744C break; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn3TileUp25: + case TrackElemType::LeftBankedQuarterTurn3TileDown25: vertFactor = 200; lateralFactor = 100; // 6d76C8 break; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn3TileUp25: + case TrackElemType::RightBankedQuarterTurn3TileDown25: vertFactor = 200; lateralFactor = -100; // 6d76d7 break; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn5TileUp25: + case TrackElemType::LeftBankedQuarterTurn5TileDown25: vertFactor = 200; lateralFactor = 160; // 6D76E6 break; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn5TileUp25: + case TrackElemType::RightBankedQuarterTurn5TileDown25: vertFactor = 200; lateralFactor = -160; // 6d76F5 @@ -6669,26 +6669,26 @@ void Vehicle::CheckAndApplyBlockSectionStopSite() switch (trackType) { - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: if (curRide->IsBlockSectioned() && trackElement->AsTrack()->BlockBrakeClosed()) ApplyStopBlockBrake(); else ApplyNonStopBlockBrake(); break; - case TRACK_ELEM_END_STATION: + case TrackElemType::EndStation: if (trackElement->AsTrack()->BlockBrakeClosed()) _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_10; break; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_CABLE_LIFT_HILL: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: + case TrackElemType::Up60ToFlat: + case TrackElemType::CableLiftHill: + case TrackElemType::DiagUp25ToFlat: + case TrackElemType::DiagUp60ToFlat: if (curRide->IsBlockSectioned()) { - if (trackType == TRACK_ELEM_CABLE_LIFT_HILL || trackElement->AsTrack()->HasChain()) + if (trackType == TrackElemType::CableLiftHill || trackElement->AsTrack()->HasChain()) { if (trackElement->AsTrack()->BlockBrakeClosed()) { @@ -6782,7 +6782,7 @@ static void block_brakes_open_previous_section(Ride& ride, const CoordsXYZ& vehi map_invalidate_element(location, reinterpret_cast(trackElement)); int32_t trackType = trackElement->GetTrackType(); - if (trackType == TRACK_ELEM_BLOCK_BRAKES || trackType == TRACK_ELEM_END_STATION) + if (trackType == TrackElemType::BlockBrakes || trackType == TrackElemType::EndStation) { if (ride.IsBlockSectioned()) { @@ -6796,40 +6796,40 @@ int32_t Vehicle::GetSwingAmount() const int32_t trackType = GetTrackType(); switch (trackType) { - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP: - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5Tiles: + case TrackElemType::BankedLeftQuarterTurn5Tiles: + case TrackElemType::LeftQuarterTurn5TilesUp25: + case TrackElemType::LeftQuarterTurn5TilesDown25: + case TrackElemType::LeftQuarterTurn5TilesCovered: + case TrackElemType::LeftHalfBankedHelixUpLarge: + case TrackElemType::LeftHalfBankedHelixDownLarge: + case TrackElemType::LeftQuarterBankedHelixLargeUp: + case TrackElemType::LeftQuarterBankedHelixLargeDown: + case TrackElemType::LeftQuarterHelixLargeUp: + case TrackElemType::LeftQuarterHelixLargeDown: + case TrackElemType::LeftBankedQuarterTurn5TileUp25: + case TrackElemType::LeftBankedQuarterTurn5TileDown25: // loc_6D67E1 return 14; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP: - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5Tiles: + case TrackElemType::BankedRightQuarterTurn5Tiles: + case TrackElemType::RightQuarterTurn5TilesUp25: + case TrackElemType::RightQuarterTurn5TilesDown25: + case TrackElemType::RightQuarterTurn5TilesCovered: + case TrackElemType::RightHalfBankedHelixUpLarge: + case TrackElemType::RightHalfBankedHelixDownLarge: + case TrackElemType::RightQuarterBankedHelixLargeUp: + case TrackElemType::RightQuarterBankedHelixLargeDown: + case TrackElemType::RightQuarterHelixLargeUp: + case TrackElemType::RightQuarterHelixLargeDown: + case TrackElemType::RightBankedQuarterTurn5TileUp25: + case TrackElemType::RightBankedQuarterTurn5TileDown25: // loc_6D6804 return -14; - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_LEFT_COVERED: + case TrackElemType::SBendLeft: + case TrackElemType::SBendLeftCovered: // loc_6D67EF if (track_progress < 48) { @@ -6840,8 +6840,8 @@ int32_t Vehicle::GetSwingAmount() const return -15; } - case TRACK_ELEM_S_BEND_RIGHT: - case TRACK_ELEM_S_BEND_RIGHT_COVERED: + case TrackElemType::SBendRight: + case TrackElemType::SBendRightCovered: // loc_6D67CC if (track_progress < 48) { @@ -6852,59 +6852,59 @@ int32_t Vehicle::GetSwingAmount() const return 15; } - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_LEFT_CURVED_LIFT_HILL: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3Tiles: + case TrackElemType::LeftBankedQuarterTurn3Tiles: + case TrackElemType::LeftQuarterTurn3TilesUp25: + case TrackElemType::LeftQuarterTurn3TilesDown25: + case TrackElemType::LeftQuarterTurn3TilesCovered: + case TrackElemType::LeftHalfBankedHelixUpSmall: + case TrackElemType::LeftHalfBankedHelixDownSmall: + case TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25: + case TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank: + case TrackElemType::LeftCurvedLiftHill: + case TrackElemType::LeftBankedQuarterTurn3TileUp25: + case TrackElemType::LeftBankedQuarterTurn3TileDown25: // loc_6D67BE return 13; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_RIGHT_CURVED_LIFT_HILL: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3Tiles: + case TrackElemType::RightBankedQuarterTurn3Tiles: + case TrackElemType::RightQuarterTurn3TilesUp25: + case TrackElemType::RightQuarterTurn3TilesDown25: + case TrackElemType::RightQuarterTurn3TilesCovered: + case TrackElemType::RightHalfBankedHelixUpSmall: + case TrackElemType::RightHalfBankedHelixDownSmall: + case TrackElemType::RightBankToRightQuarterTurn3TilesUp25: + case TrackElemType::RightQuarterTurn3TilesDown25ToRightBank: + case TrackElemType::RightCurvedLiftHill: + case TrackElemType::RightBankedQuarterTurn3TileUp25: + case TrackElemType::RightBankedQuarterTurn3TileDown25: // loc_6D67B0 return -13; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1Tile: + case TrackElemType::LeftQuarterTurn1TileUp60: + case TrackElemType::LeftQuarterTurn1TileDown60: // loc_6D67A2 return 12; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1Tile: + case TrackElemType::RightQuarterTurn1TileUp60: + case TrackElemType::RightQuarterTurn1TileDown60: // loc_6D6794 return -12; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToDiag: + case TrackElemType::LeftEighthToOrthogonal: + case TrackElemType::LeftEighthBankToDiag: + case TrackElemType::LeftEighthBankToOrthogonal: // loc_6D67D3 return 15; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthToDiag: + case TrackElemType::RightEighthToOrthogonal: + case TrackElemType::RightEighthBankToDiag: + case TrackElemType::RightEighthBankToOrthogonal: // loc_6D67F6 return -15; } @@ -6953,21 +6953,21 @@ void Vehicle::UpdateSwingingCar() int32_t trackType = GetTrackType(); switch (trackType) { - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_LEFT_BANK: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::BankedLeftQuarterTurn5Tiles: + case TrackElemType::LeftBank: + case TrackElemType::LeftBankedQuarterTurn3Tiles: dx = 10831; cx = -819; break; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_RIGHT_BANK: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::BankedRightQuarterTurn5Tiles: + case TrackElemType::RightBank: + case TrackElemType::RightBankedQuarterTurn3Tiles: dx = 819; cx = -10831; break; } - if (track_type_is_station(trackType) || trackType == TRACK_ELEM_BRAKES || trackType == TRACK_ELEM_BLOCK_BRAKES) + if (track_type_is_station(trackType) || trackType == TrackElemType::Brakes || trackType == TrackElemType::BlockBrakes) { dx = 0; cx = 0; @@ -7571,7 +7571,7 @@ void Vehicle::UpdateHandleWaterSplash() const } else { - if (trackType == TRACK_ELEM_25_DEG_DOWN_TO_FLAT) + if (trackType == TrackElemType::Down25ToFlat) { if (track_progress == 12) { @@ -7581,7 +7581,7 @@ void Vehicle::UpdateHandleWaterSplash() const } if (IsHead()) { - if (trackType == TRACK_ELEM_WATER_SPLASH) + if (trackType == TrackElemType::Watersplash) { if (track_progress == 48) { @@ -7860,7 +7860,7 @@ void Vehicle::Sub6DBF3E() _vehicleStationIndex = tileElement->AsTrack()->GetStationIndex(); } - if (trackType == TRACK_ELEM_TOWER_BASE && this == gCurrentVehicle) + if (trackType == TrackElemType::TowerBase && this == gCurrentVehicle) { if (track_progress > 3 && !HasUpdateFlag(VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE)) { @@ -7880,7 +7880,7 @@ void Vehicle::Sub6DBF3E() } } - if (trackType != TRACK_ELEM_END_STATION || this != gCurrentVehicle) + if (trackType != TrackElemType::EndStation || this != gCurrentVehicle) { return; } @@ -7931,7 +7931,7 @@ bool Vehicle::UpdateTrackMotionForwardsGetNewTrack(uint16_t trackType, Ride* cur return false; } - if (trackType == TRACK_ELEM_CABLE_LIFT_HILL && this == gCurrentVehicle) + if (trackType == TrackElemType::CableLiftHill && this == gCurrentVehicle) { _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_11; } @@ -7941,7 +7941,7 @@ bool Vehicle::UpdateTrackMotionForwardsGetNewTrack(uint16_t trackType, Ride* cur if (next_vehicle_on_train == SPRITE_INDEX_NULL) { tileElement->AsTrack()->SetBlockBrakeClosed(true); - if (trackType == TRACK_ELEM_BLOCK_BRAKES || trackType == TRACK_ELEM_END_STATION) + if (trackType == TrackElemType::BlockBrakes || trackType == TrackElemType::EndStation) { if (!(rideEntry->vehicles[0].flags & VEHICLE_ENTRY_FLAG_POWERED)) { @@ -8002,8 +8002,8 @@ bool Vehicle::UpdateTrackMotionForwardsGetNewTrack(uint16_t trackType, Ride* cur tileElement = xyElement.element; location = { xyElement, curZ, static_cast(direction) }; } - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_LEFT_REVERSER - || tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_RIGHT_REVERSER) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::LeftReverser + || tileElement->AsTrack()->GetTrackType() == TrackElemType::RightReverser) { if (IsHead() && velocity <= 0x30000) { @@ -8042,7 +8042,7 @@ bool Vehicle::UpdateTrackMotionForwardsGetNewTrack(uint16_t trackType, Ride* cur && TrackSubposition < VehicleTrackSubposition::GoKartsMovingToRightLane) { trackType = tileElement->AsTrack()->GetTrackType(); - if (trackType == TRACK_ELEM_FLAT + if (trackType == TrackElemType::Flat || ((curRide->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) && tileElement->AsTrack()->IsStation())) { UpdateGoKartAttemptSwitchLanes(); @@ -8073,14 +8073,14 @@ bool Vehicle::UpdateTrackMotionForwardsGetNewTrack(uint16_t trackType, Ride* cur } trackType = tileElement->AsTrack()->GetTrackType(); - if (trackType != TRACK_ELEM_BRAKES) + if (trackType != TrackElemType::Brakes) { target_seat_rotation = tileElement->AsTrack()->GetSeatRotation(); } track_direction = location.direction % NumOrthogonalDirections; track_type |= trackType << 2; brake_speed = tileElement->AsTrack()->GetBrakeBoosterSpeed(); - if (trackType == TRACK_ELEM_ON_RIDE_PHOTO) + if (trackType == TrackElemType::OnRidePhoto) { trigger_on_ride_photo(TrackLocation, tileElement); } @@ -8089,7 +8089,7 @@ bool Vehicle::UpdateTrackMotionForwardsGetNewTrack(uint16_t trackType, Ride* cur if (curRide != nullptr) { uint16_t rideType = curRide->type; - if (trackType == TRACK_ELEM_ROTATION_CONTROL_TOGGLE && rideType == RIDE_TYPE_SPINNING_WILD_MOUSE) + if (trackType == TrackElemType::RotationControlToggle && rideType == RIDE_TYPE_SPINNING_WILD_MOUSE) { update_flags ^= VEHICLE_UPDATE_FLAG_ROTATION_OFF_WILD_MOUSE; } @@ -8112,7 +8112,7 @@ bool Vehicle::UpdateTrackMotionForwards(rct_ride_entry_vehicle* vehicleEntry, Ri loc_6DAEB9: regs.cx = GetTrackType(); int32_t trackType = GetTrackType(); - if (trackType == TRACK_ELEM_HEARTLINE_TRANSFER_UP || trackType == TRACK_ELEM_HEARTLINE_TRANSFER_DOWN) + if (trackType == TrackElemType::HeartLineTransferUp || trackType == TrackElemType::HeartLineTransferDown) { if (track_progress == 80) { @@ -8128,7 +8128,7 @@ loc_6DAEB9: acceleration = 0x50000; } } - else if (trackType == TRACK_ELEM_BRAKES) + else if (trackType == TrackElemType::Brakes) { bool hasBrakesFailure = curRide->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN && curRide->breakdown_reason_pending == BREAKDOWN_BRAKES_FAILURE; @@ -8160,12 +8160,12 @@ loc_6DAEB9: } } - if ((trackType == TRACK_ELEM_FLAT && curRide->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER) - || (trackType == TRACK_ELEM_POWERED_LIFT)) + if ((trackType == TrackElemType::Flat && curRide->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER) + || (trackType == TrackElemType::PoweredLift)) { acceleration = RideTypeDescriptors[curRide->type].OperatingSettings.PoweredLiftAcceleration << 16; } - if (trackType == TRACK_ELEM_BRAKE_FOR_DROP) + if (trackType == TrackElemType::BrakeForDrop) { if (IsHead()) { @@ -8183,7 +8183,7 @@ loc_6DAEB9: } } } - if (trackType == TRACK_ELEM_LOG_FLUME_REVERSER) + if (trackType == TrackElemType::LogFlumeReverser) { if (track_progress != 16 || velocity < 0x40000) { @@ -8242,14 +8242,14 @@ loc_6DAEB9: } if (TrackSubposition == VehicleTrackSubposition::ReverserRCFrontBogie - && (trackType == TRACK_ELEM_LEFT_REVERSER || trackType == TRACK_ELEM_RIGHT_REVERSER) && track_progress >= 30 + && (trackType == TrackElemType::LeftReverser || trackType == TrackElemType::RightReverser) && track_progress >= 30 && track_progress <= 66) { regs.ebx |= 8; } if (TrackSubposition == VehicleTrackSubposition::ReverserRCRearBogie - && (trackType == TRACK_ELEM_LEFT_REVERSER || trackType == TRACK_ELEM_RIGHT_REVERSER) && track_progress == 96) + && (trackType == TrackElemType::LeftReverser || trackType == TrackElemType::RightReverser) && track_progress == 96) { ReverseReverserCar(); @@ -8395,7 +8395,7 @@ bool Vehicle::UpdateTrackMotionBackwardsGetNewTrack(uint16_t trackType, Ride* cu tileElement = trackBeginEnd.begin_element; trackType = tileElement->AsTrack()->GetTrackType(); - if (trackType == TRACK_ELEM_LEFT_REVERSER || trackType == TRACK_ELEM_RIGHT_REVERSER) + if (trackType == TrackElemType::LeftReverser || trackType == TrackElemType::RightReverser) { return false; } @@ -8486,7 +8486,7 @@ bool Vehicle::UpdateTrackMotionBackwardsGetNewTrack(uint16_t trackType, Ride* cu } trackType = tileElement->AsTrack()->GetTrackType(); - if (trackType != TRACK_ELEM_BRAKES) + if (trackType != TrackElemType::Brakes) { target_seat_rotation = tileElement->AsTrack()->GetSeatRotation(); } @@ -8512,7 +8512,7 @@ bool Vehicle::UpdateTrackMotionBackwards(rct_ride_entry_vehicle* vehicleEntry, R loc_6DBA33:; uint16_t trackType = GetTrackType(); - if (trackType == TRACK_ELEM_FLAT && curRide->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER) + if (trackType == TrackElemType::Flat && curRide->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER) { int32_t unkVelocity = _vehicleVelocityF64E08; if (unkVelocity < -524288) @@ -8522,7 +8522,7 @@ loc_6DBA33:; } } - if (trackType == TRACK_ELEM_BRAKES) + if (trackType == TrackElemType::Brakes) { regs.eax = -(brake_speed << 16); if (regs.eax > _vehicleVelocityF64E08) @@ -9132,7 +9132,7 @@ loc_6DCE02: return; } _vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_3; - if (trackType != TRACK_ELEM_END_STATION) + if (trackType != TrackElemType::EndStation) { return; } @@ -9319,11 +9319,11 @@ static uint8_t modified_speed(uint16_t trackType, VehicleTrackSubposition trackS uint8_t speedModifier = FULL_SPEED; - if (trackType == TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE) + if (trackType == TrackElemType::LeftQuarterTurn1Tile) { speedModifier = (trackSubposition == VehicleTrackSubposition::GoKartsLeftLane) ? HALF_SPEED : THREE_QUARTER_SPEED; } - else if (trackType == TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE) + else if (trackType == TrackElemType::RightQuarterTurn1Tile) { speedModifier = (trackSubposition == VehicleTrackSubposition::GoKartsRightLane) ? HALF_SPEED : THREE_QUARTER_SPEED; } @@ -9622,7 +9622,7 @@ int32_t Vehicle::UpdateTrackMotion(int32_t* outStation) } } - if ((vehicle->GetTrackType()) == TRACK_ELEM_WATER_SPLASH) + if ((vehicle->GetTrackType()) == TrackElemType::Watersplash) { if (vehicle->track_progress >= 48 && vehicle->track_progress <= 128) { diff --git a/src/openrct2/ride/VehiclePaint.cpp b/src/openrct2/ride/VehiclePaint.cpp index d8be09bc5b..664f335ef3 100644 --- a/src/openrct2/ride/VehiclePaint.cpp +++ b/src/openrct2/ride/VehiclePaint.cpp @@ -2339,8 +2339,8 @@ static void vehicle_sprite_17( { if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES)) { - if ((vehicle->GetTrackType()) != TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - && (vehicle->GetTrackType()) != TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN) + if ((vehicle->GetTrackType()) != TrackElemType::Down90ToDown60 + && (vehicle->GetTrackType()) != TrackElemType::Down60ToDown90) { vehicleEntry--; } @@ -2364,9 +2364,8 @@ static void vehicle_sprite_18( { if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES)) { - if ((vehicle->GetTrackType()) != TRACK_ELEM_90_DEG_DOWN - && (vehicle->GetTrackType()) != TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - && (vehicle->GetTrackType()) != TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN) + if ((vehicle->GetTrackType()) != TrackElemType::Down90 && (vehicle->GetTrackType()) != TrackElemType::Down90ToDown60 + && (vehicle->GetTrackType()) != TrackElemType::Down60ToDown90) { vehicleEntry--; } @@ -2964,7 +2963,7 @@ static constexpr const vehicle_sprite_func vehicle_sprite_funcs[] = { */ static void vehicle_visual_splash1_effect(paint_session* session, int32_t z, const Vehicle* vehicle) { - if ((vehicle->GetTrackType()) != TRACK_ELEM_WATER_SPLASH) + if ((vehicle->GetTrackType()) != TrackElemType::Watersplash) { return; } diff --git a/src/openrct2/ride/VehicleSubpositionData.cpp b/src/openrct2/ride/VehicleSubpositionData.cpp index f58e06ca1e..0255f909a9 100644 --- a/src/openrct2/ride/VehicleSubpositionData.cpp +++ b/src/openrct2/ride/VehicleSubpositionData.cpp @@ -24396,113 +24396,113 @@ static constexpr const rct_vehicle_info_list *TrackVehicleInfoListChairliftStart }; static constexpr const rct_vehicle_info_list *TrackVehicleInfoListGoKartsLeftLane[] = { - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TRACK_ELEM_FLAT - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TRACK_ELEM_END_STATION - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TRACK_ELEM_BEGIN_STATION - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TRACK_ELEM_MIDDLE_STATION - &TrackVehicleInfo_900E52, &TrackVehicleInfo_900F74, &TrackVehicleInfo_901096, &TrackVehicleInfo_9011B8, // TRACK_ELEM_25_DEG_UP - &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, // TRACK_ELEM_60_DEG_UP - &TrackVehicleInfo_8FFBEA, &TrackVehicleInfo_8FFD0C, &TrackVehicleInfo_8FFE2E, &TrackVehicleInfo_8FFF50, // TRACK_ELEM_FLAT_TO_25_DEG_UP - &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - &TrackVehicleInfo_900072, &TrackVehicleInfo_9001A6, &TrackVehicleInfo_9002DA, &TrackVehicleInfo_90040E, // TRACK_ELEM_25_DEG_UP_TO_FLAT - &TrackVehicleInfo_9012DA, &TrackVehicleInfo_9013FC, &TrackVehicleInfo_90151E, &TrackVehicleInfo_901640, // TRACK_ELEM_25_DEG_DOWN - &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, // TRACK_ELEM_60_DEG_DOWN - &TrackVehicleInfo_9009CA, &TrackVehicleInfo_900AEC, &TrackVehicleInfo_900C0E, &TrackVehicleInfo_900D30, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - &TrackVehicleInfo_900542, &TrackVehicleInfo_900664, &TrackVehicleInfo_900786, &TrackVehicleInfo_9008A8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles0, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles1, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles2, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles3, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles0, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles1, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles2, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles3, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TRACK_ELEM_FLAT_TO_LEFT_BANK - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TRACK_ELEM_LEFT_BANK_TO_FLAT - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles0, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles1, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles2, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles3, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles0, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles1, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles2, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles3, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - &TrackVehicleInfo_8FFBEA, &TrackVehicleInfo_8FFD0C, &TrackVehicleInfo_8FFE2E, &TrackVehicleInfo_8FFF50, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - &TrackVehicleInfo_8FFBEA, &TrackVehicleInfo_8FFD0C, &TrackVehicleInfo_8FFE2E, &TrackVehicleInfo_8FFF50, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - &TrackVehicleInfo_900072, &TrackVehicleInfo_9001A6, &TrackVehicleInfo_9002DA, &TrackVehicleInfo_90040E, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - &TrackVehicleInfo_900072, &TrackVehicleInfo_9001A6, &TrackVehicleInfo_9002DA, &TrackVehicleInfo_90040E, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - &TrackVehicleInfo_9009CA, &TrackVehicleInfo_900AEC, &TrackVehicleInfo_900C0E, &TrackVehicleInfo_900D30, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - &TrackVehicleInfo_9009CA, &TrackVehicleInfo_900AEC, &TrackVehicleInfo_900C0E, &TrackVehicleInfo_900D30, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - &TrackVehicleInfo_900542, &TrackVehicleInfo_900664, &TrackVehicleInfo_900786, &TrackVehicleInfo_9008A8, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - &TrackVehicleInfo_900542, &TrackVehicleInfo_900664, &TrackVehicleInfo_900786, &TrackVehicleInfo_9008A8, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TRACK_ELEM_LEFT_BANK - &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TRACK_ELEM_RIGHT_BANK - &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp0, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp1, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp2, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp3, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp0, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp1, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp2, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp3, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown0, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown1, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown2, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown3, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown0, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown1, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown2, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown3, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - &LeftLane::TrackVehicleInfoLeftSBend0, &LeftLane::TrackVehicleInfoLeftSBend1, &LeftLane::TrackVehicleInfoLeftSBend2, &LeftLane::TrackVehicleInfoLeftSBend3, // TRACK_ELEM_S_BEND_LEFT - &LeftLane::TrackVehicleInfoRightSBend0, &LeftLane::TrackVehicleInfoRightSBend1, &LeftLane::TrackVehicleInfoRightSBend2, &LeftLane::TrackVehicleInfoRightSBend3, // TRACK_ELEM_S_BEND_RIGHT - &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, // TRACK_ELEM_LEFT_VERTICAL_LOOP - &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles0, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles1, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles2, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles3, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles0, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles1, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles2, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles3, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles0, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles1, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles2, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles3, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles0, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles1, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles2, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles3, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp0, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp1, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp2, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp3, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp0, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp1, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp2, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp3, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown0, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown1, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown2, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown3, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown0, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown1, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown2, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown3, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - &TrackVehicleInfo_901C05, &TrackVehicleInfo_901C7C, &TrackVehicleInfo_901CFC, &TrackVehicleInfo_901D73, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - &TrackVehicleInfo_901762, &TrackVehicleInfo_901884, &TrackVehicleInfo_9019AF, &TrackVehicleInfo_901AE3, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TrackElemType::Flat + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TrackElemType::EndStation + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TrackElemType::BeginStation + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TrackElemType::MiddleStation + &TrackVehicleInfo_900E52, &TrackVehicleInfo_900F74, &TrackVehicleInfo_901096, &TrackVehicleInfo_9011B8, // TrackElemType::Up25 + &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, // TrackElemType::Up60 + &TrackVehicleInfo_8FFBEA, &TrackVehicleInfo_8FFD0C, &TrackVehicleInfo_8FFE2E, &TrackVehicleInfo_8FFF50, // TrackElemType::FlatToUp25 + &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, // TrackElemType::Up25ToUp60 + &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, // TrackElemType::Up60ToUp25 + &TrackVehicleInfo_900072, &TrackVehicleInfo_9001A6, &TrackVehicleInfo_9002DA, &TrackVehicleInfo_90040E, // TrackElemType::Up25ToFlat + &TrackVehicleInfo_9012DA, &TrackVehicleInfo_9013FC, &TrackVehicleInfo_90151E, &TrackVehicleInfo_901640, // TrackElemType::Down25 + &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, // TrackElemType::Down60 + &TrackVehicleInfo_9009CA, &TrackVehicleInfo_900AEC, &TrackVehicleInfo_900C0E, &TrackVehicleInfo_900D30, // TrackElemType::FlatToDown25 + &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, // TrackElemType::Down25ToDown60 + &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, // TrackElemType::Down60ToDown25 + &TrackVehicleInfo_900542, &TrackVehicleInfo_900664, &TrackVehicleInfo_900786, &TrackVehicleInfo_9008A8, // TrackElemType::Down25ToFlat + &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles0, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles1, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles2, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles3, // TrackElemType::LeftQuarterTurn5Tiles + &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles0, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles1, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles2, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles3, // TrackElemType::RightQuarterTurn5Tiles + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TrackElemType::FlatToLeftBank + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TrackElemType::FlatToRightBank + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TrackElemType::LeftBankToFlat + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TrackElemType::RightBankToFlat + &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles0, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles1, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles2, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles3, // TrackElemType::BankedLeftQuarterTurn5Tiles + &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles0, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles1, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles2, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles3, // TrackElemType::BankedRightQuarterTurn5Tiles + &TrackVehicleInfo_8FFBEA, &TrackVehicleInfo_8FFD0C, &TrackVehicleInfo_8FFE2E, &TrackVehicleInfo_8FFF50, // TrackElemType::LeftBankToUp25 + &TrackVehicleInfo_8FFBEA, &TrackVehicleInfo_8FFD0C, &TrackVehicleInfo_8FFE2E, &TrackVehicleInfo_8FFF50, // TrackElemType::RightBankToUp25 + &TrackVehicleInfo_900072, &TrackVehicleInfo_9001A6, &TrackVehicleInfo_9002DA, &TrackVehicleInfo_90040E, // TrackElemType::Up25ToLeftBank + &TrackVehicleInfo_900072, &TrackVehicleInfo_9001A6, &TrackVehicleInfo_9002DA, &TrackVehicleInfo_90040E, // TrackElemType::Up25ToRightBank + &TrackVehicleInfo_9009CA, &TrackVehicleInfo_900AEC, &TrackVehicleInfo_900C0E, &TrackVehicleInfo_900D30, // TrackElemType::LeftBankToDown25 + &TrackVehicleInfo_9009CA, &TrackVehicleInfo_900AEC, &TrackVehicleInfo_900C0E, &TrackVehicleInfo_900D30, // TrackElemType::RightBankToDown25 + &TrackVehicleInfo_900542, &TrackVehicleInfo_900664, &TrackVehicleInfo_900786, &TrackVehicleInfo_9008A8, // TrackElemType::Down25ToLeftBank + &TrackVehicleInfo_900542, &TrackVehicleInfo_900664, &TrackVehicleInfo_900786, &TrackVehicleInfo_9008A8, // TrackElemType::Down25ToRightBank + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TrackElemType::LeftBank + &TrackVehicleInfo_8FF2DA, &TrackVehicleInfo_8FF3FC, &TrackVehicleInfo_8FF51E, &TrackVehicleInfo_8FF640, // TrackElemType::RightBank + &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp0, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp1, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp2, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp3, // TrackElemType::LeftQuarterTurn5TilesUp25 + &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp0, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp1, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp2, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp3, // TrackElemType::RightQuarterTurn5TilesUp25 + &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown0, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown1, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown2, &LeftLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown3, // TrackElemType::LeftQuarterTurn5TilesDown25 + &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown0, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown1, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown2, &LeftLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown3, // TrackElemType::RightQuarterTurn5TilesDown25 + &LeftLane::TrackVehicleInfoLeftSBend0, &LeftLane::TrackVehicleInfoLeftSBend1, &LeftLane::TrackVehicleInfoLeftSBend2, &LeftLane::TrackVehicleInfoLeftSBend3, // TrackElemType::SBendLeft + &LeftLane::TrackVehicleInfoRightSBend0, &LeftLane::TrackVehicleInfoRightSBend1, &LeftLane::TrackVehicleInfoRightSBend2, &LeftLane::TrackVehicleInfoRightSBend3, // TrackElemType::SBendRight + &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, // TrackElemType::LeftVerticalLoop + &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, // TrackElemType::RightVerticalLoop + &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles0, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles1, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles2, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles3, // TrackElemType::LeftQuarterTurn3Tiles + &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles0, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles1, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles2, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles3, // TrackElemType::RightQuarterTurn3Tiles + &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles0, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles1, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles2, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles3, // TrackElemType::LeftBankedQuarterTurn3Tiles + &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles0, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles1, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles2, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles3, // TrackElemType::RightBankedQuarterTurn3Tiles + &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp0, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp1, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp2, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp3, // TrackElemType::LeftQuarterTurn3TilesUp25 + &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp0, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp1, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp2, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp3, // TrackElemType::RightQuarterTurn3TilesUp25 + &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown0, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown1, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown2, &LeftLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown3, // TrackElemType::LeftQuarterTurn3TilesDown25 + &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown0, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown1, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown2, &LeftLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown3, // TrackElemType::RightQuarterTurn3TilesDown25 + &TrackVehicleInfo_901C05, &TrackVehicleInfo_901C7C, &TrackVehicleInfo_901CFC, &TrackVehicleInfo_901D73, // TrackElemType::LeftQuarterTurn1Tile + &TrackVehicleInfo_901762, &TrackVehicleInfo_901884, &TrackVehicleInfo_9019AF, &TrackVehicleInfo_901AE3, // TrackElemType::RightQuarterTurn1Tile }; static constexpr const rct_vehicle_info_list *TrackVehicleInfoListGoKartsRightLane[] = { - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TRACK_ELEM_FLAT - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TRACK_ELEM_END_STATION - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TRACK_ELEM_BEGIN_STATION - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TRACK_ELEM_MIDDLE_STATION - &TrackVehicleInfo_9034D1, &TrackVehicleInfo_9035F3, &TrackVehicleInfo_903715, &TrackVehicleInfo_903837, // TRACK_ELEM_25_DEG_UP - &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, // TRACK_ELEM_60_DEG_UP - &TrackVehicleInfo_902269, &TrackVehicleInfo_90238B, &TrackVehicleInfo_9024AD, &TrackVehicleInfo_9025CF, // TRACK_ELEM_FLAT_TO_25_DEG_UP - &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - &TrackVehicleInfo_9026F1, &TrackVehicleInfo_902825, &TrackVehicleInfo_902959, &TrackVehicleInfo_902A8D, // TRACK_ELEM_25_DEG_UP_TO_FLAT - &TrackVehicleInfo_903959, &TrackVehicleInfo_903A7B, &TrackVehicleInfo_903B9D, &TrackVehicleInfo_903CBF, // TRACK_ELEM_25_DEG_DOWN - &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, // TRACK_ELEM_60_DEG_DOWN - &TrackVehicleInfo_903049, &TrackVehicleInfo_90316B, &TrackVehicleInfo_90328D, &TrackVehicleInfo_9033AF, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - &TrackVehicleInfo_902BC1, &TrackVehicleInfo_902CE3, &TrackVehicleInfo_902E05, &TrackVehicleInfo_902F27, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles0, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles1, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles2, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles3, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles0, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles1, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles2, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles3, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TRACK_ELEM_FLAT_TO_LEFT_BANK - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TRACK_ELEM_LEFT_BANK_TO_FLAT - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles0, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles1, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles2, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles3, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles0, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles1, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles2, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles3, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - &TrackVehicleInfo_902269, &TrackVehicleInfo_90238B, &TrackVehicleInfo_9024AD, &TrackVehicleInfo_9025CF, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - &TrackVehicleInfo_902269, &TrackVehicleInfo_90238B, &TrackVehicleInfo_9024AD, &TrackVehicleInfo_9025CF, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - &TrackVehicleInfo_9026F1, &TrackVehicleInfo_902825, &TrackVehicleInfo_902959, &TrackVehicleInfo_902A8D, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - &TrackVehicleInfo_9026F1, &TrackVehicleInfo_902825, &TrackVehicleInfo_902959, &TrackVehicleInfo_902A8D, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - &TrackVehicleInfo_903049, &TrackVehicleInfo_90316B, &TrackVehicleInfo_90328D, &TrackVehicleInfo_9033AF, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - &TrackVehicleInfo_903049, &TrackVehicleInfo_90316B, &TrackVehicleInfo_90328D, &TrackVehicleInfo_9033AF, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - &TrackVehicleInfo_902BC1, &TrackVehicleInfo_902CE3, &TrackVehicleInfo_902E05, &TrackVehicleInfo_902F27, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - &TrackVehicleInfo_902BC1, &TrackVehicleInfo_902CE3, &TrackVehicleInfo_902E05, &TrackVehicleInfo_902F27, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TRACK_ELEM_LEFT_BANK - &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TRACK_ELEM_RIGHT_BANK - &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp0, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp1, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp2, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp3, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp0, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp1, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp2, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp3, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown0, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown1, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown2, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown3, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown0, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown1, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown2, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown3, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - &RightLane::TrackVehicleInfoLeftSBend0, &RightLane::TrackVehicleInfoLeftSBend1, &RightLane::TrackVehicleInfoLeftSBend2, &RightLane::TrackVehicleInfoLeftSBend3, // TRACK_ELEM_S_BEND_LEFT - &RightLane::TrackVehicleInfoRightSBend0, &RightLane::TrackVehicleInfoRightSBend1, &RightLane::TrackVehicleInfoRightSBend2, &RightLane::TrackVehicleInfoRightSBend3, // TRACK_ELEM_S_BEND_RIGHT - &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, // TRACK_ELEM_LEFT_VERTICAL_LOOP - &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles0, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles1, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles2, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles3, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles0, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles1, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles2, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles3, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles0, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles1, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles2, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles3, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles0, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles1, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles2, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles3, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp0, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp1, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp2, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp3, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp0, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp1, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp2, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp3, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown0, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown1, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown2, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown3, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown0, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown1, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown2, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown3, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - &TrackVehicleInfo_903DE1, &TrackVehicleInfo_903F0C, &TrackVehicleInfo_904040, &TrackVehicleInfo_904162, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - &TrackVehicleInfo_904284, &TrackVehicleInfo_9042F2, &TrackVehicleInfo_904369, &TrackVehicleInfo_9043E9, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TrackElemType::Flat + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TrackElemType::EndStation + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TrackElemType::BeginStation + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TrackElemType::MiddleStation + &TrackVehicleInfo_9034D1, &TrackVehicleInfo_9035F3, &TrackVehicleInfo_903715, &TrackVehicleInfo_903837, // TrackElemType::Up25 + &TrackVehicleInfo_8BF312, &TrackVehicleInfo_8BF554, &TrackVehicleInfo_8BF796, &TrackVehicleInfo_8BF9D8, // TrackElemType::Up60 + &TrackVehicleInfo_902269, &TrackVehicleInfo_90238B, &TrackVehicleInfo_9024AD, &TrackVehicleInfo_9025CF, // TrackElemType::FlatToUp25 + &TrackVehicleInfo_8C0E3A, &TrackVehicleInfo_8C0F89, &TrackVehicleInfo_8C10D8, &TrackVehicleInfo_8C1227, // TrackElemType::Up25ToUp60 + &TrackVehicleInfo_8C1376, &TrackVehicleInfo_8C14C5, &TrackVehicleInfo_8C1614, &TrackVehicleInfo_8C1763, // TrackElemType::Up60ToUp25 + &TrackVehicleInfo_9026F1, &TrackVehicleInfo_902825, &TrackVehicleInfo_902959, &TrackVehicleInfo_902A8D, // TrackElemType::Up25ToFlat + &TrackVehicleInfo_903959, &TrackVehicleInfo_903A7B, &TrackVehicleInfo_903B9D, &TrackVehicleInfo_903CBF, // TrackElemType::Down25 + &TrackVehicleInfo_8C2C3A, &TrackVehicleInfo_8C2E7C, &TrackVehicleInfo_8C30BE, &TrackVehicleInfo_8C3300, // TrackElemType::Down60 + &TrackVehicleInfo_903049, &TrackVehicleInfo_90316B, &TrackVehicleInfo_90328D, &TrackVehicleInfo_9033AF, // TrackElemType::FlatToDown25 + &TrackVehicleInfo_8C1DEE, &TrackVehicleInfo_8C1F3D, &TrackVehicleInfo_8C208C, &TrackVehicleInfo_8C21DB, // TrackElemType::Down25ToDown60 + &TrackVehicleInfo_8C18B2, &TrackVehicleInfo_8C1A01, &TrackVehicleInfo_8C1B50, &TrackVehicleInfo_8C1C9F, // TrackElemType::Down60ToDown25 + &TrackVehicleInfo_902BC1, &TrackVehicleInfo_902CE3, &TrackVehicleInfo_902E05, &TrackVehicleInfo_902F27, // TrackElemType::Down25ToFlat + &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles0, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles1, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles2, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles3, // TrackElemType::LeftQuarterTurn5Tiles + &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles0, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles1, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles2, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles3, // TrackElemType::RightQuarterTurn5Tiles + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TrackElemType::FlatToLeftBank + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TrackElemType::FlatToRightBank + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TrackElemType::LeftBankToFlat + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TrackElemType::RightBankToFlat + &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles0, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles1, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles2, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles3, // TrackElemType::BankedLeftQuarterTurn5Tiles + &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles0, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles1, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles2, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles3, // TrackElemType::BankedRightQuarterTurn5Tiles + &TrackVehicleInfo_902269, &TrackVehicleInfo_90238B, &TrackVehicleInfo_9024AD, &TrackVehicleInfo_9025CF, // TrackElemType::LeftBankToUp25 + &TrackVehicleInfo_902269, &TrackVehicleInfo_90238B, &TrackVehicleInfo_9024AD, &TrackVehicleInfo_9025CF, // TrackElemType::RightBankToUp25 + &TrackVehicleInfo_9026F1, &TrackVehicleInfo_902825, &TrackVehicleInfo_902959, &TrackVehicleInfo_902A8D, // TrackElemType::Up25ToLeftBank + &TrackVehicleInfo_9026F1, &TrackVehicleInfo_902825, &TrackVehicleInfo_902959, &TrackVehicleInfo_902A8D, // TrackElemType::Up25ToRightBank + &TrackVehicleInfo_903049, &TrackVehicleInfo_90316B, &TrackVehicleInfo_90328D, &TrackVehicleInfo_9033AF, // TrackElemType::LeftBankToDown25 + &TrackVehicleInfo_903049, &TrackVehicleInfo_90316B, &TrackVehicleInfo_90328D, &TrackVehicleInfo_9033AF, // TrackElemType::RightBankToDown25 + &TrackVehicleInfo_902BC1, &TrackVehicleInfo_902CE3, &TrackVehicleInfo_902E05, &TrackVehicleInfo_902F27, // TrackElemType::Down25ToLeftBank + &TrackVehicleInfo_902BC1, &TrackVehicleInfo_902CE3, &TrackVehicleInfo_902E05, &TrackVehicleInfo_902F27, // TrackElemType::Down25ToRightBank + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TrackElemType::LeftBank + &TrackVehicleInfo_901DE1, &TrackVehicleInfo_901F03, &TrackVehicleInfo_902025, &TrackVehicleInfo_902147, // TrackElemType::RightBank + &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp0, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp1, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp2, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegUp3, // TrackElemType::LeftQuarterTurn5TilesUp25 + &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp0, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp1, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp2, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegUp3, // TrackElemType::RightQuarterTurn5TilesUp25 + &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown0, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown1, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown2, &RightLane::TrackVehicleInfoLeftQuarterTurn5Tiles25DegDown3, // TrackElemType::LeftQuarterTurn5TilesDown25 + &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown0, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown1, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown2, &RightLane::TrackVehicleInfoRightQuarterTurn5Tiles25DegDown3, // TrackElemType::RightQuarterTurn5TilesDown25 + &RightLane::TrackVehicleInfoLeftSBend0, &RightLane::TrackVehicleInfoLeftSBend1, &RightLane::TrackVehicleInfoLeftSBend2, &RightLane::TrackVehicleInfoLeftSBend3, // TrackElemType::SBendLeft + &RightLane::TrackVehicleInfoRightSBend0, &RightLane::TrackVehicleInfoRightSBend1, &RightLane::TrackVehicleInfoRightSBend2, &RightLane::TrackVehicleInfoRightSBend3, // TrackElemType::SBendRight + &TrackVehicleInfo_8D44BE, &TrackVehicleInfo_8D4FA6, &TrackVehicleInfo_8D5A8E, &TrackVehicleInfo_8D6576, // TrackElemType::LeftVerticalLoop + &TrackVehicleInfo_8D705E, &TrackVehicleInfo_8D7B46, &TrackVehicleInfo_8D862E, &TrackVehicleInfo_8D9116, // TrackElemType::RightVerticalLoop + &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles0, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles1, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles2, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles3, // TrackElemType::LeftQuarterTurn3Tiles + &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles0, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles1, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles2, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles3, // TrackElemType::RightQuarterTurn3Tiles + &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles0, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles1, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles2, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles3, // TrackElemType::LeftBankedQuarterTurn3Tiles + &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles0, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles1, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles2, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles3, // TrackElemType::RightBankedQuarterTurn3Tiles + &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp0, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp1, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp2, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegUp3, // TrackElemType::LeftQuarterTurn3TilesUp25 + &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp0, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp1, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp2, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegUp3, // TrackElemType::RightQuarterTurn3TilesUp25 + &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown0, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown1, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown2, &RightLane::TrackVehicleInfoLeftQuarterTurn3Tiles25DegDown3, // TrackElemType::LeftQuarterTurn3TilesDown25 + &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown0, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown1, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown2, &RightLane::TrackVehicleInfoRightQuarterTurn3Tiles25DegDown3, // TrackElemType::RightQuarterTurn3TilesDown25 + &TrackVehicleInfo_903DE1, &TrackVehicleInfo_903F0C, &TrackVehicleInfo_904040, &TrackVehicleInfo_904162, // TrackElemType::LeftQuarterTurn1Tile + &TrackVehicleInfo_904284, &TrackVehicleInfo_9042F2, &TrackVehicleInfo_904369, &TrackVehicleInfo_9043E9, // TrackElemType::RightQuarterTurn1Tile }; static constexpr const rct_vehicle_info_list *TrackVehicleInfoListGoKartsMovingToRightLane[] = { diff --git a/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp b/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp index 69d6f0d618..8e3d3b3454 100644 --- a/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp +++ b/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp @@ -933,45 +933,45 @@ TRACK_PAINT_FUNCTION get_track_paint_function_air_powered_vertical_rc(int32_t tr { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return air_powered_vertical_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return air_powered_vertical_rc_track_station; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return air_powered_vertical_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return air_powered_vertical_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return air_powered_vertical_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return air_powered_vertical_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return air_powered_vertical_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return air_powered_vertical_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return air_powered_vertical_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return air_powered_vertical_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return air_powered_vertical_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return air_powered_vertical_rc_track_right_bank; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return air_powered_vertical_rc_track_brakes; - case TRACK_ELEM_REVERSE_FREEFALL_SLOPE: + case TrackElemType::ReverseFreefallSlope: return air_powered_vertical_rc_track_vertical_slope_up; - case TRACK_ELEM_REVERSE_FREEFALL_VERTICAL: + case TrackElemType::ReverseFreefallVertical: return air_powered_vertical_rc_track_vertical_up; - case TRACK_ELEM_AIR_THRUST_TOP_CAP: + case TrackElemType::AirThrustTopCap: return air_powered_vertical_rc_track_vertical_top; - case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN: + case TrackElemType::AirThrustVerticalDown: return air_powered_vertical_rc_track_vertical_down; - case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL: + case TrackElemType::AirThrustVerticalDownToLevel: return air_powered_vertical_rc_track_vertical_slope_down; - case TRACK_ELEM_BOOSTER: + case TrackElemType::Booster: return air_powered_vertical_rc_track_booster; } return nullptr; diff --git a/src/openrct2/ride/coaster/BobsleighCoaster.cpp b/src/openrct2/ride/coaster/BobsleighCoaster.cpp index 89ed9a4e75..f11c8d58a6 100644 --- a/src/openrct2/ride/coaster/BobsleighCoaster.cpp +++ b/src/openrct2/ride/coaster/BobsleighCoaster.cpp @@ -3564,94 +3564,94 @@ TRACK_PAINT_FUNCTION get_track_paint_function_bobsleigh_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return bobsleigh_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return bobsleigh_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return bobsleigh_rc_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return bobsleigh_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return bobsleigh_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return bobsleigh_rc_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return bobsleigh_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return bobsleigh_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return bobsleigh_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return bobsleigh_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return bobsleigh_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return bobsleigh_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return bobsleigh_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return bobsleigh_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return bobsleigh_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return bobsleigh_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return bobsleigh_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return bobsleigh_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return bobsleigh_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return bobsleigh_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return bobsleigh_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return bobsleigh_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return bobsleigh_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return bobsleigh_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return bobsleigh_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return bobsleigh_rc_track_right_bank; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return bobsleigh_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return bobsleigh_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return bobsleigh_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return bobsleigh_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return bobsleigh_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return bobsleigh_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return bobsleigh_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return bobsleigh_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return bobsleigh_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return bobsleigh_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return bobsleigh_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return bobsleigh_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return bobsleigh_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return bobsleigh_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return bobsleigh_rc_track_brakes; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return bobsleigh_rc_track_block_brakes; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return bobsleigh_rc_track_on_ride_photo; } return nullptr; diff --git a/src/openrct2/ride/coaster/BolligerMabillardTrack.cpp b/src/openrct2/ride/coaster/BolligerMabillardTrack.cpp index 646f29086f..e3839b6cc3 100644 --- a/src/openrct2/ride/coaster/BolligerMabillardTrack.cpp +++ b/src/openrct2/ride/coaster/BolligerMabillardTrack.cpp @@ -67,7 +67,7 @@ void bolliger_mabillard_track_station( { 17155, 17151, SPR_STATION_BASE_A_NW_SE }, }; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { sub_98197C_rotated( session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, diff --git a/src/openrct2/ride/coaster/CompactInvertedCoaster.cpp b/src/openrct2/ride/coaster/CompactInvertedCoaster.cpp index 0ec7a4f00a..f6bae71d10 100644 --- a/src/openrct2/ride/coaster/CompactInvertedCoaster.cpp +++ b/src/openrct2/ride/coaster/CompactInvertedCoaster.cpp @@ -8799,227 +8799,227 @@ TRACK_PAINT_FUNCTION get_track_paint_function_compact_inverted_rc(int32_t trackT { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return compact_inverted_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return compact_inverted_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return compact_inverted_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return compact_inverted_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return compact_inverted_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return compact_inverted_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return compact_inverted_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return compact_inverted_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return compact_inverted_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return compact_inverted_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return compact_inverted_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return compact_inverted_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return compact_inverted_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return compact_inverted_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return compact_inverted_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return compact_inverted_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return compact_inverted_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return compact_inverted_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return compact_inverted_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return compact_inverted_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return compact_inverted_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return compact_inverted_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return compact_inverted_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return compact_inverted_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return compact_inverted_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return compact_inverted_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return compact_inverted_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return compact_inverted_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return compact_inverted_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return compact_inverted_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return compact_inverted_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return compact_inverted_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return compact_inverted_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return compact_inverted_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return compact_inverted_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return compact_inverted_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return compact_inverted_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return compact_inverted_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: return compact_inverted_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::RightVerticalLoop: return compact_inverted_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return compact_inverted_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return compact_inverted_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return compact_inverted_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return compact_inverted_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return compact_inverted_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return compact_inverted_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return compact_inverted_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return compact_inverted_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: + case TrackElemType::LeftTwistDownToUp: return compact_inverted_rc_track_left_twist_down_to_up; - case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: + case TrackElemType::RightTwistDownToUp: return compact_inverted_rc_track_right_twist_down_to_up; - case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: + case TrackElemType::LeftTwistUpToDown: return compact_inverted_rc_track_left_twist_up_to_down; - case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: + case TrackElemType::RightTwistUpToDown: return compact_inverted_rc_track_right_twist_up_to_down; - case TRACK_ELEM_HALF_LOOP_UP: + case TrackElemType::HalfLoopUp: return compact_inverted_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: + case TrackElemType::HalfLoopDown: return compact_inverted_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: + case TrackElemType::LeftCorkscrewUp: return compact_inverted_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: + case TrackElemType::RightCorkscrewUp: return compact_inverted_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + case TrackElemType::LeftCorkscrewDown: return compact_inverted_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + case TrackElemType::RightCorkscrewDown: return compact_inverted_rc_track_right_corkscrew_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp60: return compact_inverted_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp60: return compact_inverted_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown60: return compact_inverted_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown60: return compact_inverted_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return compact_inverted_rc_track_brakes; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: + case TrackElemType::LeftQuarterBankedHelixLargeUp: return compact_inverted_rc_track_left_quarter_banked_helix_large_up; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: + case TrackElemType::RightQuarterBankedHelixLargeUp: return compact_inverted_rc_track_right_quarter_banked_helix_large_up; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TrackElemType::LeftQuarterBankedHelixLargeDown: return compact_inverted_rc_track_left_quarter_banked_helix_large_down; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TrackElemType::RightQuarterBankedHelixLargeDown: return compact_inverted_rc_track_right_quarter_banked_helix_large_down; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return compact_inverted_rc_track_on_ride_photo; - case TRACK_ELEM_90_DEG_UP: + case TrackElemType::Up90: return compact_inverted_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: + case TrackElemType::Down90: return compact_inverted_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + case TrackElemType::Up60ToUp90: return compact_inverted_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down90ToDown60: return compact_inverted_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up90ToUp60: return compact_inverted_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + case TrackElemType::Down60ToDown90: return compact_inverted_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return compact_inverted_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return compact_inverted_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return compact_inverted_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return compact_inverted_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return compact_inverted_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return compact_inverted_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return compact_inverted_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return compact_inverted_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return compact_inverted_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return compact_inverted_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return compact_inverted_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return compact_inverted_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return compact_inverted_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return compact_inverted_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return compact_inverted_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return compact_inverted_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return compact_inverted_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return compact_inverted_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return compact_inverted_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return compact_inverted_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return compact_inverted_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return compact_inverted_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return compact_inverted_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return compact_inverted_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return compact_inverted_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return compact_inverted_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return compact_inverted_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return compact_inverted_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return compact_inverted_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return compact_inverted_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return compact_inverted_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return compact_inverted_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return compact_inverted_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return compact_inverted_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return compact_inverted_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return compact_inverted_rc_track_block_brakes; } return nullptr; diff --git a/src/openrct2/ride/coaster/CorkscrewRollerCoaster.cpp b/src/openrct2/ride/coaster/CorkscrewRollerCoaster.cpp index 8e233efed5..de83709d14 100644 --- a/src/openrct2/ride/coaster/CorkscrewRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/CorkscrewRollerCoaster.cpp @@ -88,7 +88,7 @@ static void corkscrew_rc_track_station( { 16237, 16233, SPR_STATION_BASE_A_NW_SE }, }; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { sub_98197C_rotated( session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, @@ -4906,7 +4906,7 @@ static void corkscrew_rc_track_60_deg_up_to_flat_long_base( } /** rct2: 0x008A81B8 */ -static void corkscrew_rc_track_flat_to_60_deg_down_long_base( +static void corkscrew_rc_track_60_deg_down_to_flat_long_base( paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height, const TileElement* tileElement) { @@ -4915,7 +4915,7 @@ static void corkscrew_rc_track_flat_to_60_deg_down_long_base( } /** rct2: 0x008A81C8 */ -static void corkscrew_rc_track_60_deg_up_to_flat_long_base122( +static void corkscrew_rc_track_flat_to_60_deg_down_long_base( paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height, const TileElement* tileElement) { @@ -8586,226 +8586,226 @@ TRACK_PAINT_FUNCTION get_track_paint_function_corkscrew_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return corkscrew_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return corkscrew_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return corkscrew_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return corkscrew_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return corkscrew_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return corkscrew_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return corkscrew_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return corkscrew_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return corkscrew_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return corkscrew_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return corkscrew_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return corkscrew_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return corkscrew_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return corkscrew_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return corkscrew_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return corkscrew_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return corkscrew_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return corkscrew_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return corkscrew_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return corkscrew_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return corkscrew_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return corkscrew_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return corkscrew_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return corkscrew_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return corkscrew_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return corkscrew_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return corkscrew_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return corkscrew_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return corkscrew_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return corkscrew_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return corkscrew_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return corkscrew_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return corkscrew_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return corkscrew_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return corkscrew_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return corkscrew_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return corkscrew_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return corkscrew_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: return corkscrew_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::RightVerticalLoop: return corkscrew_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return corkscrew_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return corkscrew_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return corkscrew_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return corkscrew_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return corkscrew_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return corkscrew_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return corkscrew_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return corkscrew_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_HALF_LOOP_UP: + case TrackElemType::HalfLoopUp: return corkscrew_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: + case TrackElemType::HalfLoopDown: return corkscrew_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: + case TrackElemType::LeftCorkscrewUp: return corkscrew_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: + case TrackElemType::RightCorkscrewUp: return corkscrew_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + case TrackElemType::LeftCorkscrewDown: return corkscrew_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + case TrackElemType::RightCorkscrewDown: return corkscrew_rc_track_right_corkscrew_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return corkscrew_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return corkscrew_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return corkscrew_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return corkscrew_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return corkscrew_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return corkscrew_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return corkscrew_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return corkscrew_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp60: return corkscrew_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp60: return corkscrew_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown60: return corkscrew_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown60: return corkscrew_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return corkscrew_rc_track_brakes; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return corkscrew_rc_track_on_ride_photo; - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + case TrackElemType::FlatToUp60LongBase: return corkscrew_rc_track_flat_to_60_deg_up_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: + case TrackElemType::Up60ToFlatLongBase: return corkscrew_rc_track_60_deg_up_to_flat_long_base; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: + case TrackElemType::Down60ToFlatLongBase: + return corkscrew_rc_track_60_deg_down_to_flat_long_base; + case TrackElemType::FlatToDown60LongBase: return corkscrew_rc_track_flat_to_60_deg_down_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: - return corkscrew_rc_track_60_deg_up_to_flat_long_base122; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return corkscrew_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return corkscrew_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return corkscrew_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return corkscrew_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return corkscrew_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return corkscrew_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return corkscrew_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return corkscrew_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return corkscrew_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return corkscrew_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return corkscrew_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return corkscrew_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return corkscrew_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return corkscrew_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return corkscrew_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return corkscrew_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return corkscrew_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return corkscrew_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return corkscrew_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return corkscrew_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return corkscrew_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return corkscrew_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return corkscrew_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return corkscrew_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return corkscrew_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return corkscrew_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return corkscrew_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return corkscrew_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return corkscrew_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return corkscrew_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return corkscrew_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return corkscrew_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return corkscrew_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return corkscrew_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return corkscrew_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return corkscrew_rc_track_block_brakes; - case TRACK_ELEM_BOOSTER: + case TrackElemType::Booster: return corkscrew_rc_track_booster; } return nullptr; diff --git a/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp b/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp index 2c35225ccb..16b18a92d9 100644 --- a/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp @@ -166,7 +166,7 @@ static void flying_rc_track_station( { 17155, 17151, SPR_STATION_BASE_A_NW_SE }, }; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { sub_98197C_rotated( session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, @@ -17583,293 +17583,293 @@ TRACK_PAINT_FUNCTION get_track_paint_function_flying_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return flying_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return flying_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return flying_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return flying_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return flying_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return flying_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return flying_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return flying_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return flying_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return flying_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return flying_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return flying_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return flying_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return flying_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return flying_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return flying_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return flying_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return flying_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return flying_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return flying_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return flying_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return flying_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return flying_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return flying_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return flying_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return flying_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return flying_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return flying_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return flying_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return flying_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return flying_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return flying_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return flying_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return flying_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return flying_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return flying_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return flying_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return flying_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return flying_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return flying_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return flying_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return flying_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return flying_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return flying_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return flying_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return flying_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return flying_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return flying_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return flying_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return flying_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return flying_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return flying_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return flying_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return flying_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp60: return flying_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp60: return flying_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown60: return flying_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown60: return flying_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return flying_rc_track_brakes; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: + case TrackElemType::LeftQuarterBankedHelixLargeUp: return flying_rc_track_left_quarter_banked_helix_large_up; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: + case TrackElemType::RightQuarterBankedHelixLargeUp: return flying_rc_track_right_quarter_banked_helix_large_up; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TrackElemType::LeftQuarterBankedHelixLargeDown: return flying_rc_track_left_quarter_banked_helix_large_down; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TrackElemType::RightQuarterBankedHelixLargeDown: return flying_rc_track_right_quarter_banked_helix_large_down; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + case TrackElemType::Up25LeftBanked: return flying_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + case TrackElemType::Up25RightBanked: return flying_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return flying_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + case TrackElemType::Down25LeftBanked: return flying_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + case TrackElemType::Down25RightBanked: return flying_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return flying_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return flying_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return flying_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return flying_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return flying_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return flying_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return flying_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return flying_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return flying_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return flying_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return flying_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return flying_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return flying_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return flying_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return flying_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return flying_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return flying_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return flying_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return flying_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return flying_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return flying_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return flying_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return flying_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return flying_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return flying_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return flying_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return flying_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return flying_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return flying_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return flying_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return flying_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return flying_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return flying_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return flying_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return flying_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_FLYER_TWIST_UP: + case TrackElemType::LeftFlyerTwistUp: return flying_rc_track_left_flyer_twist_up; - case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: + case TrackElemType::RightFlyerTwistUp: return flying_rc_track_right_flyer_twist_up; - case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: + case TrackElemType::LeftFlyerTwistDown: return flying_rc_track_left_flyer_twist_down; - case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: + case TrackElemType::RightFlyerTwistDown: return flying_rc_track_right_flyer_twist_down; - case TRACK_ELEM_FLYER_HALF_LOOP_UP: + case TrackElemType::FlyerHalfLoopUp: return flying_rc_track_flyer_half_loop_up; - case TRACK_ELEM_FLYER_HALF_LOOP_DOWN: + case TrackElemType::FlyerHalfLoopDown: return flying_rc_track_flyer_half_loop_down; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return flying_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn3TileUp25: return flying_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn3TileUp25: return flying_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn3TileDown25: return flying_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn3TileDown25: return flying_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn5TileUp25: return flying_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn5TileUp25: return flying_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn5TileDown25: return flying_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn5TileDown25: return flying_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToLeftBankedUp25: return flying_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToRightBankedUp25: return flying_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::LeftBankedUp25ToUp25: return flying_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::RightBankedUp25ToUp25: return flying_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToLeftBankedDown25: return flying_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToRightBankedDown25: return flying_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::LeftBankedDown25ToDown25: return flying_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::RightBankedDown25ToDown25: return flying_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::LeftBankedFlatToLeftBankedUp25: return flying_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::RightBankedFlatToRightBankedUp25: return flying_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedUp25ToLeftBankedFlat: return flying_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedUp25ToRightBankedFlat: return flying_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::LeftBankedFlatToLeftBankedDown25: return flying_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::RightBankedFlatToRightBankedDown25: return flying_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedDown25ToLeftBankedFlat: return flying_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedDown25ToRightBankedFlat: return flying_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::FlatToLeftBankedUp25: return flying_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::FlatToRightBankedUp25: return flying_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::LeftBankedUp25ToFlat: return flying_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::RightBankedUp25ToFlat: return flying_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToLeftBankedDown25: return flying_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToRightBankedDown25: return flying_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::LeftBankedDown25ToFlat: return flying_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::RightBankedDown25ToFlat: return flying_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_BOOSTER: + case TrackElemType::Booster: return flying_rc_track_booster; } return nullptr; diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 887789ed53..e59416a3cf 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -107,7 +107,7 @@ static void giga_rc_track_station( { 18085, 18077, SPR_STATION_BASE_A_NW_SE }, }; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { sub_98197C_rotated( session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, @@ -4369,7 +4369,7 @@ static void giga_rc_track_60_deg_up_to_flat_long_base( } /** rct2: 0x008ADEF4 */ -static void giga_rc_track_flat_to_60_deg_down_long_base( +static void giga_rc_track_60_deg_down_to_flat_long_base( paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height, const TileElement* tileElement) { @@ -4377,7 +4377,7 @@ static void giga_rc_track_flat_to_60_deg_down_long_base( } /** rct2: 0x008ADF04 */ -static void giga_rc_track_60_deg_up_to_flat_long_base122( +static void giga_rc_track_flat_to_60_deg_down_long_base( paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height, const TileElement* tileElement) { @@ -8953,284 +8953,284 @@ TRACK_PAINT_FUNCTION get_track_paint_function_giga_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return giga_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return giga_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return giga_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return giga_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return giga_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return giga_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return giga_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return giga_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return giga_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return giga_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return giga_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return giga_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return giga_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return giga_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return giga_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return giga_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return giga_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return giga_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return giga_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return giga_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return giga_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return giga_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return giga_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return giga_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return giga_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return giga_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return giga_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return giga_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return giga_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return giga_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return giga_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return giga_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return giga_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return giga_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return giga_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return giga_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return giga_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return giga_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return giga_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return giga_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return giga_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return giga_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return giga_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return giga_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return giga_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return giga_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return giga_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return giga_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return giga_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return giga_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return giga_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return giga_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return giga_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return giga_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp60: return giga_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp60: return giga_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown60: return giga_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown60: return giga_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return giga_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + case TrackElemType::Up25LeftBanked: return giga_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + case TrackElemType::Up25RightBanked: return giga_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return giga_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + case TrackElemType::Down25LeftBanked: return giga_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + case TrackElemType::Down25RightBanked: return giga_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + case TrackElemType::FlatToUp60LongBase: return giga_rc_track_flat_to_60_deg_up_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: + case TrackElemType::Up60ToFlatLongBase: return giga_rc_track_60_deg_up_to_flat_long_base; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: + case TrackElemType::Down60ToFlatLongBase: + return giga_rc_track_60_deg_down_to_flat_long_base; + case TrackElemType::FlatToDown60LongBase: return giga_rc_track_flat_to_60_deg_down_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: - return giga_rc_track_60_deg_up_to_flat_long_base122; - case TRACK_ELEM_CABLE_LIFT_HILL: + case TrackElemType::CableLiftHill: return giga_rc_track_cable_lift_hill; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return giga_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return giga_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return giga_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return giga_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return giga_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return giga_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return giga_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return giga_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return giga_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return giga_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return giga_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return giga_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return giga_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return giga_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return giga_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return giga_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return giga_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return giga_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return giga_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return giga_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return giga_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return giga_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return giga_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return giga_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return giga_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return giga_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return giga_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return giga_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return giga_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return giga_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return giga_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return giga_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return giga_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return giga_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return giga_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return giga_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn3TileUp25: return giga_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn3TileUp25: return giga_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn3TileDown25: return giga_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn3TileDown25: return giga_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn5TileUp25: return giga_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn5TileUp25: return giga_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn5TileDown25: return giga_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn5TileDown25: return giga_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToLeftBankedUp25: return giga_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToRightBankedUp25: return giga_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::LeftBankedUp25ToUp25: return giga_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::RightBankedUp25ToUp25: return giga_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToLeftBankedDown25: return giga_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToRightBankedDown25: return giga_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::LeftBankedDown25ToDown25: return giga_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::RightBankedDown25ToDown25: return giga_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::LeftBankedFlatToLeftBankedUp25: return giga_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::RightBankedFlatToRightBankedUp25: return giga_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedUp25ToLeftBankedFlat: return giga_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedUp25ToRightBankedFlat: return giga_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::LeftBankedFlatToLeftBankedDown25: return giga_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::RightBankedFlatToRightBankedDown25: return giga_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedDown25ToLeftBankedFlat: return giga_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedDown25ToRightBankedFlat: return giga_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::FlatToLeftBankedUp25: return giga_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::FlatToRightBankedUp25: return giga_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::LeftBankedUp25ToFlat: return giga_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::RightBankedUp25ToFlat: return giga_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToLeftBankedDown25: return giga_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToRightBankedDown25: return giga_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::LeftBankedDown25ToFlat: return giga_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::RightBankedDown25ToFlat: return giga_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_BOOSTER: + case TrackElemType::Booster: return giga_rc_track_booster; } return nullptr; diff --git a/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp b/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp index 2e7d336674..2df66335f2 100644 --- a/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp +++ b/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp @@ -1584,43 +1584,43 @@ TRACK_PAINT_FUNCTION get_track_paint_function_heartline_twister_rc(int32_t track { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return heartline_twister_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return heartline_twister_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return heartline_twister_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return heartline_twister_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return heartline_twister_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return heartline_twister_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return heartline_twister_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return heartline_twister_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return heartline_twister_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return heartline_twister_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return heartline_twister_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return heartline_twister_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return heartline_twister_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return heartline_twister_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_HEARTLINE_TRANSFER_UP: + case TrackElemType::HeartLineTransferUp: return heartline_twister_rc_track_heartline_transfer_up; - case TRACK_ELEM_HEARTLINE_TRANSFER_DOWN: + case TrackElemType::HeartLineTransferDown: return heartline_twister_rc_track_heartline_transfer_down; - case TRACK_ELEM_LEFT_HEARTLINE_ROLL: + case TrackElemType::LeftHeartLineRoll: return heartline_twister_rc_track_left_heartline_roll; - case TRACK_ELEM_RIGHT_HEARTLINE_ROLL: + case TrackElemType::RightHeartLineRoll: return heartline_twister_rc_track_right_heartline_roll; } return nullptr; diff --git a/src/openrct2/ride/coaster/InvertedHairpinCoaster.cpp b/src/openrct2/ride/coaster/InvertedHairpinCoaster.cpp index f48b2a0b7d..d6817dc93f 100644 --- a/src/openrct2/ride/coaster/InvertedHairpinCoaster.cpp +++ b/src/openrct2/ride/coaster/InvertedHairpinCoaster.cpp @@ -1350,63 +1350,63 @@ TRACK_PAINT_FUNCTION get_track_paint_function_inverted_hairpin_rc(int32_t trackT { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return inverted_hairpin_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return inverted_hairpin_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return inverted_hairpin_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return inverted_hairpin_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return inverted_hairpin_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return inverted_hairpin_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return inverted_hairpin_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return inverted_hairpin_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return inverted_hairpin_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return inverted_hairpin_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return inverted_hairpin_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return inverted_hairpin_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return inverted_hairpin_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return inverted_hairpin_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return inverted_hairpin_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return inverted_hairpin_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return inverted_hairpin_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return inverted_hairpin_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return inverted_hairpin_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return inverted_hairpin_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return inverted_hairpin_rc_track_left_quarter_turn_1; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return inverted_hairpin_rc_track_right_quarter_turn_1; - case TRACK_ELEM_FLAT_TO_60_DEG_UP: + case TrackElemType::FlatToUp60: return inverted_hairpin_rc_track_flat_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TrackElemType::Up60ToFlat: return inverted_hairpin_rc_track_60_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + case TrackElemType::FlatToDown60: return inverted_hairpin_rc_track_flat_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + case TrackElemType::Down60ToFlat: return inverted_hairpin_rc_track_60_deg_down_to_flat; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return inverted_hairpin_rc_track_brakes; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return inverted_hairpin_rc_track_block_brakes; } return nullptr; diff --git a/src/openrct2/ride/coaster/InvertedImpulseCoaster.cpp b/src/openrct2/ride/coaster/InvertedImpulseCoaster.cpp index 1fa4604d06..971aff27d5 100644 --- a/src/openrct2/ride/coaster/InvertedImpulseCoaster.cpp +++ b/src/openrct2/ride/coaster/InvertedImpulseCoaster.cpp @@ -764,55 +764,55 @@ TRACK_PAINT_FUNCTION get_track_paint_function_inverted_impulse_rc(int32_t trackT { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return inverted_impulse_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return inverted_impulse_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return inverted_impulse_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return inverted_impulse_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return inverted_impulse_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return inverted_impulse_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return inverted_impulse_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return inverted_impulse_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return inverted_impulse_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return inverted_impulse_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return inverted_impulse_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return inverted_impulse_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return inverted_impulse_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return inverted_impulse_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_90_DEG_UP: + case TrackElemType::Up90: return inverted_impulse_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: + case TrackElemType::Down90: return inverted_impulse_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + case TrackElemType::Up60ToUp90: return inverted_impulse_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down90ToDown60: return inverted_impulse_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up90ToUp60: return inverted_impulse_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + case TrackElemType::Down60ToDown90: return inverted_impulse_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp90: return inverted_impulse_rc_track_left_quarter_turn_1_90_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp90: return inverted_impulse_rc_track_right_quarter_turn_1_90_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown90: return inverted_impulse_rc_track_left_quarter_turn_1_90_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown90: return inverted_impulse_rc_track_right_quarter_turn_1_90_deg_down; } return nullptr; diff --git a/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp b/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp index 3f62ea97dd..097546fbf6 100644 --- a/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp @@ -10407,295 +10407,295 @@ TRACK_PAINT_FUNCTION get_track_paint_function_inverted_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return inverted_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return inverted_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return inverted_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return inverted_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return inverted_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return inverted_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return inverted_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return inverted_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return inverted_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return inverted_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return inverted_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return inverted_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return inverted_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return inverted_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return inverted_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return inverted_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return inverted_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return inverted_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return inverted_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return inverted_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return inverted_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return inverted_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return inverted_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return inverted_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return inverted_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return inverted_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return inverted_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return inverted_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return inverted_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return inverted_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return inverted_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return inverted_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return inverted_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return inverted_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return inverted_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return inverted_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return inverted_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return inverted_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: return inverted_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::RightVerticalLoop: return inverted_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return inverted_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return inverted_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return inverted_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return inverted_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return inverted_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return inverted_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return inverted_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return inverted_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: + case TrackElemType::LeftTwistDownToUp: return inverted_rc_track_left_twist_down_to_up; - case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: + case TrackElemType::RightTwistDownToUp: return inverted_rc_track_right_twist_down_to_up; - case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: + case TrackElemType::LeftTwistUpToDown: return inverted_rc_track_left_twist_up_to_down; - case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: + case TrackElemType::RightTwistUpToDown: return inverted_rc_track_right_twist_up_to_down; - case TRACK_ELEM_HALF_LOOP_UP: + case TrackElemType::HalfLoopUp: return inverted_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: + case TrackElemType::HalfLoopDown: return inverted_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: + case TrackElemType::LeftCorkscrewUp: return inverted_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: + case TrackElemType::RightCorkscrewUp: return inverted_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + case TrackElemType::LeftCorkscrewDown: return inverted_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + case TrackElemType::RightCorkscrewDown: return inverted_rc_track_right_corkscrew_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp60: return inverted_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp60: return inverted_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown60: return inverted_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown60: return inverted_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return inverted_rc_track_brakes; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: + case TrackElemType::LeftQuarterBankedHelixLargeUp: return inverted_rc_track_left_quarter_banked_helix_large_up; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: + case TrackElemType::RightQuarterBankedHelixLargeUp: return inverted_rc_track_right_quarter_banked_helix_large_up; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TrackElemType::LeftQuarterBankedHelixLargeDown: return inverted_rc_track_left_quarter_banked_helix_large_down; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TrackElemType::RightQuarterBankedHelixLargeDown: return inverted_rc_track_right_quarter_banked_helix_large_down; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + case TrackElemType::Up25LeftBanked: return inverted_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + case TrackElemType::Up25RightBanked: return inverted_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return inverted_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + case TrackElemType::Down25LeftBanked: return inverted_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + case TrackElemType::Down25RightBanked: return inverted_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return inverted_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return inverted_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return inverted_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return inverted_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return inverted_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return inverted_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return inverted_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return inverted_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return inverted_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return inverted_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return inverted_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return inverted_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return inverted_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return inverted_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return inverted_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return inverted_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return inverted_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return inverted_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return inverted_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return inverted_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return inverted_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return inverted_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return inverted_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return inverted_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return inverted_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return inverted_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return inverted_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return inverted_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return inverted_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return inverted_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return inverted_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return inverted_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return inverted_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return inverted_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return inverted_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: + case TrackElemType::LeftLargeHalfLoopUp: return inverted_rc_track_left_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: + case TrackElemType::RightLargeHalfLoopUp: return inverted_rc_track_right_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: + case TrackElemType::RightLargeHalfLoopDown: return inverted_rc_track_right_large_half_loop_down; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: + case TrackElemType::LeftLargeHalfLoopDown: return inverted_rc_track_left_large_half_loop_down; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return inverted_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn3TileUp25: return inverted_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn3TileUp25: return inverted_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn3TileDown25: return inverted_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn3TileDown25: return inverted_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn5TileUp25: return inverted_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn5TileUp25: return inverted_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn5TileDown25: return inverted_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn5TileDown25: return inverted_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToLeftBankedUp25: return inverted_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToRightBankedUp25: return inverted_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::LeftBankedUp25ToUp25: return inverted_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::RightBankedUp25ToUp25: return inverted_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToLeftBankedDown25: return inverted_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToRightBankedDown25: return inverted_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::LeftBankedDown25ToDown25: return inverted_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::RightBankedDown25ToDown25: return inverted_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::LeftBankedFlatToLeftBankedUp25: return inverted_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::RightBankedFlatToRightBankedUp25: return inverted_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedUp25ToLeftBankedFlat: return inverted_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedUp25ToRightBankedFlat: return inverted_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::LeftBankedFlatToLeftBankedDown25: return inverted_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::RightBankedFlatToRightBankedDown25: return inverted_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedDown25ToLeftBankedFlat: return inverted_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedDown25ToRightBankedFlat: return inverted_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::FlatToLeftBankedUp25: return inverted_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::FlatToRightBankedUp25: return inverted_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::LeftBankedUp25ToFlat: return inverted_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::RightBankedUp25ToFlat: return inverted_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToLeftBankedDown25: return inverted_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToRightBankedDown25: return inverted_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::LeftBankedDown25ToFlat: return inverted_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::RightBankedDown25ToFlat: return inverted_rc_track_right_banked_25_deg_down_to_flat; } return nullptr; diff --git a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp index 6ec15eba7e..bf09c111bc 100644 --- a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp @@ -1655,7 +1655,7 @@ void junior_rc_paint_station( sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height); // height += 2 (height) - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && rideType == RIDE_TYPE_JUNIOR_ROLLER_COASTER) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && rideType == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { imageId = junior_rc_track_pieces_block_brake[isBraked][direction] | session->TrackColours[SCHEME_TRACK]; } @@ -1677,7 +1677,7 @@ void junior_rc_paint_station( sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height); // height += 2 (height) - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION && rideType == RIDE_TYPE_JUNIOR_ROLLER_COASTER) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation && rideType == RIDE_TYPE_JUNIOR_ROLLER_COASTER) { imageId = junior_rc_track_pieces_block_brake[isBraked][direction] | session->TrackColours[SCHEME_TRACK]; } @@ -5711,221 +5711,221 @@ TRACK_PAINT_FUNCTION get_track_paint_function_junior_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return junior_rc_flat_paint_setup; - case TRACK_ELEM_END_STATION: + case TrackElemType::EndStation: return paint_junior_rc_station_track; - case TRACK_ELEM_BEGIN_STATION: + case TrackElemType::BeginStation: return paint_junior_rc_station_track; - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::MiddleStation: return paint_junior_rc_station_track; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return junior_rc_25_deg_up_paint_setup; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return junior_rc_60_deg_up_paint_setup; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return junior_rc_flat_to_25_deg_up_paint_setup; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return junior_rc_25_deg_up_to_60_deg_up_paint_setup; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return junior_rc_60_deg_up_to_25_deg_up_paint_setup; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return junior_rc_25_deg_up_to_flat_paint_setup; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return junior_rc_25_deg_down_paint_setup; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return junior_rc_60_deg_down_paint_setup; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return junior_rc_flat_to_25_deg_down_paint_setup; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return junior_rc_25_deg_down_to_60_deg_down_paint_setup; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return junior_rc_60_deg_down_to_25_deg_down_paint_setup; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return junior_rc_25_deg_down_to_flat_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return junior_rc_left_quarter_turn_5_tiles_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return junior_rc_right_quarter_turn_5_tiles_paint_setup; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return junior_rc_flat_to_left_bank_paint_setup; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return junior_rc_flat_to_right_bank_paint_setup; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return junior_rc_left_bank_to_flat_paint_setup; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return junior_rc_right_bank_to_flat_paint_setup; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return junior_rc_banked_left_quarter_turn_5_tiles_paint_setup; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return junior_rc_banked_right_quarter_turn_5_tiles_paint_setup; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return junior_rc_left_bank_to_25_deg_up_paint_setup; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return junior_rc_right_bank_to_25_deg_up_paint_setup; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return junior_rc_25_deg_up_to_left_bank_paint_setup; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return junior_rc_25_deg_up_to_right_bank_paint_setup; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return junior_rc_left_bank_to_25_deg_down_paint_setup; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return junior_rc_right_bank_to_25_deg_down_paint_setup; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return junior_rc_25_deg_down_to_left_bank_paint_setup; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return junior_rc_25_deg_down_to_right_bank_paint_setup; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return junior_rc_left_bank_paint_setup; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return junior_rc_right_bank_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return junior_rc_left_quarter_turn_5_tiles_25_deg_up_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return junior_rc_right_quarter_turn_5_tiles_25_deg_up_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return junior_rc_left_quarter_turn_5_tiles_25_deg_down_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return junior_rc_right_quarter_turn_5_tiles_25_deg_down_paint_setup; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return junior_rc_s_bend_left_paint_setup; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return junior_rc_s_bend_right_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return junior_rc_left_quarter_turn_3_tiles_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return junior_rc_right_quarter_turn_3_tiles_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return junior_rc_left_quarter_turn_3_tiles_bank_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return junior_rc_right_quarter_turn_3_tiles_bank_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return junior_rc_left_quarter_turn_3_tiles_25_deg_up_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return junior_rc_right_quarter_turn_3_tiles_25_deg_up_paint_setup; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return junior_rc_left_quarter_turn_3_tiles_25_deg_down_paint_setup; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return junior_rc_right_quarter_turn_3_tiles_25_deg_down_paint_setup; - case TRACK_ELEM_FLAT_TO_60_DEG_UP: + case TrackElemType::FlatToUp60: return junior_rc_flat_to_60_deg_up_paint_setup; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TrackElemType::Up60ToFlat: return junior_rc_60_deg_up_to_flat_paint_setup; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + case TrackElemType::FlatToDown60: return junior_rc_flat_to_60_deg_down_paint_setup; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + case TrackElemType::Down60ToFlat: return junior_rc_60_deg_down_to_flat_paint_setup; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return junior_rc_left_half_banked_helix_up_small_paint_setup; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return junior_rc_right_half_banked_helix_up_small_paint_setup; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return junior_rc_left_half_banked_helix_down_small_paint_setup; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return junior_rc_right_half_banked_helix_down_small_paint_setup; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return junior_rc_left_half_banked_helix_up_large_paint_setup; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return junior_rc_right_half_banked_helix_up_large_paint_setup; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return junior_rc_left_half_banked_helix_down_large_paint_setup; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return junior_rc_right_half_banked_helix_down_large_paint_setup; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return junior_rc_brake_paint_setup; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return junior_rc_left_eighth_to_diag_paint_setup; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return junior_rc_right_eighth_to_diag_paint_setup; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return junior_rc_left_eighth_to_orthogonal_paint_setup; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return junior_rc_right_eighth_to_orthogonal_paint_setup; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return junior_rc_left_eighth_to_diag_bank_paint_setup; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return junior_rc_right_eighth_to_diag_bank_paint_setup; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return junior_rc_left_eighth_to_orthogonal_bank_paint_setup; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return junior_rc_right_eighth_to_orthogonal_bank_paint_setup; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return junior_rc_diag_flat_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return junior_rc_diag_25_deg_up_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return junior_rc_diag_60_deg_up_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return junior_rc_diag_flat_to_25_deg_up_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return junior_rc_diag_25_deg_up_to_60_deg_up_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return junior_rc_diag_60_deg_up_to_25_deg_up_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return junior_rc_diag_25_deg_up_to_flat_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return junior_rc_diag_25_deg_down_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return junior_rc_diag_60_deg_down_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return junior_rc_diag_flat_to_25_deg_down_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return junior_rc_diag_25_deg_down_to_60_deg_down_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return junior_rc_diag_60_deg_down_to_25_deg_down_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return junior_rc_diag_25_deg_down_to_flat_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return junior_rc_diag_flat_to_left_bank_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return junior_rc_diag_flat_to_right_bank_paint_setup; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return junior_rc_diag_left_bank_to_flat_paint_setup; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return junior_rc_diag_right_bank_to_flat_paint_setup; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return junior_rc_diag_left_bank_to_25_deg_up_paint_setup; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return junior_rc_diag_right_bank_to_25_deg_up_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return junior_rc_diag_25_deg_up_to_left_bank_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return junior_rc_diag_25_deg_up_to_right_bank_paint_setup; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return junior_rc_diag_left_bank_to_25_deg_down_paint_setup; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return junior_rc_diag_right_bank_to_25_deg_down_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return junior_rc_diag_25_deg_down_to_left_bank_paint_setup; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return junior_rc_diag_25_deg_down_to_right_bank_paint_setup; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return junior_rc_diag_left_bank_paint_setup; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return junior_rc_diag_right_bank_paint_setup; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return junior_rc_block_brake_paint_setup; - case TRACK_ELEM_BOOSTER: + case TrackElemType::Booster: return junior_rc_booster_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown60ToFlat: return junior_rc_diag_60_deg_down_to_flat_paint_setup; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp60ToFlat: return junior_rc_diag_60_deg_up_to_flat_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: + case TrackElemType::DiagFlatToUp60: return junior_rc_diag_flat_to_60_deg_up_paint_setup; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: + case TrackElemType::DiagFlatToDown60: return junior_rc_diag_flat_to_60_deg_down_paint_setup; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return junior_rc_track_on_ride_photo; } return nullptr; diff --git a/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp b/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp index 7c2849cc06..f68bc35a66 100644 --- a/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp @@ -167,7 +167,7 @@ static void lay_down_rc_track_station( { 16237, 16233, SPR_STATION_BASE_A_NW_SE }, }; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { sub_98197C_rotated( session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, @@ -15855,232 +15855,232 @@ TRACK_PAINT_FUNCTION get_track_paint_function_lay_down_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return lay_down_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return lay_down_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return lay_down_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return lay_down_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return lay_down_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return lay_down_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return lay_down_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return lay_down_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return lay_down_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return lay_down_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return lay_down_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return lay_down_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return lay_down_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return lay_down_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return lay_down_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return lay_down_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return lay_down_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return lay_down_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return lay_down_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return lay_down_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return lay_down_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return lay_down_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return lay_down_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return lay_down_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return lay_down_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return lay_down_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return lay_down_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return lay_down_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return lay_down_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return lay_down_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return lay_down_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return lay_down_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return lay_down_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return lay_down_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return lay_down_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return lay_down_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return lay_down_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return lay_down_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: return lay_down_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::RightVerticalLoop: return lay_down_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return lay_down_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return lay_down_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return lay_down_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return lay_down_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return lay_down_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return lay_down_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return lay_down_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return lay_down_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return lay_down_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return lay_down_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return lay_down_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return lay_down_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return lay_down_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return lay_down_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return lay_down_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return lay_down_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp60: return lay_down_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp60: return lay_down_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown60: return lay_down_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown60: return lay_down_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return lay_down_rc_track_brakes; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return lay_down_rc_track_on_ride_photo; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return lay_down_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return lay_down_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return lay_down_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return lay_down_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return lay_down_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return lay_down_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return lay_down_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return lay_down_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return lay_down_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return lay_down_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return lay_down_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return lay_down_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return lay_down_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return lay_down_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return lay_down_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return lay_down_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return lay_down_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return lay_down_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return lay_down_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return lay_down_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return lay_down_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return lay_down_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return lay_down_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return lay_down_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return lay_down_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return lay_down_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return lay_down_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return lay_down_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return lay_down_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return lay_down_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return lay_down_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return lay_down_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return lay_down_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return lay_down_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return lay_down_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_FLYER_TWIST_UP: + case TrackElemType::LeftFlyerTwistUp: return lay_down_rc_track_left_flyer_twist_up; - case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: + case TrackElemType::RightFlyerTwistUp: return lay_down_rc_track_right_flyer_twist_up; - case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: + case TrackElemType::LeftFlyerTwistDown: return lay_down_rc_track_left_flyer_twist_down; - case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: + case TrackElemType::RightFlyerTwistDown: return lay_down_rc_track_right_flyer_twist_down; - case TRACK_ELEM_FLYER_HALF_LOOP_UP: + case TrackElemType::FlyerHalfLoopUp: return lay_down_rc_track_flyer_half_loop_up; - case TRACK_ELEM_FLYER_HALF_LOOP_DOWN: + case TrackElemType::FlyerHalfLoopDown: return lay_down_rc_track_flyer_half_loop_down; - case TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP: + case TrackElemType::LeftFlyerCorkscrewUp: return lay_down_rc_track_left_flyer_corkscrew_up; - case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP: + case TrackElemType::RightFlyerCorkscrewUp: return lay_down_rc_track_right_flyer_corkscrew_up; - case TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN: + case TrackElemType::LeftFlyerCorkscrewDown: return lay_down_rc_track_left_flyer_corkscrew_down; - case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN: + case TrackElemType::RightFlyerCorkscrewDown: return lay_down_rc_track_right_flyer_corkscrew_down; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return lay_down_rc_track_block_brakes; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: + case TrackElemType::LeftQuarterBankedHelixLargeUp: return lay_down_rc_track_left_quarter_banked_helix_large_up; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: + case TrackElemType::RightQuarterBankedHelixLargeUp: return lay_down_rc_track_right_quarter_banked_helix_large_up; - case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TrackElemType::LeftQuarterBankedHelixLargeDown: return lay_down_rc_track_left_quarter_banked_helix_large_down; - case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TrackElemType::RightQuarterBankedHelixLargeDown: return lay_down_rc_track_right_quarter_banked_helix_large_down; } return nullptr; diff --git a/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp b/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp index ad4adc9380..b67cafc029 100644 --- a/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp @@ -31,7 +31,7 @@ static void lim_launched_rc_track_station( { 15019, 15021, SPR_STATION_BASE_B_NW_SE }, }; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { sub_98197C_rotated( session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, @@ -1782,188 +1782,188 @@ TRACK_PAINT_FUNCTION get_track_paint_function_lim_launched_rc(int32_t trackType) switch (trackType) { // Use Looping Roller Coaster - case TRACK_ELEM_FLAT: - case TRACK_ELEM_25_DEG_UP: - case TRACK_ELEM_60_DEG_UP: - case TRACK_ELEM_FLAT_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_25_DEG_DOWN: - case TRACK_ELEM_60_DEG_DOWN: - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK: - case TRACK_ELEM_RIGHT_BANK: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_RIGHT: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - case TRACK_ELEM_ON_RIDE_PHOTO: - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - case TRACK_ELEM_DIAG_FLAT: - case TRACK_ELEM_DIAG_25_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_UP: - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_25_DEG_DOWN: - case TRACK_ELEM_DIAG_60_DEG_DOWN: - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK: - case TRACK_ELEM_DIAG_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Flat: + case TrackElemType::Up25: + case TrackElemType::Up60: + case TrackElemType::FlatToUp25: + case TrackElemType::Up25ToUp60: + case TrackElemType::Up60ToUp25: + case TrackElemType::Up25ToFlat: + case TrackElemType::Down25: + case TrackElemType::Down60: + case TrackElemType::FlatToDown25: + case TrackElemType::Down25ToDown60: + case TrackElemType::Down60ToDown25: + case TrackElemType::Down25ToFlat: + case TrackElemType::LeftQuarterTurn5Tiles: + case TrackElemType::RightQuarterTurn5Tiles: + case TrackElemType::FlatToLeftBank: + case TrackElemType::FlatToRightBank: + case TrackElemType::LeftBankToFlat: + case TrackElemType::RightBankToFlat: + case TrackElemType::BankedLeftQuarterTurn5Tiles: + case TrackElemType::BankedRightQuarterTurn5Tiles: + case TrackElemType::LeftBankToUp25: + case TrackElemType::RightBankToUp25: + case TrackElemType::Up25ToLeftBank: + case TrackElemType::Up25ToRightBank: + case TrackElemType::LeftBankToDown25: + case TrackElemType::RightBankToDown25: + case TrackElemType::Down25ToLeftBank: + case TrackElemType::Down25ToRightBank: + case TrackElemType::LeftBank: + case TrackElemType::RightBank: + case TrackElemType::LeftQuarterTurn5TilesUp25: + case TrackElemType::RightQuarterTurn5TilesUp25: + case TrackElemType::LeftQuarterTurn5TilesDown25: + case TrackElemType::RightQuarterTurn5TilesDown25: + case TrackElemType::SBendLeft: + case TrackElemType::SBendRight: + case TrackElemType::LeftQuarterTurn3Tiles: + case TrackElemType::RightQuarterTurn3Tiles: + case TrackElemType::LeftBankedQuarterTurn3Tiles: + case TrackElemType::RightBankedQuarterTurn3Tiles: + case TrackElemType::LeftQuarterTurn3TilesUp25: + case TrackElemType::RightQuarterTurn3TilesUp25: + case TrackElemType::LeftQuarterTurn3TilesDown25: + case TrackElemType::RightQuarterTurn3TilesDown25: + case TrackElemType::LeftHalfBankedHelixUpSmall: + case TrackElemType::RightHalfBankedHelixUpSmall: + case TrackElemType::LeftHalfBankedHelixDownSmall: + case TrackElemType::RightHalfBankedHelixDownSmall: + case TrackElemType::LeftHalfBankedHelixUpLarge: + case TrackElemType::RightHalfBankedHelixUpLarge: + case TrackElemType::LeftHalfBankedHelixDownLarge: + case TrackElemType::RightHalfBankedHelixDownLarge: + case TrackElemType::LeftQuarterTurn1TileUp60: + case TrackElemType::RightQuarterTurn1TileUp60: + case TrackElemType::LeftQuarterTurn1TileDown60: + case TrackElemType::RightQuarterTurn1TileDown60: + case TrackElemType::Up25LeftBanked: + case TrackElemType::Up25RightBanked: + case TrackElemType::OnRidePhoto: + case TrackElemType::Down25LeftBanked: + case TrackElemType::Down25RightBanked: + case TrackElemType::LeftEighthToDiag: + case TrackElemType::RightEighthToDiag: + case TrackElemType::LeftEighthToOrthogonal: + case TrackElemType::RightEighthToOrthogonal: + case TrackElemType::LeftEighthBankToDiag: + case TrackElemType::RightEighthBankToDiag: + case TrackElemType::LeftEighthBankToOrthogonal: + case TrackElemType::RightEighthBankToOrthogonal: + case TrackElemType::DiagFlat: + case TrackElemType::DiagUp25: + case TrackElemType::DiagUp60: + case TrackElemType::DiagFlatToUp25: + case TrackElemType::DiagUp25ToUp60: + case TrackElemType::DiagUp60ToUp25: + case TrackElemType::DiagUp25ToFlat: + case TrackElemType::DiagDown25: + case TrackElemType::DiagDown60: + case TrackElemType::DiagFlatToDown25: + case TrackElemType::DiagDown25ToDown60: + case TrackElemType::DiagDown60ToDown25: + case TrackElemType::DiagDown25ToFlat: + case TrackElemType::DiagFlatToLeftBank: + case TrackElemType::DiagFlatToRightBank: + case TrackElemType::DiagLeftBankToFlat: + case TrackElemType::DiagRightBankToFlat: + case TrackElemType::DiagLeftBankToUp25: + case TrackElemType::DiagRightBankToUp25: + case TrackElemType::DiagUp25ToLeftBank: + case TrackElemType::DiagUp25ToRightBank: + case TrackElemType::DiagLeftBankToDown25: + case TrackElemType::DiagRightBankToDown25: + case TrackElemType::DiagDown25ToLeftBank: + case TrackElemType::DiagDown25ToRightBank: + case TrackElemType::DiagLeftBank: + case TrackElemType::DiagRightBank: + case TrackElemType::LeftBankedQuarterTurn3TileUp25: + case TrackElemType::RightBankedQuarterTurn3TileUp25: + case TrackElemType::LeftBankedQuarterTurn3TileDown25: + case TrackElemType::RightBankedQuarterTurn3TileDown25: + case TrackElemType::LeftBankedQuarterTurn5TileUp25: + case TrackElemType::RightBankedQuarterTurn5TileUp25: + case TrackElemType::LeftBankedQuarterTurn5TileDown25: + case TrackElemType::RightBankedQuarterTurn5TileDown25: + case TrackElemType::Up25ToLeftBankedUp25: + case TrackElemType::Up25ToRightBankedUp25: + case TrackElemType::LeftBankedUp25ToUp25: + case TrackElemType::RightBankedUp25ToUp25: + case TrackElemType::Down25ToLeftBankedDown25: + case TrackElemType::Down25ToRightBankedDown25: + case TrackElemType::LeftBankedDown25ToDown25: + case TrackElemType::RightBankedDown25ToDown25: + case TrackElemType::LeftBankedFlatToLeftBankedUp25: + case TrackElemType::RightBankedFlatToRightBankedUp25: + case TrackElemType::LeftBankedUp25ToLeftBankedFlat: + case TrackElemType::RightBankedUp25ToRightBankedFlat: + case TrackElemType::LeftBankedFlatToLeftBankedDown25: + case TrackElemType::RightBankedFlatToRightBankedDown25: + case TrackElemType::LeftBankedDown25ToLeftBankedFlat: + case TrackElemType::RightBankedDown25ToRightBankedFlat: + case TrackElemType::FlatToLeftBankedUp25: + case TrackElemType::FlatToRightBankedUp25: + case TrackElemType::LeftBankedUp25ToFlat: + case TrackElemType::RightBankedUp25ToFlat: + case TrackElemType::FlatToLeftBankedDown25: + case TrackElemType::FlatToRightBankedDown25: + case TrackElemType::LeftBankedDown25ToFlat: + case TrackElemType::RightBankedDown25ToFlat: return get_track_paint_function_looping_rc(trackType); - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return lim_launched_rc_track_station; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: return lim_launched_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::RightVerticalLoop: return lim_launched_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: + case TrackElemType::LeftTwistDownToUp: return lim_launched_rc_track_left_twist_down_to_up; - case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: + case TrackElemType::RightTwistDownToUp: return lim_launched_rc_track_right_twist_down_to_up; - case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: + case TrackElemType::LeftTwistUpToDown: return lim_launched_rc_track_left_twist_up_to_down; - case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: + case TrackElemType::RightTwistUpToDown: return lim_launched_rc_track_right_twist_up_to_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: + case TrackElemType::LeftCorkscrewUp: return lim_launched_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: + case TrackElemType::RightCorkscrewUp: return lim_launched_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + case TrackElemType::LeftCorkscrewDown: return lim_launched_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + case TrackElemType::RightCorkscrewDown: return lim_launched_rc_track_right_corkscrew_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return lim_launched_rc_track_brakes; - case TRACK_ELEM_90_DEG_UP: + case TrackElemType::Up90: return lim_launched_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: + case TrackElemType::Down90: return lim_launched_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + case TrackElemType::Up60ToUp90: return lim_launched_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down90ToDown60: return lim_launched_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up90ToUp60: return lim_launched_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + case TrackElemType::Down60ToDown90: return lim_launched_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: + case TrackElemType::Up90ToInvertedFlatQuarterLoop: return lim_launched_rc_track_90_deg_to_inverted_flat_quarter_loop_up; - case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: + case TrackElemType::InvertedFlatToDown90QuarterLoop: return lim_launched_rc_track_inverted_flat_to_90_deg_quarter_loop_down; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return lim_launched_rc_track_block_brakes; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp90: return lim_launched_rc_track_left_quarter_turn_1_90_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp90: return lim_launched_rc_track_right_quarter_turn_1_90_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown90: return lim_launched_rc_track_left_quarter_turn_1_90_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown90: return lim_launched_rc_track_right_quarter_turn_1_90_deg_down; } return nullptr; diff --git a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp index b04060c817..1b8fc12da4 100644 --- a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp @@ -9199,278 +9199,278 @@ TRACK_PAINT_FUNCTION get_track_paint_function_looping_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return looping_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return looping_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return looping_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return looping_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return looping_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return looping_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return looping_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return looping_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return looping_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return looping_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return looping_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return looping_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return looping_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return looping_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return looping_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return looping_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return looping_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return looping_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return looping_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return looping_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return looping_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return looping_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return looping_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return looping_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return looping_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return looping_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return looping_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return looping_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return looping_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return looping_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return looping_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return looping_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return looping_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return looping_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return looping_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return looping_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return looping_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return looping_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: return looping_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::RightVerticalLoop: return looping_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return looping_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return looping_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return looping_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return looping_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return looping_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return looping_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return looping_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return looping_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return looping_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return looping_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return looping_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return looping_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return looping_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return looping_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return looping_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return looping_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp60: return looping_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp60: return looping_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown60: return looping_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown60: return looping_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return looping_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + case TrackElemType::Up25LeftBanked: return looping_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + case TrackElemType::Up25RightBanked: return looping_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return looping_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + case TrackElemType::Down25LeftBanked: return looping_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + case TrackElemType::Down25RightBanked: return looping_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return looping_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return looping_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return looping_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return looping_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return looping_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return looping_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return looping_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return looping_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return looping_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return looping_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return looping_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return looping_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return looping_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return looping_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return looping_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return looping_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return looping_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return looping_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return looping_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return looping_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return looping_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return looping_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return looping_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return looping_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return looping_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return looping_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return looping_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return looping_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return looping_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return looping_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return looping_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return looping_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return looping_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return looping_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return looping_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return looping_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn3TileUp25: return looping_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn3TileUp25: return looping_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn3TileDown25: return looping_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn3TileDown25: return looping_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn5TileUp25: return looping_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn5TileUp25: return looping_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn5TileDown25: return looping_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn5TileDown25: return looping_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToLeftBankedUp25: return looping_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToRightBankedUp25: return looping_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::LeftBankedUp25ToUp25: return looping_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::RightBankedUp25ToUp25: return looping_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToLeftBankedDown25: return looping_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToRightBankedDown25: return looping_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::LeftBankedDown25ToDown25: return looping_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::RightBankedDown25ToDown25: return looping_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::LeftBankedFlatToLeftBankedUp25: return looping_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::RightBankedFlatToRightBankedUp25: return looping_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedUp25ToLeftBankedFlat: return looping_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedUp25ToRightBankedFlat: return looping_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::LeftBankedFlatToLeftBankedDown25: return looping_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::RightBankedFlatToRightBankedDown25: return looping_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedDown25ToLeftBankedFlat: return looping_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedDown25ToRightBankedFlat: return looping_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::FlatToLeftBankedUp25: return looping_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::FlatToRightBankedUp25: return looping_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::LeftBankedUp25ToFlat: return looping_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::RightBankedUp25ToFlat: return looping_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToLeftBankedDown25: return looping_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToRightBankedDown25: return looping_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::LeftBankedDown25ToFlat: return looping_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::RightBankedDown25ToFlat: return looping_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_BOOSTER: + case TrackElemType::Booster: return looping_rc_track_booster; } return nullptr; diff --git a/src/openrct2/ride/coaster/MineRide.cpp b/src/openrct2/ride/coaster/MineRide.cpp index 37f888f1c7..11c2a4e61c 100644 --- a/src/openrct2/ride/coaster/MineRide.cpp +++ b/src/openrct2/ride/coaster/MineRide.cpp @@ -5357,147 +5357,147 @@ TRACK_PAINT_FUNCTION get_track_paint_function_mine_ride(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return mine_ride_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return mine_ride_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return mine_ride_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return mine_ride_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return mine_ride_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return mine_ride_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return mine_ride_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return mine_ride_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return mine_ride_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return mine_ride_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return mine_ride_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return mine_ride_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return mine_ride_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return mine_ride_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return mine_ride_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return mine_ride_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return mine_ride_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return mine_ride_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return mine_ride_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return mine_ride_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return mine_ride_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return mine_ride_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return mine_ride_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return mine_ride_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return mine_ride_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return mine_ride_track_right_bank; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return mine_ride_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return mine_ride_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return mine_ride_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return mine_ride_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return mine_ride_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return mine_ride_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return mine_ride_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return mine_ride_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return mine_ride_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return mine_ride_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return mine_ride_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return mine_ride_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return mine_ride_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return mine_ride_track_right_half_banked_helix_down_large; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return mine_ride_track_on_ride_photo; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return mine_ride_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return mine_ride_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return mine_ride_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return mine_ride_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return mine_ride_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return mine_ride_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return mine_ride_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return mine_ride_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return mine_ride_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return mine_ride_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return mine_ride_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return mine_ride_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return mine_ride_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return mine_ride_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return mine_ride_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return mine_ride_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return mine_ride_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return mine_ride_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return mine_ride_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return mine_ride_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return mine_ride_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return mine_ride_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return mine_ride_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return mine_ride_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return mine_ride_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return mine_ride_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return mine_ride_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return mine_ride_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return mine_ride_track_diag_right_bank; } return nullptr; diff --git a/src/openrct2/ride/coaster/MineTrainCoaster.cpp b/src/openrct2/ride/coaster/MineTrainCoaster.cpp index 83d1be7023..0179151dd3 100644 --- a/src/openrct2/ride/coaster/MineTrainCoaster.cpp +++ b/src/openrct2/ride/coaster/MineTrainCoaster.cpp @@ -88,7 +88,7 @@ static void mine_train_rc_track_station( sub_98197C_rotated( session, direction, imageIds[direction][2] | session->TrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height - 2, 0, 2, height); - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { sub_98199C_rotated( session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 0, @@ -7303,191 +7303,191 @@ TRACK_PAINT_FUNCTION get_track_paint_function_mine_train_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return mine_train_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return mine_train_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return mine_train_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return mine_train_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return mine_train_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return mine_train_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return mine_train_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return mine_train_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return mine_train_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return mine_train_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return mine_train_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return mine_train_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return mine_train_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return mine_train_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return mine_train_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return mine_train_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return mine_train_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return mine_train_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return mine_train_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return mine_train_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return mine_train_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return mine_train_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return mine_train_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return mine_train_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return mine_train_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return mine_train_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return mine_train_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return mine_train_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return mine_train_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return mine_train_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return mine_train_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return mine_train_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return mine_train_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return mine_train_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return mine_train_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return mine_train_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return mine_train_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return mine_train_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return mine_train_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return mine_train_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return mine_train_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return mine_train_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return mine_train_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return mine_train_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return mine_train_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return mine_train_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return mine_train_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return mine_train_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return mine_train_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return mine_train_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return mine_train_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return mine_train_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return mine_train_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return mine_train_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return mine_train_rc_track_brakes; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return mine_train_rc_track_on_ride_photo; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return mine_train_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return mine_train_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return mine_train_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return mine_train_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return mine_train_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return mine_train_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return mine_train_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return mine_train_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return mine_train_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return mine_train_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return mine_train_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return mine_train_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return mine_train_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return mine_train_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return mine_train_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return mine_train_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return mine_train_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return mine_train_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return mine_train_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return mine_train_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return mine_train_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return mine_train_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return mine_train_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return mine_train_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return mine_train_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return mine_train_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return mine_train_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return mine_train_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return mine_train_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return mine_train_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return mine_train_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return mine_train_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return mine_train_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return mine_train_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return mine_train_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return mine_train_rc_track_block_brakes; } return nullptr; diff --git a/src/openrct2/ride/coaster/MiniRollerCoaster.cpp b/src/openrct2/ride/coaster/MiniRollerCoaster.cpp index 8fe94594d7..c51e97d77d 100644 --- a/src/openrct2/ride/coaster/MiniRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/MiniRollerCoaster.cpp @@ -109,7 +109,7 @@ static void mini_rc_track_station( { 18747, 18743, SPR_STATION_BASE_A_NW_SE }, }; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { sub_98197C_rotated( session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, @@ -9186,277 +9186,277 @@ TRACK_PAINT_FUNCTION get_track_paint_function_mini_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return mini_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return mini_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return mini_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return mini_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return mini_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return mini_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return mini_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return mini_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return mini_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return mini_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return mini_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return mini_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return mini_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return mini_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return mini_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return mini_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return mini_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return mini_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return mini_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return mini_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return mini_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return mini_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return mini_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return mini_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return mini_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return mini_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return mini_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return mini_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return mini_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return mini_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return mini_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return mini_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return mini_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return mini_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return mini_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return mini_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return mini_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return mini_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return mini_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return mini_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return mini_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return mini_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return mini_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return mini_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return mini_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return mini_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return mini_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return mini_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return mini_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return mini_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return mini_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return mini_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return mini_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return mini_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp60: return mini_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp60: return mini_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown60: return mini_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown60: return mini_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return mini_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + case TrackElemType::Up25LeftBanked: return mini_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + case TrackElemType::Up25RightBanked: return mini_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return mini_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + case TrackElemType::Down25LeftBanked: return mini_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + case TrackElemType::Down25RightBanked: return mini_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return mini_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return mini_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return mini_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return mini_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return mini_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return mini_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return mini_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return mini_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return mini_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return mini_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return mini_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return mini_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return mini_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return mini_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return mini_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return mini_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return mini_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return mini_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return mini_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return mini_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return mini_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return mini_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return mini_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return mini_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return mini_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return mini_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return mini_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return mini_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return mini_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return mini_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return mini_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return mini_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return mini_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return mini_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return mini_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return mini_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn3TileUp25: return mini_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn3TileUp25: return mini_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn3TileDown25: return mini_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn3TileDown25: return mini_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn5TileUp25: return mini_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn5TileUp25: return mini_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn5TileDown25: return mini_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn5TileDown25: return mini_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToLeftBankedUp25: return mini_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToRightBankedUp25: return mini_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::LeftBankedUp25ToUp25: return mini_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::RightBankedUp25ToUp25: return mini_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToLeftBankedDown25: return mini_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToRightBankedDown25: return mini_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::LeftBankedDown25ToDown25: return mini_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::RightBankedDown25ToDown25: return mini_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::LeftBankedFlatToLeftBankedUp25: return mini_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::RightBankedFlatToRightBankedUp25: return mini_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedUp25ToLeftBankedFlat: return mini_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedUp25ToRightBankedFlat: return mini_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::LeftBankedFlatToLeftBankedDown25: return mini_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::RightBankedFlatToRightBankedDown25: return mini_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedDown25ToLeftBankedFlat: return mini_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedDown25ToRightBankedFlat: return mini_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::FlatToLeftBankedUp25: return mini_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::FlatToRightBankedUp25: return mini_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::LeftBankedUp25ToFlat: return mini_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::RightBankedUp25ToFlat: return mini_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToLeftBankedDown25: return mini_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToRightBankedDown25: return mini_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::LeftBankedDown25ToFlat: return mini_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::RightBankedDown25ToFlat: return mini_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_CURVED_LIFT_HILL: + case TrackElemType::LeftCurvedLiftHill: return mini_rc_track_left_curved_lift_hill; - case TRACK_ELEM_RIGHT_CURVED_LIFT_HILL: + case TrackElemType::RightCurvedLiftHill: return mini_rc_track_right_curved_lift_hill; - case TRACK_ELEM_BOOSTER: + case TrackElemType::Booster: return mini_rc_track_booster; } return nullptr; diff --git a/src/openrct2/ride/coaster/MiniSuspendedCoaster.cpp b/src/openrct2/ride/coaster/MiniSuspendedCoaster.cpp index 2db51caf57..93a51b25be 100644 --- a/src/openrct2/ride/coaster/MiniSuspendedCoaster.cpp +++ b/src/openrct2/ride/coaster/MiniSuspendedCoaster.cpp @@ -2449,57 +2449,57 @@ TRACK_PAINT_FUNCTION get_track_paint_function_mini_suspended_rc(int32_t trackTyp { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return mini_suspended_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return mini_suspended_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return mini_suspended_rc_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return mini_suspended_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return mini_suspended_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return mini_suspended_rc_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return mini_suspended_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return mini_suspended_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return mini_suspended_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return mini_suspended_rc_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return mini_suspended_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return mini_suspended_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return mini_suspended_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return mini_suspended_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return mini_suspended_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return mini_suspended_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return mini_suspended_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return mini_suspended_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return mini_suspended_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return mini_suspended_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return mini_suspended_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return mini_suspended_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return mini_suspended_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return mini_suspended_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return mini_suspended_rc_track_diag_25_deg_down_to_flat; } return nullptr; diff --git a/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp b/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp index 2e216cb3b2..44d225148c 100644 --- a/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp @@ -115,7 +115,7 @@ static void multi_dimension_rc_track_station( { 15811, 15813, SPR_STATION_INVERTED_BAR_A_NW_SE }, }; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { sub_98197C_rotated( session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 26, 1, height, 0, 3, @@ -13134,203 +13134,203 @@ TRACK_PAINT_FUNCTION get_track_paint_function_multi_dimension_rc(int32_t trackTy { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return multi_dimension_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return multi_dimension_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return multi_dimension_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return multi_dimension_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return multi_dimension_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return multi_dimension_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return multi_dimension_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return multi_dimension_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return multi_dimension_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return multi_dimension_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return multi_dimension_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return multi_dimension_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return multi_dimension_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return multi_dimension_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return multi_dimension_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return multi_dimension_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return multi_dimension_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return multi_dimension_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return multi_dimension_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return multi_dimension_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return multi_dimension_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return multi_dimension_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return multi_dimension_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return multi_dimension_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return multi_dimension_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return multi_dimension_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return multi_dimension_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return multi_dimension_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return multi_dimension_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return multi_dimension_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return multi_dimension_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return multi_dimension_rc_track_right_bank; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return multi_dimension_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return multi_dimension_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return multi_dimension_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return multi_dimension_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return multi_dimension_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return multi_dimension_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return multi_dimension_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return multi_dimension_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return multi_dimension_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return multi_dimension_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return multi_dimension_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return multi_dimension_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return multi_dimension_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return multi_dimension_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return multi_dimension_rc_track_brakes; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return multi_dimension_rc_track_on_ride_photo; - case TRACK_ELEM_90_DEG_UP: + case TrackElemType::Up90: return multi_dimension_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: + case TrackElemType::Down90: return multi_dimension_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + case TrackElemType::Up60ToUp90: return multi_dimension_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down90ToDown60: return multi_dimension_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up90ToUp60: return multi_dimension_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + case TrackElemType::Down60ToDown90: return multi_dimension_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return multi_dimension_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return multi_dimension_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return multi_dimension_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return multi_dimension_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return multi_dimension_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return multi_dimension_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return multi_dimension_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return multi_dimension_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return multi_dimension_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return multi_dimension_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return multi_dimension_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return multi_dimension_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return multi_dimension_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return multi_dimension_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return multi_dimension_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return multi_dimension_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return multi_dimension_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return multi_dimension_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return multi_dimension_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return multi_dimension_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return multi_dimension_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return multi_dimension_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return multi_dimension_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return multi_dimension_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return multi_dimension_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return multi_dimension_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return multi_dimension_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return multi_dimension_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return multi_dimension_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return multi_dimension_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return multi_dimension_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return multi_dimension_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return multi_dimension_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return multi_dimension_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return multi_dimension_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_FLYER_TWIST_UP: + case TrackElemType::LeftFlyerTwistUp: return multi_dimension_rc_track_left_flyer_twist_up; - case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: + case TrackElemType::RightFlyerTwistUp: return multi_dimension_rc_track_right_flyer_twist_up; - case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: + case TrackElemType::LeftFlyerTwistDown: return multi_dimension_rc_track_left_flyer_twist_down; - case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: + case TrackElemType::RightFlyerTwistDown: return multi_dimension_rc_track_right_flyer_twist_down; - case TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: + case TrackElemType::MultiDimInvertedFlatToDown90QuarterLoop: return multi_dimension_rc_track_multidim_inverted_flat_to_90_deg_quarter_loop_down; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return multi_dimension_rc_track_block_brakes; - case TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP: + case TrackElemType::MultiDimUp90ToInvertedFlatQuarterLoop: return multi_dimension_rc_track_multidim_90_deg_up_to_inverted_flat_quarter_loop; - case TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP: + case TrackElemType::MultiDimFlatToDown90QuarterLoop: return multi_dimension_rc_track_multidim_flat_to_90_deg_down_quarter_loop; - case TRACK_ELEM_MULTIDIM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP: + case TrackElemType::MultiDimInvertedUp90ToFlatQuarterLoop: return multi_dimension_rc_track_multidim_inverted_90_deg_up_to_flat_quarter_loop; } return nullptr; diff --git a/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp b/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp index fc01c5d595..3b411d5597 100644 --- a/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp +++ b/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp @@ -389,15 +389,15 @@ TRACK_PAINT_FUNCTION get_track_paint_function_reverse_freefall_rc(int32_t trackT { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_reverse_freefall_rc_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_reverse_freefall_rc_station; - case TRACK_ELEM_REVERSE_FREEFALL_SLOPE: + case TrackElemType::ReverseFreefallSlope: return paint_reverse_freefall_rc_slope; - case TRACK_ELEM_REVERSE_FREEFALL_VERTICAL: + case TrackElemType::ReverseFreefallVertical: return paint_reverse_freefall_rc_vertical; } return nullptr; diff --git a/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp b/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp index 41dbe09a53..d21941172b 100644 --- a/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp @@ -1327,41 +1327,41 @@ TRACK_PAINT_FUNCTION get_track_paint_function_reverser_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return reverser_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return reverser_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return reverser_rc_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return reverser_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return reverser_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return reverser_rc_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return reverser_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return reverser_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return reverser_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return reverser_rc_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return reverser_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return reverser_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return reverser_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return reverser_rc_track_right_quarter_turn_3; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return reverser_rc_track_brakes; - case TRACK_ELEM_LEFT_REVERSER: + case TrackElemType::LeftReverser: return reverser_rc_track_left_reverser; - case TRACK_ELEM_RIGHT_REVERSER: + case TrackElemType::RightReverser: return reverser_rc_track_right_reverser; } return nullptr; diff --git a/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp b/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp index 496b230030..cea93aeb0a 100644 --- a/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp @@ -3347,86 +3347,86 @@ TRACK_PAINT_FUNCTION get_track_paint_function_side_friction_rc(int32_t trackType { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return side_friction_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return side_friction_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return side_friction_rc_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return side_friction_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return side_friction_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return side_friction_rc_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return side_friction_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return side_friction_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return side_friction_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return side_friction_rc_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return side_friction_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return side_friction_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return side_friction_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return side_friction_rc_track_right_quarter_turn_3; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return side_friction_rc_track_brakes; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return side_friction_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return side_friction_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return side_friction_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return side_friction_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return side_friction_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return side_friction_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return side_friction_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return side_friction_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return side_friction_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return side_friction_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return side_friction_rc_track_diag_25_deg_down_to_flat; // Added by OpenRCT2 - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return side_friction_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return side_friction_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return side_friction_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return side_friction_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return side_friction_rc_track_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return side_friction_rc_track_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return side_friction_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return side_friction_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return side_friction_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return side_friction_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return side_friction_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return side_friction_rc_track_diag_60_deg_down_to_25_deg_down; } return nullptr; diff --git a/src/openrct2/ride/coaster/StandUpRollerCoaster.cpp b/src/openrct2/ride/coaster/StandUpRollerCoaster.cpp index 5f83538e78..4d489cfa82 100644 --- a/src/openrct2/ride/coaster/StandUpRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/StandUpRollerCoaster.cpp @@ -82,7 +82,7 @@ static void stand_up_rc_track_station( { 25568, 25572, SPR_STATION_BASE_A_NW_SE }, }; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { sub_98197C_rotated( session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1, height, 0, 6, @@ -8359,207 +8359,207 @@ TRACK_PAINT_FUNCTION get_track_paint_function_stand_up_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return stand_up_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return stand_up_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return stand_up_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return stand_up_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return stand_up_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return stand_up_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return stand_up_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return stand_up_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return stand_up_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return stand_up_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return stand_up_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return stand_up_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return stand_up_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return stand_up_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return stand_up_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return stand_up_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return stand_up_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return stand_up_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return stand_up_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return stand_up_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return stand_up_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return stand_up_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return stand_up_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return stand_up_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return stand_up_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return stand_up_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return stand_up_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return stand_up_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return stand_up_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return stand_up_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return stand_up_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return stand_up_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return stand_up_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return stand_up_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return stand_up_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return stand_up_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return stand_up_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return stand_up_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: return stand_up_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::RightVerticalLoop: return stand_up_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return stand_up_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return stand_up_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return stand_up_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return stand_up_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return stand_up_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return stand_up_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return stand_up_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return stand_up_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_HALF_LOOP_UP: + case TrackElemType::HalfLoopUp: return stand_up_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: + case TrackElemType::HalfLoopDown: return stand_up_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: + case TrackElemType::LeftCorkscrewUp: return stand_up_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: + case TrackElemType::RightCorkscrewUp: return stand_up_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + case TrackElemType::LeftCorkscrewDown: return stand_up_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + case TrackElemType::RightCorkscrewDown: return stand_up_rc_track_right_corkscrew_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return stand_up_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return stand_up_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return stand_up_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return stand_up_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return stand_up_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return stand_up_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return stand_up_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return stand_up_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return stand_up_rc_track_brakes; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return stand_up_rc_track_on_ride_photo; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return stand_up_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return stand_up_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return stand_up_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return stand_up_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return stand_up_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return stand_up_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return stand_up_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return stand_up_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return stand_up_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return stand_up_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return stand_up_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return stand_up_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return stand_up_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return stand_up_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return stand_up_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return stand_up_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return stand_up_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return stand_up_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return stand_up_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return stand_up_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return stand_up_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return stand_up_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return stand_up_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return stand_up_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return stand_up_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return stand_up_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return stand_up_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return stand_up_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return stand_up_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return stand_up_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return stand_up_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return stand_up_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return stand_up_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return stand_up_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return stand_up_rc_track_diag_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return stand_up_rc_track_block_brakes; } return nullptr; diff --git a/src/openrct2/ride/coaster/Steeplechase.cpp b/src/openrct2/ride/coaster/Steeplechase.cpp index 71575fff64..53dab1dccb 100644 --- a/src/openrct2/ride/coaster/Steeplechase.cpp +++ b/src/openrct2/ride/coaster/Steeplechase.cpp @@ -2308,61 +2308,61 @@ TRACK_PAINT_FUNCTION get_track_paint_function_steeplechase(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return steeplechase_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return steeplechase_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return steeplechase_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return steeplechase_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return steeplechase_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return steeplechase_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return steeplechase_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return steeplechase_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return steeplechase_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return steeplechase_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return steeplechase_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return steeplechase_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return steeplechase_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return steeplechase_track_right_quarter_turn_3; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return steeplechase_track_brakes; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return steeplechase_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return steeplechase_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return steeplechase_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return steeplechase_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return steeplechase_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return steeplechase_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return steeplechase_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return steeplechase_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return steeplechase_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return steeplechase_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return steeplechase_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return steeplechase_track_block_brakes; } return nullptr; diff --git a/src/openrct2/ride/coaster/SuspendedSwingingCoaster.cpp b/src/openrct2/ride/coaster/SuspendedSwingingCoaster.cpp index 27308230af..f365204bb4 100644 --- a/src/openrct2/ride/coaster/SuspendedSwingingCoaster.cpp +++ b/src/openrct2/ride/coaster/SuspendedSwingingCoaster.cpp @@ -4409,109 +4409,109 @@ TRACK_PAINT_FUNCTION get_track_paint_function_suspended_swinging_rc(int32_t trac { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return suspended_swinging_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return suspended_swinging_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return suspended_swinging_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return suspended_swinging_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return suspended_swinging_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return suspended_swinging_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return suspended_swinging_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return suspended_swinging_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return suspended_swinging_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return suspended_swinging_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return suspended_swinging_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return suspended_swinging_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return suspended_swinging_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return suspended_swinging_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return suspended_swinging_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return suspended_swinging_rc_track_right_quarter_turn_5; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return suspended_swinging_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return suspended_swinging_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return suspended_swinging_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return suspended_swinging_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return suspended_swinging_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return suspended_swinging_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return suspended_swinging_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return suspended_swinging_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return suspended_swinging_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return suspended_swinging_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return suspended_swinging_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return suspended_swinging_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return suspended_swinging_rc_track_brakes; - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP: + case TrackElemType::LeftQuarterHelixLargeUp: return suspended_swinging_rc_track_left_quarter_helix_large_up; - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP: + case TrackElemType::RightQuarterHelixLargeUp: return suspended_swinging_rc_track_right_quarter_helix_large_up; - case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN: + case TrackElemType::LeftQuarterHelixLargeDown: return suspended_swinging_rc_track_left_quarter_helix_large_down; - case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN: + case TrackElemType::RightQuarterHelixLargeDown: return suspended_swinging_rc_track_right_quarter_helix_large_down; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return suspended_swinging_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return suspended_swinging_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return suspended_swinging_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return suspended_swinging_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return suspended_swinging_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return suspended_swinging_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return suspended_swinging_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return suspended_swinging_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return suspended_swinging_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return suspended_swinging_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return suspended_swinging_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return suspended_swinging_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return suspended_swinging_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return suspended_swinging_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return suspended_swinging_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return suspended_swinging_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return suspended_swinging_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return suspended_swinging_rc_track_block_brakes; } return nullptr; diff --git a/src/openrct2/ride/coaster/TwisterRollerCoaster.cpp b/src/openrct2/ride/coaster/TwisterRollerCoaster.cpp index 378c906098..5a47b1cdac 100644 --- a/src/openrct2/ride/coaster/TwisterRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/TwisterRollerCoaster.cpp @@ -1491,7 +1491,7 @@ static void twister_rc_track_60_deg_up_to_flat_long_base( } /** rct2: 0x008AC114 */ -static void twister_rc_track_flat_to_60_deg_down_long_base( +static void twister_rc_track_60_deg_down_to_flat_long_base( paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height, const TileElement* tileElement) { @@ -1500,7 +1500,7 @@ static void twister_rc_track_flat_to_60_deg_down_long_base( } /** rct2: 0x008AC124 */ -static void twister_rc_track_60_deg_up_to_flat_long_base122( +static void twister_rc_track_flat_to_60_deg_down_long_base( paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height, const TileElement* tileElement) { @@ -1618,368 +1618,368 @@ TRACK_PAINT_FUNCTION get_track_paint_function_twister_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return twister_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return twister_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return twister_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return twister_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return twister_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return twister_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return twister_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return twister_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return twister_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return twister_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return twister_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return twister_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return twister_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return twister_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return twister_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return twister_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return twister_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return twister_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return twister_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return twister_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return twister_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return twister_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return twister_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return twister_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return twister_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return twister_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return twister_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return twister_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return twister_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return twister_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return twister_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return twister_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return twister_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return twister_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return twister_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return twister_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return twister_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return twister_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: return twister_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::RightVerticalLoop: return twister_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return twister_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return twister_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return twister_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return twister_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return twister_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return twister_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return twister_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return twister_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return twister_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return twister_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return twister_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return twister_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return twister_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return twister_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return twister_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return twister_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp60: return twister_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp60: return twister_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown60: return twister_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown60: return twister_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return twister_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + case TrackElemType::Up25LeftBanked: return twister_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + case TrackElemType::Up25RightBanked: return twister_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return twister_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + case TrackElemType::Down25LeftBanked: return twister_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + case TrackElemType::Down25RightBanked: return twister_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_90_DEG_UP: + case TrackElemType::Up90: return twister_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: + case TrackElemType::Down90: return twister_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + case TrackElemType::Up60ToUp90: return twister_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down90ToDown60: return twister_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up90ToUp60: return twister_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + case TrackElemType::Down60ToDown90: return twister_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return twister_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return twister_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return twister_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return twister_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return twister_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return twister_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return twister_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return twister_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return twister_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return twister_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return twister_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return twister_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return twister_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return twister_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return twister_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return twister_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return twister_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return twister_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return twister_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return twister_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return twister_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return twister_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return twister_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return twister_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return twister_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return twister_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return twister_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return twister_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return twister_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return twister_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return twister_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return twister_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return twister_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return twister_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return twister_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25: return twister_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightBankToRightQuarterTurn3TilesUp25: return twister_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank: return twister_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::RightQuarterTurn3TilesDown25ToRightBank: return twister_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return twister_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn3TileUp25: return twister_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn3TileUp25: return twister_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn3TileDown25: return twister_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn3TileDown25: return twister_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn5TileUp25: return twister_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn5TileUp25: return twister_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn5TileDown25: return twister_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn5TileDown25: return twister_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToLeftBankedUp25: return twister_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToRightBankedUp25: return twister_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::LeftBankedUp25ToUp25: return twister_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::RightBankedUp25ToUp25: return twister_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToLeftBankedDown25: return twister_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToRightBankedDown25: return twister_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::LeftBankedDown25ToDown25: return twister_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::RightBankedDown25ToDown25: return twister_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::LeftBankedFlatToLeftBankedUp25: return twister_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::RightBankedFlatToRightBankedUp25: return twister_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedUp25ToLeftBankedFlat: return twister_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedUp25ToRightBankedFlat: return twister_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::LeftBankedFlatToLeftBankedDown25: return twister_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::RightBankedFlatToRightBankedDown25: return twister_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedDown25ToLeftBankedFlat: return twister_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedDown25ToRightBankedFlat: return twister_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::FlatToLeftBankedUp25: return twister_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::FlatToRightBankedUp25: return twister_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::LeftBankedUp25ToFlat: return twister_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::RightBankedUp25ToFlat: return twister_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToLeftBankedDown25: return twister_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToRightBankedDown25: return twister_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::LeftBankedDown25ToFlat: return twister_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::RightBankedDown25ToFlat: return twister_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp90: return twister_rc_track_left_quarter_turn_1_90_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp90: return twister_rc_track_right_quarter_turn_1_90_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown90: return twister_rc_track_left_quarter_turn_1_90_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown90: return twister_rc_track_right_quarter_turn_1_90_deg_down; /* The following track elements used to be specific to the vertical RC */ - case TRACK_ELEM_FLAT_TO_60_DEG_UP: + case TrackElemType::FlatToUp60: return twister_rc_track_flat_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TrackElemType::Up60ToFlat: return twister_rc_track_60_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + case TrackElemType::FlatToDown60: return twister_rc_track_flat_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + case TrackElemType::Down60ToFlat: return twister_rc_track_60_deg_down_to_flat; - case TRACK_ELEM_BRAKE_FOR_DROP: + case TrackElemType::BrakeForDrop: return twister_rc_track_brake_for_drop; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: + case TrackElemType::DiagFlatToUp60: return twister_rc_track_diag_flat_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp60ToFlat: return twister_rc_track_diag_60_deg_up_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: + case TrackElemType::DiagFlatToDown60: return twister_rc_track_diag_flat_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown60ToFlat: return twister_rc_track_diag_60_deg_down_to_flat; /* The following track elements used to be specific to the Twister RC */ - case TRACK_ELEM_HALF_LOOP_UP: + case TrackElemType::HalfLoopUp: return twister_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: + case TrackElemType::HalfLoopDown: return twister_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: + case TrackElemType::LeftCorkscrewUp: return twister_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: + case TrackElemType::RightCorkscrewUp: return twister_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + case TrackElemType::LeftCorkscrewDown: return twister_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + case TrackElemType::RightCorkscrewDown: return twister_rc_track_right_corkscrew_down; - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + case TrackElemType::FlatToUp60LongBase: return twister_rc_track_flat_to_60_deg_up_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: + case TrackElemType::Up60ToFlatLongBase: return twister_rc_track_60_deg_up_to_flat_long_base; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: + case TrackElemType::Down60ToFlatLongBase: + return twister_rc_track_60_deg_down_to_flat_long_base; + case TrackElemType::FlatToDown60LongBase: return twister_rc_track_flat_to_60_deg_down_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: - return twister_rc_track_60_deg_up_to_flat_long_base122; - case TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN: + case TrackElemType::LeftBarrelRollUpToDown: return twister_rc_track_left_barrel_roll_up_to_down; - case TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN: + case TrackElemType::RightBarrelRollUpToDown: return twister_rc_track_right_barrel_roll_up_to_down; - case TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP: + case TrackElemType::LeftBarrelRollDownToUp: return twister_rc_track_left_barrel_roll_down_to_up; - case TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP: + case TrackElemType::RightBarrelRollDownToUp: return twister_rc_track_right_barrel_roll_down_to_up; - case TRACK_ELEM_POWERED_LIFT: + case TrackElemType::PoweredLift: return twister_rc_track_powered_lift; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: + case TrackElemType::LeftLargeHalfLoopUp: return twister_rc_track_left_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: + case TrackElemType::RightLargeHalfLoopUp: return twister_rc_track_right_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: + case TrackElemType::RightLargeHalfLoopDown: return twister_rc_track_right_large_half_loop_down; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: + case TrackElemType::LeftLargeHalfLoopDown: return twister_rc_track_left_large_half_loop_down; - case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: + case TrackElemType::Up90ToInvertedFlatQuarterLoop: return twister_rc_track_90_deg_to_inverted_flat_quarter_loop_up; - case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: + case TrackElemType::InvertedFlatToDown90QuarterLoop: return twister_rc_track_inverted_flat_to_90_deg_quarter_loop_down; - case TRACK_ELEM_BOOSTER: + case TrackElemType::Booster: return twister_rc_track_booster; } return nullptr; diff --git a/src/openrct2/ride/coaster/VerticalDropRollerCoaster.cpp b/src/openrct2/ride/coaster/VerticalDropRollerCoaster.cpp index d304986e87..2a15f7b474 100644 --- a/src/openrct2/ride/coaster/VerticalDropRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/VerticalDropRollerCoaster.cpp @@ -1482,7 +1482,7 @@ static void vertical_drop_rc_track_60_deg_up_to_flat_long_base( session, rideIndex, trackSequence, direction, height, tileElement, METAL_SUPPORTS_BOXED); } -static void vertical_drop_rc_track_flat_to_60_deg_down_long_base( +static void vertical_drop_rc_track_60_deg_down_to_flat_long_base( paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height, const TileElement* tileElement) { @@ -1490,7 +1490,7 @@ static void vertical_drop_rc_track_flat_to_60_deg_down_long_base( session, rideIndex, trackSequence, direction, height, tileElement, METAL_SUPPORTS_BOXED); } -static void vertical_drop_rc_track_60_deg_up_to_flat_long_base122( +static void vertical_drop_rc_track_flat_to_60_deg_down_long_base( paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height, const TileElement* tileElement) { @@ -1597,368 +1597,368 @@ TRACK_PAINT_FUNCTION get_track_paint_function_vertical_drop_rc(int32_t trackType { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return vertical_drop_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return vertical_drop_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return vertical_drop_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return vertical_drop_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return vertical_drop_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return vertical_drop_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return vertical_drop_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return vertical_drop_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return vertical_drop_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return vertical_drop_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return vertical_drop_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return vertical_drop_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return vertical_drop_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return vertical_drop_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return vertical_drop_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return vertical_drop_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return vertical_drop_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return vertical_drop_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return vertical_drop_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return vertical_drop_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return vertical_drop_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return vertical_drop_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return vertical_drop_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return vertical_drop_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return vertical_drop_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return vertical_drop_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return vertical_drop_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return vertical_drop_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return vertical_drop_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return vertical_drop_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return vertical_drop_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return vertical_drop_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return vertical_drop_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return vertical_drop_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return vertical_drop_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return vertical_drop_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return vertical_drop_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return vertical_drop_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: return vertical_drop_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::RightVerticalLoop: return vertical_drop_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return vertical_drop_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return vertical_drop_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return vertical_drop_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return vertical_drop_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return vertical_drop_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return vertical_drop_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return vertical_drop_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return vertical_drop_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return vertical_drop_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return vertical_drop_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return vertical_drop_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return vertical_drop_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return vertical_drop_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return vertical_drop_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return vertical_drop_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return vertical_drop_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp60: return vertical_drop_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp60: return vertical_drop_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown60: return vertical_drop_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown60: return vertical_drop_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return vertical_drop_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + case TrackElemType::Up25LeftBanked: return vertical_drop_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + case TrackElemType::Up25RightBanked: return vertical_drop_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return vertical_drop_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + case TrackElemType::Down25LeftBanked: return vertical_drop_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + case TrackElemType::Down25RightBanked: return vertical_drop_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_90_DEG_UP: + case TrackElemType::Up90: return vertical_drop_rc_track_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN: + case TrackElemType::Down90: return vertical_drop_rc_track_90_deg_down; - case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + case TrackElemType::Up60ToUp90: return vertical_drop_rc_track_60_deg_up_to_90_deg_up; - case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down90ToDown60: return vertical_drop_rc_track_90_deg_down_to_60_deg_down; - case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up90ToUp60: return vertical_drop_rc_track_90_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + case TrackElemType::Down60ToDown90: return vertical_drop_rc_track_60_deg_down_to_90_deg_down; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return vertical_drop_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return vertical_drop_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return vertical_drop_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return vertical_drop_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return vertical_drop_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return vertical_drop_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return vertical_drop_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return vertical_drop_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return vertical_drop_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return vertical_drop_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return vertical_drop_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return vertical_drop_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return vertical_drop_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return vertical_drop_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return vertical_drop_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return vertical_drop_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return vertical_drop_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return vertical_drop_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return vertical_drop_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return vertical_drop_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return vertical_drop_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return vertical_drop_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return vertical_drop_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return vertical_drop_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return vertical_drop_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return vertical_drop_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return vertical_drop_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return vertical_drop_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return vertical_drop_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return vertical_drop_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return vertical_drop_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return vertical_drop_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return vertical_drop_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return vertical_drop_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return vertical_drop_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25: return vertical_drop_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightBankToRightQuarterTurn3TilesUp25: return vertical_drop_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank: return vertical_drop_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::RightQuarterTurn3TilesDown25ToRightBank: return vertical_drop_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return vertical_drop_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn3TileUp25: return vertical_drop_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn3TileUp25: return vertical_drop_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn3TileDown25: return vertical_drop_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn3TileDown25: return vertical_drop_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn5TileUp25: return vertical_drop_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn5TileUp25: return vertical_drop_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn5TileDown25: return vertical_drop_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn5TileDown25: return vertical_drop_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToLeftBankedUp25: return vertical_drop_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToRightBankedUp25: return vertical_drop_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::LeftBankedUp25ToUp25: return vertical_drop_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::RightBankedUp25ToUp25: return vertical_drop_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToLeftBankedDown25: return vertical_drop_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToRightBankedDown25: return vertical_drop_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::LeftBankedDown25ToDown25: return vertical_drop_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::RightBankedDown25ToDown25: return vertical_drop_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::LeftBankedFlatToLeftBankedUp25: return vertical_drop_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::RightBankedFlatToRightBankedUp25: return vertical_drop_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedUp25ToLeftBankedFlat: return vertical_drop_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedUp25ToRightBankedFlat: return vertical_drop_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::LeftBankedFlatToLeftBankedDown25: return vertical_drop_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::RightBankedFlatToRightBankedDown25: return vertical_drop_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedDown25ToLeftBankedFlat: return vertical_drop_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedDown25ToRightBankedFlat: return vertical_drop_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::FlatToLeftBankedUp25: return vertical_drop_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::FlatToRightBankedUp25: return vertical_drop_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::LeftBankedUp25ToFlat: return vertical_drop_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::RightBankedUp25ToFlat: return vertical_drop_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToLeftBankedDown25: return vertical_drop_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToRightBankedDown25: return vertical_drop_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::LeftBankedDown25ToFlat: return vertical_drop_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::RightBankedDown25ToFlat: return vertical_drop_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp90: return vertical_drop_rc_track_left_quarter_turn_1_90_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp90: return vertical_drop_rc_track_right_quarter_turn_1_90_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown90: return vertical_drop_rc_track_left_quarter_turn_1_90_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown90: return vertical_drop_rc_track_right_quarter_turn_1_90_deg_down; /* These track elements used to be specific to the vertical RC */ - case TRACK_ELEM_FLAT_TO_60_DEG_UP: + case TrackElemType::FlatToUp60: return vertical_drop_rc_track_flat_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TrackElemType::Up60ToFlat: return vertical_drop_rc_track_60_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + case TrackElemType::FlatToDown60: return vertical_drop_rc_track_flat_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + case TrackElemType::Down60ToFlat: return vertical_drop_rc_track_60_deg_down_to_flat; - case TRACK_ELEM_BRAKE_FOR_DROP: + case TrackElemType::BrakeForDrop: return vertical_drop_rc_track_brake_for_drop; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: + case TrackElemType::DiagFlatToUp60: return vertical_drop_rc_track_diag_flat_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp60ToFlat: return vertical_drop_rc_track_diag_60_deg_up_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: + case TrackElemType::DiagFlatToDown60: return vertical_drop_rc_track_diag_flat_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown60ToFlat: return vertical_drop_rc_track_diag_60_deg_down_to_flat; /* These track elements used to be specific to the steel vertical_drop */ - case TRACK_ELEM_HALF_LOOP_UP: + case TrackElemType::HalfLoopUp: return vertical_drop_rc_track_half_loop_up; - case TRACK_ELEM_HALF_LOOP_DOWN: + case TrackElemType::HalfLoopDown: return vertical_drop_rc_track_half_loop_down; - case TRACK_ELEM_LEFT_CORKSCREW_UP: + case TrackElemType::LeftCorkscrewUp: return vertical_drop_rc_track_left_corkscrew_up; - case TRACK_ELEM_RIGHT_CORKSCREW_UP: + case TrackElemType::RightCorkscrewUp: return vertical_drop_rc_track_right_corkscrew_up; - case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + case TrackElemType::LeftCorkscrewDown: return vertical_drop_rc_track_left_corkscrew_down; - case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + case TrackElemType::RightCorkscrewDown: return vertical_drop_rc_track_right_corkscrew_down; - case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + case TrackElemType::FlatToUp60LongBase: return vertical_drop_rc_track_flat_to_60_deg_up_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: + case TrackElemType::Up60ToFlatLongBase: return vertical_drop_rc_track_60_deg_up_to_flat_long_base; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: + case TrackElemType::Down60ToFlatLongBase: + return vertical_drop_rc_track_60_deg_down_to_flat_long_base; + case TrackElemType::FlatToDown60LongBase: return vertical_drop_rc_track_flat_to_60_deg_down_long_base; - case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: - return vertical_drop_rc_track_60_deg_up_to_flat_long_base122; - case TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN: + case TrackElemType::LeftBarrelRollUpToDown: return vertical_drop_rc_track_left_barrel_roll_up_to_down; - case TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN: + case TrackElemType::RightBarrelRollUpToDown: return vertical_drop_rc_track_right_barrel_roll_up_to_down; - case TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP: + case TrackElemType::LeftBarrelRollDownToUp: return vertical_drop_rc_track_left_barrel_roll_down_to_up; - case TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP: + case TrackElemType::RightBarrelRollDownToUp: return vertical_drop_rc_track_right_barrel_roll_down_to_up; - case TRACK_ELEM_POWERED_LIFT: + case TrackElemType::PoweredLift: return vertical_drop_rc_track_powered_lift; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: + case TrackElemType::LeftLargeHalfLoopUp: return vertical_drop_rc_track_left_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: + case TrackElemType::RightLargeHalfLoopUp: return vertical_drop_rc_track_right_large_half_loop_up; - case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: + case TrackElemType::RightLargeHalfLoopDown: return vertical_drop_rc_track_right_large_half_loop_down; - case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: + case TrackElemType::LeftLargeHalfLoopDown: return vertical_drop_rc_track_left_large_half_loop_down; - case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP: + case TrackElemType::Up90ToInvertedFlatQuarterLoop: return vertical_drop_rc_track_90_deg_to_inverted_flat_quarter_loop_up; - case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: + case TrackElemType::InvertedFlatToDown90QuarterLoop: return vertical_drop_rc_track_inverted_flat_to_90_deg_quarter_loop_down; - case TRACK_ELEM_BOOSTER: + case TrackElemType::Booster: return vertical_drop_rc_track_booster; } return nullptr; diff --git a/src/openrct2/ride/coaster/VirginiaReel.cpp b/src/openrct2/ride/coaster/VirginiaReel.cpp index 4a9c3f5b01..7e929ba56f 100644 --- a/src/openrct2/ride/coaster/VirginiaReel.cpp +++ b/src/openrct2/ride/coaster/VirginiaReel.cpp @@ -536,36 +536,36 @@ TRACK_PAINT_FUNCTION get_track_paint_function_virginia_reel(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_virginia_reel_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_virginia_reel_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return paint_virginia_reel_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return paint_virginia_reel_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return paint_virginia_reel_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return paint_virginia_reel_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return paint_virginia_reel_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return paint_virginia_reel_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return paint_virginia_reel_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return paint_virginia_reel_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return paint_virginia_reel_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return paint_virginia_reel_track_right_quarter_turn_1_tile; } diff --git a/src/openrct2/ride/coaster/WildMouse.cpp b/src/openrct2/ride/coaster/WildMouse.cpp index 3b348fcf7e..e6b745f0cf 100644 --- a/src/openrct2/ride/coaster/WildMouse.cpp +++ b/src/openrct2/ride/coaster/WildMouse.cpp @@ -202,7 +202,7 @@ static void wild_mouse_track_station( sub_98197C_rotated( session, direction, baseImageIds[direction] | session->TrackColours[SCHEME_MISC], 0, 0, 32, 28, 2, height - 2, 0, 2, height); - if (trackType == TRACK_ELEM_END_STATION) + if (trackType == TrackElemType::EndStation) { sub_98199C_rotated( session, direction, _wild_mouse_block_brakes_image_ids[direction] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, @@ -939,65 +939,65 @@ TRACK_PAINT_FUNCTION get_track_paint_function_wild_mouse(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return wild_mouse_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return wild_mouse_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return wild_mouse_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return wild_mouse_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return wild_mouse_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return wild_mouse_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return wild_mouse_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return wild_mouse_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return wild_mouse_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return wild_mouse_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return wild_mouse_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return wild_mouse_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return wild_mouse_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return wild_mouse_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return wild_mouse_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return wild_mouse_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return wild_mouse_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return wild_mouse_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return wild_mouse_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return wild_mouse_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return wild_mouse_track_left_quarter_turn_1; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return wild_mouse_track_right_quarter_turn_1; - case TRACK_ELEM_FLAT_TO_60_DEG_UP: + case TrackElemType::FlatToUp60: return wild_mouse_track_flat_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TrackElemType::Up60ToFlat: return wild_mouse_track_60_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + case TrackElemType::FlatToDown60: return wild_mouse_track_flat_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + case TrackElemType::Down60ToFlat: return wild_mouse_track_60_deg_down_to_flat; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return wild_mouse_track_brakes; - case TRACK_ELEM_ROTATION_CONTROL_TOGGLE: + case TrackElemType::RotationControlToggle: return wild_mouse_track_rotation_control_toggle; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return wild_mouse_track_block_brakes; } return nullptr; diff --git a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp index 7a638517dc..7b5d14f531 100644 --- a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp @@ -473,7 +473,7 @@ static void wooden_rc_track_station( }; int32_t trackType = tileElement->AsTrack()->GetTrackType(); - if (trackType == TRACK_ELEM_END_STATION) + if (trackType == TrackElemType::EndStation) { wooden_rc_track_paint( session, _wooden_rc_block_brakes_image_ids[direction][0], _wooden_rc_block_brakes_image_ids[direction][1], @@ -13133,287 +13133,287 @@ TRACK_PAINT_FUNCTION get_track_paint_function_wooden_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return wooden_rc_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return wooden_rc_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return wooden_rc_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return wooden_rc_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return wooden_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return wooden_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return wooden_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return wooden_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return wooden_rc_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return wooden_rc_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return wooden_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return wooden_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return wooden_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return wooden_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return wooden_rc_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return wooden_rc_track_right_quarter_turn_5; - case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TrackElemType::FlatToLeftBank: return wooden_rc_track_flat_to_left_bank; - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TrackElemType::FlatToRightBank: return wooden_rc_track_flat_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TrackElemType::LeftBankToFlat: return wooden_rc_track_left_bank_to_flat; - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: + case TrackElemType::RightBankToFlat: return wooden_rc_track_right_bank_to_flat; - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedLeftQuarterTurn5Tiles: return wooden_rc_track_banked_left_quarter_turn_5; - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::BankedRightQuarterTurn5Tiles: return wooden_rc_track_banked_right_quarter_turn_5; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::LeftBankToUp25: return wooden_rc_track_left_bank_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::RightBankToUp25: return wooden_rc_track_right_bank_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::Up25ToLeftBank: return wooden_rc_track_25_deg_up_to_left_bank; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::Up25ToRightBank: return wooden_rc_track_25_deg_up_to_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::LeftBankToDown25: return wooden_rc_track_left_bank_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::RightBankToDown25: return wooden_rc_track_right_bank_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::Down25ToLeftBank: return wooden_rc_track_25_deg_down_to_left_bank; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::Down25ToRightBank: return wooden_rc_track_25_deg_down_to_right_bank; - case TRACK_ELEM_LEFT_BANK: + case TrackElemType::LeftBank: return wooden_rc_track_left_bank; - case TRACK_ELEM_RIGHT_BANK: + case TrackElemType::RightBank: return wooden_rc_track_right_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return wooden_rc_track_left_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return wooden_rc_track_right_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return wooden_rc_track_left_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return wooden_rc_track_right_quarter_turn_5_25_deg_down; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return wooden_rc_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return wooden_rc_track_s_bend_right; - case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: return wooden_rc_track_left_vertical_loop; - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::RightVerticalLoop: return wooden_rc_track_right_vertical_loop; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return wooden_rc_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return wooden_rc_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::LeftBankedQuarterTurn3Tiles: return wooden_rc_track_left_quarter_turn_3_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TrackElemType::RightBankedQuarterTurn3Tiles: return wooden_rc_track_right_quarter_turn_3_bank; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return wooden_rc_track_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return wooden_rc_track_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return wooden_rc_track_left_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return wooden_rc_track_right_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::LeftHalfBankedHelixUpSmall: return wooden_rc_track_left_half_banked_helix_up_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TrackElemType::RightHalfBankedHelixUpSmall: return wooden_rc_track_right_half_banked_helix_up_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::LeftHalfBankedHelixDownSmall: return wooden_rc_track_left_half_banked_helix_down_small; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TrackElemType::RightHalfBankedHelixDownSmall: return wooden_rc_track_right_half_banked_helix_down_small; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::LeftHalfBankedHelixUpLarge: return wooden_rc_track_left_half_banked_helix_up_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TrackElemType::RightHalfBankedHelixUpLarge: return wooden_rc_track_right_half_banked_helix_up_large; - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::LeftHalfBankedHelixDownLarge: return wooden_rc_track_left_half_banked_helix_down_large; - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TrackElemType::RightHalfBankedHelixDownLarge: return wooden_rc_track_right_half_banked_helix_down_large; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::LeftQuarterTurn1TileUp60: return wooden_rc_track_left_quarter_turn_1_60_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TrackElemType::RightQuarterTurn1TileUp60: return wooden_rc_track_right_quarter_turn_1_60_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::LeftQuarterTurn1TileDown60: return wooden_rc_track_left_quarter_turn_1_60_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TrackElemType::RightQuarterTurn1TileDown60: return wooden_rc_track_right_quarter_turn_1_60_deg_down; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return wooden_rc_track_brakes; - case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + case TrackElemType::Up25LeftBanked: return wooden_rc_track_25_deg_up_left_banked; - case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + case TrackElemType::Up25RightBanked: return wooden_rc_track_25_deg_up_right_banked; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return wooden_rc_track_on_ride_photo; - case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + case TrackElemType::Down25LeftBanked: return wooden_rc_track_25_deg_down_left_banked; - case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + case TrackElemType::Down25RightBanked: return wooden_rc_track_25_deg_down_right_banked; - case TRACK_ELEM_WATER_SPLASH: + case TrackElemType::Watersplash: return wooden_rc_track_water_splash; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return wooden_rc_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return wooden_rc_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return wooden_rc_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return wooden_rc_track_right_eighth_to_orthogonal; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::LeftEighthBankToDiag: return wooden_rc_track_left_eighth_bank_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TrackElemType::RightEighthBankToDiag: return wooden_rc_track_right_eighth_bank_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::LeftEighthBankToOrthogonal: return wooden_rc_track_left_eighth_bank_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TrackElemType::RightEighthBankToOrthogonal: return wooden_rc_track_right_eighth_bank_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return wooden_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return wooden_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return wooden_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return wooden_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return wooden_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return wooden_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return wooden_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return wooden_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return wooden_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return wooden_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return wooden_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return wooden_rc_track_diag_60_deg_down_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return wooden_rc_track_diag_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TrackElemType::DiagFlatToLeftBank: return wooden_rc_track_diag_flat_to_left_bank; - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TrackElemType::DiagFlatToRightBank: return wooden_rc_track_diag_flat_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TrackElemType::DiagLeftBankToFlat: return wooden_rc_track_diag_left_bank_to_flat; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TrackElemType::DiagRightBankToFlat: return wooden_rc_track_diag_right_bank_to_flat; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagLeftBankToUp25: return wooden_rc_track_diag_left_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TrackElemType::DiagRightBankToUp25: return wooden_rc_track_diag_right_bank_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TrackElemType::DiagUp25ToLeftBank: return wooden_rc_track_diag_25_deg_up_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TrackElemType::DiagUp25ToRightBank: return wooden_rc_track_diag_25_deg_up_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagLeftBankToDown25: return wooden_rc_track_diag_left_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TrackElemType::DiagRightBankToDown25: return wooden_rc_track_diag_right_bank_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::DiagDown25ToLeftBank: return wooden_rc_track_diag_25_deg_down_to_left_bank; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::DiagDown25ToRightBank: return wooden_rc_track_diag_25_deg_down_to_right_bank; - case TRACK_ELEM_DIAG_LEFT_BANK: + case TrackElemType::DiagLeftBank: return wooden_rc_track_diag_left_bank; - case TRACK_ELEM_DIAG_RIGHT_BANK: + case TrackElemType::DiagRightBank: return wooden_rc_track_diag_right_bank; - case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25: return wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightBankToRightQuarterTurn3TilesUp25: return wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: + case TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank: return wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: + case TrackElemType::RightQuarterTurn3TilesDown25ToRightBank: return wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank; - case TRACK_ELEM_BLOCK_BRAKES: + case TrackElemType::BlockBrakes: return wooden_rc_track_block_brakes; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn3TileUp25: return wooden_rc_track_left_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn3TileUp25: return wooden_rc_track_right_banked_quarter_turn_3_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn3TileDown25: return wooden_rc_track_left_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn3TileDown25: return wooden_rc_track_right_banked_quarter_turn_3_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::LeftBankedQuarterTurn5TileUp25: return wooden_rc_track_left_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP: + case TrackElemType::RightBankedQuarterTurn5TileUp25: return wooden_rc_track_right_banked_quarter_turn_5_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::LeftBankedQuarterTurn5TileDown25: return wooden_rc_track_left_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN: + case TrackElemType::RightBankedQuarterTurn5TileDown25: return wooden_rc_track_right_banked_quarter_turn_5_25_deg_down; - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToLeftBankedUp25: return wooden_rc_track_25_deg_up_to_left_banked_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::Up25ToRightBankedUp25: return wooden_rc_track_25_deg_up_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::LeftBankedUp25ToUp25: return wooden_rc_track_left_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TrackElemType::RightBankedUp25ToUp25: return wooden_rc_track_right_banked_25_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToLeftBankedDown25: return wooden_rc_track_25_deg_down_to_left_banked_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::Down25ToRightBankedDown25: return wooden_rc_track_25_deg_down_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::LeftBankedDown25ToDown25: return wooden_rc_track_left_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::RightBankedDown25ToDown25: return wooden_rc_track_right_banked_25_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::LeftBankedFlatToLeftBankedUp25: return wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::RightBankedFlatToRightBankedUp25: return wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedUp25ToLeftBankedFlat: return wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedUp25ToRightBankedFlat: return wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat; - case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::LeftBankedFlatToLeftBankedDown25: return wooden_rc_track_left_banked_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::RightBankedFlatToRightBankedDown25: return wooden_rc_track_right_banked_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + case TrackElemType::LeftBankedDown25ToLeftBankedFlat: return wooden_rc_track_left_banked_25_deg_down_to_left_banked_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + case TrackElemType::RightBankedDown25ToRightBankedFlat: return wooden_rc_track_right_banked_25_deg_down_to_right_banked_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TrackElemType::FlatToLeftBankedUp25: return wooden_rc_track_flat_to_left_banked_25_deg_up; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TrackElemType::FlatToRightBankedUp25: return wooden_rc_track_flat_to_right_banked_25_deg_up; - case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::LeftBankedUp25ToFlat: return wooden_rc_track_left_banked_25_deg_up_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + case TrackElemType::RightBankedUp25ToFlat: return wooden_rc_track_right_banked_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToLeftBankedDown25: return wooden_rc_track_flat_to_left_banked_25_deg_down; - case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TrackElemType::FlatToRightBankedDown25: return wooden_rc_track_flat_to_right_banked_25_deg_down; - case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::LeftBankedDown25ToFlat: return wooden_rc_track_left_banked_25_deg_down_to_flat; - case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: + case TrackElemType::RightBankedDown25ToFlat: return wooden_rc_track_right_banked_25_deg_down_to_flat; - case TRACK_ELEM_BOOSTER: + case TrackElemType::Booster: return wooden_rc_track_booster; } return nullptr; diff --git a/src/openrct2/ride/coaster/WoodenWildMouse.cpp b/src/openrct2/ride/coaster/WoodenWildMouse.cpp index 352499631d..30337e3129 100644 --- a/src/openrct2/ride/coaster/WoodenWildMouse.cpp +++ b/src/openrct2/ride/coaster/WoodenWildMouse.cpp @@ -719,51 +719,51 @@ TRACK_PAINT_FUNCTION get_track_paint_function_wooden_wild_mouse(int32_t trackTyp { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return wooden_wild_mouse_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return wooden_wild_mouse_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return wooden_wild_mouse_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return wooden_wild_mouse_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return wooden_wild_mouse_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return wooden_wild_mouse_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return wooden_wild_mouse_track_60_deg_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return wooden_wild_mouse_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return wooden_wild_mouse_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return wooden_wild_mouse_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return wooden_wild_mouse_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return wooden_wild_mouse_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return wooden_wild_mouse_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return wooden_wild_mouse_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return wooden_wild_mouse_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return wooden_wild_mouse_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return wooden_wild_mouse_track_left_quarter_turn_1; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return wooden_wild_mouse_track_right_quarter_turn_1; - case TRACK_ELEM_FLAT_TO_60_DEG_UP: + case TrackElemType::FlatToUp60: return wooden_wild_mouse_track_flat_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TrackElemType::Up60ToFlat: return wooden_wild_mouse_track_60_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + case TrackElemType::FlatToDown60: return wooden_wild_mouse_track_flat_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + case TrackElemType::Down60ToFlat: return wooden_wild_mouse_track_60_deg_down_to_flat; } return nullptr; diff --git a/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h b/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h index 05d03c40f2..2cae0a3e39 100644 --- a/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h +++ b/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor AirPoweredVerticalCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_LIFT_HILL_CURVE) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_REVERSE_FREEFALL) | (1ULL << TRACK_SLOPE_TO_FLAT)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_BOOSTER)), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), 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, EnumsToFlags(RideMode::PoweredLaunchPasstrough, RideMode::PoweredLaunch)), diff --git a/src/openrct2/ride/coaster/meta/BobsleighCoaster.h b/src/openrct2/ride/coaster/meta/BobsleighCoaster.h index 6c113ab9a4..cb0606c8e3 100644 --- a/src/openrct2/ride/coaster/meta/BobsleighCoaster.h +++ b/src/openrct2/ride/coaster/meta/BobsleighCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor BobsleighCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_bobsleigh_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 | diff --git a/src/openrct2/ride/coaster/meta/ClassicMiniRollerCoaster.h b/src/openrct2/ride/coaster/meta/ClassicMiniRollerCoaster.h index 6fd5480b23..cde50d6855 100644 --- a/src/openrct2/ride/coaster/meta/ClassicMiniRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/ClassicMiniRollerCoaster.h @@ -25,7 +25,7 @@ constexpr const RideTypeDescriptor ClassicMiniRollerCoasterRTD = | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_BOOSTER)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_ON_RIDE_PHOTO)), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_junior_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h b/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h index 60d277bbbd..2d8b4a2a71 100644 --- a/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h +++ b/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor CompactInvertedCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_TWIST) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_compact_inverted_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h b/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h index f47578f893..4a0f5d5ae3 100644 --- a/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h @@ -27,7 +27,7 @@ constexpr const RideTypeDescriptor CorkscrewRollerCoasterRTD = | (1ULL << TRACK_BOOSTER)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_corkscrew_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h b/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h index 3fa6e5e3d6..eff9d2b1ae 100644 --- a/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h @@ -23,7 +23,7 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_INLINE_TWIST_UNINVERTED) | (1ULL << TRACK_HALF_LOOP_UNINVERTED)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_BOOSTER)), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_flying_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_HAS_LARGE_CURVES | @@ -64,7 +64,7 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterAltRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_INLINE_TWIST_INVERTED) | (1ULL << TRACK_HALF_LOOP_INVERTED)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), 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 | diff --git a/src/openrct2/ride/coaster/meta/GigaCoaster.h b/src/openrct2/ride/coaster/meta/GigaCoaster.h index 9e819ed802..cf13e3e1d3 100644 --- a/src/openrct2/ride/coaster/meta/GigaCoaster.h +++ b/src/openrct2/ride/coaster/meta/GigaCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor GigaCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_SLOPE_STEEP_LONG) | (1ULL << TRACK_LIFT_HILL_CABLE) | (1ULL << TRACK_BOOSTER)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_giga_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h b/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h index 023e636c7b..b7b136c594 100644 --- a/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h +++ b/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor HeartlineTwisterCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_HEARTLINE_ROLL) | (1ULL << TRACK_HEARTLINE_TRANSFER)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), 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), diff --git a/src/openrct2/ride/coaster/meta/HyperTwister.h b/src/openrct2/ride/coaster/meta/HyperTwister.h index 50948faa0d..0064564c21 100644 --- a/src/openrct2/ride/coaster/meta/HyperTwister.h +++ b/src/openrct2/ride/coaster/meta/HyperTwister.h @@ -26,7 +26,7 @@ constexpr const RideTypeDescriptor HyperTwisterRTD = | (1ULL << TRACK_SLOPE_STEEP_LONG) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_CURVE_VERTICAL)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_BRAKE_FOR_DROP) | (1ULL << TRACK_BOOSTER) | (1ULL << TRACK_POWERED_LIFT)), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/Hypercoaster.h b/src/openrct2/ride/coaster/meta/Hypercoaster.h index 40582f8cad..cb9f25753f 100644 --- a/src/openrct2/ride/coaster/meta/Hypercoaster.h +++ b/src/openrct2/ride/coaster/meta/Hypercoaster.h @@ -25,7 +25,7 @@ constexpr const RideTypeDescriptor HypercoasterRTD = | (1ULL << TRACK_SLOPE_STEEP_LONG)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_corkscrew_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h b/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h index ee43777089..f79c845338 100644 --- a/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor InvertedHairpinCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_inverted_hairpin_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 | diff --git a/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h b/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h index b3919f5ce8..6e8e5fa1e6 100644 --- a/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor InvertedImpulseCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_CURVE_VERTICAL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_inverted_impulse_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 | diff --git a/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h b/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h index ebb1426f2a..55c37a5b9e 100644 --- a/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor InvertedRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_TWIST) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_HALF_LOOP_LARGE) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_inverted_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h b/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h index 2c27fff1ba..875a459650 100644 --- a/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h @@ -26,7 +26,7 @@ constexpr const RideTypeDescriptor JuniorRollerCoasterRTD = | (1ULL << TRACK_BOOSTER)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_ON_RIDE_PHOTO)), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_junior_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h b/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h index ea88dc793f..b4e240861c 100644 --- a/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor LIMLaunchedRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_TWIST) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_CURVE_VERTICAL) | (1ULL << TRACK_QUARTER_LOOP)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_lim_launched_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h b/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h index e1a71d2eeb..f255baf9a2 100644 --- a/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_UNINVERTED) | (1ULL << TRACK_HALF_LOOP_UNINVERTED) | (1ULL << TRACK_CORKSCREW_UNINVERTED)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_lay_down_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_HAS_LARGE_CURVES | @@ -61,7 +61,7 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterAltRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_LARGE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_INVERTED) | (1ULL << TRACK_HALF_LOOP_INVERTED) | (1ULL << TRACK_CORKSCREW_INVERTED)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), 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), diff --git a/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h b/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h index 5fbe85b9ee..69aa815f0a 100644 --- a/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor LoopingRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_BOOSTER)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_looping_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/MineRide.h b/src/openrct2/ride/coaster/meta/MineRide.h index e8429e64ab..86043d6a5e 100644 --- a/src/openrct2/ride/coaster/meta/MineRide.h +++ b/src/openrct2/ride/coaster/meta/MineRide.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MineRideRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_ON_RIDE_PHOTO)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_mine_ride), 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 | diff --git a/src/openrct2/ride/coaster/meta/MineTrainCoaster.h b/src/openrct2/ride/coaster/meta/MineTrainCoaster.h index 29c9d7a3f0..10ca68fae9 100644 --- a/src/openrct2/ride/coaster/meta/MineTrainCoaster.h +++ b/src/openrct2/ride/coaster/meta/MineTrainCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MineTrainCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_mine_train_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h b/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h index 22f5e13588..05ecd7c4fb 100644 --- a/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MiniRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_LIFT_HILL)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_BOOSTER) | (1ULL << TRACK_LIFT_HILL_CURVED)), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_mini_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h b/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h index 2d1a41e82e..6e609845b6 100644 --- a/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h +++ b/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MiniSuspendedCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_mini_suspended_rc), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | diff --git a/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h b/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h index 5e12b69f2a..0704210ef6 100644 --- a/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_UNINVERTED) | (1ULL << TRACK_QUARTER_LOOP_UNINVERTED)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_multi_dimension_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_HAS_LARGE_CURVES | @@ -62,7 +62,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterAltRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_INLINE_TWIST_INVERTED) | (1ULL << TRACK_QUARTER_LOOP_INVERTED)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), 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), diff --git a/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h b/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h index ded5146426..367032a7aa 100644 --- a/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h +++ b/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor ReverseFreefallCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_REVERSE_FREEFALL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), 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, EnumsToFlags(RideMode::LimPoweredLaunch)), diff --git a/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h b/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h index 632803e1d6..e04ecd7a6b 100644 --- a/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor ReverserRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_REVERSER)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), 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), diff --git a/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h b/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h index dc5d0c00da..011b80b893 100644 --- a/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor SideFrictionRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_SLOPE_STEEP)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_side_friction_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/SpinningWildMouse.h b/src/openrct2/ride/coaster/meta/SpinningWildMouse.h index 370ef4f911..9b39954aba 100644 --- a/src/openrct2/ride/coaster/meta/SpinningWildMouse.h +++ b/src/openrct2/ride/coaster/meta/SpinningWildMouse.h @@ -23,7 +23,7 @@ constexpr const RideTypeDescriptor SpinningWildMouseRTD = | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_ROTATION_CONTROL_TOGGLE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_wild_mouse), 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), diff --git a/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h b/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h index e769c1ee35..003bd4c40c 100644 --- a/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor SpiralRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_LIFT_HILL_CURVED)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_BOOSTER) | (1ULL << TRACK_LIFT_HILL)), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_mini_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h b/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h index 6d68e8b007..4921622fbe 100644 --- a/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor StandUpRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_stand_up_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/SteelWildMouse.h b/src/openrct2/ride/coaster/meta/SteelWildMouse.h index 522306adb7..44cc768f31 100644 --- a/src/openrct2/ride/coaster/meta/SteelWildMouse.h +++ b/src/openrct2/ride/coaster/meta/SteelWildMouse.h @@ -25,7 +25,7 @@ constexpr const RideTypeDescriptor SteelWildMouseRTD = | (1ULL << TRACK_BLOCK_BRAKES)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_wild_mouse), 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 | diff --git a/src/openrct2/ride/coaster/meta/Steeplechase.h b/src/openrct2/ride/coaster/meta/Steeplechase.h index 65785558c4..3a0582ca22 100644 --- a/src/openrct2/ride/coaster/meta/Steeplechase.h +++ b/src/openrct2/ride/coaster/meta/Steeplechase.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor SteeplechaseRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_steeplechase), 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 | diff --git a/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h b/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h index 5064a43a79..c1fb2ca879 100644 --- a/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h +++ b/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor SuspendedSwingingCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_LARGE_UNBANKED) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_suspended_swinging_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h b/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h index bd94f2b293..ef39083783 100644 --- a/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h @@ -30,7 +30,7 @@ constexpr const RideTypeDescriptor TwisterRollerCoasterRTD = | (1ULL << TRACK_BOOSTER)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_BRAKE_FOR_DROP)), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h b/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h index fd94036262..7683f2a7fb 100644 --- a/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h +++ b/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor VerticalDropCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_FLAT) | (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_SLOPE_CURVE_BANKED) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_CURVE_VERTICAL) | (1ULL << TRACK_HALF_LOOP_LARGE) | (1ULL << TRACK_BRAKE_FOR_DROP)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_BARREL_ROLL) | (1ULL << TRACK_POWERED_LIFT) | (1ULL << TRACK_HALF_LOOP_LARGE) | (1ULL << TRACK_QUARTER_LOOP) | (1ULL << TRACK_BOOSTER)), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_vertical_drop_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/VirginiaReel.h b/src/openrct2/ride/coaster/meta/VirginiaReel.h index 4d5b491f6b..35163cf393 100644 --- a/src/openrct2/ride/coaster/meta/VirginiaReel.h +++ b/src/openrct2/ride/coaster/meta/VirginiaReel.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor VirginiaReelRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), 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), diff --git a/src/openrct2/ride/coaster/meta/WaterCoaster.h b/src/openrct2/ride/coaster/meta/WaterCoaster.h index 75ee782673..7541d9e576 100644 --- a/src/openrct2/ride/coaster/meta/WaterCoaster.h +++ b/src/openrct2/ride/coaster/meta/WaterCoaster.h @@ -21,10 +21,10 @@ constexpr const RideTypeDescriptor WaterCoasterRTD = SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BOOSTER)), SET_FIELD(ExtraTrackPieces, 0), - SET_FIELD(CoveredTrackPieces, (1ULL << TRACK_ELEM_FLAT) | (1ULL << TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES) | - (1ULL << TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES) | (1ULL << TRACK_ELEM_S_BEND_LEFT) | - (1ULL << TRACK_ELEM_S_BEND_RIGHT)), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(CoveredTrackPieces, (1ULL << TrackElemType::Flat) | (1ULL << TrackElemType::LeftQuarterTurn5Tiles) | + (1ULL << TrackElemType::RightQuarterTurn5Tiles) | (1ULL << TrackElemType::SBendLeft) | + (1ULL << TrackElemType::SBendRight)), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_water_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 | diff --git a/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h b/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h index 6cc673cba2..b146f39792 100644 --- a/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor WoodenRollerCoasterRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_FLAT) | (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_VERTICAL_LOOP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_CURVE) | (1ULL << TRACK_SLOPE_CURVE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_WATER_SPLASH) | (1ULL << TRACK_SLOPE_CURVE_BANKED) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_BOOSTER)), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_wooden_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_HAS_LARGE_CURVES | diff --git a/src/openrct2/ride/coaster/meta/WoodenWildMouse.h b/src/openrct2/ride/coaster/meta/WoodenWildMouse.h index 5d73769ede..c4fd2a97fc 100644 --- a/src/openrct2/ride/coaster/meta/WoodenWildMouse.h +++ b/src/openrct2/ride/coaster/meta/WoodenWildMouse.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor WoodenWildMouseRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_STEEP) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_wooden_wild_mouse), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | diff --git a/src/openrct2/ride/gentle/CarRide.cpp b/src/openrct2/ride/gentle/CarRide.cpp index 660f2ed5d0..439de02dc3 100644 --- a/src/openrct2/ride/gentle/CarRide.cpp +++ b/src/openrct2/ride/gentle/CarRide.cpp @@ -708,54 +708,54 @@ TRACK_PAINT_FUNCTION get_track_paint_function_car_ride(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_car_ride_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_car_ride_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return paint_car_ride_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return paint_car_ride_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return paint_car_ride_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return paint_car_ride_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return paint_car_ride_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return paint_car_ride_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return paint_car_ride_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return paint_car_ride_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return paint_car_ride_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return paint_car_ride_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return paint_car_ride_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return paint_car_ride_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return paint_car_ride_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return paint_car_ride_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return paint_car_ride_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return paint_car_ride_track_right_quarter_turn_1_tile; - case TRACK_ELEM_RAPIDS: + case TrackElemType::Rapids: return paint_car_ride_track_log_bumps; - case TRACK_ELEM_SPINNING_TUNNEL: + case TrackElemType::SpinningTunnel: return paint_car_ride_track_spinning_tunnel; } diff --git a/src/openrct2/ride/gentle/GhostTrain.cpp b/src/openrct2/ride/gentle/GhostTrain.cpp index 9478b2d4a3..c38014ff33 100644 --- a/src/openrct2/ride/gentle/GhostTrain.cpp +++ b/src/openrct2/ride/gentle/GhostTrain.cpp @@ -463,42 +463,42 @@ TRACK_PAINT_FUNCTION get_track_paint_function_ghost_train(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_ghost_train_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_ghost_train_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return paint_ghost_train_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return paint_ghost_train_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return paint_ghost_train_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return paint_ghost_train_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return paint_ghost_train_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return paint_ghost_train_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return paint_ghost_train_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return paint_ghost_train_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return paint_ghost_train_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return paint_ghost_train_track_right_quarter_turn_1_tile; - case TRACK_ELEM_BRAKES: + case TrackElemType::Brakes: return paint_ghost_train_track_brakes; - case TRACK_ELEM_SPINNING_TUNNEL: + case TrackElemType::SpinningTunnel: return paint_ghost_train_track_spinning_tunnel; } diff --git a/src/openrct2/ride/gentle/Maze.cpp b/src/openrct2/ride/gentle/Maze.cpp index e53d5d8b50..46c330b058 100644 --- a/src/openrct2/ride/gentle/Maze.cpp +++ b/src/openrct2/ride/gentle/Maze.cpp @@ -174,7 +174,7 @@ static void maze_paint_setup( */ TRACK_PAINT_FUNCTION get_track_paint_function_maze(int32_t trackType) { - if (trackType != TRACK_ELEM_MAZE) + if (trackType != TrackElemType::Maze) { return nullptr; } diff --git a/src/openrct2/ride/gentle/MiniGolf.cpp b/src/openrct2/ride/gentle/MiniGolf.cpp index 2fe69fa578..67ebadc8c3 100644 --- a/src/openrct2/ride/gentle/MiniGolf.cpp +++ b/src/openrct2/ride/gentle/MiniGolf.cpp @@ -1145,42 +1145,42 @@ TRACK_PAINT_FUNCTION get_track_paint_function_mini_golf(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_mini_golf_track_flat; - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - case TRACK_ELEM_END_STATION: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: + case TrackElemType::EndStation: return paint_mini_golf_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return paint_mini_golf_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return paint_mini_golf_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return paint_mini_golf_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return paint_mini_golf_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return paint_mini_golf_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return paint_mini_golf_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return paint_mini_golf_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return paint_mini_golf_track_right_quarter_turn_1_tile; - case TRACK_ELEM_MINI_GOLF_HOLE_A: + case TrackElemType::MinigolfHoleA: return paint_mini_golf_hole_a; - case TRACK_ELEM_MINI_GOLF_HOLE_B: + case TrackElemType::MinigolfHoleB: return paint_mini_golf_hole_b; - case TRACK_ELEM_MINI_GOLF_HOLE_C: + case TrackElemType::MinigolfHoleC: return paint_mini_golf_hole_c; - case TRACK_ELEM_MINI_GOLF_HOLE_D: + case TrackElemType::MinigolfHoleD: return paint_mini_golf_hole_d; - case TRACK_ELEM_MINI_GOLF_HOLE_E: + case TrackElemType::MinigolfHoleE: return paint_mini_golf_hole_e; } diff --git a/src/openrct2/ride/gentle/MiniHelicopters.cpp b/src/openrct2/ride/gentle/MiniHelicopters.cpp index 1ed22762ed..9bdad7631a 100644 --- a/src/openrct2/ride/gentle/MiniHelicopters.cpp +++ b/src/openrct2/ride/gentle/MiniHelicopters.cpp @@ -307,36 +307,36 @@ TRACK_PAINT_FUNCTION get_track_paint_function_mini_helicopters(int32_t trackType { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_mini_helicopters_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_mini_helicopters_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return paint_mini_helicopters_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return paint_mini_helicopters_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return paint_mini_helicopters_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return paint_mini_helicopters_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return paint_mini_helicopters_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return paint_mini_helicopters_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return paint_mini_helicopters_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return paint_mini_helicopters_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return paint_mini_helicopters_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return paint_mini_helicopters_track_right_quarter_turn_1_tile; } diff --git a/src/openrct2/ride/gentle/MonorailCycles.cpp b/src/openrct2/ride/gentle/MonorailCycles.cpp index 3b2ed6f520..429a670466 100644 --- a/src/openrct2/ride/gentle/MonorailCycles.cpp +++ b/src/openrct2/ride/gentle/MonorailCycles.cpp @@ -635,27 +635,27 @@ TRACK_PAINT_FUNCTION get_track_paint_function_monorail_cycles(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_monorail_cycles_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_monorail_cycles_station; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return paint_monorail_cycles_track_left_quarter_turn_5_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return paint_monorail_cycles_track_right_quarter_turn_5_tiles; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return paint_monorail_cycles_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return paint_monorail_cycles_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return paint_monorail_cycles_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return paint_monorail_cycles_track_right_quarter_turn_3_tiles; } diff --git a/src/openrct2/ride/gentle/ObservationTower.cpp b/src/openrct2/ride/gentle/ObservationTower.cpp index 818c538767..bcf3ad1f56 100644 --- a/src/openrct2/ride/gentle/ObservationTower.cpp +++ b/src/openrct2/ride/gentle/ObservationTower.cpp @@ -187,10 +187,10 @@ TRACK_PAINT_FUNCTION get_track_paint_function_observation_tower(int32_t trackTyp { switch (trackType) { - case TRACK_ELEM_TOWER_BASE: + case TrackElemType::TowerBase: return paint_observation_tower_base; - case TRACK_ELEM_TOWER_SECTION: + case TrackElemType::TowerSection: return paint_observation_tower_section; } diff --git a/src/openrct2/ride/gentle/meta/CarRide.h b/src/openrct2/ride/gentle/meta/CarRide.h index cfc1191244..f82608540c 100644 --- a/src/openrct2/ride/gentle/meta/CarRide.h +++ b/src/openrct2/ride/gentle/meta/CarRide.h @@ -23,7 +23,7 @@ constexpr const RideTypeDescriptor CarRideRTD = | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_SPINNING_TUNNEL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_car_ride), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | diff --git a/src/openrct2/ride/gentle/meta/GhostTrain.h b/src/openrct2/ride/gentle/meta/GhostTrain.h index 06b7a029e3..3c266bb466 100644 --- a/src/openrct2/ride/gentle/meta/GhostTrain.h +++ b/src/openrct2/ride/gentle/meta/GhostTrain.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor GhostTrainRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_SPINNING_TUNNEL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_ghost_train), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | diff --git a/src/openrct2/ride/gentle/meta/Maze.h b/src/openrct2/ride/gentle/meta/Maze.h index c380717e26..2657ac96a9 100644 --- a/src/openrct2/ride/gentle/meta/Maze.h +++ b/src/openrct2/ride/gentle/meta/Maze.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MazeRTD = SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_MAZE), + SET_FIELD(StartTrackPiece, TrackElemType::Maze), 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), diff --git a/src/openrct2/ride/gentle/meta/MiniGolf.h b/src/openrct2/ride/gentle/meta/MiniGolf.h index 4e6041ac91..5cfa220801 100644 --- a/src/openrct2/ride/gentle/meta/MiniGolf.h +++ b/src/openrct2/ride/gentle/meta/MiniGolf.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MiniGolfRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_MINI_GOLF_HOLE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_mini_golf), 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 | diff --git a/src/openrct2/ride/gentle/meta/MiniHelicopters.h b/src/openrct2/ride/gentle/meta/MiniHelicopters.h index b6f8a2cd65..f1002d836d 100644 --- a/src/openrct2/ride/gentle/meta/MiniHelicopters.h +++ b/src/openrct2/ride/gentle/meta/MiniHelicopters.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MiniHelicoptersRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_mini_helicopters), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | diff --git a/src/openrct2/ride/gentle/meta/MonorailCycles.h b/src/openrct2/ride/gentle/meta/MonorailCycles.h index 846d783ad4..f8cc969e78 100644 --- a/src/openrct2/ride/gentle/meta/MonorailCycles.h +++ b/src/openrct2/ride/gentle/meta/MonorailCycles.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MonorailCyclesRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_monorail_cycles), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | diff --git a/src/openrct2/ride/gentle/meta/MonsterTrucks.h b/src/openrct2/ride/gentle/meta/MonsterTrucks.h index 681c1b4525..7a77de871d 100644 --- a/src/openrct2/ride/gentle/meta/MonsterTrucks.h +++ b/src/openrct2/ride/gentle/meta/MonsterTrucks.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MonsterTrucksRTD = | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_RAPIDS)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_car_ride), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | diff --git a/src/openrct2/ride/gentle/meta/ObservationTower.h b/src/openrct2/ride/gentle/meta/ObservationTower.h index 3fa258ef64..76ac530101 100644 --- a/src/openrct2/ride/gentle/meta/ObservationTower.h +++ b/src/openrct2/ride/gentle/meta/ObservationTower.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor ObservationTowerRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_TOWER_BASE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_TOWER_BASE), + SET_FIELD(StartTrackPiece, TrackElemType::TowerBase), SET_FIELD(TrackPaintFunction, get_track_paint_function_observation_tower), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | 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 | diff --git a/src/openrct2/ride/thrill/GoKarts.cpp b/src/openrct2/ride/thrill/GoKarts.cpp index e0764a7adc..0bb35232f0 100644 --- a/src/openrct2/ride/thrill/GoKarts.cpp +++ b/src/openrct2/ride/thrill/GoKarts.cpp @@ -357,7 +357,7 @@ static void paint_go_karts_station( uint32_t imageId; const uint32_t(*sprites)[2] = go_karts_track_pieces_starting_grid; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { sprites = go_karts_track_pieces_starting_grid_end; } @@ -408,7 +408,7 @@ static void paint_go_karts_station( track_paint_util_draw_station_covers(session, EDGE_SW, hasFence, stationObj, height); } - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::EndStation) { const bool hasGreenLight = tileElement->AsTrack()->HasGreenLight(); @@ -540,31 +540,31 @@ TRACK_PAINT_FUNCTION get_track_paint_function_go_karts(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_go_karts_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_go_karts_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return paint_go_karts_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return paint_go_karts_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return paint_go_karts_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return paint_go_karts_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return paint_go_karts_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return paint_go_karts_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return paint_go_karts_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return paint_go_karts_track_right_quarter_turn_1_tile; } diff --git a/src/openrct2/ride/thrill/LaunchedFreefall.cpp b/src/openrct2/ride/thrill/LaunchedFreefall.cpp index 3559a85570..d5b75de310 100644 --- a/src/openrct2/ride/thrill/LaunchedFreefall.cpp +++ b/src/openrct2/ride/thrill/LaunchedFreefall.cpp @@ -194,10 +194,10 @@ TRACK_PAINT_FUNCTION get_track_paint_function_launched_freefall(int32_t trackTyp { switch (trackType) { - case TRACK_ELEM_TOWER_BASE: + case TrackElemType::TowerBase: return paint_launched_freefall_base; - case TRACK_ELEM_TOWER_SECTION: + case TrackElemType::TowerSection: return paint_launched_freefall_tower_section; } diff --git a/src/openrct2/ride/thrill/RotoDrop.cpp b/src/openrct2/ride/thrill/RotoDrop.cpp index 113664edbc..a2af66e186 100644 --- a/src/openrct2/ride/thrill/RotoDrop.cpp +++ b/src/openrct2/ride/thrill/RotoDrop.cpp @@ -208,10 +208,10 @@ TRACK_PAINT_FUNCTION get_track_paint_function_roto_drop(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_TOWER_BASE: + case TrackElemType::TowerBase: return paint_roto_drop_base; - case TRACK_ELEM_TOWER_SECTION: + case TrackElemType::TowerSection: return paint_roto_drop_tower_section; } diff --git a/src/openrct2/ride/thrill/meta/GoKarts.h b/src/openrct2/ride/thrill/meta/GoKarts.h index 12a1d2be0f..9beb5adc8f 100644 --- a/src/openrct2/ride/thrill/meta/GoKarts.h +++ b/src/openrct2/ride/thrill/meta/GoKarts.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor GoKartsRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_go_karts), 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 | diff --git a/src/openrct2/ride/thrill/meta/LaunchedFreefall.h b/src/openrct2/ride/thrill/meta/LaunchedFreefall.h index 31c5f38dcb..eedc4f50a9 100644 --- a/src/openrct2/ride/thrill/meta/LaunchedFreefall.h +++ b/src/openrct2/ride/thrill/meta/LaunchedFreefall.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor LaunchedFreefallRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_TOWER_BASE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_TOWER_BASE), + SET_FIELD(StartTrackPiece, TrackElemType::TowerBase), SET_FIELD(TrackPaintFunction, get_track_paint_function_launched_freefall), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | 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 | diff --git a/src/openrct2/ride/thrill/meta/RotoDrop.h b/src/openrct2/ride/thrill/meta/RotoDrop.h index 348726bedf..d7daa5f47d 100644 --- a/src/openrct2/ride/thrill/meta/RotoDrop.h +++ b/src/openrct2/ride/thrill/meta/RotoDrop.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor RotoDropRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_TOWER_BASE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_TOWER_BASE), + SET_FIELD(StartTrackPiece, TrackElemType::TowerBase), SET_FIELD(TrackPaintFunction, get_track_paint_function_roto_drop), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | diff --git a/src/openrct2/ride/transport/Chairlift.cpp b/src/openrct2/ride/transport/Chairlift.cpp index 8b2342ab87..38223eb137 100644 --- a/src/openrct2/ride/transport/Chairlift.cpp +++ b/src/openrct2/ride/transport/Chairlift.cpp @@ -134,7 +134,7 @@ static const TileElement* chairlift_paint_util_map_get_track_element_at_from_rid static bool chairlift_paint_util_is_first_track( ride_id_t rideIndex, const TileElement* tileElement, const CoordsXY& pos, uint8_t trackType) { - if (tileElement->AsTrack()->GetTrackType() != TRACK_ELEM_BEGIN_STATION) + if (tileElement->AsTrack()->GetTrackType() != TrackElemType::BeginStation) { return false; } @@ -154,7 +154,7 @@ static bool chairlift_paint_util_is_first_track( static bool chairlift_paint_util_is_last_track( ride_id_t rideIndex, const TileElement* tileElement, const CoordsXY& pos, uint8_t trackType) { - if (tileElement->AsTrack()->GetTrackType() != TRACK_ELEM_END_STATION) + if (tileElement->AsTrack()->GetTrackType() != TrackElemType::EndStation) { return false; } @@ -647,31 +647,31 @@ TRACK_PAINT_FUNCTION get_track_paint_function_chairlift(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - case TRACK_ELEM_END_STATION: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: + case TrackElemType::EndStation: return chairlift_paint_station; - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return chairlift_paint_flat; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return chairlift_paint_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return chairlift_paint_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return chairlift_paint_25_deg_up_to_flat; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return chairlift_paint_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return chairlift_paint_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return chairlift_paint_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return chairlift_paint_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return chairlift_paint_right_quarter_turn_1_tile; } diff --git a/src/openrct2/ride/transport/Lift.cpp b/src/openrct2/ride/transport/Lift.cpp index 713cb0cc09..105116a9d7 100644 --- a/src/openrct2/ride/transport/Lift.cpp +++ b/src/openrct2/ride/transport/Lift.cpp @@ -143,10 +143,10 @@ TRACK_PAINT_FUNCTION get_track_paint_function_lift(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_TOWER_BASE: + case TrackElemType::TowerBase: return paint_lift_base; - case TRACK_ELEM_TOWER_SECTION: + case TrackElemType::TowerSection: return paint_lift_tower_section; } diff --git a/src/openrct2/ride/transport/MiniatureRailway.cpp b/src/openrct2/ride/transport/MiniatureRailway.cpp index fcec65b664..99c5631ea4 100644 --- a/src/openrct2/ride/transport/MiniatureRailway.cpp +++ b/src/openrct2/ride/transport/MiniatureRailway.cpp @@ -1416,7 +1416,7 @@ static void paint_miniature_railway_track_left_eighth_to_diag( const uint8_t supportType[4][5] = { { 0, 0, 3, 5, 1 }, { 1, 1, 4, 2, 0 }, { 0, 0, 5, 3, 1 }, { 1, 1, 2, 4, 0 } }; bool isSupported = false; - bool isRightEighthToOrthog = tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL; + bool isRightEighthToOrthog = tileElement->AsTrack()->GetTrackType() == TrackElemType::RightEighthToOrthogonal; // Right eighth to orthogonal calls this function but we do not want to have a support call for it // for track sequence 4 if (trackSequence != 4 || !isRightEighthToOrthog) @@ -1554,7 +1554,7 @@ static void paint_miniature_railway_track_right_eighth_to_diag( const uint8_t supportType[4][5] = { { 0, 0, 2, 4, 1 }, { 1, 1, 3, 5, 0 }, { 0, 0, 4, 2, 1 }, { 1, 1, 5, 3, 0 } }; bool isSupported = false; - bool isLeftEighthToOrthog = tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL; + bool isLeftEighthToOrthog = tileElement->AsTrack()->GetTrackType() == TrackElemType::LeftEighthToOrthogonal; // Right eighth to orthogonal calls this function but we do not want to have a support call for it // for track sequence 4 if (trackSequence != 4 || !isLeftEighthToOrthog) @@ -2152,65 +2152,65 @@ TRACK_PAINT_FUNCTION get_track_paint_function_miniature_railway(int32_t trackTyp { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_miniature_railway_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_miniature_railway_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return paint_miniature_railway_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return paint_miniature_railway_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return paint_miniature_railway_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return paint_miniature_railway_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return paint_miniature_railway_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return paint_miniature_railway_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return paint_miniature_railway_track_left_quarter_turn_5_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return paint_miniature_railway_track_right_quarter_turn_5_tiles; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return paint_miniature_railway_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return paint_miniature_railway_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return paint_miniature_railway_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return paint_miniature_railway_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return paint_miniature_railway_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return paint_miniature_railway_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return paint_miniature_railway_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return paint_miniature_railway_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return miniature_railway_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return miniature_railway_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return miniature_railway_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return miniature_railway_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return miniature_railway_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return miniature_railway_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return miniature_railway_track_diag_25_deg_down_to_flat; } diff --git a/src/openrct2/ride/transport/Monorail.cpp b/src/openrct2/ride/transport/Monorail.cpp index 2fcd407c82..9c958dbeae 100644 --- a/src/openrct2/ride/transport/Monorail.cpp +++ b/src/openrct2/ride/transport/Monorail.cpp @@ -1330,67 +1330,67 @@ TRACK_PAINT_FUNCTION get_track_paint_function_monorail(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_monorail_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_monorail_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return paint_monorail_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return paint_monorail_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return paint_monorail_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return paint_monorail_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return paint_monorail_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return paint_monorail_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return paint_monorail_track_left_quarter_turn_5_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return paint_monorail_track_right_quarter_turn_5_tiles; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return paint_monorail_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return paint_monorail_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return paint_monorail_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return paint_monorail_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return paint_monorail_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return paint_monorail_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return paint_monorail_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return paint_monorail_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return paint_monorail_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return paint_monorail_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return paint_monorail_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return paint_monorail_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return paint_monorail_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return paint_monorail_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return paint_monorail_track_diag_25_deg_down_to_flat; } diff --git a/src/openrct2/ride/transport/SuspendedMonorail.cpp b/src/openrct2/ride/transport/SuspendedMonorail.cpp index 9bc3c093d0..c565e6cc03 100644 --- a/src/openrct2/ride/transport/SuspendedMonorail.cpp +++ b/src/openrct2/ride/transport/SuspendedMonorail.cpp @@ -1882,57 +1882,57 @@ TRACK_PAINT_FUNCTION get_track_paint_function_suspended_monorail(int32_t trackTy { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return suspended_monorail_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return suspended_monorail_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return suspended_monorail_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return suspended_monorail_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return suspended_monorail_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return suspended_monorail_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return suspended_monorail_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return suspended_monorail_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return suspended_monorail_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return suspended_monorail_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return suspended_monorail_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return suspended_monorail_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return suspended_monorail_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return suspended_monorail_track_right_quarter_turn_3; - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TrackElemType::LeftEighthToDiag: return suspended_monorail_track_left_eighth_to_diag; - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TrackElemType::RightEighthToDiag: return suspended_monorail_track_right_eighth_to_diag; - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::LeftEighthToOrthogonal: return suspended_monorail_track_left_eighth_to_orthogonal; - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TrackElemType::RightEighthToOrthogonal: return suspended_monorail_track_right_eighth_to_orthogonal; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return suspended_monorail_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return suspended_monorail_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return suspended_monorail_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return suspended_monorail_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return suspended_monorail_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return suspended_monorail_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return suspended_monorail_track_diag_25_deg_down_to_flat; } return nullptr; diff --git a/src/openrct2/ride/transport/meta/Chairlift.h b/src/openrct2/ride/transport/meta/Chairlift.h index d2bef9a6f4..1bea4ef087 100644 --- a/src/openrct2/ride/transport/meta/Chairlift.h +++ b/src/openrct2/ride/transport/meta/Chairlift.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor ChairliftRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_chairlift), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | diff --git a/src/openrct2/ride/transport/meta/Lift.h b/src/openrct2/ride/transport/meta/Lift.h index 58a59e94be..e5f2c37a66 100644 --- a/src/openrct2/ride/transport/meta/Lift.h +++ b/src/openrct2/ride/transport/meta/Lift.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor LiftRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_TOWER_BASE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_TOWER_BASE), + SET_FIELD(StartTrackPiece, TrackElemType::TowerBase), SET_FIELD(TrackPaintFunction, get_track_paint_function_lift), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | diff --git a/src/openrct2/ride/transport/meta/MiniatureRailway.h b/src/openrct2/ride/transport/meta/MiniatureRailway.h index 3d1b5955f9..f4843fdb3a 100644 --- a/src/openrct2/ride/transport/meta/MiniatureRailway.h +++ b/src/openrct2/ride/transport/meta/MiniatureRailway.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MiniatureRailwayRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_miniature_railway), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | diff --git a/src/openrct2/ride/transport/meta/Monorail.h b/src/openrct2/ride/transport/meta/Monorail.h index c567b28f8d..34e1d8bf62 100644 --- a/src/openrct2/ride/transport/meta/Monorail.h +++ b/src/openrct2/ride/transport/meta/Monorail.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor MonorailRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_monorail), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | diff --git a/src/openrct2/ride/transport/meta/SuspendedMonorail.h b/src/openrct2/ride/transport/meta/SuspendedMonorail.h index 05ee6bcc4f..04f159bb48 100644 --- a/src/openrct2/ride/transport/meta/SuspendedMonorail.h +++ b/src/openrct2/ride/transport/meta/SuspendedMonorail.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor SuspendedMonorailRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_suspended_monorail), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | diff --git a/src/openrct2/ride/water/BoatHire.cpp b/src/openrct2/ride/water/BoatHire.cpp index 2ed8adb08a..e66a7bcb2a 100644 --- a/src/openrct2/ride/water/BoatHire.cpp +++ b/src/openrct2/ride/water/BoatHire.cpp @@ -144,17 +144,17 @@ TRACK_PAINT_FUNCTION get_track_paint_function_boat_hire(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_boat_hire_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_boat_hire_station; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return paint_boat_hire_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return paint_boat_hire_track_right_quarter_turn_1_tile; } diff --git a/src/openrct2/ride/water/DingySlide.cpp b/src/openrct2/ride/water/DingySlide.cpp index 0b14fb5b93..051984330d 100644 --- a/src/openrct2/ride/water/DingySlide.cpp +++ b/src/openrct2/ride/water/DingySlide.cpp @@ -1823,85 +1823,85 @@ TRACK_PAINT_FUNCTION get_track_paint_function_dinghy_slide(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return dinghy_slide_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return dinghy_slide_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return dinghy_slide_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return dinghy_slide_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return dinghy_slide_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return dinghy_slide_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return dinghy_slide_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return dinghy_slide_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return dinghy_slide_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return dinghy_slide_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return dinghy_slide_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return dinghy_slide_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return dinghy_slide_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return dinghy_slide_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return dinghy_slide_track_left_quarter_turn_5; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return dinghy_slide_track_right_quarter_turn_5; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return dinghy_slide_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return dinghy_slide_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return dinghy_slide_track_left_quarter_turn_3; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return dinghy_slide_track_right_quarter_turn_3; - case TRACK_ELEM_FLAT_COVERED: + case TrackElemType::FlatCovered: return dinghy_slide_track_flat_covered; - case TRACK_ELEM_25_DEG_UP_COVERED: + case TrackElemType::Up25Covered: return dinghy_slide_track_25_deg_up_covered; - case TRACK_ELEM_60_DEG_UP_COVERED: + case TrackElemType::Up60Covered: return dinghy_slide_track_60_deg_up_covered; - case TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED: + case TrackElemType::FlatToUp25Covered: return dinghy_slide_track_flat_to_25_deg_up_covered; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED: + case TrackElemType::Up25ToUp60Covered: return dinghy_slide_track_25_deg_up_to_60_deg_up_covered; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED: + case TrackElemType::Up60ToUp25Covered: return dinghy_slide_track_60_deg_up_to_25_deg_up_covered; - case TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED: + case TrackElemType::Up25ToFlatCovered: return dinghy_slide_track_25_deg_up_to_flat_covered; - case TRACK_ELEM_25_DEG_DOWN_COVERED: + case TrackElemType::Down25Covered: return dinghy_slide_track_25_deg_down_covered; - case TRACK_ELEM_60_DEG_DOWN_COVERED: + case TrackElemType::Down60Covered: return dinghy_slide_track_60_deg_down_covered; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: + case TrackElemType::FlatToDown25Covered: return dinghy_slide_track_flat_to_25_deg_down_covered; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: + case TrackElemType::Down25ToDown60Covered: return dinghy_slide_track_25_deg_down_to_60_deg_down_covered; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: + case TrackElemType::Down60ToDown25Covered: return dinghy_slide_track_60_deg_down_to_25_deg_down_covered; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: + case TrackElemType::Down25ToFlatCovered: return dinghy_slide_track_25_deg_down_to_flat_covered; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: + case TrackElemType::LeftQuarterTurn5TilesCovered: return dinghy_slide_track_left_quarter_turn_5_covered; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: + case TrackElemType::RightQuarterTurn5TilesCovered: return dinghy_slide_track_right_quarter_turn_5_covered; - case TRACK_ELEM_S_BEND_LEFT_COVERED: + case TrackElemType::SBendLeftCovered: return dinghy_slide_track_s_bend_left_covered; - case TRACK_ELEM_S_BEND_RIGHT_COVERED: + case TrackElemType::SBendRightCovered: return dinghy_slide_track_s_bend_right_covered; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: + case TrackElemType::LeftQuarterTurn3TilesCovered: return dinghy_slide_track_left_quarter_turn_3_covered; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: + case TrackElemType::RightQuarterTurn3TilesCovered: return dinghy_slide_track_right_quarter_turn_3_covered; } diff --git a/src/openrct2/ride/water/LogFlume.cpp b/src/openrct2/ride/water/LogFlume.cpp index 8f90b7dfbc..369731cf9a 100644 --- a/src/openrct2/ride/water/LogFlume.cpp +++ b/src/openrct2/ride/water/LogFlume.cpp @@ -811,36 +811,36 @@ TRACK_PAINT_FUNCTION get_track_paint_function_log_flume(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_log_flume_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_log_flume_track_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return paint_log_flume_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return paint_log_flume_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return paint_log_flume_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return paint_log_flume_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return paint_log_flume_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return paint_log_flume_track_25_deg_down_to_flat; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return paint_log_flume_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return paint_log_flume_track_s_bend_right; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return paint_log_flume_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return paint_log_flume_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return paint_log_flume_track_on_ride_photo; - case TRACK_ELEM_LOG_FLUME_REVERSER: + case TrackElemType::LogFlumeReverser: return paint_log_flume_track_reverser; } diff --git a/src/openrct2/ride/water/RiverRapids.cpp b/src/openrct2/ride/water/RiverRapids.cpp index 6452da9756..3ea1b3cfa4 100644 --- a/src/openrct2/ride/water/RiverRapids.cpp +++ b/src/openrct2/ride/water/RiverRapids.cpp @@ -841,43 +841,43 @@ TRACK_PAINT_FUNCTION get_track_paint_function_river_rapids(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_river_rapids_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_river_rapids_station; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return paint_river_rapids_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return paint_river_rapids_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return paint_river_rapids_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return paint_river_rapids_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return paint_river_rapids_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return paint_river_rapids_track_25_deg_down_to_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return paint_river_rapids_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return paint_river_rapids_track_right_quarter_turn_1_tile; - case TRACK_ELEM_WATERFALL: + case TrackElemType::Waterfall: return paint_river_rapids_track_waterfall; - case TRACK_ELEM_RAPIDS: + case TrackElemType::Rapids: return paint_river_rapids_track_rapids; - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return paint_river_rapids_track_on_ride_photo; - case TRACK_ELEM_WHIRLPOOL: + case TrackElemType::Whirlpool: return paint_river_rapids_track_whirlpool; } diff --git a/src/openrct2/ride/water/SplashBoats.cpp b/src/openrct2/ride/water/SplashBoats.cpp index 27c1b8e88b..fedebf9e8b 100644 --- a/src/openrct2/ride/water/SplashBoats.cpp +++ b/src/openrct2/ride/water/SplashBoats.cpp @@ -1192,49 +1192,49 @@ TRACK_PAINT_FUNCTION get_track_paint_function_splash_boats(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return paint_splash_boats_track_25_deg_up; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return paint_splash_boats_track_60_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return paint_splash_boats_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return paint_splash_boats_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return paint_splash_boats_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return paint_splash_boats_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return paint_splash_boats_track_25_deg_down; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return paint_splash_boats_track_60_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return paint_splash_boats_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return paint_splash_boats_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return paint_splash_boats_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return paint_splash_boats_track_25_deg_down_to_flat; // Originally taken from River Rafts - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return paint_splash_boats_track_flat; - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return paint_splash_boats_station; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: + case TrackElemType::LeftQuarterTurn5Tiles: return paint_splash_boats_track_left_quarter_turn_5_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: + case TrackElemType::RightQuarterTurn5Tiles: return paint_splash_boats_track_right_quarter_turn_5_tiles; - case TRACK_ELEM_S_BEND_LEFT: + case TrackElemType::SBendLeft: return paint_splash_boats_track_s_bend_left; - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::SBendRight: return paint_splash_boats_track_s_bend_right; // Added by OpenRCT2 - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return paint_splash_boats_track_on_ride_photo; } diff --git a/src/openrct2/ride/water/SubmarineRide.cpp b/src/openrct2/ride/water/SubmarineRide.cpp index ac7a97261e..e23e417d83 100644 --- a/src/openrct2/ride/water/SubmarineRide.cpp +++ b/src/openrct2/ride/water/SubmarineRide.cpp @@ -216,22 +216,22 @@ TRACK_PAINT_FUNCTION get_track_paint_function_submarine_ride(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: - case TRACK_ELEM_END_STATION: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: + case TrackElemType::EndStation: return submarine_ride_paint_track_station; - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return submarine_ride_paint_track_flat; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TrackElemType::LeftQuarterTurn3Tiles: return submarine_ride_paint_track_left_quarter_turn_3_tiles; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TrackElemType::RightQuarterTurn3Tiles: return submarine_ride_paint_track_right_quarter_turn_3_tiles; - case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TrackElemType::LeftQuarterTurn1Tile: return submarine_ride_paint_track_left_quarter_turn_1_tile; - case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TrackElemType::RightQuarterTurn1Tile: return submarine_ride_paint_track_right_quarter_turn_1_tile; } diff --git a/src/openrct2/ride/water/WaterCoaster.cpp b/src/openrct2/ride/water/WaterCoaster.cpp index 249e845dac..4f73ed328e 100644 --- a/src/openrct2/ride/water/WaterCoaster.cpp +++ b/src/openrct2/ride/water/WaterCoaster.cpp @@ -322,174 +322,174 @@ TRACK_PAINT_FUNCTION get_track_paint_function_water_rc(int32_t trackType) { switch (trackType) { - case TRACK_ELEM_FLAT: + case TrackElemType::Flat: return water_rc_track_flat; - case TRACK_ELEM_25_DEG_UP: + case TrackElemType::Up25: return water_rc_track_25_deg_up; - case TRACK_ELEM_FLAT_TO_25_DEG_UP: + case TrackElemType::FlatToUp25: return water_rc_track_flat_to_25_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_FLAT: + case TrackElemType::Up25ToFlat: return water_rc_track_25_deg_up_to_flat; - case TRACK_ELEM_25_DEG_DOWN: + case TrackElemType::Down25: return water_rc_track_25_deg_down; - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + case TrackElemType::FlatToDown25: return water_rc_track_flat_to_25_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + case TrackElemType::Down25ToFlat: return water_rc_track_25_deg_down_to_flat; - case TRACK_ELEM_DIAG_FLAT: + case TrackElemType::DiagFlat: return water_rc_track_diag_flat; - case TRACK_ELEM_DIAG_25_DEG_UP: + case TrackElemType::DiagUp25: return water_rc_track_diag_25_deg_up; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TrackElemType::DiagFlatToUp25: return water_rc_track_diag_flat_to_25_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TrackElemType::DiagUp25ToFlat: return water_rc_track_diag_25_deg_up_to_flat; - case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TrackElemType::DiagDown25: return water_rc_track_diag_25_deg_down; - case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TrackElemType::DiagFlatToDown25: return water_rc_track_diag_flat_to_25_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagDown25ToFlat: return water_rc_track_diag_25_deg_down_to_flat; // Use Junior RC without lift hill - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return water_rc_track_station; - case TRACK_ELEM_60_DEG_UP: + case TrackElemType::Up60: return water_rc_track_60_deg_up; - case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::Up25ToUp60: return water_rc_track_25_deg_up_to_60_deg_up; - case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::Up60ToUp25: return water_rc_track_60_deg_up_to_25_deg_up; - case TRACK_ELEM_60_DEG_DOWN: + case TrackElemType::Down60: return water_rc_track_60_deg_down; - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::Down25ToDown60: return water_rc_track_25_deg_down_to_60_deg_down; - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::Down60ToDown25: return water_rc_track_60_deg_down_to_25_deg_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn5TilesUp25: return water_rc_track_left_quarter_turn_5_tiles_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn5TilesUp25: return water_rc_track_right_quarter_turn_5_tiles_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn5TilesDown25: return water_rc_track_left_quarter_turn_5_tiles_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn5TilesDown25: return water_rc_track_right_quarter_turn_5_tiles_25_deg_down; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::LeftQuarterTurn3TilesUp25: return water_rc_track_left_quarter_turn_3_tiles_25_deg_up; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TrackElemType::RightQuarterTurn3TilesUp25: return water_rc_track_right_quarter_turn_3_tiles_25_deg_up; - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::LeftQuarterTurn3TilesDown25: return water_rc_track_left_quarter_turn_3_tiles_25_deg_down; - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TrackElemType::RightQuarterTurn3TilesDown25: return water_rc_track_right_quarter_turn_3_tiles_25_deg_down; - case TRACK_ELEM_DIAG_60_DEG_UP: + case TrackElemType::DiagUp60: return water_rc_track_diag_60_deg_up; - case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TrackElemType::DiagUp25ToUp60: return water_rc_track_diag_25_deg_up_to_60_deg_up; - case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TrackElemType::DiagUp60ToUp25: return water_rc_track_diag_60_deg_up_to_25_deg_up; - case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TrackElemType::DiagDown60: return water_rc_track_diag_60_deg_down; - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TrackElemType::DiagDown25ToDown60: return water_rc_track_diag_25_deg_down_to_60_deg_down; - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TrackElemType::DiagDown60ToDown25: return water_rc_track_diag_60_deg_down_to_25_deg_down; ////////////////////////////////////////////////////// // Use Junior RC ////////////////////////////////////////////////////// - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_RIGHT_BANK_TO_FLAT: - case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_LEFT_BANK: - case TRACK_ELEM_RIGHT_BANK: - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_RIGHT: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - case TRACK_ELEM_BRAKES: - case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: - case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: - case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: - case TRACK_ELEM_DIAG_LEFT_BANK: - case TRACK_ELEM_DIAG_RIGHT_BANK: - case TRACK_ELEM_BLOCK_BRAKES: - case TRACK_ELEM_BOOSTER: + case TrackElemType::LeftQuarterTurn5Tiles: + case TrackElemType::RightQuarterTurn5Tiles: + case TrackElemType::FlatToLeftBank: + case TrackElemType::FlatToRightBank: + case TrackElemType::LeftBankToFlat: + case TrackElemType::RightBankToFlat: + case TrackElemType::BankedLeftQuarterTurn5Tiles: + case TrackElemType::BankedRightQuarterTurn5Tiles: + case TrackElemType::LeftBankToUp25: + case TrackElemType::RightBankToUp25: + case TrackElemType::Up25ToLeftBank: + case TrackElemType::Up25ToRightBank: + case TrackElemType::LeftBankToDown25: + case TrackElemType::RightBankToDown25: + case TrackElemType::Down25ToLeftBank: + case TrackElemType::Down25ToRightBank: + case TrackElemType::LeftBank: + case TrackElemType::RightBank: + case TrackElemType::SBendLeft: + case TrackElemType::SBendRight: + case TrackElemType::LeftQuarterTurn3Tiles: + case TrackElemType::RightQuarterTurn3Tiles: + case TrackElemType::LeftBankedQuarterTurn3Tiles: + case TrackElemType::RightBankedQuarterTurn3Tiles: + case TrackElemType::FlatToUp60: + case TrackElemType::Up60ToFlat: + case TrackElemType::FlatToDown60: + case TrackElemType::Down60ToFlat: + case TrackElemType::LeftHalfBankedHelixUpSmall: + case TrackElemType::RightHalfBankedHelixUpSmall: + case TrackElemType::LeftHalfBankedHelixDownSmall: + case TrackElemType::RightHalfBankedHelixDownSmall: + case TrackElemType::LeftHalfBankedHelixUpLarge: + case TrackElemType::RightHalfBankedHelixUpLarge: + case TrackElemType::LeftHalfBankedHelixDownLarge: + case TrackElemType::RightHalfBankedHelixDownLarge: + case TrackElemType::Brakes: + case TrackElemType::LeftEighthToDiag: + case TrackElemType::RightEighthToDiag: + case TrackElemType::LeftEighthToOrthogonal: + case TrackElemType::RightEighthToOrthogonal: + case TrackElemType::LeftEighthBankToDiag: + case TrackElemType::RightEighthBankToDiag: + case TrackElemType::LeftEighthBankToOrthogonal: + case TrackElemType::RightEighthBankToOrthogonal: + case TrackElemType::DiagFlatToLeftBank: + case TrackElemType::DiagFlatToRightBank: + case TrackElemType::DiagLeftBankToFlat: + case TrackElemType::DiagRightBankToFlat: + case TrackElemType::DiagLeftBankToUp25: + case TrackElemType::DiagRightBankToUp25: + case TrackElemType::DiagUp25ToLeftBank: + case TrackElemType::DiagUp25ToRightBank: + case TrackElemType::DiagLeftBankToDown25: + case TrackElemType::DiagRightBankToDown25: + case TrackElemType::DiagDown25ToLeftBank: + case TrackElemType::DiagDown25ToRightBank: + case TrackElemType::DiagLeftBank: + case TrackElemType::DiagRightBank: + case TrackElemType::BlockBrakes: + case TrackElemType::Booster: return get_track_paint_function_junior_rc(trackType); ////////////////////////////////////////////////////// // Use River Rafts ////////////////////////////////////////////////////// - case TRACK_ELEM_FLAT_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_FLAT); - case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES); - case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES); - case TRACK_ELEM_S_BEND_LEFT_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_S_BEND_LEFT); - case TRACK_ELEM_S_BEND_RIGHT_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_S_BEND_RIGHT); - case TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_FLAT_TO_25_DEG_DOWN); - case TRACK_ELEM_25_DEG_DOWN_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_25_DEG_DOWN); - case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN); - case TRACK_ELEM_60_DEG_DOWN_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_60_DEG_DOWN); - case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN); - case TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: - return get_track_paint_function_splash_boats(TRACK_ELEM_25_DEG_DOWN_TO_FLAT); + case TrackElemType::FlatCovered: + return get_track_paint_function_splash_boats(TrackElemType::Flat); + case TrackElemType::LeftQuarterTurn5TilesCovered: + return get_track_paint_function_splash_boats(TrackElemType::LeftQuarterTurn5Tiles); + case TrackElemType::RightQuarterTurn5TilesCovered: + return get_track_paint_function_splash_boats(TrackElemType::RightQuarterTurn5Tiles); + case TrackElemType::SBendLeftCovered: + return get_track_paint_function_splash_boats(TrackElemType::SBendLeft); + case TrackElemType::SBendRightCovered: + return get_track_paint_function_splash_boats(TrackElemType::SBendRight); + case TrackElemType::FlatToDown25Covered: + return get_track_paint_function_splash_boats(TrackElemType::FlatToDown25); + case TrackElemType::Down25Covered: + return get_track_paint_function_splash_boats(TrackElemType::Down25); + case TrackElemType::Down25ToDown60Covered: + return get_track_paint_function_splash_boats(TrackElemType::Down25ToDown60); + case TrackElemType::Down60Covered: + return get_track_paint_function_splash_boats(TrackElemType::Down60); + case TrackElemType::Down60ToDown25Covered: + return get_track_paint_function_splash_boats(TrackElemType::Down60ToDown25); + case TrackElemType::Down25ToFlatCovered: + return get_track_paint_function_splash_boats(TrackElemType::Down25ToFlat); - case TRACK_ELEM_ON_RIDE_PHOTO: + case TrackElemType::OnRidePhoto: return get_track_paint_function_junior_rc(trackType); } return nullptr; diff --git a/src/openrct2/ride/water/meta/BoatHire.h b/src/openrct2/ride/water/meta/BoatHire.h index 1561b14b22..b6fe6a9fad 100644 --- a/src/openrct2/ride/water/meta/BoatHire.h +++ b/src/openrct2/ride/water/meta/BoatHire.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor BoatHireRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_CURVE_VERY_SMALL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_boat_hire), 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 | diff --git a/src/openrct2/ride/water/meta/DinghySlide.h b/src/openrct2/ride/water/meta/DinghySlide.h index ff5e296397..8f64436ce1 100644 --- a/src/openrct2/ride/water/meta/DinghySlide.h +++ b/src/openrct2/ride/water/meta/DinghySlide.h @@ -21,16 +21,16 @@ constexpr const RideTypeDescriptor DinghySlideRTD = SET_FIELD(Category, RIDE_CATEGORY_WATER), SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_CURVE)), SET_FIELD(ExtraTrackPieces, 0), - SET_FIELD(CoveredTrackPieces, (1ULL << TRACK_ELEM_FLAT) | (1ULL << TRACK_ELEM_25_DEG_UP) | (1ULL << TRACK_ELEM_60_DEG_UP) | - (1ULL << TRACK_ELEM_FLAT_TO_25_DEG_UP) | (1ULL << TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP) | - (1ULL << TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP) | (1ULL << TRACK_ELEM_25_DEG_UP_TO_FLAT) | - (1ULL << TRACK_ELEM_25_DEG_DOWN) | (1ULL << TRACK_ELEM_60_DEG_DOWN) | (1ULL << TRACK_ELEM_FLAT_TO_25_DEG_DOWN) | - (1ULL << TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN) | (1ULL << TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN) | - (1ULL << TRACK_ELEM_25_DEG_DOWN_TO_FLAT) | (1ULL << TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES) | - (1ULL << TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES) | (1ULL << TRACK_ELEM_S_BEND_LEFT) | - (1ULL << TRACK_ELEM_S_BEND_RIGHT) | (1ULL << TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES) | - (1ULL << TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES)), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(CoveredTrackPieces, (1ULL << TrackElemType::Flat) | (1ULL << TrackElemType::Up25) | (1ULL << TrackElemType::Up60) | + (1ULL << TrackElemType::FlatToUp25) | (1ULL << TrackElemType::Up25ToUp60) | + (1ULL << TrackElemType::Up60ToUp25) | (1ULL << TrackElemType::Up25ToFlat) | + (1ULL << TrackElemType::Down25) | (1ULL << TrackElemType::Down60) | (1ULL << TrackElemType::FlatToDown25) | + (1ULL << TrackElemType::Down25ToDown60) | (1ULL << TrackElemType::Down60ToDown25) | + (1ULL << TrackElemType::Down25ToFlat) | (1ULL << TrackElemType::LeftQuarterTurn5Tiles) | + (1ULL << TrackElemType::RightQuarterTurn5Tiles) | (1ULL << TrackElemType::SBendLeft) | + (1ULL << TrackElemType::SBendRight) | (1ULL << TrackElemType::LeftQuarterTurn3Tiles) | + (1ULL << TrackElemType::RightQuarterTurn3Tiles)), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_dinghy_slide), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES | diff --git a/src/openrct2/ride/water/meta/LogFlume.h b/src/openrct2/ride/water/meta/LogFlume.h index f616614e80..3d2a6f3e6e 100644 --- a/src/openrct2/ride/water/meta/LogFlume.h +++ b/src/openrct2/ride/water/meta/LogFlume.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor LogFlumeRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_LOG_FLUME_REVERSER)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_log_flume), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | diff --git a/src/openrct2/ride/water/meta/RiverRafts.h b/src/openrct2/ride/water/meta/RiverRafts.h index 6e538f2143..5cb1f7a056 100644 --- a/src/openrct2/ride/water/meta/RiverRafts.h +++ b/src/openrct2/ride/water/meta/RiverRafts.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor RiverRaftsRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_ON_RIDE_PHOTO)), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_splash_boats), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | diff --git a/src/openrct2/ride/water/meta/RiverRapids.h b/src/openrct2/ride/water/meta/RiverRapids.h index e109504314..a9ffa2866e 100644 --- a/src/openrct2/ride/water/meta/RiverRapids.h +++ b/src/openrct2/ride/water/meta/RiverRapids.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor RiverRapidsRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_RAPIDS) | (1ULL << TRACK_WATERFALL) | (1ULL << TRACK_WHIRLPOOL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_river_rapids), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | diff --git a/src/openrct2/ride/water/meta/SplashBoats.h b/src/openrct2/ride/water/meta/SplashBoats.h index 3265d84b32..6fb0da18b6 100644 --- a/src/openrct2/ride/water/meta/SplashBoats.h +++ b/src/openrct2/ride/water/meta/SplashBoats.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor SplashBoatsRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_S_BEND) | (1ULL << TRACK_CURVE) | (1ULL << TRACK_ON_RIDE_PHOTO)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_splash_boats), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | diff --git a/src/openrct2/ride/water/meta/SubmarineRide.h b/src/openrct2/ride/water/meta/SubmarineRide.h index 59add36154..90e5e79a4c 100644 --- a/src/openrct2/ride/water/meta/SubmarineRide.h +++ b/src/openrct2/ride/water/meta/SubmarineRide.h @@ -22,7 +22,7 @@ constexpr const RideTypeDescriptor SubmarineRideRTD = SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(CoveredTrackPieces, 0), - SET_FIELD(StartTrackPiece, TRACK_ELEM_END_STATION), + SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_submarine_ride), SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | diff --git a/src/openrct2/windows/_legacy.cpp b/src/openrct2/windows/_legacy.cpp index a1ba93a8a5..9b15b35133 100644 --- a/src/openrct2/windows/_legacy.cpp +++ b/src/openrct2/windows/_legacy.cpp @@ -184,9 +184,9 @@ static std::tuple window_ride_construction_update_state_get_track switch (curve & 0xFF) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_S_BEND_LEFT: - case TRACK_ELEM_S_BEND_RIGHT: + case TrackElemType::EndStation: + case TrackElemType::SBendLeft: + case TrackElemType::SBendRight: if (startSlope != TRACK_SLOPE_NONE || endSlope != TRACK_SLOPE_NONE) { return std::make_tuple(false, 0); @@ -199,8 +199,8 @@ static std::tuple window_ride_construction_update_state_get_track return std::make_tuple(true, curve & 0xFF); - case TRACK_ELEM_LEFT_VERTICAL_LOOP: - case TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TrackElemType::LeftVerticalLoop: + case TrackElemType::RightVerticalLoop: if (startBank != TRACK_BANK_NONE || endBank != TRACK_BANK_NONE) { return std::make_tuple(false, 0); @@ -276,26 +276,26 @@ bool window_ride_construction_update_state( { switch (trackType) { - case TRACK_ELEM_FLAT_TO_60_DEG_UP: - trackType = TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE; + case TrackElemType::FlatToUp60: + trackType = TrackElemType::FlatToUp60LongBase; break; - case TRACK_ELEM_60_DEG_UP_TO_FLAT: - trackType = TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE; + case TrackElemType::Up60ToFlat: + trackType = TrackElemType::Up60ToFlatLongBase; break; - case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - trackType = TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122; + case TrackElemType::FlatToDown60: + trackType = TrackElemType::FlatToDown60LongBase; break; - case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: - trackType = TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE; + case TrackElemType::Down60ToFlat: + trackType = TrackElemType::Down60ToFlatLongBase; break; - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: - case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: - case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: + case TrackElemType::DiagFlatToUp60: + case TrackElemType::DiagUp60ToFlat: + case TrackElemType::DiagFlatToDown60: + case TrackElemType::DiagDown60ToFlat: return true; } } @@ -361,7 +361,7 @@ bool window_ride_construction_update_state( liftHillAndInvertedState &= ~CONSTRUCTION_LIFT_HILL_SELECTED; _currentTrackLiftHill &= ~CONSTRUCTION_LIFT_HILL_SELECTED; - if (trackType == TRACK_ELEM_LEFT_CURVED_LIFT_HILL || trackType == TRACK_ELEM_RIGHT_CURVED_LIFT_HILL) + if (trackType == TrackElemType::LeftCurvedLiftHill || trackType == TrackElemType::RightCurvedLiftHill) { liftHillAndInvertedState |= CONSTRUCTION_LIFT_HILL_SELECTED; } @@ -468,16 +468,16 @@ void window_ride_construction_mouseup_demolish_next_piece(const CoordsXYZD& piec if (_rideConstructionState2 == RIDE_CONSTRUCTION_STATE_SELECTED || _rideConstructionState2 == RIDE_CONSTRUCTION_STATE_FRONT) { - if (type == TRACK_ELEM_MIDDLE_STATION || type == TRACK_ELEM_BEGIN_STATION) + if (type == TrackElemType::MiddleStation || type == TrackElemType::BeginStation) { - type = TRACK_ELEM_END_STATION; + type = TrackElemType::EndStation; } } if (_rideConstructionState2 == RIDE_CONSTRUCTION_STATE_BACK) { - if (type == TRACK_ELEM_MIDDLE_STATION) + if (type == TrackElemType::MiddleStation) { - type = TRACK_ELEM_BEGIN_STATION; + type = TrackElemType::BeginStation; } } if (network_get_mode() == NETWORK_MODE_CLIENT) diff --git a/src/openrct2/world/Entrance.cpp b/src/openrct2/world/Entrance.cpp index 569b0acf89..709fe9f01e 100644 --- a/src/openrct2/world/Entrance.cpp +++ b/src/openrct2/world/Entrance.cpp @@ -146,7 +146,7 @@ void maze_entrance_hedge_replacement(const CoordsXYE& entrance) continue; if (tileElement->GetBaseZ() != z) continue; - if (tileElement->AsTrack()->GetTrackType() != TRACK_ELEM_MAZE) + if (tileElement->AsTrack()->GetTrackType() != TrackElemType::Maze) continue; // Each maze element is split into 4 sections with 4 different walls @@ -183,7 +183,7 @@ void maze_entrance_hedge_removal(const CoordsXYE& entrance) continue; if (tileElement->GetBaseZ() != z) continue; - if (tileElement->AsTrack()->GetTrackType() != TRACK_ELEM_MAZE) + if (tileElement->AsTrack()->GetTrackType() != TrackElemType::Maze) continue; // Each maze element is split into 4 sections with 4 different walls diff --git a/src/openrct2/world/Footpath.cpp b/src/openrct2/world/Footpath.cpp index 2c20636935..c956f40f14 100644 --- a/src/openrct2/world/Footpath.cpp +++ b/src/openrct2/world/Footpath.cpp @@ -2260,7 +2260,7 @@ bool PathElement::IsLevelCrossing(const CoordsXY& coords) const return false; } - if (trackElement->GetTrackType() != TRACK_ELEM_FLAT) + if (trackElement->GetTrackType() != TrackElemType::Flat) { return false; } diff --git a/src/openrct2/world/Map.cpp b/src/openrct2/world/Map.cpp index e4b4a9f592..fb34068968 100644 --- a/src/openrct2/world/Map.cpp +++ b/src/openrct2/world/Map.cpp @@ -1439,7 +1439,7 @@ std::unique_ptr MapCanConstructWithClearAt( // Crossing mode 2: building path over track else if ( crossingMode == 2 && canBuildCrossing && tileElement->GetType() == TILE_ELEMENT_TYPE_TRACK - && tileElement->GetBaseZ() == pos.baseZ && tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_FLAT) + && tileElement->GetBaseZ() == pos.baseZ && tileElement->AsTrack()->GetTrackType() == TrackElemType::Flat) { auto ride = get_ride(tileElement->AsTrack()->GetRideIndex()); if (ride != nullptr && RideTypeDescriptors[ride->type].HasFlag(RIDE_TYPE_FLAG_SUPPORTS_LEVEL_CROSSINGS)) diff --git a/src/openrct2/world/MapAnimation.cpp b/src/openrct2/world/MapAnimation.cpp index bd9a773162..53ca4769e2 100644 --- a/src/openrct2/world/MapAnimation.cpp +++ b/src/openrct2/world/MapAnimation.cpp @@ -266,7 +266,7 @@ static bool map_animation_invalidate_track_waterfall(const CoordsXYZ& loc) if (tileElement->GetType() != TILE_ELEMENT_TYPE_TRACK) continue; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_WATERFALL) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::Waterfall) { map_invalidate_tile_zoom1({ loc, loc.z + 14, loc.z + 46 }); return false; @@ -295,7 +295,7 @@ static bool map_animation_invalidate_track_rapids(const CoordsXYZ& loc) if (tileElement->GetType() != TILE_ELEMENT_TYPE_TRACK) continue; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_RAPIDS) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::Rapids) { map_invalidate_tile_zoom1({ loc, loc.z + 14, loc.z + 18 }); return false; @@ -324,7 +324,7 @@ static bool map_animation_invalidate_track_onridephoto(const CoordsXYZ& loc) if (tileElement->GetType() != TILE_ELEMENT_TYPE_TRACK) continue; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_ON_RIDE_PHOTO) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::OnRidePhoto) { map_invalidate_tile_zoom1({ loc, loc.z, tileElement->GetClearanceZ() }); if (game_is_paused()) @@ -365,7 +365,7 @@ static bool map_animation_invalidate_track_whirlpool(const CoordsXYZ& loc) if (tileElement->GetType() != TILE_ELEMENT_TYPE_TRACK) continue; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_WHIRLPOOL) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::Whirlpool) { map_invalidate_tile_zoom1({ loc, loc.z + 14, loc.z + 18 }); return false; @@ -394,7 +394,7 @@ static bool map_animation_invalidate_track_spinningtunnel(const CoordsXYZ& loc) if (tileElement->GetType() != TILE_ELEMENT_TYPE_TRACK) continue; - if (tileElement->AsTrack()->GetTrackType() == TRACK_ELEM_SPINNING_TUNNEL) + if (tileElement->AsTrack()->GetTrackType() == TrackElemType::SpinningTunnel) { map_invalidate_tile_zoom1({ loc, loc.z + 14, loc.z + 32 }); return false; @@ -690,16 +690,16 @@ void AutoCreateMapAnimations() auto track = el->AsTrack(); switch (track->GetTrackType()) { - case TRACK_ELEM_WATERFALL: + case TrackElemType::Waterfall: map_animation_create(MAP_ANIMATION_TYPE_TRACK_WATERFALL, loc); break; - case TRACK_ELEM_RAPIDS: + case TrackElemType::Rapids: map_animation_create(MAP_ANIMATION_TYPE_TRACK_RAPIDS, loc); break; - case TRACK_ELEM_WHIRLPOOL: + case TrackElemType::Whirlpool: map_animation_create(MAP_ANIMATION_TYPE_TRACK_WHIRLPOOL, loc); break; - case TRACK_ELEM_SPINNING_TUNNEL: + case TrackElemType::SpinningTunnel: map_animation_create(MAP_ANIMATION_TYPE_TRACK_SPINNINGTUNNEL, loc); break; } diff --git a/test/testpaint/Compat.cpp b/test/testpaint/Compat.cpp index bfae0134da..a7c218ad11 100644 --- a/test/testpaint/Compat.cpp +++ b/test/testpaint/Compat.cpp @@ -532,9 +532,9 @@ bool track_type_is_station(track_type_t trackType) { switch (trackType) { - case TRACK_ELEM_END_STATION: - case TRACK_ELEM_BEGIN_STATION: - case TRACK_ELEM_MIDDLE_STATION: + case TrackElemType::EndStation: + case TrackElemType::BeginStation: + case TrackElemType::MiddleStation: return true; default: return false; diff --git a/test/testpaint/Data.cpp b/test/testpaint/Data.cpp index b3f1438612..fabcfeccca 100644 --- a/test/testpaint/Data.cpp +++ b/test/testpaint/Data.cpp @@ -226,8 +226,8 @@ const_utf8string TrackNames[256] = { "FlatTo60DegUpLongBase", "60DegUpToFlatLongBase", "Whirlpool", - "FlatTo60DegDownLongBase", - "60DegUpToFlatLongBase122", + "Down60ToFlatLongBase", + "FlatToDown60LongBase", "CableLiftHill", "ReverseWhoaBellySlope", "ReverseWhoaBellyVertical", @@ -625,262 +625,262 @@ const_utf8string FlatTrackNames[256] = { // clang-format on const_utf8string TrackElemNames[] = { - "TRACK_ELEM_FLAT", - "TRACK_ELEM_END_STATION", - "TRACK_ELEM_BEGIN_STATION", - "TRACK_ELEM_MIDDLE_STATION", - "TRACK_ELEM_25_DEG_UP", - "TRACK_ELEM_60_DEG_UP", - "TRACK_ELEM_FLAT_TO_25_DEG_UP", - "TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP", - "TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP", - "TRACK_ELEM_25_DEG_UP_TO_FLAT", - "TRACK_ELEM_25_DEG_DOWN", - "TRACK_ELEM_60_DEG_DOWN", - "TRACK_ELEM_FLAT_TO_25_DEG_DOWN", - "TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN", - "TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN", - "TRACK_ELEM_25_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES", - "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES", - "TRACK_ELEM_FLAT_TO_LEFT_BANK", - "TRACK_ELEM_FLAT_TO_RIGHT_BANK", - "TRACK_ELEM_LEFT_BANK_TO_FLAT", - "TRACK_ELEM_RIGHT_BANK_TO_FLAT", - "TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES", - "TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES", - "TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP", - "TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK", - "TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK", - "TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN", - "TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK", - "TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK", - "TRACK_ELEM_LEFT_BANK", - "TRACK_ELEM_RIGHT_BANK", - "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP", - "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP", - "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN", - "TRACK_ELEM_S_BEND_LEFT", - "TRACK_ELEM_S_BEND_RIGHT", - "TRACK_ELEM_LEFT_VERTICAL_LOOP", - "TRACK_ELEM_RIGHT_VERTICAL_LOOP", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN", - "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE", - "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE", - "TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP", - "TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP", - "TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN", - "TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN", - "TRACK_ELEM_HALF_LOOP_UP", - "TRACK_ELEM_HALF_LOOP_DOWN", - "TRACK_ELEM_LEFT_CORKSCREW_UP", - "TRACK_ELEM_RIGHT_CORKSCREW_UP", - "TRACK_ELEM_LEFT_CORKSCREW_DOWN", - "TRACK_ELEM_RIGHT_CORKSCREW_DOWN", - "TRACK_ELEM_FLAT_TO_60_DEG_UP", - "TRACK_ELEM_60_DEG_UP_TO_FLAT", - "TRACK_ELEM_FLAT_TO_60_DEG_DOWN", - "TRACK_ELEM_60_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_TOWER_BASE", - "TRACK_ELEM_TOWER_SECTION", - "TRACK_ELEM_FLAT_COVERED", - "TRACK_ELEM_25_DEG_UP_COVERED", - "TRACK_ELEM_60_DEG_UP_COVERED", - "TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED", - "TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED", - "TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED", - "TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED", - "TRACK_ELEM_25_DEG_DOWN_COVERED", - "TRACK_ELEM_60_DEG_DOWN_COVERED", - "TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED", - "TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED", - "TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED", - "TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED", - "TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED", - "TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED", - "TRACK_ELEM_S_BEND_LEFT_COVERED", - "TRACK_ELEM_S_BEND_RIGHT_COVERED", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED", - "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL", - "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL", - "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL", - "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL", - "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE", - "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE", - "TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE", - "TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE", - "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP", - "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP", - "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN", - "TRACK_ELEM_BRAKES", - "TRACK_ELEM_ROTATION_CONTROL_TOGGLE", - "TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP", - "TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP", - "TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP", - "TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN", - "TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP", - "TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP", - "TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN", - "TRACK_ELEM_25_DEG_UP_LEFT_BANKED", - "TRACK_ELEM_25_DEG_UP_RIGHT_BANKED", - "TRACK_ELEM_WATERFALL", - "TRACK_ELEM_RAPIDS", - "TRACK_ELEM_ON_RIDE_PHOTO", - "TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED", - "TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED", - "TRACK_ELEM_WATER_SPLASH", - "TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE", - "TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE", - "TRACK_ELEM_WHIRLPOOL", - "TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE", - "TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122", - "TRACK_ELEM_CABLE_LIFT_HILL", - "TRACK_ELEM_REVERSE_FREEFALL_SLOPE", - "TRACK_ELEM_REVERSE_FREEFALL_VERTICAL", - "TRACK_ELEM_90_DEG_UP", - "TRACK_ELEM_90_DEG_DOWN", - "TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP", - "TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN", - "TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP", - "TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN", - "TRACK_ELEM_BRAKE_FOR_DROP", - "TRACK_ELEM_LEFT_EIGHTH_TO_DIAG", - "TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG", - "TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL", - "TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL", - "TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG", - "TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG", - "TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL", - "TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL", - "TRACK_ELEM_DIAG_FLAT", - "TRACK_ELEM_DIAG_25_DEG_UP", - "TRACK_ELEM_DIAG_60_DEG_UP", - "TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP", - "TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP", - "TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP", - "TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT", - "TRACK_ELEM_DIAG_25_DEG_DOWN", - "TRACK_ELEM_DIAG_60_DEG_DOWN", - "TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN", - "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN", - "TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN", - "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP", - "TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT", - "TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN", - "TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK", - "TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK", - "TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT", - "TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT", - "TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP", - "TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP", - "TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK", - "TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK", - "TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN", - "TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN", - "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK", - "TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK", - "TRACK_ELEM_DIAG_LEFT_BANK", - "TRACK_ELEM_DIAG_RIGHT_BANK", - "TRACK_ELEM_LOG_FLUME_REVERSER", - "TRACK_ELEM_SPINNING_TUNNEL", - "TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN", - "TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN", - "TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP", - "TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP", - "TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP", - "TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK", - "TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK", - "TRACK_ELEM_POWERED_LIFT", - "TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP", - "TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP", - "TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN", - "TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN", - "TRACK_ELEM_LEFT_FLYER_TWIST_UP", - "TRACK_ELEM_RIGHT_FLYER_TWIST_UP", - "TRACK_ELEM_LEFT_FLYER_TWIST_DOWN", - "TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN", - "TRACK_ELEM_FLYER_HALF_LOOP_UP", - "TRACK_ELEM_FLYER_HALF_LOOP_DOWN", - "TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP", - "TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP", - "TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN", - "TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN", - "TRACK_ELEM_HEARTLINE_TRANSFER_UP", - "TRACK_ELEM_HEARTLINE_TRANSFER_DOWN", - "TRACK_ELEM_LEFT_HEARTLINE_ROLL", - "TRACK_ELEM_RIGHT_HEARTLINE_ROLL", - "TRACK_ELEM_MINI_GOLF_HOLE_A", - "TRACK_ELEM_MINI_GOLF_HOLE_B", - "TRACK_ELEM_MINI_GOLF_HOLE_C", - "TRACK_ELEM_MINI_GOLF_HOLE_D", - "TRACK_ELEM_MINI_GOLF_HOLE_E", - "TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN", - "TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP", - "TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN", - "TRACK_ELEM_LEFT_CURVED_LIFT_HILL", - "TRACK_ELEM_RIGHT_CURVED_LIFT_HILL", - "TRACK_ELEM_LEFT_REVERSER", - "TRACK_ELEM_RIGHT_REVERSER", - "TRACK_ELEM_AIR_THRUST_TOP_CAP", - "TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN", - "TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL", - "TRACK_ELEM_BLOCK_BRAKES", - "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP", - "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN", - "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP", - "TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN", - "TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP", - "TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP", - "TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP", - "TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN", - "TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP", - "TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP", - "TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT", - "TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT", - "TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP", - "TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP", - "TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT", - "TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN", - "TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT", - "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP", - "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP", - "TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN", - "TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN", - "TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP", - "TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP", - "TRACK_ELEM_255", + "TrackElemType::Flat", + "TrackElemType::EndStation", + "TrackElemType::BeginStation", + "TrackElemType::MiddleStation", + "TrackElemType::Up25", + "TrackElemType::Up60", + "TrackElemType::FlatToUp25", + "TrackElemType::Up25ToUp60", + "TrackElemType::Up60ToUp25", + "TrackElemType::Up25ToFlat", + "TrackElemType::Down25", + "TrackElemType::Down60", + "TrackElemType::FlatToDown25", + "TrackElemType::Down25ToDown60", + "TrackElemType::Down60ToDown25", + "TrackElemType::Down25ToFlat", + "TrackElemType::LeftQuarterTurn5Tiles", + "TrackElemType::RightQuarterTurn5Tiles", + "TrackElemType::FlatToLeftBank", + "TrackElemType::FlatToRightBank", + "TrackElemType::LeftBankToFlat", + "TrackElemType::RightBankToFlat", + "TrackElemType::BankedLeftQuarterTurn5Tiles", + "TrackElemType::BankedRightQuarterTurn5Tiles", + "TrackElemType::LeftBankToUp25", + "TrackElemType::RightBankToUp25", + "TrackElemType::Up25ToLeftBank", + "TrackElemType::Up25ToRightBank", + "TrackElemType::LeftBankToDown25", + "TrackElemType::RightBankToDown25", + "TrackElemType::Down25ToLeftBank", + "TrackElemType::Down25ToRightBank", + "TrackElemType::LeftBank", + "TrackElemType::RightBank", + "TrackElemType::LeftQuarterTurn5TilesUp25", + "TrackElemType::RightQuarterTurn5TilesUp25", + "TrackElemType::LeftQuarterTurn5TilesDown25", + "TrackElemType::RightQuarterTurn5TilesDown25", + "TrackElemType::SBendLeft", + "TrackElemType::SBendRight", + "TrackElemType::LeftVerticalLoop", + "TrackElemType::RightVerticalLoop", + "TrackElemType::LeftQuarterTurn3Tiles", + "TrackElemType::RightQuarterTurn3Tiles", + "TrackElemType::LeftBankedQuarterTurn3Tiles", + "TrackElemType::RightBankedQuarterTurn3Tiles", + "TrackElemType::LeftQuarterTurn3TilesUp25", + "TrackElemType::RightQuarterTurn3TilesUp25", + "TrackElemType::LeftQuarterTurn3TilesDown25", + "TrackElemType::RightQuarterTurn3TilesDown25", + "TrackElemType::LeftQuarterTurn1Tile", + "TrackElemType::RightQuarterTurn1Tile", + "TrackElemType::LeftTwistDownToUp", + "TrackElemType::RightTwistDownToUp", + "TrackElemType::LeftTwistUpToDown", + "TrackElemType::RightTwistUpToDown", + "TrackElemType::HalfLoopUp", + "TrackElemType::HalfLoopDown", + "TrackElemType::LeftCorkscrewUp", + "TrackElemType::RightCorkscrewUp", + "TrackElemType::LeftCorkscrewDown", + "TrackElemType::RightCorkscrewDown", + "TrackElemType::FlatToUp60", + "TrackElemType::Up60ToFlat", + "TrackElemType::FlatToDown60", + "TrackElemType::Down60ToFlat", + "TrackElemType::TowerBase", + "TrackElemType::TowerSection", + "TrackElemType::FlatCovered", + "TrackElemType::Up25Covered", + "TrackElemType::Up60Covered", + "TrackElemType::FlatToUp25Covered", + "TrackElemType::Up25ToUp60Covered", + "TrackElemType::Up60ToUp25Covered", + "TrackElemType::Up25ToFlatCovered", + "TrackElemType::Down25Covered", + "TrackElemType::Down60Covered", + "TrackElemType::FlatToDown25Covered", + "TrackElemType::Down25ToDown60Covered", + "TrackElemType::Down60ToDown25Covered", + "TrackElemType::Down25ToFlatCovered", + "TrackElemType::LeftQuarterTurn5TilesCovered", + "TrackElemType::RightQuarterTurn5TilesCovered", + "TrackElemType::SBendLeftCovered", + "TrackElemType::SBendRightCovered", + "TrackElemType::LeftQuarterTurn3TilesCovered", + "TrackElemType::RightQuarterTurn3TilesCovered", + "TrackElemType::LeftHalfBankedHelixUpSmall", + "TrackElemType::RightHalfBankedHelixUpSmall", + "TrackElemType::LeftHalfBankedHelixDownSmall", + "TrackElemType::RightHalfBankedHelixDownSmall", + "TrackElemType::LeftHalfBankedHelixUpLarge", + "TrackElemType::RightHalfBankedHelixUpLarge", + "TrackElemType::LeftHalfBankedHelixDownLarge", + "TrackElemType::RightHalfBankedHelixDownLarge", + "TrackElemType::LeftQuarterTurn1TileUp60", + "TrackElemType::RightQuarterTurn1TileUp60", + "TrackElemType::LeftQuarterTurn1TileDown60", + "TrackElemType::RightQuarterTurn1TileDown60", + "TrackElemType::Brakes", + "TrackElemType::RotationControlToggle", + "TrackElemType::InvertedUp90ToFlatQuarterLoopAlias", + "TrackElemType::LeftQuarterBankedHelixLargeUp", + "TrackElemType::RightQuarterBankedHelixLargeUp", + "TrackElemType::LeftQuarterBankedHelixLargeDown", + "TrackElemType::RightQuarterBankedHelixLargeDown", + "TrackElemType::LeftQuarterHelixLargeUp", + "TrackElemType::RightQuarterHelixLargeUp", + "TrackElemType::LeftQuarterHelixLargeDown", + "TrackElemType::RightQuarterHelixLargeDown", + "TrackElemType::Up25LeftBanked", + "TrackElemType::Up25RightBanked", + "TrackElemType::Waterfall", + "TrackElemType::Rapids", + "TrackElemType::OnRidePhoto", + "TrackElemType::Down25LeftBanked", + "TrackElemType::Down25RightBanked", + "TrackElemType::Watersplash", + "TrackElemType::FlatToUp60LongBase", + "TrackElemType::Up60ToFlatLongBase", + "TrackElemType::Whirlpool", + "TrackElemType::Down60ToFlatLongBase", + "TrackElemType::FlatToDown60LongBase", + "TrackElemType::CableLiftHill", + "TrackElemType::ReverseFreefallSlope", + "TrackElemType::ReverseFreefallVertical", + "TrackElemType::Up90", + "TrackElemType::Down90", + "TrackElemType::Up60ToUp90", + "TrackElemType::Down90ToDown60", + "TrackElemType::Up90ToUp60", + "TrackElemType::Down60ToDown90", + "TrackElemType::BrakeForDrop", + "TrackElemType::LeftEighthToDiag", + "TrackElemType::RightEighthToDiag", + "TrackElemType::LeftEighthToOrthogonal", + "TrackElemType::RightEighthToOrthogonal", + "TrackElemType::LeftEighthBankToDiag", + "TrackElemType::RightEighthBankToDiag", + "TrackElemType::LeftEighthBankToOrthogonal", + "TrackElemType::RightEighthBankToOrthogonal", + "TrackElemType::DiagFlat", + "TrackElemType::DiagUp25", + "TrackElemType::DiagUp60", + "TrackElemType::DiagFlatToUp25", + "TrackElemType::DiagUp25ToUp60", + "TrackElemType::DiagUp60ToUp25", + "TrackElemType::DiagUp25ToFlat", + "TrackElemType::DiagDown25", + "TrackElemType::DiagDown60", + "TrackElemType::DiagFlatToDown25", + "TrackElemType::DiagDown25ToDown60", + "TrackElemType::DiagDown60ToDown25", + "TrackElemType::DiagDown25ToFlat", + "TrackElemType::DiagFlatToUp60", + "TrackElemType::DiagUp60ToFlat", + "TrackElemType::DiagFlatToDown60", + "TrackElemType::DiagDown60ToFlat", + "TrackElemType::DiagFlatToLeftBank", + "TrackElemType::DiagFlatToRightBank", + "TrackElemType::DiagLeftBankToFlat", + "TrackElemType::DiagRightBankToFlat", + "TrackElemType::DiagLeftBankToUp25", + "TrackElemType::DiagRightBankToUp25", + "TrackElemType::DiagUp25ToLeftBank", + "TrackElemType::DiagUp25ToRightBank", + "TrackElemType::DiagLeftBankToDown25", + "TrackElemType::DiagRightBankToDown25", + "TrackElemType::DiagDown25ToLeftBank", + "TrackElemType::DiagDown25ToRightBank", + "TrackElemType::DiagLeftBank", + "TrackElemType::DiagRightBank", + "TrackElemType::LogFlumeReverser", + "TrackElemType::SpinningTunnel", + "TrackElemType::LeftBarrelRollUpToDown", + "TrackElemType::RightBarrelRollUpToDown", + "TrackElemType::LeftBarrelRollDownToUp", + "TrackElemType::RightBarrelRollDownToUp", + "TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25", + "TrackElemType::RightBankToRightQuarterTurn3TilesUp25", + "TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank", + "TrackElemType::RightQuarterTurn3TilesDown25ToRightBank", + "TrackElemType::PoweredLift", + "TrackElemType::LeftLargeHalfLoopUp", + "TrackElemType::RightLargeHalfLoopUp", + "TrackElemType::RightLargeHalfLoopDown", + "TrackElemType::LeftLargeHalfLoopDown", + "TrackElemType::LeftFlyerTwistUp", + "TrackElemType::RightFlyerTwistUp", + "TrackElemType::LeftFlyerTwistDown", + "TrackElemType::RightFlyerTwistDown", + "TrackElemType::FlyerHalfLoopUp", + "TrackElemType::FlyerHalfLoopDown", + "TrackElemType::LeftFlyerCorkscrewUp", + "TrackElemType::RightFlyerCorkscrewUp", + "TrackElemType::LeftFlyerCorkscrewDown", + "TrackElemType::RightFlyerCorkscrewDown", + "TrackElemType::HeartLineTransferUp", + "TrackElemType::HeartLineTransferDown", + "TrackElemType::LeftHeartLineRoll", + "TrackElemType::RightHeartLineRoll", + "TrackElemType::MinigolfHoleA", + "TrackElemType::MinigolfHoleB", + "TrackElemType::MinigolfHoleC", + "TrackElemType::MinigolfHoleD", + "TrackElemType::MinigolfHoleE", + "TrackElemType::MultiDimInvertedFlatToDown90QuarterLoop", + "TrackElemType::Up90ToInvertedFlatQuarterLoop", + "TrackElemType::InvertedFlatToDown90QuarterLoop", + "TrackElemType::LeftCurvedLiftHill", + "TrackElemType::RightCurvedLiftHill", + "TrackElemType::LeftReverser", + "TrackElemType::RightReverser", + "TrackElemType::AirThrustTopCap", + "TrackElemType::AirThrustVerticalDown", + "TrackElemType::AirThrustVerticalDownToLevel", + "TrackElemType::BlockBrakes", + "TrackElemType::LeftBankedQuarterTurn3TileUp25", + "TrackElemType::RightBankedQuarterTurn3TileUp25", + "TrackElemType::LeftBankedQuarterTurn3TileDown25", + "TrackElemType::RightBankedQuarterTurn3TileDown25", + "TrackElemType::LeftBankedQuarterTurn5TileUp25", + "TrackElemType::RightBankedQuarterTurn5TileUp25", + "TrackElemType::LeftBankedQuarterTurn5TileDown25", + "TrackElemType::RightBankedQuarterTurn5TileDown25", + "TrackElemType::Up25ToLeftBankedUp25", + "TrackElemType::Up25ToRightBankedUp25", + "TrackElemType::LeftBankedUp25ToUp25", + "TrackElemType::RightBankedUp25ToUp25", + "TrackElemType::Down25ToLeftBankedDown25", + "TrackElemType::Down25ToRightBankedDown25", + "TrackElemType::LeftBankedDown25ToDown25", + "TrackElemType::RightBankedDown25ToDown25", + "TrackElemType::LeftBankedFlatToLeftBankedUp25", + "TrackElemType::RightBankedFlatToRightBankedUp25", + "TrackElemType::LeftBankedUp25ToLeftBankedFlat", + "TrackElemType::RightBankedUp25ToRightBankedFlat", + "TrackElemType::LeftBankedFlatToLeftBankedDown25", + "TrackElemType::RightBankedFlatToRightBankedDown25", + "TrackElemType::LeftBankedDown25ToLeftBankedFlat", + "TrackElemType::RightBankedDown25ToRightBankedFlat", + "TrackElemType::FlatToLeftBankedUp25", + "TrackElemType::FlatToRightBankedUp25", + "TrackElemType::LeftBankedUp25ToFlat", + "TrackElemType::RightBankedUp25ToFlat", + "TrackElemType::FlatToLeftBankedDown25", + "TrackElemType::FlatToRightBankedDown25", + "TrackElemType::LeftBankedDown25ToFlat", + "TrackElemType::RightBankedDown25ToFlat", + "TrackElemType::LeftQuarterTurn1TileUp90", + "TrackElemType::RightQuarterTurn1TileUp90", + "TrackElemType::LeftQuarterTurn1TileDown90", + "TrackElemType::RightQuarterTurn1TileDown90", + "TrackElemType::MultiDimUp90ToInvertedFlatQuarterLoop", + "TrackElemType::MultiDimFlatToDown90QuarterLoop", + "TrackElemType::MultiDimInvertedUp90ToFlatQuarterLoop", }; const_utf8string RideCodeNames[RCT2_RIDE_TYPE_COUNT] = { diff --git a/test/testpaint/TrackDataOld.cpp b/test/testpaint/TrackDataOld.cpp index e1beb38047..028970b161 100644 --- a/test/testpaint/TrackDataOld.cpp +++ b/test/testpaint/TrackDataOld.cpp @@ -14,56 +14,56 @@ /** rct2: 0x008A42F4 */ // clang-format off static constexpr const uint32_t _OldSpiralRollerCoasterTrackPaintFunctions[256] = { - 0x008A4ABC, // TRACK_ELEM_FLAT - 0x008A4D0C, // TRACK_ELEM_END_STATION - 0x008A4D1C, // TRACK_ELEM_BEGIN_STATION - 0x008A4D2C, // TRACK_ELEM_MIDDLE_STATION - 0x008A4ACC, // TRACK_ELEM_25_DEG_UP - 0x008A4ADC, // TRACK_ELEM_60_DEG_UP - 0x008A4AEC, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A4AFC, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A4B0C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A4B1C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A4B2C, // TRACK_ELEM_25_DEG_DOWN - 0x008A4B3C, // TRACK_ELEM_60_DEG_DOWN - 0x008A4B4C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A4B5C, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A4B6C, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A4B7C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A4B8C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A4B9C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A4BAC, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A4BBC, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A4BCC, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A4BDC, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A4BEC, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A4BFC, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A4C0C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A4C1C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A4C2C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A4C3C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A4C4C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A4C5C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A4C6C, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A4C7C, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A4C8C, // TRACK_ELEM_LEFT_BANK - 0x008A4C9C, // TRACK_ELEM_RIGHT_BANK - 0x008A4CAC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A4CBC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A4CCC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A4CDC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A4CEC, // TRACK_ELEM_S_BEND_LEFT - 0x008A4CFC, // TRACK_ELEM_S_BEND_RIGHT + 0x008A4ABC, // TrackElemType::Flat + 0x008A4D0C, // TrackElemType::EndStation + 0x008A4D1C, // TrackElemType::BeginStation + 0x008A4D2C, // TrackElemType::MiddleStation + 0x008A4ACC, // TrackElemType::Up25 + 0x008A4ADC, // TrackElemType::Up60 + 0x008A4AEC, // TrackElemType::FlatToUp25 + 0x008A4AFC, // TrackElemType::Up25ToUp60 + 0x008A4B0C, // TrackElemType::Up60ToUp25 + 0x008A4B1C, // TrackElemType::Up25ToFlat + 0x008A4B2C, // TrackElemType::Down25 + 0x008A4B3C, // TrackElemType::Down60 + 0x008A4B4C, // TrackElemType::FlatToDown25 + 0x008A4B5C, // TrackElemType::Down25ToDown60 + 0x008A4B6C, // TrackElemType::Down60ToDown25 + 0x008A4B7C, // TrackElemType::Down25ToFlat + 0x008A4B8C, // TrackElemType::LeftQuarterTurn5Tiles + 0x008A4B9C, // TrackElemType::RightQuarterTurn5Tiles + 0x008A4BAC, // TrackElemType::FlatToLeftBank + 0x008A4BBC, // TrackElemType::FlatToRightBank + 0x008A4BCC, // TrackElemType::LeftBankToFlat + 0x008A4BDC, // TrackElemType::RightBankToFlat + 0x008A4BEC, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008A4BFC, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008A4C0C, // TrackElemType::LeftBankToUp25 + 0x008A4C1C, // TrackElemType::RightBankToUp25 + 0x008A4C2C, // TrackElemType::Up25ToLeftBank + 0x008A4C3C, // TrackElemType::Up25ToRightBank + 0x008A4C4C, // TrackElemType::LeftBankToDown25 + 0x008A4C5C, // TrackElemType::RightBankToDown25 + 0x008A4C6C, // TrackElemType::Down25ToLeftBank + 0x008A4C7C, // TrackElemType::Down25ToRightBank + 0x008A4C8C, // TrackElemType::LeftBank + 0x008A4C9C, // TrackElemType::RightBank + 0x008A4CAC, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008A4CBC, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008A4CCC, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008A4CDC, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008A4CEC, // TrackElemType::SBendLeft + 0x008A4CFC, // TrackElemType::SBendRight 0, 0, - 0x008A4D3C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A4D4C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A4D5C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A4D6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A4D7C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A4D8C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A4D9C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A4DAC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A4D3C, // TrackElemType::LeftQuarterTurn3Tiles + 0x008A4D4C, // TrackElemType::RightQuarterTurn3Tiles + 0x008A4D5C, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008A4D6C, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008A4D7C, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008A4D8C, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008A4D9C, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008A4DAC, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -101,19 +101,19 @@ static constexpr const uint32_t _OldSpiralRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A4DBC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A4DCC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A4DDC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A4DEC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A4DFC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A4E0C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A4E1C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A4E2C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A4E5C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A4E3C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A4E4C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A4E6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A4E7C, // TRACK_ELEM_BRAKES + 0x008A4DBC, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008A4DCC, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008A4DDC, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008A4DEC, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008A4DFC, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008A4E0C, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008A4E1C, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008A4E2C, // TrackElemType::RightHalfBankedHelixDownLarge + 0x008A4E5C, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x008A4E3C, // TrackElemType::RightQuarterTurn1TileUp60 + 0x008A4E4C, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x008A4E6C, // TrackElemType::RightQuarterTurn1TileDown60 + 0x008A4E7C, // TrackElemType::Brakes 0, 0, 0, @@ -124,13 +124,13 @@ static constexpr const uint32_t _OldSpiralRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A50CC, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008A50DC, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0x008A50CC, // TrackElemType::Up25LeftBanked + 0x008A50DC, // TrackElemType::Up25RightBanked 0, 0, - 0x008A4E8C, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008A50EC, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008A50FC, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0x008A4E8C, // TrackElemType::OnRidePhoto + 0x008A50EC, // TrackElemType::Down25LeftBanked + 0x008A50FC, // TrackElemType::Down25RightBanked 0, 0, 0, @@ -147,45 +147,45 @@ static constexpr const uint32_t _OldSpiralRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A4EAC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A4EBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A4ECC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A4EDC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A4EEC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A4EFC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A4F0C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A4F1C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A4E9C, // TRACK_ELEM_DIAG_FLAT - 0x008A4F4C, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A4FAC, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A4F2C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A4F8C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A4F9C, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A4F3C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A4F7C, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A4FDC, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A4F5C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A4FBC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A4FCC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A4F6C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008A4EAC, // TrackElemType::LeftEighthToDiag + 0x008A4EBC, // TrackElemType::RightEighthToDiag + 0x008A4ECC, // TrackElemType::LeftEighthToOrthogonal + 0x008A4EDC, // TrackElemType::RightEighthToOrthogonal + 0x008A4EEC, // TrackElemType::LeftEighthBankToDiag + 0x008A4EFC, // TrackElemType::RightEighthBankToDiag + 0x008A4F0C, // TrackElemType::LeftEighthBankToOrthogonal + 0x008A4F1C, // TrackElemType::RightEighthBankToOrthogonal + 0x008A4E9C, // TrackElemType::DiagFlat + 0x008A4F4C, // TrackElemType::DiagUp25 + 0x008A4FAC, // TrackElemType::DiagUp60 + 0x008A4F2C, // TrackElemType::DiagFlatToUp25 + 0x008A4F8C, // TrackElemType::DiagUp25ToUp60 + 0x008A4F9C, // TrackElemType::DiagUp60ToUp25 + 0x008A4F3C, // TrackElemType::DiagUp25ToFlat + 0x008A4F7C, // TrackElemType::DiagDown25 + 0x008A4FDC, // TrackElemType::DiagDown60 + 0x008A4F5C, // TrackElemType::DiagFlatToDown25 + 0x008A4FBC, // TrackElemType::DiagDown25ToDown60 + 0x008A4FCC, // TrackElemType::DiagDown60ToDown25 + 0x008A4F6C, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008A500C, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A501C, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A502C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A503C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A506C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A507C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A504C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A505C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A508C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A509C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A50AC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A50BC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A4FEC, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A4FFC, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008A500C, // TrackElemType::DiagFlatToLeftBank + 0x008A501C, // TrackElemType::DiagFlatToRightBank + 0x008A502C, // TrackElemType::DiagLeftBankToFlat + 0x008A503C, // TrackElemType::DiagRightBankToFlat + 0x008A506C, // TrackElemType::DiagLeftBankToUp25 + 0x008A507C, // TrackElemType::DiagRightBankToUp25 + 0x008A504C, // TrackElemType::DiagUp25ToLeftBank + 0x008A505C, // TrackElemType::DiagUp25ToRightBank + 0x008A508C, // TrackElemType::DiagLeftBankToDown25 + 0x008A509C, // TrackElemType::DiagRightBankToDown25 + 0x008A50AC, // TrackElemType::DiagDown25ToLeftBank + 0x008A50BC, // TrackElemType::DiagDown25ToRightBank + 0x008A4FEC, // TrackElemType::DiagLeftBank + 0x008A4FFC, // TrackElemType::DiagRightBank 0, 0, 0, @@ -223,46 +223,46 @@ static constexpr const uint32_t _OldSpiralRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A531C, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL - 0x008A532C, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL + 0x008A531C, // TrackElemType::LeftCurvedLiftHill + 0x008A532C, // TrackElemType::RightCurvedLiftHill 0, 0, 0, 0, 0, - 0x008A530C, // TRACK_ELEM_BLOCK_BRAKES - 0x008A510C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A511C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A512C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A513C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A514C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A515C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A516C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A517C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A518C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008A519C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008A51AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A51BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A51CC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A51DC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A51EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A51FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A520C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A521C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A524C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008A525C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008A526C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A527C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A522C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008A523C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008A528C, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A529C, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A52AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008A52BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008A52CC, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A52DC, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A52EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A52FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008A530C, // TrackElemType::BlockBrakes + 0x008A510C, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + 0x008A511C, // TrackElemType::RightBankedQuarterTurn3TileUp25 + 0x008A512C, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + 0x008A513C, // TrackElemType::RightBankedQuarterTurn3TileDown25 + 0x008A514C, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + 0x008A515C, // TrackElemType::RightBankedQuarterTurn5TileUp25 + 0x008A516C, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + 0x008A517C, // TrackElemType::RightBankedQuarterTurn5TileDown25 + 0x008A518C, // TrackElemType::Up25ToLeftBankedUp25 + 0x008A519C, // TrackElemType::Up25ToRightBankedUp25 + 0x008A51AC, // TrackElemType::LeftBankedUp25ToUp25 + 0x008A51BC, // TrackElemType::RightBankedUp25ToUp25 + 0x008A51CC, // TrackElemType::Down25ToLeftBankedDown25 + 0x008A51DC, // TrackElemType::Down25ToRightBankedDown25 + 0x008A51EC, // TrackElemType::LeftBankedDown25ToDown25 + 0x008A51FC, // TrackElemType::RightBankedDown25ToDown25 + 0x008A520C, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + 0x008A521C, // TrackElemType::RightBankedFlatToRightBankedUp25 + 0x008A524C, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + 0x008A525C, // TrackElemType::RightBankedUp25ToRightBankedFlat + 0x008A526C, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + 0x008A527C, // TrackElemType::RightBankedFlatToRightBankedDown25 + 0x008A522C, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + 0x008A523C, // TrackElemType::RightBankedDown25ToRightBankedFlat + 0x008A528C, // TrackElemType::FlatToLeftBankedUp25 + 0x008A529C, // TrackElemType::FlatToRightBankedUp25 + 0x008A52AC, // TrackElemType::LeftBankedUp25ToFlat + 0x008A52BC, // TrackElemType::RightBankedUp25ToFlat + 0x008A52CC, // TrackElemType::FlatToLeftBankedDown25 + 0x008A52DC, // TrackElemType::FlatToRightBankedDown25 + 0x008A52EC, // TrackElemType::LeftBankedDown25ToFlat + 0x008A52FC, // TrackElemType::RightBankedDown25ToFlat 0, 0, 0, @@ -274,68 +274,68 @@ static constexpr const uint32_t _OldSpiralRollerCoasterTrackPaintFunctions[256] /** rct2: 0x008A6DB0 */ static constexpr const uint32_t _OldStandUpRollerCoasterTrackPaintFunctions[256] = { - 0x008A7114, // TRACK_ELEM_FLAT - 0x008A7384, // TRACK_ELEM_END_STATION - 0x008A7394, // TRACK_ELEM_BEGIN_STATION - 0x008A73A4, // TRACK_ELEM_MIDDLE_STATION - 0x008A7124, // TRACK_ELEM_25_DEG_UP - 0x008A7134, // TRACK_ELEM_60_DEG_UP - 0x008A7144, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A7154, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A7164, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A7174, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A7184, // TRACK_ELEM_25_DEG_DOWN - 0x008A7194, // TRACK_ELEM_60_DEG_DOWN - 0x008A71A4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A71B4, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A71C4, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A71D4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A71E4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A71F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A7204, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A7214, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A7224, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A7234, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A7244, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A7254, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A7264, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A7274, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A7284, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A7294, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A72A4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A72B4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A72C4, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A72D4, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A72E4, // TRACK_ELEM_LEFT_BANK - 0x008A72F4, // TRACK_ELEM_RIGHT_BANK - 0x008A7304, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A7314, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A7324, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A7334, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A7344, // TRACK_ELEM_S_BEND_LEFT - 0x008A7354, // TRACK_ELEM_S_BEND_RIGHT - 0x008A7364, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008A7374, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008A73B4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A73C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A73D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A73E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A73F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A7404, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A7414, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A7424, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A7114, // TrackElemType::Flat + 0x008A7384, // TrackElemType::EndStation + 0x008A7394, // TrackElemType::BeginStation + 0x008A73A4, // TrackElemType::MiddleStation + 0x008A7124, // TrackElemType::Up25 + 0x008A7134, // TrackElemType::Up60 + 0x008A7144, // TrackElemType::FlatToUp25 + 0x008A7154, // TrackElemType::Up25ToUp60 + 0x008A7164, // TrackElemType::Up60ToUp25 + 0x008A7174, // TrackElemType::Up25ToFlat + 0x008A7184, // TrackElemType::Down25 + 0x008A7194, // TrackElemType::Down60 + 0x008A71A4, // TrackElemType::FlatToDown25 + 0x008A71B4, // TrackElemType::Down25ToDown60 + 0x008A71C4, // TrackElemType::Down60ToDown25 + 0x008A71D4, // TrackElemType::Down25ToFlat + 0x008A71E4, // TrackElemType::LeftQuarterTurn5Tiles + 0x008A71F4, // TrackElemType::RightQuarterTurn5Tiles + 0x008A7204, // TrackElemType::FlatToLeftBank + 0x008A7214, // TrackElemType::FlatToRightBank + 0x008A7224, // TrackElemType::LeftBankToFlat + 0x008A7234, // TrackElemType::RightBankToFlat + 0x008A7244, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008A7254, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008A7264, // TrackElemType::LeftBankToUp25 + 0x008A7274, // TrackElemType::RightBankToUp25 + 0x008A7284, // TrackElemType::Up25ToLeftBank + 0x008A7294, // TrackElemType::Up25ToRightBank + 0x008A72A4, // TrackElemType::LeftBankToDown25 + 0x008A72B4, // TrackElemType::RightBankToDown25 + 0x008A72C4, // TrackElemType::Down25ToLeftBank + 0x008A72D4, // TrackElemType::Down25ToRightBank + 0x008A72E4, // TrackElemType::LeftBank + 0x008A72F4, // TrackElemType::RightBank + 0x008A7304, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008A7314, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008A7324, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008A7334, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008A7344, // TrackElemType::SBendLeft + 0x008A7354, // TrackElemType::SBendRight + 0x008A7364, // TrackElemType::LeftVerticalLoop + 0x008A7374, // TrackElemType::RightVerticalLoop + 0x008A73B4, // TrackElemType::LeftQuarterTurn3Tiles + 0x008A73C4, // TrackElemType::RightQuarterTurn3Tiles + 0x008A73D4, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008A73E4, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008A73F4, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008A7404, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008A7414, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008A7424, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, 0, 0, 0, - 0x008A7434, // TRACK_ELEM_HALF_LOOP_UP - 0x008A7444, // TRACK_ELEM_HALF_LOOP_DOWN - 0x008A7454, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008A7464, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008A7474, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008A7484, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0x008A7434, // TrackElemType::HalfLoopUp + 0x008A7444, // TrackElemType::HalfLoopDown + 0x008A7454, // TrackElemType::LeftCorkscrewUp + 0x008A7464, // TrackElemType::RightCorkscrewUp + 0x008A7474, // TrackElemType::LeftCorkscrewDown + 0x008A7484, // TrackElemType::RightCorkscrewDown 0, 0, 0, @@ -361,19 +361,19 @@ static constexpr const uint32_t _OldStandUpRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A7734, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A7744, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A7754, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A7764, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A76F4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A7704, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A7714, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A7724, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008A7734, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008A7744, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008A7754, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008A7764, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008A76F4, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008A7704, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008A7714, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008A7724, // TrackElemType::RightHalfBankedHelixDownLarge 0, 0, 0, 0, - 0x008A7494, // TRACK_ELEM_BRAKES + 0x008A7494, // TrackElemType::Brakes 0, 0, 0, @@ -388,7 +388,7 @@ static constexpr const uint32_t _OldStandUpRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A74A4, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008A74A4, // TrackElemType::OnRidePhoto 0, 0, 0, @@ -407,45 +407,45 @@ static constexpr const uint32_t _OldStandUpRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A74B4, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A74C4, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A74D4, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A74E4, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A76A4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A76B4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A76C4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A76D4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A74F4, // TRACK_ELEM_DIAG_FLAT - 0x008A7524, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A7584, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A7504, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A7564, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A7574, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A7514, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A7554, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A75B4, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A7534, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A7594, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A75A4, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A7544, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008A74B4, // TrackElemType::LeftEighthToDiag + 0x008A74C4, // TrackElemType::RightEighthToDiag + 0x008A74D4, // TrackElemType::LeftEighthToOrthogonal + 0x008A74E4, // TrackElemType::RightEighthToOrthogonal + 0x008A76A4, // TrackElemType::LeftEighthBankToDiag + 0x008A76B4, // TrackElemType::RightEighthBankToDiag + 0x008A76C4, // TrackElemType::LeftEighthBankToOrthogonal + 0x008A76D4, // TrackElemType::RightEighthBankToOrthogonal + 0x008A74F4, // TrackElemType::DiagFlat + 0x008A7524, // TrackElemType::DiagUp25 + 0x008A7584, // TrackElemType::DiagUp60 + 0x008A7504, // TrackElemType::DiagFlatToUp25 + 0x008A7564, // TrackElemType::DiagUp25ToUp60 + 0x008A7574, // TrackElemType::DiagUp60ToUp25 + 0x008A7514, // TrackElemType::DiagUp25ToFlat + 0x008A7554, // TrackElemType::DiagDown25 + 0x008A75B4, // TrackElemType::DiagDown60 + 0x008A7534, // TrackElemType::DiagFlatToDown25 + 0x008A7594, // TrackElemType::DiagDown25ToDown60 + 0x008A75A4, // TrackElemType::DiagDown60ToDown25 + 0x008A7544, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008A75E4, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A75F4, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A7604, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A7614, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A7644, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A7654, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A7624, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A7634, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A7664, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A7674, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A7684, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A7694, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A75C4, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A75D4, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008A75E4, // TrackElemType::DiagFlatToLeftBank + 0x008A75F4, // TrackElemType::DiagFlatToRightBank + 0x008A7604, // TrackElemType::DiagLeftBankToFlat + 0x008A7614, // TrackElemType::DiagRightBankToFlat + 0x008A7644, // TrackElemType::DiagLeftBankToUp25 + 0x008A7654, // TrackElemType::DiagRightBankToUp25 + 0x008A7624, // TrackElemType::DiagUp25ToLeftBank + 0x008A7634, // TrackElemType::DiagUp25ToRightBank + 0x008A7664, // TrackElemType::DiagLeftBankToDown25 + 0x008A7674, // TrackElemType::DiagRightBankToDown25 + 0x008A7684, // TrackElemType::DiagDown25ToLeftBank + 0x008A7694, // TrackElemType::DiagDown25ToRightBank + 0x008A75C4, // TrackElemType::DiagLeftBank + 0x008A75D4, // TrackElemType::DiagRightBank 0, 0, 0, @@ -490,7 +490,7 @@ static constexpr const uint32_t _OldStandUpRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A76E4, // TRACK_ELEM_BLOCK_BRAKES + 0x008A76E4, // TrackElemType::BlockBrakes 0, 0, 0, @@ -534,24 +534,24 @@ static constexpr const uint32_t _OldStandUpRollerCoasterTrackPaintFunctions[256] /** rct2: 0x008A85E4 */ static constexpr const uint32_t _OldSuspendedSwingingCoasterTrackPaintFunctions[256] = { - 0x008A8958, // TRACK_ELEM_FLAT - 0x008A8AA8, // TRACK_ELEM_END_STATION - 0x008A8AB8, // TRACK_ELEM_BEGIN_STATION - 0x008A8AC8, // TRACK_ELEM_MIDDLE_STATION - 0x008A8968, // TRACK_ELEM_25_DEG_UP - 0x008A8978, // TRACK_ELEM_60_DEG_UP - 0x008A8988, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A8998, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A89A8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A89B8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A89C8, // TRACK_ELEM_25_DEG_DOWN - 0x008A89D8, // TRACK_ELEM_60_DEG_DOWN - 0x008A89E8, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A89F8, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A8A08, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A8A18, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A8A28, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A8A38, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008A8958, // TrackElemType::Flat + 0x008A8AA8, // TrackElemType::EndStation + 0x008A8AB8, // TrackElemType::BeginStation + 0x008A8AC8, // TrackElemType::MiddleStation + 0x008A8968, // TrackElemType::Up25 + 0x008A8978, // TrackElemType::Up60 + 0x008A8988, // TrackElemType::FlatToUp25 + 0x008A8998, // TrackElemType::Up25ToUp60 + 0x008A89A8, // TrackElemType::Up60ToUp25 + 0x008A89B8, // TrackElemType::Up25ToFlat + 0x008A89C8, // TrackElemType::Down25 + 0x008A89D8, // TrackElemType::Down60 + 0x008A89E8, // TrackElemType::FlatToDown25 + 0x008A89F8, // TrackElemType::Down25ToDown60 + 0x008A8A08, // TrackElemType::Down60ToDown25 + 0x008A8A18, // TrackElemType::Down25ToFlat + 0x008A8A28, // TrackElemType::LeftQuarterTurn5Tiles + 0x008A8A38, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -568,22 +568,22 @@ static constexpr const uint32_t _OldSuspendedSwingingCoasterTrackPaintFunctions[ 0, 0, 0, - 0x008A8A48, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A8A58, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A8A68, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A8A78, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A8A88, // TRACK_ELEM_S_BEND_LEFT - 0x008A8A98, // TRACK_ELEM_S_BEND_RIGHT + 0x008A8A48, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008A8A58, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008A8A68, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008A8A78, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008A8A88, // TrackElemType::SBendLeft + 0x008A8A98, // TrackElemType::SBendRight 0, 0, - 0x008A8AD8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A8AE8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008A8AD8, // TrackElemType::LeftQuarterTurn3Tiles + 0x008A8AE8, // TrackElemType::RightQuarterTurn3Tiles 0, 0, - 0x008A8AF8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A8B08, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A8B18, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A8B28, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A8AF8, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008A8B08, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008A8B18, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008A8B28, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -633,17 +633,17 @@ static constexpr const uint32_t _OldSuspendedSwingingCoasterTrackPaintFunctions[ 0, 0, 0, - 0x008A8B38, // TRACK_ELEM_BRAKES + 0x008A8B38, // TrackElemType::Brakes 0, 0, 0, 0, 0, 0, - 0x008A8B48, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP - 0x008A8B58, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP - 0x008A8B68, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN - 0x008A8B78, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN + 0x008A8B48, // TrackElemType::LeftQuarterHelixLargeUp + 0x008A8B58, // TrackElemType::RightQuarterHelixLargeUp + 0x008A8B68, // TrackElemType::LeftQuarterHelixLargeDown + 0x008A8B78, // TrackElemType::RightQuarterHelixLargeDown 0, 0, 0, @@ -667,27 +667,27 @@ static constexpr const uint32_t _OldSuspendedSwingingCoasterTrackPaintFunctions[ 0, 0, 0, - 0x008A8B88, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A8B98, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A8BA8, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A8BB8, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008A8B88, // TrackElemType::LeftEighthToDiag + 0x008A8B98, // TrackElemType::RightEighthToDiag + 0x008A8BA8, // TrackElemType::LeftEighthToOrthogonal + 0x008A8BB8, // TrackElemType::RightEighthToOrthogonal 0, 0, 0, 0, - 0x008A8BC8, // TRACK_ELEM_DIAG_FLAT - 0x008A8BF8, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A8C58, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A8BD8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A8C38, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A8C48, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A8BE8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A8C28, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A8C88, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A8C08, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A8C68, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A8C78, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A8C18, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008A8BC8, // TrackElemType::DiagFlat + 0x008A8BF8, // TrackElemType::DiagUp25 + 0x008A8C58, // TrackElemType::DiagUp60 + 0x008A8BD8, // TrackElemType::DiagFlatToUp25 + 0x008A8C38, // TrackElemType::DiagUp25ToUp60 + 0x008A8C48, // TrackElemType::DiagUp60ToUp25 + 0x008A8BE8, // TrackElemType::DiagUp25ToFlat + 0x008A8C28, // TrackElemType::DiagDown25 + 0x008A8C88, // TrackElemType::DiagDown60 + 0x008A8C08, // TrackElemType::DiagFlatToDown25 + 0x008A8C68, // TrackElemType::DiagDown25ToDown60 + 0x008A8C78, // TrackElemType::DiagDown60ToDown25 + 0x008A8C18, // TrackElemType::DiagDown25ToFlat 0, 0, 0, @@ -750,7 +750,7 @@ static constexpr const uint32_t _OldSuspendedSwingingCoasterTrackPaintFunctions[ 0, 0, 0, - 0x008A8B38, // TRACK_ELEM_BLOCK_BRAKES + 0x008A8B38, // TrackElemType::BlockBrakes 0, 0, 0, @@ -794,68 +794,68 @@ static constexpr const uint32_t _OldSuspendedSwingingCoasterTrackPaintFunctions[ /** rct2: 0x008A8EE4 */ static constexpr const uint32_t _OldInvertedRollerCoasterTrackPaintFunctions[256] = { - 0x008A92E8, // TRACK_ELEM_FLAT - 0x008A9558, // TRACK_ELEM_END_STATION - 0x008A9568, // TRACK_ELEM_BEGIN_STATION - 0x008A9578, // TRACK_ELEM_MIDDLE_STATION - 0x008A92F8, // TRACK_ELEM_25_DEG_UP - 0x008A9308, // TRACK_ELEM_60_DEG_UP - 0x008A9318, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A9328, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A9338, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A9348, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A9358, // TRACK_ELEM_25_DEG_DOWN - 0x008A9368, // TRACK_ELEM_60_DEG_DOWN - 0x008A9378, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A9388, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A9398, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A93A8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A93B8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A93C8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A93D8, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A93E8, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A93F8, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A9408, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A9418, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A9428, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A9438, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A9448, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A9458, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A9468, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A9478, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A9488, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A9498, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A94A8, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A94B8, // TRACK_ELEM_LEFT_BANK - 0x008A94C8, // TRACK_ELEM_RIGHT_BANK - 0x008A94D8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A94E8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A94F8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A9508, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A9518, // TRACK_ELEM_S_BEND_LEFT - 0x008A9528, // TRACK_ELEM_S_BEND_RIGHT - 0x008A9538, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008A9548, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008A9588, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A9598, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A95A8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A95B8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A95C8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A95D8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A95E8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A95F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A92E8, // TrackElemType::Flat + 0x008A9558, // TrackElemType::EndStation + 0x008A9568, // TrackElemType::BeginStation + 0x008A9578, // TrackElemType::MiddleStation + 0x008A92F8, // TrackElemType::Up25 + 0x008A9308, // TrackElemType::Up60 + 0x008A9318, // TrackElemType::FlatToUp25 + 0x008A9328, // TrackElemType::Up25ToUp60 + 0x008A9338, // TrackElemType::Up60ToUp25 + 0x008A9348, // TrackElemType::Up25ToFlat + 0x008A9358, // TrackElemType::Down25 + 0x008A9368, // TrackElemType::Down60 + 0x008A9378, // TrackElemType::FlatToDown25 + 0x008A9388, // TrackElemType::Down25ToDown60 + 0x008A9398, // TrackElemType::Down60ToDown25 + 0x008A93A8, // TrackElemType::Down25ToFlat + 0x008A93B8, // TrackElemType::LeftQuarterTurn5Tiles + 0x008A93C8, // TrackElemType::RightQuarterTurn5Tiles + 0x008A93D8, // TrackElemType::FlatToLeftBank + 0x008A93E8, // TrackElemType::FlatToRightBank + 0x008A93F8, // TrackElemType::LeftBankToFlat + 0x008A9408, // TrackElemType::RightBankToFlat + 0x008A9418, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008A9428, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008A9438, // TrackElemType::LeftBankToUp25 + 0x008A9448, // TrackElemType::RightBankToUp25 + 0x008A9458, // TrackElemType::Up25ToLeftBank + 0x008A9468, // TrackElemType::Up25ToRightBank + 0x008A9478, // TrackElemType::LeftBankToDown25 + 0x008A9488, // TrackElemType::RightBankToDown25 + 0x008A9498, // TrackElemType::Down25ToLeftBank + 0x008A94A8, // TrackElemType::Down25ToRightBank + 0x008A94B8, // TrackElemType::LeftBank + 0x008A94C8, // TrackElemType::RightBank + 0x008A94D8, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008A94E8, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008A94F8, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008A9508, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008A9518, // TrackElemType::SBendLeft + 0x008A9528, // TrackElemType::SBendRight + 0x008A9538, // TrackElemType::LeftVerticalLoop + 0x008A9548, // TrackElemType::RightVerticalLoop + 0x008A9588, // TrackElemType::LeftQuarterTurn3Tiles + 0x008A9598, // TrackElemType::RightQuarterTurn3Tiles + 0x008A95A8, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008A95B8, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008A95C8, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008A95D8, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008A95E8, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008A95F8, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, - 0x008A9608, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - 0x008A9618, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - 0x008A9628, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - 0x008A9638, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - 0x008A9648, // TRACK_ELEM_HALF_LOOP_UP - 0x008A9658, // TRACK_ELEM_HALF_LOOP_DOWN - 0x008A9668, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008A9678, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008A9688, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008A9698, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0x008A9608, // TrackElemType::LeftTwistDownToUp + 0x008A9618, // TrackElemType::RightTwistDownToUp + 0x008A9628, // TrackElemType::LeftTwistUpToDown + 0x008A9638, // TrackElemType::RightTwistUpToDown + 0x008A9648, // TrackElemType::HalfLoopUp + 0x008A9658, // TrackElemType::HalfLoopDown + 0x008A9668, // TrackElemType::LeftCorkscrewUp + 0x008A9678, // TrackElemType::RightCorkscrewUp + 0x008A9688, // TrackElemType::LeftCorkscrewDown + 0x008A9698, // TrackElemType::RightCorkscrewDown 0, 0, 0, @@ -889,28 +889,28 @@ static constexpr const uint32_t _OldInvertedRollerCoasterTrackPaintFunctions[256 0, 0, 0, - 0x008A96D8, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A96B8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A96C8, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A96E8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A96A8, // TRACK_ELEM_BRAKES + 0x008A96D8, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x008A96B8, // TrackElemType::RightQuarterTurn1TileUp60 + 0x008A96C8, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x008A96E8, // TrackElemType::RightQuarterTurn1TileDown60 + 0x008A96A8, // TrackElemType::Brakes 0, 0, - 0x008A96F8, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - 0x008A9708, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - 0x008A9718, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - 0x008A9728, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + 0x008A96F8, // TrackElemType::LeftQuarterBankedHelixLargeUp + 0x008A9708, // TrackElemType::RightQuarterBankedHelixLargeUp + 0x008A9718, // TrackElemType::LeftQuarterBankedHelixLargeDown + 0x008A9728, // TrackElemType::RightQuarterBankedHelixLargeDown 0, 0, 0, 0, - 0x008A9A38, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008A9A48, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0x008A9A38, // TrackElemType::Up25LeftBanked + 0x008A9A48, // TrackElemType::Up25RightBanked 0, 0, - 0x008A9738, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008A9A58, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008A9A68, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0x008A9738, // TrackElemType::OnRidePhoto + 0x008A9A58, // TrackElemType::Down25LeftBanked + 0x008A9A68, // TrackElemType::Down25RightBanked 0, 0, 0, @@ -927,45 +927,45 @@ static constexpr const uint32_t _OldInvertedRollerCoasterTrackPaintFunctions[256 0, 0, 0, - 0x008A9748, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A9758, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A9768, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A9778, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A9938, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A9948, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A9958, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A9968, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A9788, // TRACK_ELEM_DIAG_FLAT - 0x008A97B8, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A9818, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A9798, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A97F8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A9808, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A97A8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A97E8, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A9848, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A97C8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A9828, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A9838, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A97D8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008A9748, // TrackElemType::LeftEighthToDiag + 0x008A9758, // TrackElemType::RightEighthToDiag + 0x008A9768, // TrackElemType::LeftEighthToOrthogonal + 0x008A9778, // TrackElemType::RightEighthToOrthogonal + 0x008A9938, // TrackElemType::LeftEighthBankToDiag + 0x008A9948, // TrackElemType::RightEighthBankToDiag + 0x008A9958, // TrackElemType::LeftEighthBankToOrthogonal + 0x008A9968, // TrackElemType::RightEighthBankToOrthogonal + 0x008A9788, // TrackElemType::DiagFlat + 0x008A97B8, // TrackElemType::DiagUp25 + 0x008A9818, // TrackElemType::DiagUp60 + 0x008A9798, // TrackElemType::DiagFlatToUp25 + 0x008A97F8, // TrackElemType::DiagUp25ToUp60 + 0x008A9808, // TrackElemType::DiagUp60ToUp25 + 0x008A97A8, // TrackElemType::DiagUp25ToFlat + 0x008A97E8, // TrackElemType::DiagDown25 + 0x008A9848, // TrackElemType::DiagDown60 + 0x008A97C8, // TrackElemType::DiagFlatToDown25 + 0x008A9828, // TrackElemType::DiagDown25ToDown60 + 0x008A9838, // TrackElemType::DiagDown60ToDown25 + 0x008A97D8, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008A9878, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A9888, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A9898, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A98A8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A98D8, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A98E8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A98B8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A98C8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A98F8, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A9908, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A9918, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A9928, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A9858, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A9868, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008A9878, // TrackElemType::DiagFlatToLeftBank + 0x008A9888, // TrackElemType::DiagFlatToRightBank + 0x008A9898, // TrackElemType::DiagLeftBankToFlat + 0x008A98A8, // TrackElemType::DiagRightBankToFlat + 0x008A98D8, // TrackElemType::DiagLeftBankToUp25 + 0x008A98E8, // TrackElemType::DiagRightBankToUp25 + 0x008A98B8, // TrackElemType::DiagUp25ToLeftBank + 0x008A98C8, // TrackElemType::DiagUp25ToRightBank + 0x008A98F8, // TrackElemType::DiagLeftBankToDown25 + 0x008A9908, // TrackElemType::DiagRightBankToDown25 + 0x008A9918, // TrackElemType::DiagDown25ToLeftBank + 0x008A9928, // TrackElemType::DiagDown25ToRightBank + 0x008A9858, // TrackElemType::DiagLeftBank + 0x008A9868, // TrackElemType::DiagRightBank 0, 0, 0, @@ -977,10 +977,10 @@ static constexpr const uint32_t _OldInvertedRollerCoasterTrackPaintFunctions[256 0, 0, 0, - 0x008A9978, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - 0x008A9988, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - 0x008A9998, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - 0x008A99A8, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN + 0x008A9978, // TrackElemType::LeftLargeHalfLoopUp + 0x008A9988, // TrackElemType::RightLargeHalfLoopUp + 0x008A9998, // TrackElemType::RightLargeHalfLoopDown + 0x008A99A8, // TrackElemType::LeftLargeHalfLoopDown 0, 0, 0, @@ -1010,39 +1010,39 @@ static constexpr const uint32_t _OldInvertedRollerCoasterTrackPaintFunctions[256 0, 0, 0, - 0x008A96A8, // TRACK_ELEM_BLOCK_BRAKES - 0x008A9A78, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A9A88, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A9A98, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A9AA8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A9BB8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A9BC8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A9BD8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A9BE8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A9AB8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008A9AC8, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008A9AD8, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A9AE8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A9AF8, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A9B08, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A9B18, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A9B28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A9B38, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A9B48, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A9B58, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008A9B68, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008A9B78, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A9B88, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A9B98, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008A9BA8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008A99B8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A99C8, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A99D8, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008A99E8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008A99F8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A9A08, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A9A18, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A9A28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008A96A8, // TrackElemType::BlockBrakes + 0x008A9A78, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + 0x008A9A88, // TrackElemType::RightBankedQuarterTurn3TileUp25 + 0x008A9A98, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + 0x008A9AA8, // TrackElemType::RightBankedQuarterTurn3TileDown25 + 0x008A9BB8, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + 0x008A9BC8, // TrackElemType::RightBankedQuarterTurn5TileUp25 + 0x008A9BD8, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + 0x008A9BE8, // TrackElemType::RightBankedQuarterTurn5TileDown25 + 0x008A9AB8, // TrackElemType::Up25ToLeftBankedUp25 + 0x008A9AC8, // TrackElemType::Up25ToRightBankedUp25 + 0x008A9AD8, // TrackElemType::LeftBankedUp25ToUp25 + 0x008A9AE8, // TrackElemType::RightBankedUp25ToUp25 + 0x008A9AF8, // TrackElemType::Down25ToLeftBankedDown25 + 0x008A9B08, // TrackElemType::Down25ToRightBankedDown25 + 0x008A9B18, // TrackElemType::LeftBankedDown25ToDown25 + 0x008A9B28, // TrackElemType::RightBankedDown25ToDown25 + 0x008A9B38, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + 0x008A9B48, // TrackElemType::RightBankedFlatToRightBankedUp25 + 0x008A9B58, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + 0x008A9B68, // TrackElemType::RightBankedUp25ToRightBankedFlat + 0x008A9B78, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + 0x008A9B88, // TrackElemType::RightBankedFlatToRightBankedDown25 + 0x008A9B98, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + 0x008A9BA8, // TrackElemType::RightBankedDown25ToRightBankedFlat + 0x008A99B8, // TrackElemType::FlatToLeftBankedUp25 + 0x008A99C8, // TrackElemType::FlatToRightBankedUp25 + 0x008A99D8, // TrackElemType::LeftBankedUp25ToFlat + 0x008A99E8, // TrackElemType::RightBankedUp25ToFlat + 0x008A99F8, // TrackElemType::FlatToLeftBankedDown25 + 0x008A9A08, // TrackElemType::FlatToRightBankedDown25 + 0x008A9A18, // TrackElemType::LeftBankedDown25ToFlat + 0x008A9A28, // TrackElemType::RightBankedDown25ToFlat 0, 0, 0, @@ -1054,56 +1054,56 @@ static constexpr const uint32_t _OldInvertedRollerCoasterTrackPaintFunctions[256 /** rct2: 0x008AAA0C */ static constexpr const uint32_t _OldJuniorRollerCoasterTrackPaintFunctions[256] = { - 0x008AAD80, // TRACK_ELEM_FLAT - 0x008AAE70, // TRACK_ELEM_END_STATION - 0x008AAE80, // TRACK_ELEM_BEGIN_STATION - 0x008AAE90, // TRACK_ELEM_MIDDLE_STATION - 0x008AAD90, // TRACK_ELEM_25_DEG_UP + 0x008AAD80, // TrackElemType::Flat + 0x008AAE70, // TrackElemType::EndStation + 0x008AAE80, // TrackElemType::BeginStation + 0x008AAE90, // TrackElemType::MiddleStation + 0x008AAD90, // TrackElemType::Up25 0, - 0x008AADA0, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008AADA0, // TrackElemType::FlatToUp25 0, 0, - 0x008AADB0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AADC0, // TRACK_ELEM_25_DEG_DOWN + 0x008AADB0, // TrackElemType::Up25ToFlat + 0x008AADC0, // TrackElemType::Down25 0, - 0x008AADD0, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008AADD0, // TrackElemType::FlatToDown25 0, 0, - 0x008AADE0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AADF0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AAE00, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AAFC0, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AAFD0, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AAFE0, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AAFF0, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AB000, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AB010, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AB020, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AB030, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AB040, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AB050, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AB060, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AB070, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AB080, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AB090, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AB0A0, // TRACK_ELEM_LEFT_BANK - 0x008AB0B0, // TRACK_ELEM_RIGHT_BANK - 0x008AAE10, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AAE20, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AAE30, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AAE40, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AAE50, // TRACK_ELEM_S_BEND_LEFT - 0x008AAE60, // TRACK_ELEM_S_BEND_RIGHT + 0x008AADE0, // TrackElemType::Down25ToFlat + 0x008AADF0, // TrackElemType::LeftQuarterTurn5Tiles + 0x008AAE00, // TrackElemType::RightQuarterTurn5Tiles + 0x008AAFC0, // TrackElemType::FlatToLeftBank + 0x008AAFD0, // TrackElemType::FlatToRightBank + 0x008AAFE0, // TrackElemType::LeftBankToFlat + 0x008AAFF0, // TrackElemType::RightBankToFlat + 0x008AB000, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008AB010, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008AB020, // TrackElemType::LeftBankToUp25 + 0x008AB030, // TrackElemType::RightBankToUp25 + 0x008AB040, // TrackElemType::Up25ToLeftBank + 0x008AB050, // TrackElemType::Up25ToRightBank + 0x008AB060, // TrackElemType::LeftBankToDown25 + 0x008AB070, // TrackElemType::RightBankToDown25 + 0x008AB080, // TrackElemType::Down25ToLeftBank + 0x008AB090, // TrackElemType::Down25ToRightBank + 0x008AB0A0, // TrackElemType::LeftBank + 0x008AB0B0, // TrackElemType::RightBank + 0x008AAE10, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008AAE20, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008AAE30, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008AAE40, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008AAE50, // TrackElemType::SBendLeft + 0x008AAE60, // TrackElemType::SBendRight 0, 0, - 0x008AAEA0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AAEB0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AB0C0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AB0D0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AAEC0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AAED0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AAEE0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AAEF0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AAEA0, // TrackElemType::LeftQuarterTurn3Tiles + 0x008AAEB0, // TrackElemType::RightQuarterTurn3Tiles + 0x008AB0C0, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008AB0D0, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008AAEC0, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008AAED0, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008AAEE0, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008AAEF0, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -1141,19 +1141,19 @@ static constexpr const uint32_t _OldJuniorRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008AB0E0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008AB0F0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008AB100, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AB110, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AB120, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008AB130, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008AB140, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008AB150, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008AB0E0, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008AB0F0, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008AB100, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008AB110, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008AB120, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008AB130, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008AB140, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008AB150, // TrackElemType::RightHalfBankedHelixDownLarge 0, 0, 0, 0, - 0x008AAF00, // TRACK_ELEM_BRAKES + 0x008AAF00, // TrackElemType::Brakes 0, 0, 0, @@ -1187,45 +1187,45 @@ static constexpr const uint32_t _OldJuniorRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008AAF80, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AAF90, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AAFA0, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AAFB0, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008AB160, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008AB170, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008AB180, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AB190, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AAF10, // TRACK_ELEM_DIAG_FLAT - 0x008AAF40, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008AAF80, // TrackElemType::LeftEighthToDiag + 0x008AAF90, // TrackElemType::RightEighthToDiag + 0x008AAFA0, // TrackElemType::LeftEighthToOrthogonal + 0x008AAFB0, // TrackElemType::RightEighthToOrthogonal + 0x008AB160, // TrackElemType::LeftEighthBankToDiag + 0x008AB170, // TrackElemType::RightEighthBankToDiag + 0x008AB180, // TrackElemType::LeftEighthBankToOrthogonal + 0x008AB190, // TrackElemType::RightEighthBankToOrthogonal + 0x008AAF10, // TrackElemType::DiagFlat + 0x008AAF40, // TrackElemType::DiagUp25 0, - 0x008AAF20, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008AAF20, // TrackElemType::DiagFlatToUp25 0, 0, - 0x008AAF30, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AAF70, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008AAF30, // TrackElemType::DiagUp25ToFlat + 0x008AAF70, // TrackElemType::DiagDown25 0, - 0x008AAF50, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008AAF50, // TrackElemType::DiagFlatToDown25 0, 0, - 0x008AAF60, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008AAF60, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008AB1C0, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008AB1D0, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008AB1E0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008AB1F0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008AB220, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008AB230, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008AB200, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008AB210, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008AB240, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008AB250, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AB260, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008AB270, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AB1A0, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008AB1B0, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008AB1C0, // TrackElemType::DiagFlatToLeftBank + 0x008AB1D0, // TrackElemType::DiagFlatToRightBank + 0x008AB1E0, // TrackElemType::DiagLeftBankToFlat + 0x008AB1F0, // TrackElemType::DiagRightBankToFlat + 0x008AB220, // TrackElemType::DiagLeftBankToUp25 + 0x008AB230, // TrackElemType::DiagRightBankToUp25 + 0x008AB200, // TrackElemType::DiagUp25ToLeftBank + 0x008AB210, // TrackElemType::DiagUp25ToRightBank + 0x008AB240, // TrackElemType::DiagLeftBankToDown25 + 0x008AB250, // TrackElemType::DiagRightBankToDown25 + 0x008AB260, // TrackElemType::DiagDown25ToLeftBank + 0x008AB270, // TrackElemType::DiagDown25ToRightBank + 0x008AB1A0, // TrackElemType::DiagLeftBank + 0x008AB1B0, // TrackElemType::DiagRightBank 0, 0, 0, @@ -1270,7 +1270,7 @@ static constexpr const uint32_t _OldJuniorRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008AB280, // TRACK_ELEM_BLOCK_BRAKES + 0x008AB280, // TrackElemType::BlockBrakes 0, 0, 0, @@ -1314,24 +1314,24 @@ static constexpr const uint32_t _OldJuniorRollerCoasterTrackPaintFunctions[256] /** rct2: 0x008ACE48 */ static constexpr const uint32_t _OldMiniatureRailwayTrackPaintFunctions[256] = { - 0x008AD0C0, // TRACK_ELEM_FLAT - 0x008AD170, // TRACK_ELEM_END_STATION - 0x008AD180, // TRACK_ELEM_BEGIN_STATION - 0x008AD190, // TRACK_ELEM_MIDDLE_STATION - 0x008AD0D0, // TRACK_ELEM_25_DEG_UP + 0x008AD0C0, // TrackElemType::Flat + 0x008AD170, // TrackElemType::EndStation + 0x008AD180, // TrackElemType::BeginStation + 0x008AD190, // TrackElemType::MiddleStation + 0x008AD0D0, // TrackElemType::Up25 0, - 0x008AD0E0, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008AD0E0, // TrackElemType::FlatToUp25 0, 0, - 0x008AD0F0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AD100, // TRACK_ELEM_25_DEG_DOWN + 0x008AD0F0, // TrackElemType::Up25ToFlat + 0x008AD100, // TrackElemType::Down25 0, - 0x008AD110, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008AD110, // TrackElemType::FlatToDown25 0, 0, - 0x008AD120, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AD130, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AD140, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008AD120, // TrackElemType::Down25ToFlat + 0x008AD130, // TrackElemType::LeftQuarterTurn5Tiles + 0x008AD140, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -1352,12 +1352,12 @@ static constexpr const uint32_t _OldMiniatureRailwayTrackPaintFunctions[256] = { 0, 0, 0, - 0x008AD150, // TRACK_ELEM_S_BEND_LEFT - 0x008AD160, // TRACK_ELEM_S_BEND_RIGHT + 0x008AD150, // TrackElemType::SBendLeft + 0x008AD160, // TrackElemType::SBendRight 0, 0, - 0x008AD1A0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AD1B0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008AD1A0, // TrackElemType::LeftQuarterTurn3Tiles + 0x008AD1B0, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, @@ -1447,27 +1447,27 @@ static constexpr const uint32_t _OldMiniatureRailwayTrackPaintFunctions[256] = { 0, 0, 0, - 0x008AD1C0, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AD1D0, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AD1E0, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AD1F0, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008AD1C0, // TrackElemType::LeftEighthToDiag + 0x008AD1D0, // TrackElemType::RightEighthToDiag + 0x008AD1E0, // TrackElemType::LeftEighthToOrthogonal + 0x008AD1F0, // TrackElemType::RightEighthToOrthogonal 0, 0, 0, 0, - 0x008AD200, // TRACK_ELEM_DIAG_FLAT - 0x008AD230, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008AD200, // TrackElemType::DiagFlat + 0x008AD230, // TrackElemType::DiagUp25 0, - 0x008AD210, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008AD210, // TrackElemType::DiagFlatToUp25 0, 0, - 0x008AD220, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AD260, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008AD220, // TrackElemType::DiagUp25ToFlat + 0x008AD260, // TrackElemType::DiagDown25 0, - 0x008AD240, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008AD240, // TrackElemType::DiagFlatToDown25 0, 0, - 0x008AD250, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008AD250, // TrackElemType::DiagDown25ToFlat 0, 0, 0, @@ -1574,24 +1574,24 @@ static constexpr const uint32_t _OldMiniatureRailwayTrackPaintFunctions[256] = { /** rct2: 0x008ADF34 */ static constexpr const uint32_t _OldMonorailTrackPaintFunctions[256] = { - 0x008AE1AC, // TRACK_ELEM_FLAT - 0x008AE25C, // TRACK_ELEM_END_STATION - 0x008AE26C, // TRACK_ELEM_BEGIN_STATION - 0x008AE27C, // TRACK_ELEM_MIDDLE_STATION - 0x008AE1BC, // TRACK_ELEM_25_DEG_UP + 0x008AE1AC, // TrackElemType::Flat + 0x008AE25C, // TrackElemType::EndStation + 0x008AE26C, // TrackElemType::BeginStation + 0x008AE27C, // TrackElemType::MiddleStation + 0x008AE1BC, // TrackElemType::Up25 0, - 0x008AE1CC, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008AE1CC, // TrackElemType::FlatToUp25 0, 0, - 0x008AE1DC, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AE1EC, // TRACK_ELEM_25_DEG_DOWN + 0x008AE1DC, // TrackElemType::Up25ToFlat + 0x008AE1EC, // TrackElemType::Down25 0, - 0x008AE1FC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008AE1FC, // TrackElemType::FlatToDown25 0, 0, - 0x008AE20C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AE21C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AE22C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008AE20C, // TrackElemType::Down25ToFlat + 0x008AE21C, // TrackElemType::LeftQuarterTurn5Tiles + 0x008AE22C, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -1612,12 +1612,12 @@ static constexpr const uint32_t _OldMonorailTrackPaintFunctions[256] = { 0, 0, 0, - 0x008AE23C, // TRACK_ELEM_S_BEND_LEFT - 0x008AE24C, // TRACK_ELEM_S_BEND_RIGHT + 0x008AE23C, // TrackElemType::SBendLeft + 0x008AE24C, // TrackElemType::SBendRight 0, 0, - 0x008AE28C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AE29C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008AE28C, // TrackElemType::LeftQuarterTurn3Tiles + 0x008AE29C, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, @@ -1707,27 +1707,27 @@ static constexpr const uint32_t _OldMonorailTrackPaintFunctions[256] = { 0, 0, 0, - 0x008AE31C, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AE32C, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AE33C, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AE34C, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008AE31C, // TrackElemType::LeftEighthToDiag + 0x008AE32C, // TrackElemType::RightEighthToDiag + 0x008AE33C, // TrackElemType::LeftEighthToOrthogonal + 0x008AE34C, // TrackElemType::RightEighthToOrthogonal 0, 0, 0, 0, - 0x008AE2AC, // TRACK_ELEM_DIAG_FLAT - 0x008AE2DC, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008AE2AC, // TrackElemType::DiagFlat + 0x008AE2DC, // TrackElemType::DiagUp25 0, - 0x008AE2BC, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008AE2BC, // TrackElemType::DiagFlatToUp25 0, 0, - 0x008AE2CC, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AE30C, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008AE2CC, // TrackElemType::DiagUp25ToFlat + 0x008AE30C, // TrackElemType::DiagDown25 0, - 0x008AE2EC, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008AE2EC, // TrackElemType::DiagFlatToDown25 0, 0, - 0x008AE2FC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008AE2FC, // TrackElemType::DiagDown25ToFlat 0, 0, 0, @@ -1834,24 +1834,24 @@ static constexpr const uint32_t _OldMonorailTrackPaintFunctions[256] = { /** rct2: 0x008AFC24 */ static constexpr const uint32_t _OldMiniSuspendedCoasterTrackPaintFunctions[256] = { - 0x008AFE9C, // TRACK_ELEM_FLAT - 0x008AFF4C, // TRACK_ELEM_END_STATION - 0x008AFF5C, // TRACK_ELEM_BEGIN_STATION - 0x008AFF6C, // TRACK_ELEM_MIDDLE_STATION - 0x008AFEAC, // TRACK_ELEM_25_DEG_UP + 0x008AFE9C, // TrackElemType::Flat + 0x008AFF4C, // TrackElemType::EndStation + 0x008AFF5C, // TrackElemType::BeginStation + 0x008AFF6C, // TrackElemType::MiddleStation + 0x008AFEAC, // TrackElemType::Up25 0, - 0x008AFEBC, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008AFEBC, // TrackElemType::FlatToUp25 0, 0, - 0x008AFECC, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AFEDC, // TRACK_ELEM_25_DEG_DOWN + 0x008AFECC, // TrackElemType::Up25ToFlat + 0x008AFEDC, // TrackElemType::Down25 0, - 0x008AFEEC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008AFEEC, // TrackElemType::FlatToDown25 0, 0, - 0x008AFEFC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AFF0C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AFF1C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008AFEFC, // TrackElemType::Down25ToFlat + 0x008AFF0C, // TrackElemType::LeftQuarterTurn5Tiles + 0x008AFF1C, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -1872,12 +1872,12 @@ static constexpr const uint32_t _OldMiniSuspendedCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008AFF2C, // TRACK_ELEM_S_BEND_LEFT - 0x008AFF3C, // TRACK_ELEM_S_BEND_RIGHT + 0x008AFF2C, // TrackElemType::SBendLeft + 0x008AFF3C, // TrackElemType::SBendRight 0, 0, - 0x008AFF7C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AFF8C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008AFF7C, // TrackElemType::LeftQuarterTurn3Tiles + 0x008AFF8C, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, @@ -1967,27 +1967,27 @@ static constexpr const uint32_t _OldMiniSuspendedCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008AFFAC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AFFBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AFFCC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AFFDC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008AFFAC, // TrackElemType::LeftEighthToDiag + 0x008AFFBC, // TrackElemType::RightEighthToDiag + 0x008AFFCC, // TrackElemType::LeftEighthToOrthogonal + 0x008AFFDC, // TrackElemType::RightEighthToOrthogonal 0, 0, 0, 0, - 0x008AFF9C, // TRACK_ELEM_DIAG_FLAT - 0x008B000C, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008AFF9C, // TrackElemType::DiagFlat + 0x008B000C, // TrackElemType::DiagUp25 0, - 0x008AFFEC, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008AFFEC, // TrackElemType::DiagFlatToUp25 0, 0, - 0x008AFFFC, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008B003C, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008AFFFC, // TrackElemType::DiagUp25ToFlat + 0x008B003C, // TrackElemType::DiagDown25 0, - 0x008B001C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008B001C, // TrackElemType::DiagFlatToDown25 0, 0, - 0x008B002C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008B002C, // TrackElemType::DiagDown25ToFlat 0, 0, 0, @@ -2094,10 +2094,10 @@ static constexpr const uint32_t _OldMiniSuspendedCoasterTrackPaintFunctions[256] /** rct2: 0x008B0D60 */ static constexpr const uint32_t _OldBoatHireTrackPaintFunctions[256] = { - 0x008B0E40, // TRACK_ELEM_FLAT - 0x008B0E50, // TRACK_ELEM_END_STATION - 0x008B0E60, // TRACK_ELEM_BEGIN_STATION - 0x008B0E70, // TRACK_ELEM_MIDDLE_STATION + 0x008B0E40, // TrackElemType::Flat + 0x008B0E50, // TrackElemType::EndStation + 0x008B0E60, // TrackElemType::BeginStation + 0x008B0E70, // TrackElemType::MiddleStation 0, 0, 0, @@ -2144,8 +2144,8 @@ static constexpr const uint32_t _OldBoatHireTrackPaintFunctions[256] = { 0, 0, 0, - 0x008B0E80, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x008B0E90, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x008B0E80, // TrackElemType::LeftQuarterTurn1Tile + 0x008B0E90, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -2354,22 +2354,22 @@ static constexpr const uint32_t _OldBoatHireTrackPaintFunctions[256] = { /** rct2: 0x008A534C */ static constexpr const uint32_t _OldWoodenWildMouseTrackPaintFunctions[256] = { - 0x008A5464, // TRACK_ELEM_FLAT - 0x008A5534, // TRACK_ELEM_END_STATION - 0x008A5544, // TRACK_ELEM_BEGIN_STATION - 0x008A5554, // TRACK_ELEM_MIDDLE_STATION - 0x008A5474, // TRACK_ELEM_25_DEG_UP - 0x008A5484, // TRACK_ELEM_60_DEG_UP - 0x008A5494, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A54A4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A54B4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A54C4, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A54D4, // TRACK_ELEM_25_DEG_DOWN - 0x008A54E4, // TRACK_ELEM_60_DEG_DOWN - 0x008A54F4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A5504, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A5514, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A5524, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008A5464, // TrackElemType::Flat + 0x008A5534, // TrackElemType::EndStation + 0x008A5544, // TrackElemType::BeginStation + 0x008A5554, // TrackElemType::MiddleStation + 0x008A5474, // TrackElemType::Up25 + 0x008A5484, // TrackElemType::Up60 + 0x008A5494, // TrackElemType::FlatToUp25 + 0x008A54A4, // TrackElemType::Up25ToUp60 + 0x008A54B4, // TrackElemType::Up60ToUp25 + 0x008A54C4, // TrackElemType::Up25ToFlat + 0x008A54D4, // TrackElemType::Down25 + 0x008A54E4, // TrackElemType::Down60 + 0x008A54F4, // TrackElemType::FlatToDown25 + 0x008A5504, // TrackElemType::Down25ToDown60 + 0x008A5514, // TrackElemType::Down60ToDown25 + 0x008A5524, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -2396,16 +2396,16 @@ static constexpr const uint32_t _OldWoodenWildMouseTrackPaintFunctions[256] = { 0, 0, 0, - 0x008A5564, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A5574, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008A5564, // TrackElemType::LeftQuarterTurn3Tiles + 0x008A5574, // TrackElemType::RightQuarterTurn3Tiles 0, 0, - 0x008A5584, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A5594, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A55A4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A55B4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A55C4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x008A55D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x008A5584, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008A5594, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008A55A4, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008A55B4, // TrackElemType::RightQuarterTurn3TilesDown25 + 0x008A55C4, // TrackElemType::LeftQuarterTurn1Tile + 0x008A55D4, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -2416,10 +2416,10 @@ static constexpr const uint32_t _OldWoodenWildMouseTrackPaintFunctions[256] = { 0, 0, 0, - 0x008A55E4, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 0x008A55F4, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 0x008A5604, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 0x008A5614, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + 0x008A55E4, // TrackElemType::FlatToUp60 + 0x008A55F4, // TrackElemType::Up60ToFlat + 0x008A5604, // TrackElemType::FlatToDown60 + 0x008A5614, // TrackElemType::Down60ToFlat 0, 0, 0, @@ -2614,24 +2614,24 @@ static constexpr const uint32_t _OldWoodenWildMouseTrackPaintFunctions[256] = { /** rct2: 0x008A5634 */ static constexpr const uint32_t _OldSteeplechaseTrackPaintFunctions[256] = { - 0x008A59A8, // TRACK_ELEM_FLAT - 0x008A5A58, // TRACK_ELEM_END_STATION - 0x008A5A68, // TRACK_ELEM_BEGIN_STATION - 0x008A5A78, // TRACK_ELEM_MIDDLE_STATION - 0x008A59B8, // TRACK_ELEM_25_DEG_UP + 0x008A59A8, // TrackElemType::Flat + 0x008A5A58, // TrackElemType::EndStation + 0x008A5A68, // TrackElemType::BeginStation + 0x008A5A78, // TrackElemType::MiddleStation + 0x008A59B8, // TrackElemType::Up25 0, - 0x008A59C8, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008A59C8, // TrackElemType::FlatToUp25 0, 0, - 0x008A59D8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A59E8, // TRACK_ELEM_25_DEG_DOWN + 0x008A59D8, // TrackElemType::Up25ToFlat + 0x008A59E8, // TrackElemType::Down25 0, - 0x008A59F8, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008A59F8, // TrackElemType::FlatToDown25 0, 0, - 0x008A5A08, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A5A18, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A5A28, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x008A5A08, // TrackElemType::Down25ToFlat + 0x008A5A18, // TrackElemType::LeftQuarterTurn5Tiles + 0x008A5A28, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -2652,12 +2652,12 @@ static constexpr const uint32_t _OldSteeplechaseTrackPaintFunctions[256] = { 0, 0, 0, - 0x008A5A38, // TRACK_ELEM_S_BEND_LEFT - 0x008A5A48, // TRACK_ELEM_S_BEND_RIGHT + 0x008A5A38, // TrackElemType::SBendLeft + 0x008A5A48, // TrackElemType::SBendRight 0, 0, - 0x008A5A88, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A5A98, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008A5A88, // TrackElemType::LeftQuarterTurn3Tiles + 0x008A5A98, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, @@ -2713,7 +2713,7 @@ static constexpr const uint32_t _OldSteeplechaseTrackPaintFunctions[256] = { 0, 0, 0, - 0x008A5AA8, // TRACK_ELEM_BRAKES + 0x008A5AA8, // TrackElemType::Brakes 0, 0, 0, @@ -2747,27 +2747,27 @@ static constexpr const uint32_t _OldSteeplechaseTrackPaintFunctions[256] = { 0, 0, 0, - 0x008A5AD8, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A5AE8, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A5AF8, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A5B08, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x008A5AD8, // TrackElemType::LeftEighthToDiag + 0x008A5AE8, // TrackElemType::RightEighthToDiag + 0x008A5AF8, // TrackElemType::LeftEighthToOrthogonal + 0x008A5B08, // TrackElemType::RightEighthToOrthogonal 0, 0, 0, 0, - 0x008A5AC8, // TRACK_ELEM_DIAG_FLAT - 0x008A5B38, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008A5AC8, // TrackElemType::DiagFlat + 0x008A5B38, // TrackElemType::DiagUp25 0, - 0x008A5B18, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008A5B18, // TrackElemType::DiagFlatToUp25 0, 0, - 0x008A5B28, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A5B68, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008A5B28, // TrackElemType::DiagUp25ToFlat + 0x008A5B68, // TrackElemType::DiagDown25 0, - 0x008A5B48, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008A5B48, // TrackElemType::DiagFlatToDown25 0, 0, - 0x008A5B58, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008A5B58, // TrackElemType::DiagDown25ToFlat 0, 0, 0, @@ -2830,7 +2830,7 @@ static constexpr const uint32_t _OldSteeplechaseTrackPaintFunctions[256] = { 0, 0, 0, - 0x008A5AB8, // TRACK_ELEM_BLOCK_BRAKES + 0x008A5AB8, // TrackElemType::BlockBrakes 0, 0, 0, @@ -2874,22 +2874,22 @@ static constexpr const uint32_t _OldSteeplechaseTrackPaintFunctions[256] = { /** rct2: 0x006F7000 */ static constexpr const uint32_t _OldCarRideTrackPaintFunctions[256] = { - 0x006F72C8, // TRACK_ELEM_FLAT - 0x006F7338, // TRACK_ELEM_END_STATION - 0x006F7348, // TRACK_ELEM_BEGIN_STATION - 0x006F7358, // TRACK_ELEM_MIDDLE_STATION - 0x006F72D8, // TRACK_ELEM_25_DEG_UP - 0x006F73B8, // TRACK_ELEM_60_DEG_UP - 0x006F72E8, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x006F73C8, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x006F73D8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x006F72F8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x006F7308, // TRACK_ELEM_25_DEG_DOWN - 0x006F73E8, // TRACK_ELEM_60_DEG_DOWN - 0x006F7318, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x006F73F8, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x006F7408, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x006F7328, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x006F72C8, // TrackElemType::Flat + 0x006F7338, // TrackElemType::EndStation + 0x006F7348, // TrackElemType::BeginStation + 0x006F7358, // TrackElemType::MiddleStation + 0x006F72D8, // TrackElemType::Up25 + 0x006F73B8, // TrackElemType::Up60 + 0x006F72E8, // TrackElemType::FlatToUp25 + 0x006F73C8, // TrackElemType::Up25ToUp60 + 0x006F73D8, // TrackElemType::Up60ToUp25 + 0x006F72F8, // TrackElemType::Up25ToFlat + 0x006F7308, // TrackElemType::Down25 + 0x006F73E8, // TrackElemType::Down60 + 0x006F7318, // TrackElemType::FlatToDown25 + 0x006F73F8, // TrackElemType::Down25ToDown60 + 0x006F7408, // TrackElemType::Down60ToDown25 + 0x006F7328, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -2916,16 +2916,16 @@ static constexpr const uint32_t _OldCarRideTrackPaintFunctions[256] = { 0, 0, 0, - 0x006F7368, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x006F7378, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x006F7368, // TrackElemType::LeftQuarterTurn3Tiles + 0x006F7378, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, 0, 0, 0, - 0x006F7388, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x006F7398, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x006F7388, // TrackElemType::LeftQuarterTurn1Tile + 0x006F7398, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -2987,7 +2987,7 @@ static constexpr const uint32_t _OldCarRideTrackPaintFunctions[256] = { 0, 0, 0, - 0x006F7418, // TRACK_ELEM_RAPIDS + 0x006F7418, // TrackElemType::Rapids 0, 0, 0, @@ -3047,7 +3047,7 @@ static constexpr const uint32_t _OldCarRideTrackPaintFunctions[256] = { 0, 0, 0, - 0x006F73A8, // TRACK_ELEM_SPINNING_TUNNEL + 0x006F73A8, // TrackElemType::SpinningTunnel 0, 0, 0, @@ -3200,8 +3200,8 @@ static constexpr const uint32_t _OldLaunchedFreefallTrackPaintFunctions[256] = { 0, 0, 0, - 0x006FD1F8, // TRACK_ELEM_TOWER_BASE - 0x006FD208, // TRACK_ELEM_TOWER_SECTION + 0x006FD1F8, // TrackElemType::TowerBase + 0x006FD208, // TrackElemType::TowerSection 0, 0, 0, @@ -3394,52 +3394,52 @@ static constexpr const uint32_t _OldLaunchedFreefallTrackPaintFunctions[256] = { /** rct2: 0x006FE240 */ static constexpr const uint32_t _OldBobsleighCoasterTrackPaintFunctions[256] = { - 0x006FE5B4, // TRACK_ELEM_FLAT - 0x006FE764, // TRACK_ELEM_END_STATION - 0x006FE774, // TRACK_ELEM_BEGIN_STATION - 0x006FE784, // TRACK_ELEM_MIDDLE_STATION - 0x006FE5C4, // TRACK_ELEM_25_DEG_UP + 0x006FE5B4, // TrackElemType::Flat + 0x006FE764, // TrackElemType::EndStation + 0x006FE774, // TrackElemType::BeginStation + 0x006FE784, // TrackElemType::MiddleStation + 0x006FE5C4, // TrackElemType::Up25 0, - 0x006FE5D4, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x006FE5D4, // TrackElemType::FlatToUp25 0, 0, - 0x006FE5E4, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x006FE5F4, // TRACK_ELEM_25_DEG_DOWN + 0x006FE5E4, // TrackElemType::Up25ToFlat + 0x006FE5F4, // TrackElemType::Down25 0, - 0x006FE604, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x006FE604, // TrackElemType::FlatToDown25 0, 0, - 0x006FE614, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x006FE624, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x006FE634, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x006FE644, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x006FE654, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x006FE664, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x006FE674, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x006FE684, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x006FE694, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x006FE6A4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x006FE6B4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x006FE6C4, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x006FE6D4, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x006FE6E4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x006FE6F4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x006FE704, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x006FE714, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x006FE724, // TRACK_ELEM_LEFT_BANK - 0x006FE734, // TRACK_ELEM_RIGHT_BANK + 0x006FE614, // TrackElemType::Down25ToFlat + 0x006FE624, // TrackElemType::LeftQuarterTurn5Tiles + 0x006FE634, // TrackElemType::RightQuarterTurn5Tiles + 0x006FE644, // TrackElemType::FlatToLeftBank + 0x006FE654, // TrackElemType::FlatToRightBank + 0x006FE664, // TrackElemType::LeftBankToFlat + 0x006FE674, // TrackElemType::RightBankToFlat + 0x006FE684, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x006FE694, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x006FE6A4, // TrackElemType::LeftBankToUp25 + 0x006FE6B4, // TrackElemType::RightBankToUp25 + 0x006FE6C4, // TrackElemType::Up25ToLeftBank + 0x006FE6D4, // TrackElemType::Up25ToRightBank + 0x006FE6E4, // TrackElemType::LeftBankToDown25 + 0x006FE6F4, // TrackElemType::RightBankToDown25 + 0x006FE704, // TrackElemType::Down25ToLeftBank + 0x006FE714, // TrackElemType::Down25ToRightBank + 0x006FE724, // TrackElemType::LeftBank + 0x006FE734, // TrackElemType::RightBank 0, 0, 0, 0, - 0x006FE744, // TRACK_ELEM_S_BEND_LEFT - 0x006FE754, // TRACK_ELEM_S_BEND_RIGHT + 0x006FE744, // TrackElemType::SBendLeft + 0x006FE754, // TrackElemType::SBendRight 0, 0, - 0x006FE794, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x006FE7A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x006FE7B4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x006FE7C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x006FE794, // TrackElemType::LeftQuarterTurn3Tiles + 0x006FE7A4, // TrackElemType::RightQuarterTurn3Tiles + 0x006FE7B4, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x006FE7C4, // TrackElemType::RightBankedQuarterTurn3Tiles 0, 0, 0, @@ -3481,19 +3481,19 @@ static constexpr const uint32_t _OldBobsleighCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x006FE7D4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x006FE7E4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x006FE7F4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x006FE804, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x006FE814, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x006FE824, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x006FE834, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x006FE844, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x006FE7D4, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x006FE7E4, // TrackElemType::RightHalfBankedHelixUpSmall + 0x006FE7F4, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x006FE804, // TrackElemType::RightHalfBankedHelixDownSmall + 0x006FE814, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x006FE824, // TrackElemType::RightHalfBankedHelixUpLarge + 0x006FE834, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x006FE844, // TrackElemType::RightHalfBankedHelixDownLarge 0, 0, 0, 0, - 0x006FE854, // TRACK_ELEM_BRAKES + 0x006FE854, // TrackElemType::Brakes 0, 0, 0, @@ -3610,7 +3610,7 @@ static constexpr const uint32_t _OldBobsleighCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x006FE864, // TRACK_ELEM_BLOCK_BRAKES + 0x006FE864, // TrackElemType::BlockBrakes 0, 0, 0, @@ -3720,8 +3720,8 @@ static constexpr const uint32_t _OldObservationTowerTrackPaintFunctions[256] = { 0, 0, 0, - 0x0070DD6C, // TRACK_ELEM_TOWER_BASE - 0x0070DD7C, // TRACK_ELEM_TOWER_SECTION + 0x0070DD6C, // TrackElemType::TowerBase + 0x0070DD7C, // TrackElemType::TowerSection 0, 0, 0, @@ -3914,56 +3914,56 @@ static constexpr const uint32_t _OldObservationTowerTrackPaintFunctions[256] = { /** rct2: 0x008A5B88 */ static constexpr const uint32_t _OldLoopingRollerCoasterTrackPaintFunctions[256] = { - 0x008A6370, // TRACK_ELEM_FLAT - 0x008A6600, // TRACK_ELEM_END_STATION - 0x008A6610, // TRACK_ELEM_BEGIN_STATION - 0x008A6620, // TRACK_ELEM_MIDDLE_STATION - 0x008A6380, // TRACK_ELEM_25_DEG_UP - 0x008A6390, // TRACK_ELEM_60_DEG_UP - 0x008A63A0, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A63B0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A63C0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A63D0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A63E0, // TRACK_ELEM_25_DEG_DOWN - 0x008A63F0, // TRACK_ELEM_60_DEG_DOWN - 0x008A6400, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A6410, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A6420, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6430, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A6440, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A6450, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A6460, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A6470, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A6480, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A6490, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A64A0, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A64B0, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A64C0, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A64D0, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A64E0, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A64F0, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A6500, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A6510, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A6520, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A6530, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A6540, // TRACK_ELEM_LEFT_BANK - 0x008A6550, // TRACK_ELEM_RIGHT_BANK - 0x008A6560, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A6570, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A6580, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A6590, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A65A0, // TRACK_ELEM_S_BEND_LEFT - 0x008A65B0, // TRACK_ELEM_S_BEND_RIGHT - 0x008A65C0, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008A65D0, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008A6630, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A6640, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A6650, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A6660, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A6670, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A6680, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A6690, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A66A0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A6370, // TrackElemType::Flat + 0x008A6600, // TrackElemType::EndStation + 0x008A6610, // TrackElemType::BeginStation + 0x008A6620, // TrackElemType::MiddleStation + 0x008A6380, // TrackElemType::Up25 + 0x008A6390, // TrackElemType::Up60 + 0x008A63A0, // TrackElemType::FlatToUp25 + 0x008A63B0, // TrackElemType::Up25ToUp60 + 0x008A63C0, // TrackElemType::Up60ToUp25 + 0x008A63D0, // TrackElemType::Up25ToFlat + 0x008A63E0, // TrackElemType::Down25 + 0x008A63F0, // TrackElemType::Down60 + 0x008A6400, // TrackElemType::FlatToDown25 + 0x008A6410, // TrackElemType::Down25ToDown60 + 0x008A6420, // TrackElemType::Down60ToDown25 + 0x008A6430, // TrackElemType::Down25ToFlat + 0x008A6440, // TrackElemType::LeftQuarterTurn5Tiles + 0x008A6450, // TrackElemType::RightQuarterTurn5Tiles + 0x008A6460, // TrackElemType::FlatToLeftBank + 0x008A6470, // TrackElemType::FlatToRightBank + 0x008A6480, // TrackElemType::LeftBankToFlat + 0x008A6490, // TrackElemType::RightBankToFlat + 0x008A64A0, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008A64B0, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008A64C0, // TrackElemType::LeftBankToUp25 + 0x008A64D0, // TrackElemType::RightBankToUp25 + 0x008A64E0, // TrackElemType::Up25ToLeftBank + 0x008A64F0, // TrackElemType::Up25ToRightBank + 0x008A6500, // TrackElemType::LeftBankToDown25 + 0x008A6510, // TrackElemType::RightBankToDown25 + 0x008A6520, // TrackElemType::Down25ToLeftBank + 0x008A6530, // TrackElemType::Down25ToRightBank + 0x008A6540, // TrackElemType::LeftBank + 0x008A6550, // TrackElemType::RightBank + 0x008A6560, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008A6570, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008A6580, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008A6590, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008A65A0, // TrackElemType::SBendLeft + 0x008A65B0, // TrackElemType::SBendRight + 0x008A65C0, // TrackElemType::LeftVerticalLoop + 0x008A65D0, // TrackElemType::RightVerticalLoop + 0x008A6630, // TrackElemType::LeftQuarterTurn3Tiles + 0x008A6640, // TrackElemType::RightQuarterTurn3Tiles + 0x008A6650, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008A6660, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008A6670, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008A6680, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008A6690, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008A66A0, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -4001,19 +4001,19 @@ static constexpr const uint32_t _OldLoopingRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A66B0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A66C0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A66D0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A66E0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A66F0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A6700, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A6710, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A6720, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A6750, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A6730, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A6740, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A6760, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A6770, // TRACK_ELEM_BRAKES + 0x008A66B0, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008A66C0, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008A66D0, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008A66E0, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008A66F0, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008A6700, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008A6710, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008A6720, // TrackElemType::RightHalfBankedHelixDownLarge + 0x008A6750, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x008A6730, // TrackElemType::RightQuarterTurn1TileUp60 + 0x008A6740, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x008A6760, // TrackElemType::RightQuarterTurn1TileDown60 + 0x008A6770, // TrackElemType::Brakes 0, 0, 0, @@ -4024,13 +4024,13 @@ static constexpr const uint32_t _OldLoopingRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A6A40, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008A6A50, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0x008A6A40, // TrackElemType::Up25LeftBanked + 0x008A6A50, // TrackElemType::Up25RightBanked 0, 0, - 0x008A6780, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008A6A60, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008A6A70, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0x008A6780, // TrackElemType::OnRidePhoto + 0x008A6A60, // TrackElemType::Down25LeftBanked + 0x008A6A70, // TrackElemType::Down25RightBanked 0, 0, 0, @@ -4047,45 +4047,45 @@ static constexpr const uint32_t _OldLoopingRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A6860, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A6870, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A6880, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A6890, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A68A0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A68B0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A68C0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A68D0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A6790, // TRACK_ELEM_DIAG_FLAT - 0x008A67C0, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A67F0, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A67A0, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A67D0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A67E0, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A67B0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A6820, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A6850, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A6800, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A6830, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A6840, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6810, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008A6860, // TrackElemType::LeftEighthToDiag + 0x008A6870, // TrackElemType::RightEighthToDiag + 0x008A6880, // TrackElemType::LeftEighthToOrthogonal + 0x008A6890, // TrackElemType::RightEighthToOrthogonal + 0x008A68A0, // TrackElemType::LeftEighthBankToDiag + 0x008A68B0, // TrackElemType::RightEighthBankToDiag + 0x008A68C0, // TrackElemType::LeftEighthBankToOrthogonal + 0x008A68D0, // TrackElemType::RightEighthBankToOrthogonal + 0x008A6790, // TrackElemType::DiagFlat + 0x008A67C0, // TrackElemType::DiagUp25 + 0x008A67F0, // TrackElemType::DiagUp60 + 0x008A67A0, // TrackElemType::DiagFlatToUp25 + 0x008A67D0, // TrackElemType::DiagUp25ToUp60 + 0x008A67E0, // TrackElemType::DiagUp60ToUp25 + 0x008A67B0, // TrackElemType::DiagUp25ToFlat + 0x008A6820, // TrackElemType::DiagDown25 + 0x008A6850, // TrackElemType::DiagDown60 + 0x008A6800, // TrackElemType::DiagFlatToDown25 + 0x008A6830, // TrackElemType::DiagDown25ToDown60 + 0x008A6840, // TrackElemType::DiagDown60ToDown25 + 0x008A6810, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008A6900, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A6910, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A6920, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A6930, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A6960, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A6970, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A6940, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A6950, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A6980, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A6990, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A69A0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A69B0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A68E0, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A68F0, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008A6900, // TrackElemType::DiagFlatToLeftBank + 0x008A6910, // TrackElemType::DiagFlatToRightBank + 0x008A6920, // TrackElemType::DiagLeftBankToFlat + 0x008A6930, // TrackElemType::DiagRightBankToFlat + 0x008A6960, // TrackElemType::DiagLeftBankToUp25 + 0x008A6970, // TrackElemType::DiagRightBankToUp25 + 0x008A6940, // TrackElemType::DiagUp25ToLeftBank + 0x008A6950, // TrackElemType::DiagUp25ToRightBank + 0x008A6980, // TrackElemType::DiagLeftBankToDown25 + 0x008A6990, // TrackElemType::DiagRightBankToDown25 + 0x008A69A0, // TrackElemType::DiagDown25ToLeftBank + 0x008A69B0, // TrackElemType::DiagDown25ToRightBank + 0x008A68E0, // TrackElemType::DiagLeftBank + 0x008A68F0, // TrackElemType::DiagRightBank 0, 0, 0, @@ -4130,39 +4130,39 @@ static constexpr const uint32_t _OldLoopingRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008A6C00, // TRACK_ELEM_BLOCK_BRAKES - 0x008A6BC0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A6BD0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A6BE0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A6BF0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A6B80, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A6B90, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A6BA0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A6BB0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A6A80, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008A6A90, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008A6AA0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A6AB0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A6AC0, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6AD0, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6AE0, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6AF0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6B00, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A6B10, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A6B40, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008A6B50, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008A6B60, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6B70, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6B20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008A6B30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008A69C0, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A69D0, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A69E0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008A69F0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008A6A00, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6A10, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6A20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A6A30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008A6C00, // TrackElemType::BlockBrakes + 0x008A6BC0, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + 0x008A6BD0, // TrackElemType::RightBankedQuarterTurn3TileUp25 + 0x008A6BE0, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + 0x008A6BF0, // TrackElemType::RightBankedQuarterTurn3TileDown25 + 0x008A6B80, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + 0x008A6B90, // TrackElemType::RightBankedQuarterTurn5TileUp25 + 0x008A6BA0, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + 0x008A6BB0, // TrackElemType::RightBankedQuarterTurn5TileDown25 + 0x008A6A80, // TrackElemType::Up25ToLeftBankedUp25 + 0x008A6A90, // TrackElemType::Up25ToRightBankedUp25 + 0x008A6AA0, // TrackElemType::LeftBankedUp25ToUp25 + 0x008A6AB0, // TrackElemType::RightBankedUp25ToUp25 + 0x008A6AC0, // TrackElemType::Down25ToLeftBankedDown25 + 0x008A6AD0, // TrackElemType::Down25ToRightBankedDown25 + 0x008A6AE0, // TrackElemType::LeftBankedDown25ToDown25 + 0x008A6AF0, // TrackElemType::RightBankedDown25ToDown25 + 0x008A6B00, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + 0x008A6B10, // TrackElemType::RightBankedFlatToRightBankedUp25 + 0x008A6B40, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + 0x008A6B50, // TrackElemType::RightBankedUp25ToRightBankedFlat + 0x008A6B60, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + 0x008A6B70, // TrackElemType::RightBankedFlatToRightBankedDown25 + 0x008A6B20, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + 0x008A6B30, // TrackElemType::RightBankedDown25ToRightBankedFlat + 0x008A69C0, // TrackElemType::FlatToLeftBankedUp25 + 0x008A69D0, // TrackElemType::FlatToRightBankedUp25 + 0x008A69E0, // TrackElemType::LeftBankedUp25ToFlat + 0x008A69F0, // TrackElemType::RightBankedUp25ToFlat + 0x008A6A00, // TrackElemType::FlatToLeftBankedDown25 + 0x008A6A10, // TrackElemType::FlatToRightBankedDown25 + 0x008A6A20, // TrackElemType::LeftBankedDown25ToFlat + 0x008A6A30, // TrackElemType::RightBankedDown25ToFlat 0, 0, 0, @@ -4174,24 +4174,24 @@ static constexpr const uint32_t _OldLoopingRollerCoasterTrackPaintFunctions[256] /** rct2: 0x0070EDB4 */ static constexpr const uint32_t _OldDinghySlideTrackPaintFunctions[256] = { - 0x0070EF20, // TRACK_ELEM_FLAT - 0x0070F030, // TRACK_ELEM_END_STATION - 0x0070F040, // TRACK_ELEM_BEGIN_STATION - 0x0070F050, // TRACK_ELEM_MIDDLE_STATION - 0x0070EF30, // TRACK_ELEM_25_DEG_UP - 0x0070EFD0, // TRACK_ELEM_60_DEG_UP - 0x0070EF40, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x0070EF90, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x0070EFA0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x0070EF50, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0070EF60, // TRACK_ELEM_25_DEG_DOWN - 0x0070EFE0, // TRACK_ELEM_60_DEG_DOWN - 0x0070EF70, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x0070EFB0, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x0070EFC0, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x0070EF80, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x0070EFF0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0070F000, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x0070EF20, // TrackElemType::Flat + 0x0070F030, // TrackElemType::EndStation + 0x0070F040, // TrackElemType::BeginStation + 0x0070F050, // TrackElemType::MiddleStation + 0x0070EF30, // TrackElemType::Up25 + 0x0070EFD0, // TrackElemType::Up60 + 0x0070EF40, // TrackElemType::FlatToUp25 + 0x0070EF90, // TrackElemType::Up25ToUp60 + 0x0070EFA0, // TrackElemType::Up60ToUp25 + 0x0070EF50, // TrackElemType::Up25ToFlat + 0x0070EF60, // TrackElemType::Down25 + 0x0070EFE0, // TrackElemType::Down60 + 0x0070EF70, // TrackElemType::FlatToDown25 + 0x0070EFB0, // TrackElemType::Down25ToDown60 + 0x0070EFC0, // TrackElemType::Down60ToDown25 + 0x0070EF80, // TrackElemType::Down25ToFlat + 0x0070EFF0, // TrackElemType::LeftQuarterTurn5Tiles + 0x0070F000, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -4212,12 +4212,12 @@ static constexpr const uint32_t _OldDinghySlideTrackPaintFunctions[256] = { 0, 0, 0, - 0x0070F010, // TRACK_ELEM_S_BEND_LEFT - 0x0070F020, // TRACK_ELEM_S_BEND_RIGHT + 0x0070F010, // TrackElemType::SBendLeft + 0x0070F020, // TrackElemType::SBendRight 0, 0, - 0x0070F060, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0070F070, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x0070F060, // TrackElemType::LeftQuarterTurn3Tiles + 0x0070F070, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, @@ -4242,25 +4242,25 @@ static constexpr const uint32_t _OldDinghySlideTrackPaintFunctions[256] = { 0, 0, 0, - 0x0070F080, // TRACK_ELEM_FLAT_COVERED - 0x0070F090, // TRACK_ELEM_25_DEG_UP_COVERED - 0x0070F130, // TRACK_ELEM_60_DEG_UP_COVERED - 0x0070F0A0, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED - 0x0070F0F0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED - 0x0070F100, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED - 0x0070F0B0, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED - 0x0070F0C0, // TRACK_ELEM_25_DEG_DOWN_COVERED - 0x0070F140, // TRACK_ELEM_60_DEG_DOWN_COVERED - 0x0070F0D0, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED - 0x0070F110, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED - 0x0070F120, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED - 0x0070F0E0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED - 0x0070F150, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - 0x0070F160, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED - 0x0070F190, // TRACK_ELEM_S_BEND_LEFT_COVERED - 0x0070F1A0, // TRACK_ELEM_S_BEND_RIGHT_COVERED - 0x0070F170, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED - 0x0070F180, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED + 0x0070F080, // TrackElemType::FlatCovered + 0x0070F090, // TrackElemType::Up25Covered + 0x0070F130, // TrackElemType::Up60Covered + 0x0070F0A0, // TrackElemType::FlatToUp25Covered + 0x0070F0F0, // TrackElemType::Up25ToUp60Covered + 0x0070F100, // TrackElemType::Up60ToUp25Covered + 0x0070F0B0, // TrackElemType::Up25ToFlatCovered + 0x0070F0C0, // TrackElemType::Down25Covered + 0x0070F140, // TrackElemType::Down60Covered + 0x0070F0D0, // TrackElemType::FlatToDown25Covered + 0x0070F110, // TrackElemType::Down25ToDown60Covered + 0x0070F120, // TrackElemType::Down60ToDown25Covered + 0x0070F0E0, // TrackElemType::Down25ToFlatCovered + 0x0070F150, // TrackElemType::LeftQuarterTurn5TilesCovered + 0x0070F160, // TrackElemType::RightQuarterTurn5TilesCovered + 0x0070F190, // TrackElemType::SBendLeftCovered + 0x0070F1A0, // TrackElemType::SBendRightCovered + 0x0070F170, // TrackElemType::LeftQuarterTurn3TilesCovered + 0x0070F180, // TrackElemType::RightQuarterTurn3TilesCovered 0, 0, 0, @@ -4434,56 +4434,56 @@ static constexpr const uint32_t _OldDinghySlideTrackPaintFunctions[256] = { /** rct2: 0x0071BC40 */ static constexpr const uint32_t _OldMineTrainCoasterTrackPaintFunctions[256] = { - 0x0071BFA4, // TRACK_ELEM_FLAT - 0x0071C154, // TRACK_ELEM_END_STATION - 0x0071C164, // TRACK_ELEM_BEGIN_STATION - 0x0071C174, // TRACK_ELEM_MIDDLE_STATION - 0x0071BFB4, // TRACK_ELEM_25_DEG_UP - 0x0071BFC4, // TRACK_ELEM_60_DEG_UP - 0x0071BFD4, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x0071BFE4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x0071BFF4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x0071C004, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0071C014, // TRACK_ELEM_25_DEG_DOWN - 0x0071C024, // TRACK_ELEM_60_DEG_DOWN - 0x0071C034, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x0071C044, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x0071C054, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x0071C064, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x0071C0B4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0071C0C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x0071C074, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x0071C084, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x0071C094, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x0071C0A4, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x0071C0D4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x0071C0E4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x0071C204, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x0071C214, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x0071C224, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x0071C234, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x0071C244, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x0071C254, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x0071C264, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x0071C274, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x0071C304, // TRACK_ELEM_LEFT_BANK - 0x0071C314, // TRACK_ELEM_RIGHT_BANK - 0x0071C0F4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x0071C104, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x0071C114, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x0071C124, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x0071C134, // TRACK_ELEM_S_BEND_LEFT - 0x0071C144, // TRACK_ELEM_S_BEND_RIGHT + 0x0071BFA4, // TrackElemType::Flat + 0x0071C154, // TrackElemType::EndStation + 0x0071C164, // TrackElemType::BeginStation + 0x0071C174, // TrackElemType::MiddleStation + 0x0071BFB4, // TrackElemType::Up25 + 0x0071BFC4, // TrackElemType::Up60 + 0x0071BFD4, // TrackElemType::FlatToUp25 + 0x0071BFE4, // TrackElemType::Up25ToUp60 + 0x0071BFF4, // TrackElemType::Up60ToUp25 + 0x0071C004, // TrackElemType::Up25ToFlat + 0x0071C014, // TrackElemType::Down25 + 0x0071C024, // TrackElemType::Down60 + 0x0071C034, // TrackElemType::FlatToDown25 + 0x0071C044, // TrackElemType::Down25ToDown60 + 0x0071C054, // TrackElemType::Down60ToDown25 + 0x0071C064, // TrackElemType::Down25ToFlat + 0x0071C0B4, // TrackElemType::LeftQuarterTurn5Tiles + 0x0071C0C4, // TrackElemType::RightQuarterTurn5Tiles + 0x0071C074, // TrackElemType::FlatToLeftBank + 0x0071C084, // TrackElemType::FlatToRightBank + 0x0071C094, // TrackElemType::LeftBankToFlat + 0x0071C0A4, // TrackElemType::RightBankToFlat + 0x0071C0D4, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x0071C0E4, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x0071C204, // TrackElemType::LeftBankToUp25 + 0x0071C214, // TrackElemType::RightBankToUp25 + 0x0071C224, // TrackElemType::Up25ToLeftBank + 0x0071C234, // TrackElemType::Up25ToRightBank + 0x0071C244, // TrackElemType::LeftBankToDown25 + 0x0071C254, // TrackElemType::RightBankToDown25 + 0x0071C264, // TrackElemType::Down25ToLeftBank + 0x0071C274, // TrackElemType::Down25ToRightBank + 0x0071C304, // TrackElemType::LeftBank + 0x0071C314, // TrackElemType::RightBank + 0x0071C0F4, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x0071C104, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x0071C114, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x0071C124, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x0071C134, // TrackElemType::SBendLeft + 0x0071C144, // TrackElemType::SBendRight 0, 0, - 0x0071C184, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0071C194, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x0071C1A4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x0071C1B4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x0071C1C4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x0071C1D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x0071C1E4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x0071C1F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x0071C184, // TrackElemType::LeftQuarterTurn3Tiles + 0x0071C194, // TrackElemType::RightQuarterTurn3Tiles + 0x0071C1A4, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x0071C1B4, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x0071C1C4, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x0071C1D4, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x0071C1E4, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x0071C1F4, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -4521,19 +4521,19 @@ static constexpr const uint32_t _OldMineTrainCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x0071C284, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x0071C294, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x0071C2A4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x0071C2B4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x0071C2C4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x0071C2D4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x0071C2E4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x0071C2F4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x0071C284, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x0071C294, // TrackElemType::RightHalfBankedHelixUpSmall + 0x0071C2A4, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x0071C2B4, // TrackElemType::RightHalfBankedHelixDownSmall + 0x0071C2C4, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x0071C2D4, // TrackElemType::RightHalfBankedHelixUpLarge + 0x0071C2E4, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x0071C2F4, // TrackElemType::RightHalfBankedHelixDownLarge 0, 0, 0, 0, - 0x0071C324, // TRACK_ELEM_BRAKES + 0x0071C324, // TrackElemType::Brakes 0, 0, 0, @@ -4548,7 +4548,7 @@ static constexpr const uint32_t _OldMineTrainCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x0071C334, // TRACK_ELEM_ON_RIDE_PHOTO + 0x0071C334, // TrackElemType::OnRidePhoto 0, 0, 0, @@ -4567,45 +4567,45 @@ static constexpr const uint32_t _OldMineTrainCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x0071C354, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x0071C364, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x0071C374, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x0071C384, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x0071C394, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x0071C3A4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x0071C3B4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x0071C3C4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x0071C344, // TRACK_ELEM_DIAG_FLAT - 0x0071C414, // TRACK_ELEM_DIAG_25_DEG_UP - 0x0071C474, // TRACK_ELEM_DIAG_60_DEG_UP - 0x0071C3F4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x0071C454, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x0071C464, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x0071C404, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x0071C444, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x0071C4A4, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x0071C424, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x0071C484, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x0071C494, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x0071C434, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x0071C354, // TrackElemType::LeftEighthToDiag + 0x0071C364, // TrackElemType::RightEighthToDiag + 0x0071C374, // TrackElemType::LeftEighthToOrthogonal + 0x0071C384, // TrackElemType::RightEighthToOrthogonal + 0x0071C394, // TrackElemType::LeftEighthBankToDiag + 0x0071C3A4, // TrackElemType::RightEighthBankToDiag + 0x0071C3B4, // TrackElemType::LeftEighthBankToOrthogonal + 0x0071C3C4, // TrackElemType::RightEighthBankToOrthogonal + 0x0071C344, // TrackElemType::DiagFlat + 0x0071C414, // TrackElemType::DiagUp25 + 0x0071C474, // TrackElemType::DiagUp60 + 0x0071C3F4, // TrackElemType::DiagFlatToUp25 + 0x0071C454, // TrackElemType::DiagUp25ToUp60 + 0x0071C464, // TrackElemType::DiagUp60ToUp25 + 0x0071C404, // TrackElemType::DiagUp25ToFlat + 0x0071C444, // TrackElemType::DiagDown25 + 0x0071C4A4, // TrackElemType::DiagDown60 + 0x0071C424, // TrackElemType::DiagFlatToDown25 + 0x0071C484, // TrackElemType::DiagDown25ToDown60 + 0x0071C494, // TrackElemType::DiagDown60ToDown25 + 0x0071C434, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x0071C4D4, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x0071C4B4, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x0071C4C4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x0071C4E4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x0071C514, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x0071C524, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x0071C4F4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x0071C504, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x0071C534, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x0071C544, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x0071C554, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x0071C564, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x0071C3D4, // TRACK_ELEM_DIAG_LEFT_BANK - 0x0071C3E4, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x0071C4D4, // TrackElemType::DiagFlatToLeftBank + 0x0071C4B4, // TrackElemType::DiagFlatToRightBank + 0x0071C4C4, // TrackElemType::DiagLeftBankToFlat + 0x0071C4E4, // TrackElemType::DiagRightBankToFlat + 0x0071C514, // TrackElemType::DiagLeftBankToUp25 + 0x0071C524, // TrackElemType::DiagRightBankToUp25 + 0x0071C4F4, // TrackElemType::DiagUp25ToLeftBank + 0x0071C504, // TrackElemType::DiagUp25ToRightBank + 0x0071C534, // TrackElemType::DiagLeftBankToDown25 + 0x0071C544, // TrackElemType::DiagRightBankToDown25 + 0x0071C554, // TrackElemType::DiagDown25ToLeftBank + 0x0071C564, // TrackElemType::DiagDown25ToRightBank + 0x0071C3D4, // TrackElemType::DiagLeftBank + 0x0071C3E4, // TrackElemType::DiagRightBank 0, 0, 0, @@ -4650,7 +4650,7 @@ static constexpr const uint32_t _OldMineTrainCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x0071C574, // TRACK_ELEM_BLOCK_BRAKES + 0x0071C574, // TrackElemType::BlockBrakes 0, 0, 0, @@ -4694,22 +4694,22 @@ static constexpr const uint32_t _OldMineTrainCoasterTrackPaintFunctions[256] = { /** rct2: 0x00743EC8 */ static constexpr const uint32_t _OldChairliftTrackPaintFunctions[256] = { - 0x00743FC8, // TRACK_ELEM_FLAT - 0x00743F98, // TRACK_ELEM_END_STATION - 0x00743FA8, // TRACK_ELEM_BEGIN_STATION - 0x00743FB8, // TRACK_ELEM_MIDDLE_STATION - 0x00743FD8, // TRACK_ELEM_25_DEG_UP + 0x00743FC8, // TrackElemType::Flat + 0x00743F98, // TrackElemType::EndStation + 0x00743FA8, // TrackElemType::BeginStation + 0x00743FB8, // TrackElemType::MiddleStation + 0x00743FD8, // TrackElemType::Up25 0, - 0x00743FE8, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x00743FE8, // TrackElemType::FlatToUp25 0, 0, - 0x00743FF8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00744008, // TRACK_ELEM_25_DEG_DOWN + 0x00743FF8, // TrackElemType::Up25ToFlat + 0x00744008, // TrackElemType::Down25 0, - 0x00744018, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x00744018, // TrackElemType::FlatToDown25 0, 0, - 0x00744028, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x00744028, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -4744,8 +4744,8 @@ static constexpr const uint32_t _OldChairliftTrackPaintFunctions[256] = { 0, 0, 0, - 0x00744038, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00744048, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x00744038, // TrackElemType::LeftQuarterTurn1Tile + 0x00744048, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -4954,68 +4954,68 @@ static constexpr const uint32_t _OldChairliftTrackPaintFunctions[256] = { /** rct2: 0x008A7784 */ static constexpr const uint32_t _OldCorkscrewRollerCoasterTrackPaintFunctions[256] = { - 0x008A7AF8, // TRACK_ELEM_FLAT - 0x008A7D68, // TRACK_ELEM_END_STATION - 0x008A7D78, // TRACK_ELEM_BEGIN_STATION - 0x008A7D88, // TRACK_ELEM_MIDDLE_STATION - 0x008A7B08, // TRACK_ELEM_25_DEG_UP - 0x008A7B18, // TRACK_ELEM_60_DEG_UP - 0x008A7B28, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A7B38, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A7B48, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A7B58, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A7B68, // TRACK_ELEM_25_DEG_DOWN - 0x008A7B78, // TRACK_ELEM_60_DEG_DOWN - 0x008A7B88, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A7B98, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A7BA8, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A7BB8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A7BC8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A7BD8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A7BE8, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A7BF8, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A7C08, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A7C18, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A7C28, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A7C38, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A7C48, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A7C58, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A7C68, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A7C78, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A7C88, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A7C98, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A7CA8, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A7CB8, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A7CC8, // TRACK_ELEM_LEFT_BANK - 0x008A7CD8, // TRACK_ELEM_RIGHT_BANK - 0x008A7CE8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A7CF8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A7D08, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A7D18, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A7D28, // TRACK_ELEM_S_BEND_LEFT - 0x008A7D38, // TRACK_ELEM_S_BEND_RIGHT - 0x008A7D48, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008A7D58, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008A7D98, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A7DA8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A7DB8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A7DC8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A7DD8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A7DE8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A7DF8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A7E08, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A7AF8, // TrackElemType::Flat + 0x008A7D68, // TrackElemType::EndStation + 0x008A7D78, // TrackElemType::BeginStation + 0x008A7D88, // TrackElemType::MiddleStation + 0x008A7B08, // TrackElemType::Up25 + 0x008A7B18, // TrackElemType::Up60 + 0x008A7B28, // TrackElemType::FlatToUp25 + 0x008A7B38, // TrackElemType::Up25ToUp60 + 0x008A7B48, // TrackElemType::Up60ToUp25 + 0x008A7B58, // TrackElemType::Up25ToFlat + 0x008A7B68, // TrackElemType::Down25 + 0x008A7B78, // TrackElemType::Down60 + 0x008A7B88, // TrackElemType::FlatToDown25 + 0x008A7B98, // TrackElemType::Down25ToDown60 + 0x008A7BA8, // TrackElemType::Down60ToDown25 + 0x008A7BB8, // TrackElemType::Down25ToFlat + 0x008A7BC8, // TrackElemType::LeftQuarterTurn5Tiles + 0x008A7BD8, // TrackElemType::RightQuarterTurn5Tiles + 0x008A7BE8, // TrackElemType::FlatToLeftBank + 0x008A7BF8, // TrackElemType::FlatToRightBank + 0x008A7C08, // TrackElemType::LeftBankToFlat + 0x008A7C18, // TrackElemType::RightBankToFlat + 0x008A7C28, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008A7C38, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008A7C48, // TrackElemType::LeftBankToUp25 + 0x008A7C58, // TrackElemType::RightBankToUp25 + 0x008A7C68, // TrackElemType::Up25ToLeftBank + 0x008A7C78, // TrackElemType::Up25ToRightBank + 0x008A7C88, // TrackElemType::LeftBankToDown25 + 0x008A7C98, // TrackElemType::RightBankToDown25 + 0x008A7CA8, // TrackElemType::Down25ToLeftBank + 0x008A7CB8, // TrackElemType::Down25ToRightBank + 0x008A7CC8, // TrackElemType::LeftBank + 0x008A7CD8, // TrackElemType::RightBank + 0x008A7CE8, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008A7CF8, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008A7D08, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008A7D18, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008A7D28, // TrackElemType::SBendLeft + 0x008A7D38, // TrackElemType::SBendRight + 0x008A7D48, // TrackElemType::LeftVerticalLoop + 0x008A7D58, // TrackElemType::RightVerticalLoop + 0x008A7D98, // TrackElemType::LeftQuarterTurn3Tiles + 0x008A7DA8, // TrackElemType::RightQuarterTurn3Tiles + 0x008A7DB8, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008A7DC8, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008A7DD8, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008A7DE8, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008A7DF8, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008A7E08, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, 0, 0, 0, - 0x008A7E18, // TRACK_ELEM_HALF_LOOP_UP - 0x008A7E28, // TRACK_ELEM_HALF_LOOP_DOWN - 0x008A7E38, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008A7E48, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008A7E58, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008A7E68, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0x008A7E18, // TrackElemType::HalfLoopUp + 0x008A7E28, // TrackElemType::HalfLoopDown + 0x008A7E38, // TrackElemType::LeftCorkscrewUp + 0x008A7E48, // TrackElemType::RightCorkscrewUp + 0x008A7E58, // TrackElemType::LeftCorkscrewDown + 0x008A7E68, // TrackElemType::RightCorkscrewDown 0, 0, 0, @@ -5041,19 +5041,19 @@ static constexpr const uint32_t _OldCorkscrewRollerCoasterTrackPaintFunctions[25 0, 0, 0, - 0x008A7E78, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A7E88, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A7E98, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A7EA8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A7EB8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A7EC8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A7ED8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A7EE8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A7F18, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A7EF8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A7F08, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A7F28, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A7F38, // TRACK_ELEM_BRAKES + 0x008A7E78, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008A7E88, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008A7E98, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008A7EA8, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008A7EB8, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008A7EC8, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008A7ED8, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008A7EE8, // TrackElemType::RightHalfBankedHelixDownLarge + 0x008A7F18, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x008A7EF8, // TrackElemType::RightQuarterTurn1TileUp60 + 0x008A7F08, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x008A7F28, // TrackElemType::RightQuarterTurn1TileDown60 + 0x008A7F38, // TrackElemType::Brakes 0, 0, 0, @@ -5068,15 +5068,15 @@ static constexpr const uint32_t _OldCorkscrewRollerCoasterTrackPaintFunctions[25 0, 0, 0, - 0x008A7F48, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008A7F48, // TrackElemType::OnRidePhoto 0, 0, 0, - 0x008A8198, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - 0x008A81A8, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + 0x008A8198, // TrackElemType::FlatToUp60LongBase + 0x008A81A8, // TrackElemType::Up60ToFlatLongBase 0, - 0x008A81B8, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - 0x008A81C8, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 + 0x008A81B8, // TrackElemType::Down60ToFlatLongBase + 0x008A81C8, // TrackElemType::FlatToDown60LongBase 0, 0, 0, @@ -5087,45 +5087,45 @@ static constexpr const uint32_t _OldCorkscrewRollerCoasterTrackPaintFunctions[25 0, 0, 0, - 0x008A7F68, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A7F78, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A7F88, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A7F98, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A7FA8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A7FB8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A7FC8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A7FD8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A7F58, // TRACK_ELEM_DIAG_FLAT - 0x008A8008, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A8068, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A7FE8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A8048, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A8058, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A7FF8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A8038, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A8098, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A8018, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A8078, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A8088, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A8028, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008A7F68, // TrackElemType::LeftEighthToDiag + 0x008A7F78, // TrackElemType::RightEighthToDiag + 0x008A7F88, // TrackElemType::LeftEighthToOrthogonal + 0x008A7F98, // TrackElemType::RightEighthToOrthogonal + 0x008A7FA8, // TrackElemType::LeftEighthBankToDiag + 0x008A7FB8, // TrackElemType::RightEighthBankToDiag + 0x008A7FC8, // TrackElemType::LeftEighthBankToOrthogonal + 0x008A7FD8, // TrackElemType::RightEighthBankToOrthogonal + 0x008A7F58, // TrackElemType::DiagFlat + 0x008A8008, // TrackElemType::DiagUp25 + 0x008A8068, // TrackElemType::DiagUp60 + 0x008A7FE8, // TrackElemType::DiagFlatToUp25 + 0x008A8048, // TrackElemType::DiagUp25ToUp60 + 0x008A8058, // TrackElemType::DiagUp60ToUp25 + 0x008A7FF8, // TrackElemType::DiagUp25ToFlat + 0x008A8038, // TrackElemType::DiagDown25 + 0x008A8098, // TrackElemType::DiagDown60 + 0x008A8018, // TrackElemType::DiagFlatToDown25 + 0x008A8078, // TrackElemType::DiagDown25ToDown60 + 0x008A8088, // TrackElemType::DiagDown60ToDown25 + 0x008A8028, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008A80C8, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A80D8, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A80E8, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A80F8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A8128, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A8138, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A8108, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A8118, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A8148, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A8158, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A8168, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A8178, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A80A8, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A80B8, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008A80C8, // TrackElemType::DiagFlatToLeftBank + 0x008A80D8, // TrackElemType::DiagFlatToRightBank + 0x008A80E8, // TrackElemType::DiagLeftBankToFlat + 0x008A80F8, // TrackElemType::DiagRightBankToFlat + 0x008A8128, // TrackElemType::DiagLeftBankToUp25 + 0x008A8138, // TrackElemType::DiagRightBankToUp25 + 0x008A8108, // TrackElemType::DiagUp25ToLeftBank + 0x008A8118, // TrackElemType::DiagUp25ToRightBank + 0x008A8148, // TrackElemType::DiagLeftBankToDown25 + 0x008A8158, // TrackElemType::DiagRightBankToDown25 + 0x008A8168, // TrackElemType::DiagDown25ToLeftBank + 0x008A8178, // TrackElemType::DiagDown25ToRightBank + 0x008A80A8, // TrackElemType::DiagLeftBank + 0x008A80B8, // TrackElemType::DiagRightBank 0, 0, 0, @@ -5170,7 +5170,7 @@ static constexpr const uint32_t _OldCorkscrewRollerCoasterTrackPaintFunctions[25 0, 0, 0, - 0x008A8188, // TRACK_ELEM_BLOCK_BRAKES + 0x008A8188, // TrackElemType::BlockBrakes 0, 0, 0, @@ -5315,7 +5315,7 @@ static constexpr const uint32_t _OldMazeTrackPaintFunctions[256] = { 0, 0, 0, - 0x008A8380, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP + 0x008A8380, // TrackElemType::InvertedUp90ToFlatQuarterLoopAlias 0, 0, 0, @@ -5734,22 +5734,22 @@ static constexpr const uint32_t _OldSpiralSlideTrackPaintFunctions[256] = { /** rct2: 0x0074A668 */ static constexpr const uint32_t _OldGoKartsTrackPaintFunctions[256] = { - 0x0074A748, // TRACK_ELEM_FLAT - 0x0074A7B8, // TRACK_ELEM_END_STATION - 0x0074A7C8, // TRACK_ELEM_BEGIN_STATION - 0x0074A7D8, // TRACK_ELEM_MIDDLE_STATION - 0x0074A758, // TRACK_ELEM_25_DEG_UP + 0x0074A748, // TrackElemType::Flat + 0x0074A7B8, // TrackElemType::EndStation + 0x0074A7C8, // TrackElemType::BeginStation + 0x0074A7D8, // TrackElemType::MiddleStation + 0x0074A758, // TrackElemType::Up25 0, - 0x0074A768, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x0074A768, // TrackElemType::FlatToUp25 0, 0, - 0x0074A778, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0074A788, // TRACK_ELEM_25_DEG_DOWN + 0x0074A778, // TrackElemType::Up25ToFlat + 0x0074A788, // TrackElemType::Down25 0, - 0x0074A798, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x0074A798, // TrackElemType::FlatToDown25 0, 0, - 0x0074A7A8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x0074A7A8, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -5784,8 +5784,8 @@ static constexpr const uint32_t _OldGoKartsTrackPaintFunctions[256] = { 0, 0, 0, - 0x0074A7E8, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x0074A7F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x0074A7E8, // TrackElemType::LeftQuarterTurn1Tile + 0x0074A7F8, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -5994,22 +5994,22 @@ static constexpr const uint32_t _OldGoKartsTrackPaintFunctions[256] = { /** rct2: 0x0074DDEC */ static constexpr const uint32_t _OldLogFlumeTrackPaintFunctions[256] = { - 0x0074E0B0, // TRACK_ELEM_FLAT - 0x0074E140, // TRACK_ELEM_END_STATION - 0x0074E150, // TRACK_ELEM_BEGIN_STATION - 0x0074E160, // TRACK_ELEM_MIDDLE_STATION - 0x0074E0C0, // TRACK_ELEM_25_DEG_UP + 0x0074E0B0, // TrackElemType::Flat + 0x0074E140, // TrackElemType::EndStation + 0x0074E150, // TrackElemType::BeginStation + 0x0074E160, // TrackElemType::MiddleStation + 0x0074E0C0, // TrackElemType::Up25 0, - 0x0074E0D0, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x0074E0D0, // TrackElemType::FlatToUp25 0, 0, - 0x0074E0E0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0074E0F0, // TRACK_ELEM_25_DEG_DOWN + 0x0074E0E0, // TrackElemType::Up25ToFlat + 0x0074E0F0, // TrackElemType::Down25 0, - 0x0074E100, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x0074E100, // TrackElemType::FlatToDown25 0, 0, - 0x0074E110, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x0074E110, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -6032,12 +6032,12 @@ static constexpr const uint32_t _OldLogFlumeTrackPaintFunctions[256] = { 0, 0, 0, - 0x0074E120, // TRACK_ELEM_S_BEND_LEFT - 0x0074E130, // TRACK_ELEM_S_BEND_RIGHT + 0x0074E120, // TrackElemType::SBendLeft + 0x0074E130, // TrackElemType::SBendRight 0, 0, - 0x0074E170, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0074E180, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x0074E170, // TrackElemType::LeftQuarterTurn3Tiles + 0x0074E180, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, @@ -6108,7 +6108,7 @@ static constexpr const uint32_t _OldLogFlumeTrackPaintFunctions[256] = { 0, 0, 0, - 0x0074E1A0, // TRACK_ELEM_ON_RIDE_PHOTO + 0x0074E1A0, // TrackElemType::OnRidePhoto 0, 0, 0, @@ -6166,7 +6166,7 @@ static constexpr const uint32_t _OldLogFlumeTrackPaintFunctions[256] = { 0, 0, 0, - 0x0074E190, // TRACK_ELEM_LOG_FLUME_REVERSER + 0x0074E190, // TrackElemType::LogFlumeReverser 0, 0, 0, @@ -6254,22 +6254,22 @@ static constexpr const uint32_t _OldLogFlumeTrackPaintFunctions[256] = { /** rct2: 0x0075745C */ static constexpr const uint32_t _OldRiverRapidsTrackPaintFunctions[256] = { - 0x00757650, // TRACK_ELEM_FLAT - 0x007576C0, // TRACK_ELEM_END_STATION - 0x007576D0, // TRACK_ELEM_BEGIN_STATION - 0x007576E0, // TRACK_ELEM_MIDDLE_STATION - 0x00757660, // TRACK_ELEM_25_DEG_UP + 0x00757650, // TrackElemType::Flat + 0x007576C0, // TrackElemType::EndStation + 0x007576D0, // TrackElemType::BeginStation + 0x007576E0, // TrackElemType::MiddleStation + 0x00757660, // TrackElemType::Up25 0, - 0x00757670, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x00757670, // TrackElemType::FlatToUp25 0, 0, - 0x00757680, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00757690, // TRACK_ELEM_25_DEG_DOWN + 0x00757680, // TrackElemType::Up25ToFlat + 0x00757690, // TrackElemType::Down25 0, - 0x007576A0, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x007576A0, // TrackElemType::FlatToDown25 0, 0, - 0x007576B0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x007576B0, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -6304,8 +6304,8 @@ static constexpr const uint32_t _OldRiverRapidsTrackPaintFunctions[256] = { 0, 0, 0, - 0x007576F0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00757700, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x007576F0, // TrackElemType::LeftQuarterTurn1Tile + 0x00757700, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -6366,15 +6366,15 @@ static constexpr const uint32_t _OldRiverRapidsTrackPaintFunctions[256] = { 0, 0, 0, - 0x00757710, // TRACK_ELEM_WATERFALL - 0x00757720, // TRACK_ELEM_RAPIDS - 0x00757740, // TRACK_ELEM_ON_RIDE_PHOTO + 0x00757710, // TrackElemType::Waterfall + 0x00757720, // TrackElemType::Rapids + 0x00757740, // TrackElemType::OnRidePhoto 0, 0, 0, 0, 0, - 0x00757730, // TRACK_ELEM_WHIRLPOOL + 0x00757730, // TrackElemType::Whirlpool 0, 0, 0, @@ -9382,10 +9382,10 @@ static constexpr const uint32_t _OldSpaceRingsTrackPaintFunctions[256] = { /** rct2: 0x00768BAC */ static constexpr const uint32_t _OldReverseFreefallCoasterTrackPaintFunctions[256] = { - 0x00768DB4, // TRACK_ELEM_FLAT - 0x00768DC4, // TRACK_ELEM_END_STATION - 0x00768DD4, // TRACK_ELEM_BEGIN_STATION - 0x00768DE4, // TRACK_ELEM_MIDDLE_STATION + 0x00768DB4, // TrackElemType::Flat + 0x00768DC4, // TrackElemType::EndStation + 0x00768DD4, // TrackElemType::BeginStation + 0x00768DE4, // TrackElemType::MiddleStation 0, 0, 0, @@ -9506,8 +9506,8 @@ static constexpr const uint32_t _OldReverseFreefallCoasterTrackPaintFunctions[25 0, 0, 0, - 0x00768DF4, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - 0x00768E04, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL + 0x00768DF4, // TrackElemType::ReverseFreefallSlope + 0x00768E04, // TrackElemType::ReverseFreefallVertical 0, 0, 0, @@ -9708,8 +9708,8 @@ static constexpr const uint32_t _OldLiftTrackPaintFunctions[256] = { 0, 0, 0, - 0x0076C6CC, // TRACK_ELEM_TOWER_BASE - 0x0076C6DC, // TRACK_ELEM_TOWER_SECTION + 0x0076C6CC, // TrackElemType::TowerBase + 0x0076C6DC, // TrackElemType::TowerSection 0, 0, 0, @@ -9902,56 +9902,56 @@ static constexpr const uint32_t _OldLiftTrackPaintFunctions[256] = { /** rct2: 0x008A9C08 */ static constexpr const uint32_t _OldVerticalDropRollerCoasterTrackPaintFunctions[256] = { - 0x008AA00C, // TRACK_ELEM_FLAT - 0x008AA25C, // TRACK_ELEM_END_STATION - 0x008AA26C, // TRACK_ELEM_BEGIN_STATION - 0x008AA27C, // TRACK_ELEM_MIDDLE_STATION - 0x008AA01C, // TRACK_ELEM_25_DEG_UP - 0x008AA02C, // TRACK_ELEM_60_DEG_UP - 0x008AA03C, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AA04C, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AA05C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AA06C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AA07C, // TRACK_ELEM_25_DEG_DOWN - 0x008AA08C, // TRACK_ELEM_60_DEG_DOWN - 0x008AA09C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AA0AC, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AA0BC, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AA0CC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AA0DC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AA0EC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AA0FC, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AA10C, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AA11C, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AA12C, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AA13C, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AA14C, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AA15C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AA16C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AA17C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AA18C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AA19C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AA1AC, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AA1BC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AA1CC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AA1DC, // TRACK_ELEM_LEFT_BANK - 0x008AA1EC, // TRACK_ELEM_RIGHT_BANK - 0x008AA1FC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AA20C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AA21C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AA22C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AA23C, // TRACK_ELEM_S_BEND_LEFT - 0x008AA24C, // TRACK_ELEM_S_BEND_RIGHT - 0x008AA49C, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008AA4AC, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008AA28C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AA29C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AA2AC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AA2BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AA2CC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AA2DC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AA2EC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AA2FC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AA00C, // TrackElemType::Flat + 0x008AA25C, // TrackElemType::EndStation + 0x008AA26C, // TrackElemType::BeginStation + 0x008AA27C, // TrackElemType::MiddleStation + 0x008AA01C, // TrackElemType::Up25 + 0x008AA02C, // TrackElemType::Up60 + 0x008AA03C, // TrackElemType::FlatToUp25 + 0x008AA04C, // TrackElemType::Up25ToUp60 + 0x008AA05C, // TrackElemType::Up60ToUp25 + 0x008AA06C, // TrackElemType::Up25ToFlat + 0x008AA07C, // TrackElemType::Down25 + 0x008AA08C, // TrackElemType::Down60 + 0x008AA09C, // TrackElemType::FlatToDown25 + 0x008AA0AC, // TrackElemType::Down25ToDown60 + 0x008AA0BC, // TrackElemType::Down60ToDown25 + 0x008AA0CC, // TrackElemType::Down25ToFlat + 0x008AA0DC, // TrackElemType::LeftQuarterTurn5Tiles + 0x008AA0EC, // TrackElemType::RightQuarterTurn5Tiles + 0x008AA0FC, // TrackElemType::FlatToLeftBank + 0x008AA10C, // TrackElemType::FlatToRightBank + 0x008AA11C, // TrackElemType::LeftBankToFlat + 0x008AA12C, // TrackElemType::RightBankToFlat + 0x008AA13C, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008AA14C, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008AA15C, // TrackElemType::LeftBankToUp25 + 0x008AA16C, // TrackElemType::RightBankToUp25 + 0x008AA17C, // TrackElemType::Up25ToLeftBank + 0x008AA18C, // TrackElemType::Up25ToRightBank + 0x008AA19C, // TrackElemType::LeftBankToDown25 + 0x008AA1AC, // TrackElemType::RightBankToDown25 + 0x008AA1BC, // TrackElemType::Down25ToLeftBank + 0x008AA1CC, // TrackElemType::Down25ToRightBank + 0x008AA1DC, // TrackElemType::LeftBank + 0x008AA1EC, // TrackElemType::RightBank + 0x008AA1FC, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008AA20C, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008AA21C, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008AA22C, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008AA23C, // TrackElemType::SBendLeft + 0x008AA24C, // TrackElemType::SBendRight + 0x008AA49C, // TrackElemType::LeftVerticalLoop + 0x008AA4AC, // TrackElemType::RightVerticalLoop + 0x008AA28C, // TrackElemType::LeftQuarterTurn3Tiles + 0x008AA29C, // TrackElemType::RightQuarterTurn3Tiles + 0x008AA2AC, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008AA2BC, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008AA2CC, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008AA2DC, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008AA2EC, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008AA2FC, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -9964,10 +9964,10 @@ static constexpr const uint32_t _OldVerticalDropRollerCoasterTrackPaintFunctions 0, 0, 0, - 0x008AA3CC, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 0x008AA3DC, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 0x008AA3EC, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 0x008AA3FC, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + 0x008AA3CC, // TrackElemType::FlatToUp60 + 0x008AA3DC, // TrackElemType::Up60ToFlat + 0x008AA3EC, // TrackElemType::FlatToDown60 + 0x008AA3FC, // TrackElemType::Down60ToFlat 0, 0, 0, @@ -9989,19 +9989,19 @@ static constexpr const uint32_t _OldVerticalDropRollerCoasterTrackPaintFunctions 0, 0, 0, - 0x008AA30C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008AA31C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008AA32C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AA33C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AA34C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008AA35C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008AA36C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008AA37C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008AA3AC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008AA38C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008AA39C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008AA3BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008AA40C, // TRACK_ELEM_BRAKES + 0x008AA30C, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008AA31C, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008AA32C, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008AA33C, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008AA34C, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008AA35C, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008AA36C, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008AA37C, // TrackElemType::RightHalfBankedHelixDownLarge + 0x008AA3AC, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x008AA38C, // TrackElemType::RightQuarterTurn1TileUp60 + 0x008AA39C, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x008AA3BC, // TrackElemType::RightQuarterTurn1TileDown60 + 0x008AA40C, // TrackElemType::Brakes 0, 0, 0, @@ -10012,13 +10012,13 @@ static constexpr const uint32_t _OldVerticalDropRollerCoasterTrackPaintFunctions 0, 0, 0, - 0x008AA7EC, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008AA7FC, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0x008AA7EC, // TrackElemType::Up25LeftBanked + 0x008AA7FC, // TrackElemType::Up25RightBanked 0, 0, - 0x008AA41C, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008AA80C, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008AA81C, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0x008AA41C, // TrackElemType::OnRidePhoto + 0x008AA80C, // TrackElemType::Down25LeftBanked + 0x008AA81C, // TrackElemType::Down25RightBanked 0, 0, 0, @@ -10028,62 +10028,62 @@ static constexpr const uint32_t _OldVerticalDropRollerCoasterTrackPaintFunctions 0, 0, 0, - 0x008AA42C, // TRACK_ELEM_90_DEG_UP - 0x008AA43C, // TRACK_ELEM_90_DEG_DOWN - 0x008AA44C, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x008AA45C, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x008AA46C, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x008AA47C, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN - 0x008AA48C, // TRACK_ELEM_BRAKE_FOR_DROP - 0x008AA4CC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AA4DC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AA4EC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AA4FC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008AA50C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008AA51C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008AA52C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AA53C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AA4BC, // TRACK_ELEM_DIAG_FLAT - 0x008AA56C, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008AA5CC, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008AA54C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008AA5AC, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008AA5BC, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008AA55C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AA59C, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008AA5FC, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008AA57C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008AA5DC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AA5EC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AA58C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT - 0x008AA6EC, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP - 0x008AA6FC, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT - 0x008AA70C, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN - 0x008AA71C, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT - 0x008AA62C, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008AA63C, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008AA64C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008AA65C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008AA68C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008AA69C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008AA66C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008AA67C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008AA6AC, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008AA6BC, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AA6CC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008AA6DC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AA60C, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008AA61C, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008AA42C, // TrackElemType::Up90 + 0x008AA43C, // TrackElemType::Down90 + 0x008AA44C, // TrackElemType::Up60ToUp90 + 0x008AA45C, // TrackElemType::Down90ToDown60 + 0x008AA46C, // TrackElemType::Up90ToUp60 + 0x008AA47C, // TrackElemType::Down60ToDown90 + 0x008AA48C, // TrackElemType::BrakeForDrop + 0x008AA4CC, // TrackElemType::LeftEighthToDiag + 0x008AA4DC, // TrackElemType::RightEighthToDiag + 0x008AA4EC, // TrackElemType::LeftEighthToOrthogonal + 0x008AA4FC, // TrackElemType::RightEighthToOrthogonal + 0x008AA50C, // TrackElemType::LeftEighthBankToDiag + 0x008AA51C, // TrackElemType::RightEighthBankToDiag + 0x008AA52C, // TrackElemType::LeftEighthBankToOrthogonal + 0x008AA53C, // TrackElemType::RightEighthBankToOrthogonal + 0x008AA4BC, // TrackElemType::DiagFlat + 0x008AA56C, // TrackElemType::DiagUp25 + 0x008AA5CC, // TrackElemType::DiagUp60 + 0x008AA54C, // TrackElemType::DiagFlatToUp25 + 0x008AA5AC, // TrackElemType::DiagUp25ToUp60 + 0x008AA5BC, // TrackElemType::DiagUp60ToUp25 + 0x008AA55C, // TrackElemType::DiagUp25ToFlat + 0x008AA59C, // TrackElemType::DiagDown25 + 0x008AA5FC, // TrackElemType::DiagDown60 + 0x008AA57C, // TrackElemType::DiagFlatToDown25 + 0x008AA5DC, // TrackElemType::DiagDown25ToDown60 + 0x008AA5EC, // TrackElemType::DiagDown60ToDown25 + 0x008AA58C, // TrackElemType::DiagDown25ToFlat + 0x008AA6EC, // TrackElemType::DiagFlatToUp60 + 0x008AA6FC, // TrackElemType::DiagUp60ToFlat + 0x008AA70C, // TrackElemType::DiagFlatToDown60 + 0x008AA71C, // TrackElemType::DiagDown60ToFlat + 0x008AA62C, // TrackElemType::DiagFlatToLeftBank + 0x008AA63C, // TrackElemType::DiagFlatToRightBank + 0x008AA64C, // TrackElemType::DiagLeftBankToFlat + 0x008AA65C, // TrackElemType::DiagRightBankToFlat + 0x008AA68C, // TrackElemType::DiagLeftBankToUp25 + 0x008AA69C, // TrackElemType::DiagRightBankToUp25 + 0x008AA66C, // TrackElemType::DiagUp25ToLeftBank + 0x008AA67C, // TrackElemType::DiagUp25ToRightBank + 0x008AA6AC, // TrackElemType::DiagLeftBankToDown25 + 0x008AA6BC, // TrackElemType::DiagRightBankToDown25 + 0x008AA6CC, // TrackElemType::DiagDown25ToLeftBank + 0x008AA6DC, // TrackElemType::DiagDown25ToRightBank + 0x008AA60C, // TrackElemType::DiagLeftBank + 0x008AA61C, // TrackElemType::DiagRightBank 0, 0, 0, 0, 0, 0, - 0x008AA72C, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AA73C, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AA74C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - 0x008AA75C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + 0x008AA72C, // TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25 + 0x008AA73C, // TrackElemType::RightBankToRightQuarterTurn3TilesUp25 + 0x008AA74C, // TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank + 0x008AA75C, // TrackElemType::RightQuarterTurn3TilesDown25ToRightBank 0, 0, 0, @@ -10118,43 +10118,43 @@ static constexpr const uint32_t _OldVerticalDropRollerCoasterTrackPaintFunctions 0, 0, 0, - 0x008AA9EC, // TRACK_ELEM_BLOCK_BRAKES - 0x008AA96C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008AA97C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008AA98C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008AA99C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008AA8AC, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008AA8BC, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008AA8CC, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008AA8DC, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008AA82C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008AA83C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008AA84C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008AA85C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008AA86C, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008AA87C, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008AA88C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008AA89C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008AA8EC, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008AA8FC, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008AA92C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008AA93C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008AA94C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008AA95C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008AA90C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008AA91C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008AA76C, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008AA77C, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008AA78C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008AA79C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008AA7AC, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008AA7BC, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008AA7CC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008AA7DC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008AA9AC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008AA9BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008AA9CC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0x008AA9DC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0x008AA9EC, // TrackElemType::BlockBrakes + 0x008AA96C, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + 0x008AA97C, // TrackElemType::RightBankedQuarterTurn3TileUp25 + 0x008AA98C, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + 0x008AA99C, // TrackElemType::RightBankedQuarterTurn3TileDown25 + 0x008AA8AC, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + 0x008AA8BC, // TrackElemType::RightBankedQuarterTurn5TileUp25 + 0x008AA8CC, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + 0x008AA8DC, // TrackElemType::RightBankedQuarterTurn5TileDown25 + 0x008AA82C, // TrackElemType::Up25ToLeftBankedUp25 + 0x008AA83C, // TrackElemType::Up25ToRightBankedUp25 + 0x008AA84C, // TrackElemType::LeftBankedUp25ToUp25 + 0x008AA85C, // TrackElemType::RightBankedUp25ToUp25 + 0x008AA86C, // TrackElemType::Down25ToLeftBankedDown25 + 0x008AA87C, // TrackElemType::Down25ToRightBankedDown25 + 0x008AA88C, // TrackElemType::LeftBankedDown25ToDown25 + 0x008AA89C, // TrackElemType::RightBankedDown25ToDown25 + 0x008AA8EC, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + 0x008AA8FC, // TrackElemType::RightBankedFlatToRightBankedUp25 + 0x008AA92C, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + 0x008AA93C, // TrackElemType::RightBankedUp25ToRightBankedFlat + 0x008AA94C, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + 0x008AA95C, // TrackElemType::RightBankedFlatToRightBankedDown25 + 0x008AA90C, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + 0x008AA91C, // TrackElemType::RightBankedDown25ToRightBankedFlat + 0x008AA76C, // TrackElemType::FlatToLeftBankedUp25 + 0x008AA77C, // TrackElemType::FlatToRightBankedUp25 + 0x008AA78C, // TrackElemType::LeftBankedUp25ToFlat + 0x008AA79C, // TrackElemType::RightBankedUp25ToFlat + 0x008AA7AC, // TrackElemType::FlatToLeftBankedDown25 + 0x008AA7BC, // TrackElemType::FlatToRightBankedDown25 + 0x008AA7CC, // TrackElemType::LeftBankedDown25ToFlat + 0x008AA7DC, // TrackElemType::RightBankedDown25ToFlat + 0x008AA9AC, // TrackElemType::LeftQuarterTurn1TileUp90 + 0x008AA9BC, // TrackElemType::RightQuarterTurn1TileUp90 + 0x008AA9CC, // TrackElemType::LeftQuarterTurn1TileDown90 + 0x008AA9DC, // TrackElemType::RightQuarterTurn1TileDown90 0, 0, 0, @@ -10942,22 +10942,22 @@ static constexpr const uint32_t _OldCircusTrackPaintFunctions[256] = { /** rct2: 0x00770924 */ static constexpr const uint32_t _OldGhostTrainTrackPaintFunctions[256] = { - 0x00770BEC, // TRACK_ELEM_FLAT - 0x00770C5C, // TRACK_ELEM_END_STATION - 0x00770C6C, // TRACK_ELEM_BEGIN_STATION - 0x00770C7C, // TRACK_ELEM_MIDDLE_STATION - 0x00770BFC, // TRACK_ELEM_25_DEG_UP + 0x00770BEC, // TrackElemType::Flat + 0x00770C5C, // TrackElemType::EndStation + 0x00770C6C, // TrackElemType::BeginStation + 0x00770C7C, // TrackElemType::MiddleStation + 0x00770BFC, // TrackElemType::Up25 0, - 0x00770C0C, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x00770C0C, // TrackElemType::FlatToUp25 0, 0, - 0x00770C1C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00770C2C, // TRACK_ELEM_25_DEG_DOWN + 0x00770C1C, // TrackElemType::Up25ToFlat + 0x00770C2C, // TrackElemType::Down25 0, - 0x00770C3C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x00770C3C, // TrackElemType::FlatToDown25 0, 0, - 0x00770C4C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x00770C4C, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -10984,16 +10984,16 @@ static constexpr const uint32_t _OldGhostTrainTrackPaintFunctions[256] = { 0, 0, 0, - 0x00770C8C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00770C9C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x00770C8C, // TrackElemType::LeftQuarterTurn3Tiles + 0x00770C9C, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, 0, 0, 0, - 0x00770CAC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00770CBC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x00770CAC, // TrackElemType::LeftQuarterTurn1Tile + 0x00770CBC, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -11041,7 +11041,7 @@ static constexpr const uint32_t _OldGhostTrainTrackPaintFunctions[256] = { 0, 0, 0, - 0x00770CDC, // TRACK_ELEM_BRAKES + 0x00770CDC, // TrackElemType::Brakes 0, 0, 0, @@ -11115,7 +11115,7 @@ static constexpr const uint32_t _OldGhostTrainTrackPaintFunctions[256] = { 0, 0, 0, - 0x00770CCC, // TRACK_ELEM_SPINNING_TUNNEL + 0x00770CCC, // TrackElemType::SpinningTunnel 0, 0, 0, @@ -11202,68 +11202,68 @@ static constexpr const uint32_t _OldGhostTrainTrackPaintFunctions[256] = { /** rct2: 0x008AB2A0 */ static constexpr const uint32_t _OldTwisterRollerCoasterTrackPaintFunctions[256] = { - 0x008AB6A4, // TRACK_ELEM_FLAT - 0x008AB8F4, // TRACK_ELEM_END_STATION - 0x008AB904, // TRACK_ELEM_BEGIN_STATION - 0x008AB914, // TRACK_ELEM_MIDDLE_STATION - 0x008AB6B4, // TRACK_ELEM_25_DEG_UP - 0x008AB6C4, // TRACK_ELEM_60_DEG_UP - 0x008AB6D4, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AB6E4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AB6F4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AB704, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AB714, // TRACK_ELEM_25_DEG_DOWN - 0x008AB724, // TRACK_ELEM_60_DEG_DOWN - 0x008AB734, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AB744, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AB754, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AB764, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AB774, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AB784, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AB794, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AB7A4, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AB7B4, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AB7C4, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AB7D4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AB7E4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AB7F4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AB804, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AB814, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AB824, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AB834, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AB844, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AB854, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AB864, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AB874, // TRACK_ELEM_LEFT_BANK - 0x008AB884, // TRACK_ELEM_RIGHT_BANK - 0x008AB894, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AB8A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AB8B4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AB8C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AB8D4, // TRACK_ELEM_S_BEND_LEFT - 0x008AB8E4, // TRACK_ELEM_S_BEND_RIGHT - 0x008ABA84, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008ABA94, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008AB924, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AB934, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AB944, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AB954, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AB964, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AB974, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AB984, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AB994, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AB6A4, // TrackElemType::Flat + 0x008AB8F4, // TrackElemType::EndStation + 0x008AB904, // TrackElemType::BeginStation + 0x008AB914, // TrackElemType::MiddleStation + 0x008AB6B4, // TrackElemType::Up25 + 0x008AB6C4, // TrackElemType::Up60 + 0x008AB6D4, // TrackElemType::FlatToUp25 + 0x008AB6E4, // TrackElemType::Up25ToUp60 + 0x008AB6F4, // TrackElemType::Up60ToUp25 + 0x008AB704, // TrackElemType::Up25ToFlat + 0x008AB714, // TrackElemType::Down25 + 0x008AB724, // TrackElemType::Down60 + 0x008AB734, // TrackElemType::FlatToDown25 + 0x008AB744, // TrackElemType::Down25ToDown60 + 0x008AB754, // TrackElemType::Down60ToDown25 + 0x008AB764, // TrackElemType::Down25ToFlat + 0x008AB774, // TrackElemType::LeftQuarterTurn5Tiles + 0x008AB784, // TrackElemType::RightQuarterTurn5Tiles + 0x008AB794, // TrackElemType::FlatToLeftBank + 0x008AB7A4, // TrackElemType::FlatToRightBank + 0x008AB7B4, // TrackElemType::LeftBankToFlat + 0x008AB7C4, // TrackElemType::RightBankToFlat + 0x008AB7D4, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008AB7E4, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008AB7F4, // TrackElemType::LeftBankToUp25 + 0x008AB804, // TrackElemType::RightBankToUp25 + 0x008AB814, // TrackElemType::Up25ToLeftBank + 0x008AB824, // TrackElemType::Up25ToRightBank + 0x008AB834, // TrackElemType::LeftBankToDown25 + 0x008AB844, // TrackElemType::RightBankToDown25 + 0x008AB854, // TrackElemType::Down25ToLeftBank + 0x008AB864, // TrackElemType::Down25ToRightBank + 0x008AB874, // TrackElemType::LeftBank + 0x008AB884, // TrackElemType::RightBank + 0x008AB894, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008AB8A4, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008AB8B4, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008AB8C4, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008AB8D4, // TrackElemType::SBendLeft + 0x008AB8E4, // TrackElemType::SBendRight + 0x008ABA84, // TrackElemType::LeftVerticalLoop + 0x008ABA94, // TrackElemType::RightVerticalLoop + 0x008AB924, // TrackElemType::LeftQuarterTurn3Tiles + 0x008AB934, // TrackElemType::RightQuarterTurn3Tiles + 0x008AB944, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008AB954, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008AB964, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008AB974, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008AB984, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008AB994, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, 0, 0, 0, - 0x008ABCD4, // TRACK_ELEM_HALF_LOOP_UP - 0x008ABCE4, // TRACK_ELEM_HALF_LOOP_DOWN - 0x008ABD34, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008ABD44, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008ABD54, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008ABD64, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0x008ABCD4, // TrackElemType::HalfLoopUp + 0x008ABCE4, // TrackElemType::HalfLoopDown + 0x008ABD34, // TrackElemType::LeftCorkscrewUp + 0x008ABD44, // TrackElemType::RightCorkscrewUp + 0x008ABD54, // TrackElemType::LeftCorkscrewDown + 0x008ABD64, // TrackElemType::RightCorkscrewDown 0, 0, 0, @@ -11289,19 +11289,19 @@ static constexpr const uint32_t _OldTwisterRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008AB9A4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008AB9B4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008AB9C4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AB9D4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AB9E4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008AB9F4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008ABA04, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008ABA14, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008ABA44, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008ABA24, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008ABA34, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008ABA54, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008ABA64, // TRACK_ELEM_BRAKES + 0x008AB9A4, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008AB9B4, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008AB9C4, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008AB9D4, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008AB9E4, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008AB9F4, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008ABA04, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008ABA14, // TrackElemType::RightHalfBankedHelixDownLarge + 0x008ABA44, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x008ABA24, // TrackElemType::RightQuarterTurn1TileUp60 + 0x008ABA34, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x008ABA54, // TrackElemType::RightQuarterTurn1TileDown60 + 0x008ABA64, // TrackElemType::Brakes 0, 0, 0, @@ -11312,83 +11312,83 @@ static constexpr const uint32_t _OldTwisterRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008ABE04, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008ABE14, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0x008ABE04, // TrackElemType::Up25LeftBanked + 0x008ABE14, // TrackElemType::Up25RightBanked 0, 0, - 0x008ABA74, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008ABE24, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008ABE34, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0x008ABA74, // TrackElemType::OnRidePhoto + 0x008ABE24, // TrackElemType::Down25LeftBanked + 0x008ABE34, // TrackElemType::Down25RightBanked 0, - 0x008AC0F4, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - 0x008AC104, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + 0x008AC0F4, // TrackElemType::FlatToUp60LongBase + 0x008AC104, // TrackElemType::Up60ToFlatLongBase 0, - 0x008AC114, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - 0x008AC124, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 + 0x008AC114, // TrackElemType::Down60ToFlatLongBase + 0x008AC124, // TrackElemType::FlatToDown60LongBase 0, 0, 0, - 0x008ABE44, // TRACK_ELEM_90_DEG_UP - 0x008ABE54, // TRACK_ELEM_90_DEG_DOWN - 0x008ABE64, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x008ABE74, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x008ABE84, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x008ABE94, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 0x008ABE44, // TrackElemType::Up90 + 0x008ABE54, // TrackElemType::Down90 + 0x008ABE64, // TrackElemType::Up60ToUp90 + 0x008ABE74, // TrackElemType::Down90ToDown60 + 0x008ABE84, // TrackElemType::Up90ToUp60 + 0x008ABE94, // TrackElemType::Down60ToDown90 0, - 0x008ABAB4, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008ABAC4, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008ABAD4, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008ABAE4, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008ABAF4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008ABB04, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008ABB14, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008ABB24, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008ABAA4, // TRACK_ELEM_DIAG_FLAT - 0x008ABB54, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008ABBB4, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008ABB34, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008ABB94, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008ABBA4, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008ABB44, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008ABB84, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008ABBE4, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008ABB64, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008ABBC4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008ABBD4, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008ABB74, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008ABAB4, // TrackElemType::LeftEighthToDiag + 0x008ABAC4, // TrackElemType::RightEighthToDiag + 0x008ABAD4, // TrackElemType::LeftEighthToOrthogonal + 0x008ABAE4, // TrackElemType::RightEighthToOrthogonal + 0x008ABAF4, // TrackElemType::LeftEighthBankToDiag + 0x008ABB04, // TrackElemType::RightEighthBankToDiag + 0x008ABB14, // TrackElemType::LeftEighthBankToOrthogonal + 0x008ABB24, // TrackElemType::RightEighthBankToOrthogonal + 0x008ABAA4, // TrackElemType::DiagFlat + 0x008ABB54, // TrackElemType::DiagUp25 + 0x008ABBB4, // TrackElemType::DiagUp60 + 0x008ABB34, // TrackElemType::DiagFlatToUp25 + 0x008ABB94, // TrackElemType::DiagUp25ToUp60 + 0x008ABBA4, // TrackElemType::DiagUp60ToUp25 + 0x008ABB44, // TrackElemType::DiagUp25ToFlat + 0x008ABB84, // TrackElemType::DiagDown25 + 0x008ABBE4, // TrackElemType::DiagDown60 + 0x008ABB64, // TrackElemType::DiagFlatToDown25 + 0x008ABBC4, // TrackElemType::DiagDown25ToDown60 + 0x008ABBD4, // TrackElemType::DiagDown60ToDown25 + 0x008ABB74, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008ABC14, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008ABC24, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008ABC34, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008ABC44, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008ABC74, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008ABC84, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008ABC54, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008ABC64, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008ABC94, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008ABCA4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008ABCB4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008ABCC4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008ABBF4, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008ABC04, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008ABC14, // TrackElemType::DiagFlatToLeftBank + 0x008ABC24, // TrackElemType::DiagFlatToRightBank + 0x008ABC34, // TrackElemType::DiagLeftBankToFlat + 0x008ABC44, // TrackElemType::DiagRightBankToFlat + 0x008ABC74, // TrackElemType::DiagLeftBankToUp25 + 0x008ABC84, // TrackElemType::DiagRightBankToUp25 + 0x008ABC54, // TrackElemType::DiagUp25ToLeftBank + 0x008ABC64, // TrackElemType::DiagUp25ToRightBank + 0x008ABC94, // TrackElemType::DiagLeftBankToDown25 + 0x008ABCA4, // TrackElemType::DiagRightBankToDown25 + 0x008ABCB4, // TrackElemType::DiagDown25ToLeftBank + 0x008ABCC4, // TrackElemType::DiagDown25ToRightBank + 0x008ABBF4, // TrackElemType::DiagLeftBank + 0x008ABC04, // TrackElemType::DiagRightBank 0, 0, - 0x008ABCF4, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN - 0x008ABD04, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN - 0x008ABD14, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP - 0x008ABD24, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP - 0x008ABD74, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008ABD84, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008ABD94, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - 0x008ABDA4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK - 0x008ABDB4, // TRACK_ELEM_POWERED_LIFT - 0x008ABDC4, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP - 0x008ABDD4, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP - 0x008ABDE4, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN - 0x008ABDF4, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN + 0x008ABCF4, // TrackElemType::LeftBarrelRollUpToDown + 0x008ABD04, // TrackElemType::RightBarrelRollUpToDown + 0x008ABD14, // TrackElemType::LeftBarrelRollDownToUp + 0x008ABD24, // TrackElemType::RightBarrelRollDownToUp + 0x008ABD74, // TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25 + 0x008ABD84, // TrackElemType::RightBankToRightQuarterTurn3TilesUp25 + 0x008ABD94, // TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank + 0x008ABDA4, // TrackElemType::RightQuarterTurn3TilesDown25ToRightBank + 0x008ABDB4, // TrackElemType::PoweredLift + 0x008ABDC4, // TrackElemType::LeftLargeHalfLoopUp + 0x008ABDD4, // TrackElemType::RightLargeHalfLoopUp + 0x008ABDE4, // TrackElemType::RightLargeHalfLoopDown + 0x008ABDF4, // TrackElemType::LeftLargeHalfLoopDown 0, 0, 0, @@ -11409,8 +11409,8 @@ static constexpr const uint32_t _OldTwisterRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008AC134, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - 0x008AC144, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + 0x008AC134, // TrackElemType::Up90ToInvertedFlatQuarterLoop + 0x008AC144, // TrackElemType::InvertedFlatToDown90QuarterLoop 0, 0, 0, @@ -11418,43 +11418,43 @@ static constexpr const uint32_t _OldTwisterRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008AC0E4, // TRACK_ELEM_BLOCK_BRAKES - 0x008ABEA4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ABEB4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ABEC4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ABED4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ABEE4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ABEF4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ABF04, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ABF14, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ABF24, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008ABF34, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008ABF44, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ABF54, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ABF64, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ABF74, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ABF84, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ABF94, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ABFA4, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008ABFB4, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008ABFE4, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008ABFF4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008AC004, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008AC014, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ABFC4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008ABFD4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008AC024, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008AC034, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008AC044, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008AC054, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008AC064, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008AC074, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008AC084, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008AC094, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008AC0A4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008AC0B4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008AC0C4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0x008AC0D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0x008AC0E4, // TrackElemType::BlockBrakes + 0x008ABEA4, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + 0x008ABEB4, // TrackElemType::RightBankedQuarterTurn3TileUp25 + 0x008ABEC4, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + 0x008ABED4, // TrackElemType::RightBankedQuarterTurn3TileDown25 + 0x008ABEE4, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + 0x008ABEF4, // TrackElemType::RightBankedQuarterTurn5TileUp25 + 0x008ABF04, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + 0x008ABF14, // TrackElemType::RightBankedQuarterTurn5TileDown25 + 0x008ABF24, // TrackElemType::Up25ToLeftBankedUp25 + 0x008ABF34, // TrackElemType::Up25ToRightBankedUp25 + 0x008ABF44, // TrackElemType::LeftBankedUp25ToUp25 + 0x008ABF54, // TrackElemType::RightBankedUp25ToUp25 + 0x008ABF64, // TrackElemType::Down25ToLeftBankedDown25 + 0x008ABF74, // TrackElemType::Down25ToRightBankedDown25 + 0x008ABF84, // TrackElemType::LeftBankedDown25ToDown25 + 0x008ABF94, // TrackElemType::RightBankedDown25ToDown25 + 0x008ABFA4, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + 0x008ABFB4, // TrackElemType::RightBankedFlatToRightBankedUp25 + 0x008ABFE4, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + 0x008ABFF4, // TrackElemType::RightBankedUp25ToRightBankedFlat + 0x008AC004, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + 0x008AC014, // TrackElemType::RightBankedFlatToRightBankedDown25 + 0x008ABFC4, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + 0x008ABFD4, // TrackElemType::RightBankedDown25ToRightBankedFlat + 0x008AC024, // TrackElemType::FlatToLeftBankedUp25 + 0x008AC034, // TrackElemType::FlatToRightBankedUp25 + 0x008AC044, // TrackElemType::LeftBankedUp25ToFlat + 0x008AC054, // TrackElemType::RightBankedUp25ToFlat + 0x008AC064, // TrackElemType::FlatToLeftBankedDown25 + 0x008AC074, // TrackElemType::FlatToRightBankedDown25 + 0x008AC084, // TrackElemType::LeftBankedDown25ToFlat + 0x008AC094, // TrackElemType::RightBankedDown25ToFlat + 0x008AC0A4, // TrackElemType::LeftQuarterTurn1TileUp90 + 0x008AC0B4, // TrackElemType::RightQuarterTurn1TileUp90 + 0x008AC0C4, // TrackElemType::LeftQuarterTurn1TileDown90 + 0x008AC0D4, // TrackElemType::RightQuarterTurn1TileDown90 0, 0, 0, @@ -11462,56 +11462,56 @@ static constexpr const uint32_t _OldTwisterRollerCoasterTrackPaintFunctions[256] /** rct2: 0x008AC164 */ static constexpr const uint32_t _OldWoodenRollerCoasterTrackPaintFunctions[256] = { - 0x008AC568, // TRACK_ELEM_FLAT - 0x008AC7B8, // TRACK_ELEM_END_STATION - 0x008AC7C8, // TRACK_ELEM_BEGIN_STATION - 0x008AC7D8, // TRACK_ELEM_MIDDLE_STATION - 0x008AC578, // TRACK_ELEM_25_DEG_UP - 0x008AC588, // TRACK_ELEM_60_DEG_UP - 0x008AC598, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AC5A8, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AC5B8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AC5C8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AC5D8, // TRACK_ELEM_25_DEG_DOWN - 0x008AC5E8, // TRACK_ELEM_60_DEG_DOWN - 0x008AC5F8, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AC608, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AC618, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AC628, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AC638, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AC648, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AC658, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AC668, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AC678, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AC688, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AC698, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AC6A8, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AC6B8, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AC6C8, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AC6D8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AC6E8, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AC6F8, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AC708, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AC718, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AC728, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AC738, // TRACK_ELEM_LEFT_BANK - 0x008AC748, // TRACK_ELEM_RIGHT_BANK - 0x008AC758, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AC768, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AC778, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AC788, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AC798, // TRACK_ELEM_S_BEND_LEFT - 0x008AC7A8, // TRACK_ELEM_S_BEND_RIGHT - 0x008ACE18, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008ACE28, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008AC7E8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AC7F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AC808, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AC818, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AC828, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AC838, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AC848, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AC858, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AC568, // TrackElemType::Flat + 0x008AC7B8, // TrackElemType::EndStation + 0x008AC7C8, // TrackElemType::BeginStation + 0x008AC7D8, // TrackElemType::MiddleStation + 0x008AC578, // TrackElemType::Up25 + 0x008AC588, // TrackElemType::Up60 + 0x008AC598, // TrackElemType::FlatToUp25 + 0x008AC5A8, // TrackElemType::Up25ToUp60 + 0x008AC5B8, // TrackElemType::Up60ToUp25 + 0x008AC5C8, // TrackElemType::Up25ToFlat + 0x008AC5D8, // TrackElemType::Down25 + 0x008AC5E8, // TrackElemType::Down60 + 0x008AC5F8, // TrackElemType::FlatToDown25 + 0x008AC608, // TrackElemType::Down25ToDown60 + 0x008AC618, // TrackElemType::Down60ToDown25 + 0x008AC628, // TrackElemType::Down25ToFlat + 0x008AC638, // TrackElemType::LeftQuarterTurn5Tiles + 0x008AC648, // TrackElemType::RightQuarterTurn5Tiles + 0x008AC658, // TrackElemType::FlatToLeftBank + 0x008AC668, // TrackElemType::FlatToRightBank + 0x008AC678, // TrackElemType::LeftBankToFlat + 0x008AC688, // TrackElemType::RightBankToFlat + 0x008AC698, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008AC6A8, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008AC6B8, // TrackElemType::LeftBankToUp25 + 0x008AC6C8, // TrackElemType::RightBankToUp25 + 0x008AC6D8, // TrackElemType::Up25ToLeftBank + 0x008AC6E8, // TrackElemType::Up25ToRightBank + 0x008AC6F8, // TrackElemType::LeftBankToDown25 + 0x008AC708, // TrackElemType::RightBankToDown25 + 0x008AC718, // TrackElemType::Down25ToLeftBank + 0x008AC728, // TrackElemType::Down25ToRightBank + 0x008AC738, // TrackElemType::LeftBank + 0x008AC748, // TrackElemType::RightBank + 0x008AC758, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008AC768, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008AC778, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008AC788, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008AC798, // TrackElemType::SBendLeft + 0x008AC7A8, // TrackElemType::SBendRight + 0x008ACE18, // TrackElemType::LeftVerticalLoop + 0x008ACE28, // TrackElemType::RightVerticalLoop + 0x008AC7E8, // TrackElemType::LeftQuarterTurn3Tiles + 0x008AC7F8, // TrackElemType::RightQuarterTurn3Tiles + 0x008AC808, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008AC818, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008AC828, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008AC838, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008AC848, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008AC858, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -11549,19 +11549,19 @@ static constexpr const uint32_t _OldWoodenRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008ACAB8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008ACAC8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008ACAD8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008ACAE8, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008ACAF8, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008ACB08, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008ACB18, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008ACB28, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008ACB98, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008ACB78, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008ACB88, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008ACBA8, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008AC868, // TRACK_ELEM_BRAKES + 0x008ACAB8, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008ACAC8, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008ACAD8, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008ACAE8, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008ACAF8, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008ACB08, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008ACB18, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008ACB28, // TrackElemType::RightHalfBankedHelixDownLarge + 0x008ACB98, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x008ACB78, // TrackElemType::RightQuarterTurn1TileUp60 + 0x008ACB88, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x008ACBA8, // TrackElemType::RightQuarterTurn1TileDown60 + 0x008AC868, // TrackElemType::Brakes 0, 0, 0, @@ -11572,14 +11572,14 @@ static constexpr const uint32_t _OldWoodenRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008ACC78, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008ACC88, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0x008ACC78, // TrackElemType::Up25LeftBanked + 0x008ACC88, // TrackElemType::Up25RightBanked 0, 0, - 0x008AC878, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008ACC98, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008ACCA8, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED - 0x008ACE08, // TRACK_ELEM_WATER_SPLASH + 0x008AC878, // TrackElemType::OnRidePhoto + 0x008ACC98, // TrackElemType::Down25LeftBanked + 0x008ACCA8, // TrackElemType::Down25RightBanked + 0x008ACE08, // TrackElemType::Watersplash 0, 0, 0, @@ -11595,55 +11595,55 @@ static constexpr const uint32_t _OldWoodenRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008AC958, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AC968, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AC978, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AC988, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008AC998, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008AC9A8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008AC9B8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AC9C8, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AC888, // TRACK_ELEM_DIAG_FLAT - 0x008AC8B8, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008AC8E8, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008AC898, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008AC8C8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008AC8D8, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008AC8A8, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AC918, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008AC948, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008AC8F8, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008AC928, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AC938, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AC908, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008AC958, // TrackElemType::LeftEighthToDiag + 0x008AC968, // TrackElemType::RightEighthToDiag + 0x008AC978, // TrackElemType::LeftEighthToOrthogonal + 0x008AC988, // TrackElemType::RightEighthToOrthogonal + 0x008AC998, // TrackElemType::LeftEighthBankToDiag + 0x008AC9A8, // TrackElemType::RightEighthBankToDiag + 0x008AC9B8, // TrackElemType::LeftEighthBankToOrthogonal + 0x008AC9C8, // TrackElemType::RightEighthBankToOrthogonal + 0x008AC888, // TrackElemType::DiagFlat + 0x008AC8B8, // TrackElemType::DiagUp25 + 0x008AC8E8, // TrackElemType::DiagUp60 + 0x008AC898, // TrackElemType::DiagFlatToUp25 + 0x008AC8C8, // TrackElemType::DiagUp25ToUp60 + 0x008AC8D8, // TrackElemType::DiagUp60ToUp25 + 0x008AC8A8, // TrackElemType::DiagUp25ToFlat + 0x008AC918, // TrackElemType::DiagDown25 + 0x008AC948, // TrackElemType::DiagDown60 + 0x008AC8F8, // TrackElemType::DiagFlatToDown25 + 0x008AC928, // TrackElemType::DiagDown25ToDown60 + 0x008AC938, // TrackElemType::DiagDown60ToDown25 + 0x008AC908, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008ACA18, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008AC9F8, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008ACA08, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008ACA28, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008ACA58, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008ACA68, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008ACA38, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008ACA48, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008ACA78, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008ACA88, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008ACA98, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008ACAA8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AC9D8, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008AC9E8, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008ACA18, // TrackElemType::DiagFlatToLeftBank + 0x008AC9F8, // TrackElemType::DiagFlatToRightBank + 0x008ACA08, // TrackElemType::DiagLeftBankToFlat + 0x008ACA28, // TrackElemType::DiagRightBankToFlat + 0x008ACA58, // TrackElemType::DiagLeftBankToUp25 + 0x008ACA68, // TrackElemType::DiagRightBankToUp25 + 0x008ACA38, // TrackElemType::DiagUp25ToLeftBank + 0x008ACA48, // TrackElemType::DiagUp25ToRightBank + 0x008ACA78, // TrackElemType::DiagLeftBankToDown25 + 0x008ACA88, // TrackElemType::DiagRightBankToDown25 + 0x008ACA98, // TrackElemType::DiagDown25ToLeftBank + 0x008ACAA8, // TrackElemType::DiagDown25ToRightBank + 0x008AC9D8, // TrackElemType::DiagLeftBank + 0x008AC9E8, // TrackElemType::DiagRightBank 0, 0, 0, 0, 0, 0, - 0x008ACB38, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008ACB48, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008ACB58, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK - 0x008ACB68, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK + 0x008ACB38, // TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25 + 0x008ACB48, // TrackElemType::RightBankToRightQuarterTurn3TilesUp25 + 0x008ACB58, // TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank + 0x008ACB68, // TrackElemType::RightQuarterTurn3TilesDown25ToRightBank 0, 0, 0, @@ -11678,39 +11678,39 @@ static constexpr const uint32_t _OldWoodenRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x008ACDF8, // TRACK_ELEM_BLOCK_BRAKES - 0x008ACCB8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ACCC8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ACCD8, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ACCE8, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ACC38, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ACC48, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ACC58, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ACC68, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ACCF8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008ACD08, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008ACD18, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ACD28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ACD38, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ACD48, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ACD58, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ACD68, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ACD78, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008ACD88, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008ACD98, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008ACDA8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008ACDB8, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ACDC8, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ACDD8, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008ACDE8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008ACBB8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008ACBC8, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008ACBD8, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008ACBE8, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008ACBF8, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ACC08, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ACC18, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008ACC28, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008ACDF8, // TrackElemType::BlockBrakes + 0x008ACCB8, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + 0x008ACCC8, // TrackElemType::RightBankedQuarterTurn3TileUp25 + 0x008ACCD8, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + 0x008ACCE8, // TrackElemType::RightBankedQuarterTurn3TileDown25 + 0x008ACC38, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + 0x008ACC48, // TrackElemType::RightBankedQuarterTurn5TileUp25 + 0x008ACC58, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + 0x008ACC68, // TrackElemType::RightBankedQuarterTurn5TileDown25 + 0x008ACCF8, // TrackElemType::Up25ToLeftBankedUp25 + 0x008ACD08, // TrackElemType::Up25ToRightBankedUp25 + 0x008ACD18, // TrackElemType::LeftBankedUp25ToUp25 + 0x008ACD28, // TrackElemType::RightBankedUp25ToUp25 + 0x008ACD38, // TrackElemType::Down25ToLeftBankedDown25 + 0x008ACD48, // TrackElemType::Down25ToRightBankedDown25 + 0x008ACD58, // TrackElemType::LeftBankedDown25ToDown25 + 0x008ACD68, // TrackElemType::RightBankedDown25ToDown25 + 0x008ACD78, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + 0x008ACD88, // TrackElemType::RightBankedFlatToRightBankedUp25 + 0x008ACD98, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + 0x008ACDA8, // TrackElemType::RightBankedUp25ToRightBankedFlat + 0x008ACDB8, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + 0x008ACDC8, // TrackElemType::RightBankedFlatToRightBankedDown25 + 0x008ACDD8, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + 0x008ACDE8, // TrackElemType::RightBankedDown25ToRightBankedFlat + 0x008ACBB8, // TrackElemType::FlatToLeftBankedUp25 + 0x008ACBC8, // TrackElemType::FlatToRightBankedUp25 + 0x008ACBD8, // TrackElemType::LeftBankedUp25ToFlat + 0x008ACBE8, // TrackElemType::RightBankedUp25ToFlat + 0x008ACBF8, // TrackElemType::FlatToLeftBankedDown25 + 0x008ACC08, // TrackElemType::FlatToRightBankedDown25 + 0x008ACC18, // TrackElemType::LeftBankedDown25ToFlat + 0x008ACC28, // TrackElemType::RightBankedDown25ToFlat 0, 0, 0, @@ -11722,24 +11722,24 @@ static constexpr const uint32_t _OldWoodenRollerCoasterTrackPaintFunctions[256] /** rct2: 0x00778124 */ static constexpr const uint32_t _OldSideFrictionRollerCoasterTrackPaintFunctions[256] = { - 0x0077839C, // TRACK_ELEM_FLAT - 0x007784AC, // TRACK_ELEM_END_STATION - 0x007784BC, // TRACK_ELEM_BEGIN_STATION - 0x007784CC, // TRACK_ELEM_MIDDLE_STATION - 0x007783AC, // TRACK_ELEM_25_DEG_UP + 0x0077839C, // TrackElemType::Flat + 0x007784AC, // TrackElemType::EndStation + 0x007784BC, // TrackElemType::BeginStation + 0x007784CC, // TrackElemType::MiddleStation + 0x007783AC, // TrackElemType::Up25 0, - 0x007783CC, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x007783CC, // TrackElemType::FlatToUp25 0, 0, - 0x007783FC, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0077840C, // TRACK_ELEM_25_DEG_DOWN + 0x007783FC, // TrackElemType::Up25ToFlat + 0x0077840C, // TrackElemType::Down25 0, - 0x0077842C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x0077842C, // TrackElemType::FlatToDown25 0, 0, - 0x0077845C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x0077846C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0077847C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x0077845C, // TrackElemType::Down25ToFlat + 0x0077846C, // TrackElemType::LeftQuarterTurn5Tiles + 0x0077847C, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -11760,12 +11760,12 @@ static constexpr const uint32_t _OldSideFrictionRollerCoasterTrackPaintFunctions 0, 0, 0, - 0x0077848C, // TRACK_ELEM_S_BEND_LEFT - 0x0077849C, // TRACK_ELEM_S_BEND_RIGHT + 0x0077848C, // TrackElemType::SBendLeft + 0x0077849C, // TrackElemType::SBendRight 0, 0, - 0x007784DC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x007784EC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x007784DC, // TrackElemType::LeftQuarterTurn3Tiles + 0x007784EC, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, @@ -11821,7 +11821,7 @@ static constexpr const uint32_t _OldSideFrictionRollerCoasterTrackPaintFunctions 0, 0, 0, - 0x007784FC, // TRACK_ELEM_BRAKES + 0x007784FC, // TrackElemType::Brakes 0, 0, 0, @@ -11855,27 +11855,27 @@ static constexpr const uint32_t _OldSideFrictionRollerCoasterTrackPaintFunctions 0, 0, 0, - 0x007785DC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x007785EC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x007785FC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x0077860C, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x007785DC, // TrackElemType::LeftEighthToDiag + 0x007785EC, // TrackElemType::RightEighthToDiag + 0x007785FC, // TrackElemType::LeftEighthToOrthogonal + 0x0077860C, // TrackElemType::RightEighthToOrthogonal 0, 0, 0, 0, - 0x0077850C, // TRACK_ELEM_DIAG_FLAT - 0x0077853C, // TRACK_ELEM_DIAG_25_DEG_UP + 0x0077850C, // TrackElemType::DiagFlat + 0x0077853C, // TrackElemType::DiagUp25 0, - 0x0077851C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x0077851C, // TrackElemType::DiagFlatToUp25 0, 0, - 0x0077852C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x0077859C, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x0077852C, // TrackElemType::DiagUp25ToFlat + 0x0077859C, // TrackElemType::DiagDown25 0, - 0x0077857C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x0077857C, // TrackElemType::DiagFlatToDown25 0, 0, - 0x0077858C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x0077858C, // TrackElemType::DiagDown25ToFlat 0, 0, 0, @@ -11982,22 +11982,22 @@ static constexpr const uint32_t _OldSideFrictionRollerCoasterTrackPaintFunctions /** rct2: 0x0078AE80 */ static constexpr const uint32_t _OldWildMouseTrackPaintFunctions[256] = { - 0x0078B1E4, // TRACK_ELEM_FLAT - 0x0078B2B4, // TRACK_ELEM_END_STATION - 0x0078B2C4, // TRACK_ELEM_BEGIN_STATION - 0x0078B2D4, // TRACK_ELEM_MIDDLE_STATION - 0x0078B1F4, // TRACK_ELEM_25_DEG_UP - 0x0078B204, // TRACK_ELEM_60_DEG_UP - 0x0078B214, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x0078B224, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x0078B234, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x0078B244, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0078B254, // TRACK_ELEM_25_DEG_DOWN - 0x0078B264, // TRACK_ELEM_60_DEG_DOWN - 0x0078B274, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x0078B284, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x0078B294, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x0078B2A4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x0078B1E4, // TrackElemType::Flat + 0x0078B2B4, // TrackElemType::EndStation + 0x0078B2C4, // TrackElemType::BeginStation + 0x0078B2D4, // TrackElemType::MiddleStation + 0x0078B1F4, // TrackElemType::Up25 + 0x0078B204, // TrackElemType::Up60 + 0x0078B214, // TrackElemType::FlatToUp25 + 0x0078B224, // TrackElemType::Up25ToUp60 + 0x0078B234, // TrackElemType::Up60ToUp25 + 0x0078B244, // TrackElemType::Up25ToFlat + 0x0078B254, // TrackElemType::Down25 + 0x0078B264, // TrackElemType::Down60 + 0x0078B274, // TrackElemType::FlatToDown25 + 0x0078B284, // TrackElemType::Down25ToDown60 + 0x0078B294, // TrackElemType::Down60ToDown25 + 0x0078B2A4, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -12024,16 +12024,16 @@ static constexpr const uint32_t _OldWildMouseTrackPaintFunctions[256] = { 0, 0, 0, - 0x0078B2E4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0078B2F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x0078B2E4, // TrackElemType::LeftQuarterTurn3Tiles + 0x0078B2F4, // TrackElemType::RightQuarterTurn3Tiles 0, 0, - 0x0078B304, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x0078B314, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x0078B324, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x0078B334, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x0078B394, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x0078B3A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x0078B304, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x0078B314, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x0078B324, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x0078B334, // TrackElemType::RightQuarterTurn3TilesDown25 + 0x0078B394, // TrackElemType::LeftQuarterTurn1Tile + 0x0078B3A4, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -12044,10 +12044,10 @@ static constexpr const uint32_t _OldWildMouseTrackPaintFunctions[256] = { 0, 0, 0, - 0x0078B354, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 0x0078B364, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 0x0078B374, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 0x0078B384, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + 0x0078B354, // TrackElemType::FlatToUp60 + 0x0078B364, // TrackElemType::Up60ToFlat + 0x0078B374, // TrackElemType::FlatToDown60 + 0x0078B384, // TrackElemType::Down60ToFlat 0, 0, 0, @@ -12081,8 +12081,8 @@ static constexpr const uint32_t _OldWildMouseTrackPaintFunctions[256] = { 0, 0, 0, - 0x0078B344, // TRACK_ELEM_BRAKES - 0x0078B3C4, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE + 0x0078B344, // TrackElemType::Brakes + 0x0078B3C4, // TrackElemType::RotationControlToggle 0, 0, 0, @@ -12198,7 +12198,7 @@ static constexpr const uint32_t _OldWildMouseTrackPaintFunctions[256] = { 0, 0, 0, - 0x0078B3B4, // TRACK_ELEM_BLOCK_BRAKES + 0x0078B3B4, // TrackElemType::BlockBrakes 0, 0, 0, @@ -12242,52 +12242,52 @@ static constexpr const uint32_t _OldWildMouseTrackPaintFunctions[256] = { /** rct2: 0x00792978 */ static constexpr const uint32_t _OldMultiDimensionRollerCoasterTrackPaintFunctions[256] = { - 0x00792D88, // TRACK_ELEM_FLAT - 0x00792F98, // TRACK_ELEM_END_STATION - 0x00792FA8, // TRACK_ELEM_BEGIN_STATION - 0x00792FB8, // TRACK_ELEM_MIDDLE_STATION - 0x00792D98, // TRACK_ELEM_25_DEG_UP - 0x00792DA8, // TRACK_ELEM_60_DEG_UP - 0x00792DB8, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x00792DC8, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x00792DD8, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x00792DE8, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00792DF8, // TRACK_ELEM_25_DEG_DOWN - 0x00792E08, // TRACK_ELEM_60_DEG_DOWN - 0x00792E18, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x00792E28, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x00792E38, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x00792E48, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x00792E58, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x00792E68, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x00792E78, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x00792E88, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x00792E98, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x00792EA8, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x00792EB8, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x00792EC8, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x00792ED8, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x00792EE8, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x00792EF8, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x00792F08, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x00792F18, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x00792F28, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x00792F38, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x00792F48, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x00792F58, // TRACK_ELEM_LEFT_BANK - 0x00792F68, // TRACK_ELEM_RIGHT_BANK + 0x00792D88, // TrackElemType::Flat + 0x00792F98, // TrackElemType::EndStation + 0x00792FA8, // TrackElemType::BeginStation + 0x00792FB8, // TrackElemType::MiddleStation + 0x00792D98, // TrackElemType::Up25 + 0x00792DA8, // TrackElemType::Up60 + 0x00792DB8, // TrackElemType::FlatToUp25 + 0x00792DC8, // TrackElemType::Up25ToUp60 + 0x00792DD8, // TrackElemType::Up60ToUp25 + 0x00792DE8, // TrackElemType::Up25ToFlat + 0x00792DF8, // TrackElemType::Down25 + 0x00792E08, // TrackElemType::Down60 + 0x00792E18, // TrackElemType::FlatToDown25 + 0x00792E28, // TrackElemType::Down25ToDown60 + 0x00792E38, // TrackElemType::Down60ToDown25 + 0x00792E48, // TrackElemType::Down25ToFlat + 0x00792E58, // TrackElemType::LeftQuarterTurn5Tiles + 0x00792E68, // TrackElemType::RightQuarterTurn5Tiles + 0x00792E78, // TrackElemType::FlatToLeftBank + 0x00792E88, // TrackElemType::FlatToRightBank + 0x00792E98, // TrackElemType::LeftBankToFlat + 0x00792EA8, // TrackElemType::RightBankToFlat + 0x00792EB8, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x00792EC8, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x00792ED8, // TrackElemType::LeftBankToUp25 + 0x00792EE8, // TrackElemType::RightBankToUp25 + 0x00792EF8, // TrackElemType::Up25ToLeftBank + 0x00792F08, // TrackElemType::Up25ToRightBank + 0x00792F18, // TrackElemType::LeftBankToDown25 + 0x00792F28, // TrackElemType::RightBankToDown25 + 0x00792F38, // TrackElemType::Down25ToLeftBank + 0x00792F48, // TrackElemType::Down25ToRightBank + 0x00792F58, // TrackElemType::LeftBank + 0x00792F68, // TrackElemType::RightBank 0, 0, 0, 0, - 0x00792F78, // TRACK_ELEM_S_BEND_LEFT - 0x00792F88, // TRACK_ELEM_S_BEND_RIGHT + 0x00792F78, // TrackElemType::SBendLeft + 0x00792F88, // TrackElemType::SBendRight 0, 0, - 0x00792FC8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00792FD8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x00792FE8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x00792FF8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x00792FC8, // TrackElemType::LeftQuarterTurn3Tiles + 0x00792FD8, // TrackElemType::RightQuarterTurn3Tiles + 0x00792FE8, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x00792FF8, // TrackElemType::RightBankedQuarterTurn3Tiles 0, 0, 0, @@ -12329,19 +12329,19 @@ static constexpr const uint32_t _OldMultiDimensionRollerCoasterTrackPaintFunctio 0, 0, 0, - 0x00793008, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x00793018, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x00793028, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x00793038, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x00793048, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x00793058, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x00793068, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x00793078, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x00793008, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x00793018, // TrackElemType::RightHalfBankedHelixUpSmall + 0x00793028, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x00793038, // TrackElemType::RightHalfBankedHelixDownSmall + 0x00793048, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x00793058, // TrackElemType::RightHalfBankedHelixUpLarge + 0x00793068, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x00793078, // TrackElemType::RightHalfBankedHelixDownLarge 0, 0, 0, 0, - 0x00793088, // TRACK_ELEM_BRAKES + 0x00793088, // TrackElemType::Brakes 0, 0, 0, @@ -12356,7 +12356,7 @@ static constexpr const uint32_t _OldMultiDimensionRollerCoasterTrackPaintFunctio 0, 0, 0, - 0x00793098, // TRACK_ELEM_ON_RIDE_PHOTO + 0x00793098, // TrackElemType::OnRidePhoto 0, 0, 0, @@ -12368,52 +12368,52 @@ static constexpr const uint32_t _OldMultiDimensionRollerCoasterTrackPaintFunctio 0, 0, 0, - 0x00793328, // TRACK_ELEM_90_DEG_UP - 0x00793338, // TRACK_ELEM_90_DEG_DOWN - 0x00793348, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x00793358, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x00793368, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x00793378, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 0x00793328, // TrackElemType::Up90 + 0x00793338, // TrackElemType::Down90 + 0x00793348, // TrackElemType::Up60ToUp90 + 0x00793358, // TrackElemType::Down90ToDown60 + 0x00793368, // TrackElemType::Up90ToUp60 + 0x00793378, // TrackElemType::Down60ToDown90 0, - 0x007930B8, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x007930C8, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x007930D8, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x007930E8, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x007930F8, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x00793108, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x00793118, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x00793128, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x007930A8, // TRACK_ELEM_DIAG_FLAT - 0x00793158, // TRACK_ELEM_DIAG_25_DEG_UP - 0x007931B8, // TRACK_ELEM_DIAG_60_DEG_UP - 0x00793138, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x00793198, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x007931A8, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x00793148, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x00793188, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x007931E8, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x00793168, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x007931C8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x007931D8, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x00793178, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x007930B8, // TrackElemType::LeftEighthToDiag + 0x007930C8, // TrackElemType::RightEighthToDiag + 0x007930D8, // TrackElemType::LeftEighthToOrthogonal + 0x007930E8, // TrackElemType::RightEighthToOrthogonal + 0x007930F8, // TrackElemType::LeftEighthBankToDiag + 0x00793108, // TrackElemType::RightEighthBankToDiag + 0x00793118, // TrackElemType::LeftEighthBankToOrthogonal + 0x00793128, // TrackElemType::RightEighthBankToOrthogonal + 0x007930A8, // TrackElemType::DiagFlat + 0x00793158, // TrackElemType::DiagUp25 + 0x007931B8, // TrackElemType::DiagUp60 + 0x00793138, // TrackElemType::DiagFlatToUp25 + 0x00793198, // TrackElemType::DiagUp25ToUp60 + 0x007931A8, // TrackElemType::DiagUp60ToUp25 + 0x00793148, // TrackElemType::DiagUp25ToFlat + 0x00793188, // TrackElemType::DiagDown25 + 0x007931E8, // TrackElemType::DiagDown60 + 0x00793168, // TrackElemType::DiagFlatToDown25 + 0x007931C8, // TrackElemType::DiagDown25ToDown60 + 0x007931D8, // TrackElemType::DiagDown60ToDown25 + 0x00793178, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x00793218, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x00793228, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x00793238, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x00793248, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x00793278, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x00793288, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x00793258, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x00793268, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x00793298, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x007932A8, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x007932B8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x007932C8, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x007931F8, // TRACK_ELEM_DIAG_LEFT_BANK - 0x00793208, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x00793218, // TrackElemType::DiagFlatToLeftBank + 0x00793228, // TrackElemType::DiagFlatToRightBank + 0x00793238, // TrackElemType::DiagLeftBankToFlat + 0x00793248, // TrackElemType::DiagRightBankToFlat + 0x00793278, // TrackElemType::DiagLeftBankToUp25 + 0x00793288, // TrackElemType::DiagRightBankToUp25 + 0x00793258, // TrackElemType::DiagUp25ToLeftBank + 0x00793268, // TrackElemType::DiagUp25ToRightBank + 0x00793298, // TrackElemType::DiagLeftBankToDown25 + 0x007932A8, // TrackElemType::DiagRightBankToDown25 + 0x007932B8, // TrackElemType::DiagDown25ToLeftBank + 0x007932C8, // TrackElemType::DiagDown25ToRightBank + 0x007931F8, // TrackElemType::DiagLeftBank + 0x00793208, // TrackElemType::DiagRightBank 0, 0, 0, @@ -12429,10 +12429,10 @@ static constexpr const uint32_t _OldMultiDimensionRollerCoasterTrackPaintFunctio 0, 0, 0, - 0x007932D8, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - 0x007932E8, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - 0x007932F8, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - 0x00793308, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN + 0x007932D8, // TrackElemType::LeftFlyerTwistUp + 0x007932E8, // TrackElemType::RightFlyerTwistUp + 0x007932F8, // TrackElemType::LeftFlyerTwistDown + 0x00793308, // TrackElemType::RightFlyerTwistDown 0, 0, 0, @@ -12448,7 +12448,7 @@ static constexpr const uint32_t _OldMultiDimensionRollerCoasterTrackPaintFunctio 0, 0, 0, - 0x00793398, // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + 0x00793398, // TrackElemType::MultiDimInvertedFlatToDown90QuarterLoop 0, 0, 0, @@ -12458,7 +12458,7 @@ static constexpr const uint32_t _OldMultiDimensionRollerCoasterTrackPaintFunctio 0, 0, 0, - 0x00793318, // TRACK_ELEM_BLOCK_BRAKES + 0x00793318, // TrackElemType::BlockBrakes 0, 0, 0, @@ -12495,63 +12495,63 @@ static constexpr const uint32_t _OldMultiDimensionRollerCoasterTrackPaintFunctio 0, 0, 0, - 0x00793388, // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP - 0x00793398, // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP + 0x00793388, // TrackElemType::MultiDimUp90ToInvertedFlatQuarterLoop + 0x00793398, // TrackElemType::MultiDimFlatToDown90QuarterLoop 0x00793388, // (null) }; /** rct2: 0x007C6C00 */ static constexpr const uint32_t _OldFlyingRollerCoasterTrackPaintFunctions[256] = { - 0x007C6FF4, // TRACK_ELEM_FLAT - 0x007C7244, // TRACK_ELEM_END_STATION - 0x007C7254, // TRACK_ELEM_BEGIN_STATION - 0x007C7264, // TRACK_ELEM_MIDDLE_STATION - 0x007C7004, // TRACK_ELEM_25_DEG_UP - 0x007C7014, // TRACK_ELEM_60_DEG_UP - 0x007C7024, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x007C7034, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x007C7044, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x007C7054, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x007C7064, // TRACK_ELEM_25_DEG_DOWN - 0x007C7074, // TRACK_ELEM_60_DEG_DOWN - 0x007C7084, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x007C7094, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x007C70A4, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x007C70B4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x007C70C4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x007C70D4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x007C70E4, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x007C70F4, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x007C7104, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x007C7114, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x007C7124, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x007C7134, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x007C7144, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x007C7154, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x007C7164, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x007C7174, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x007C7184, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x007C7194, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x007C71A4, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x007C71B4, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x007C71C4, // TRACK_ELEM_LEFT_BANK - 0x007C71D4, // TRACK_ELEM_RIGHT_BANK - 0x007C71E4, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x007C71F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x007C7204, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x007C7214, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x007C7224, // TRACK_ELEM_S_BEND_LEFT - 0x007C7234, // TRACK_ELEM_S_BEND_RIGHT + 0x007C6FF4, // TrackElemType::Flat + 0x007C7244, // TrackElemType::EndStation + 0x007C7254, // TrackElemType::BeginStation + 0x007C7264, // TrackElemType::MiddleStation + 0x007C7004, // TrackElemType::Up25 + 0x007C7014, // TrackElemType::Up60 + 0x007C7024, // TrackElemType::FlatToUp25 + 0x007C7034, // TrackElemType::Up25ToUp60 + 0x007C7044, // TrackElemType::Up60ToUp25 + 0x007C7054, // TrackElemType::Up25ToFlat + 0x007C7064, // TrackElemType::Down25 + 0x007C7074, // TrackElemType::Down60 + 0x007C7084, // TrackElemType::FlatToDown25 + 0x007C7094, // TrackElemType::Down25ToDown60 + 0x007C70A4, // TrackElemType::Down60ToDown25 + 0x007C70B4, // TrackElemType::Down25ToFlat + 0x007C70C4, // TrackElemType::LeftQuarterTurn5Tiles + 0x007C70D4, // TrackElemType::RightQuarterTurn5Tiles + 0x007C70E4, // TrackElemType::FlatToLeftBank + 0x007C70F4, // TrackElemType::FlatToRightBank + 0x007C7104, // TrackElemType::LeftBankToFlat + 0x007C7114, // TrackElemType::RightBankToFlat + 0x007C7124, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x007C7134, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x007C7144, // TrackElemType::LeftBankToUp25 + 0x007C7154, // TrackElemType::RightBankToUp25 + 0x007C7164, // TrackElemType::Up25ToLeftBank + 0x007C7174, // TrackElemType::Up25ToRightBank + 0x007C7184, // TrackElemType::LeftBankToDown25 + 0x007C7194, // TrackElemType::RightBankToDown25 + 0x007C71A4, // TrackElemType::Down25ToLeftBank + 0x007C71B4, // TrackElemType::Down25ToRightBank + 0x007C71C4, // TrackElemType::LeftBank + 0x007C71D4, // TrackElemType::RightBank + 0x007C71E4, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x007C71F4, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x007C7204, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x007C7214, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x007C7224, // TrackElemType::SBendLeft + 0x007C7234, // TrackElemType::SBendRight 0, 0, - 0x007C7274, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x007C7284, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x007C7294, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x007C72A4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x007C72B4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x007C72C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x007C72D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x007C72E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x007C7274, // TrackElemType::LeftQuarterTurn3Tiles + 0x007C7284, // TrackElemType::RightQuarterTurn3Tiles + 0x007C7294, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x007C72A4, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x007C72B4, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x007C72C4, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x007C72D4, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x007C72E4, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -12589,36 +12589,36 @@ static constexpr const uint32_t _OldFlyingRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x007C7314, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x007C7324, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x007C7334, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x007C7344, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x007C7354, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x007C7364, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x007C7374, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x007C7384, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x007C73B4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x007C7394, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x007C73A4, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x007C73C4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x007C73D4, // TRACK_ELEM_BRAKES + 0x007C7314, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x007C7324, // TrackElemType::RightHalfBankedHelixUpSmall + 0x007C7334, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x007C7344, // TrackElemType::RightHalfBankedHelixDownSmall + 0x007C7354, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x007C7364, // TrackElemType::RightHalfBankedHelixUpLarge + 0x007C7374, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x007C7384, // TrackElemType::RightHalfBankedHelixDownLarge + 0x007C73B4, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x007C7394, // TrackElemType::RightQuarterTurn1TileUp60 + 0x007C73A4, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x007C73C4, // TrackElemType::RightQuarterTurn1TileDown60 + 0x007C73D4, // TrackElemType::Brakes 0, 0, - 0x007C7674, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - 0x007C7684, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - 0x007C7694, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - 0x007C76A4, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + 0x007C7674, // TrackElemType::LeftQuarterBankedHelixLargeUp + 0x007C7684, // TrackElemType::RightQuarterBankedHelixLargeUp + 0x007C7694, // TrackElemType::LeftQuarterBankedHelixLargeDown + 0x007C76A4, // TrackElemType::RightQuarterBankedHelixLargeDown 0, 0, 0, 0, - 0x007C78B4, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x007C78C4, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0x007C78B4, // TrackElemType::Up25LeftBanked + 0x007C78C4, // TrackElemType::Up25RightBanked 0, 0, - 0x007C73E4, // TRACK_ELEM_ON_RIDE_PHOTO - 0x007C78D4, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x007C78E4, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0x007C73E4, // TrackElemType::OnRidePhoto + 0x007C78D4, // TrackElemType::Down25LeftBanked + 0x007C78E4, // TrackElemType::Down25RightBanked 0, 0, 0, @@ -12635,45 +12635,45 @@ static constexpr const uint32_t _OldFlyingRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x007C7404, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x007C7414, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x007C7424, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x007C7434, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x007C7444, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x007C7454, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x007C7464, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x007C7474, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x007C73F4, // TRACK_ELEM_DIAG_FLAT - 0x007C74A4, // TRACK_ELEM_DIAG_25_DEG_UP - 0x007C7504, // TRACK_ELEM_DIAG_60_DEG_UP - 0x007C7484, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x007C74E4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x007C74F4, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x007C7494, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x007C74D4, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x007C7534, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x007C74B4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x007C7514, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x007C7524, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x007C74C4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x007C7404, // TrackElemType::LeftEighthToDiag + 0x007C7414, // TrackElemType::RightEighthToDiag + 0x007C7424, // TrackElemType::LeftEighthToOrthogonal + 0x007C7434, // TrackElemType::RightEighthToOrthogonal + 0x007C7444, // TrackElemType::LeftEighthBankToDiag + 0x007C7454, // TrackElemType::RightEighthBankToDiag + 0x007C7464, // TrackElemType::LeftEighthBankToOrthogonal + 0x007C7474, // TrackElemType::RightEighthBankToOrthogonal + 0x007C73F4, // TrackElemType::DiagFlat + 0x007C74A4, // TrackElemType::DiagUp25 + 0x007C7504, // TrackElemType::DiagUp60 + 0x007C7484, // TrackElemType::DiagFlatToUp25 + 0x007C74E4, // TrackElemType::DiagUp25ToUp60 + 0x007C74F4, // TrackElemType::DiagUp60ToUp25 + 0x007C7494, // TrackElemType::DiagUp25ToFlat + 0x007C74D4, // TrackElemType::DiagDown25 + 0x007C7534, // TrackElemType::DiagDown60 + 0x007C74B4, // TrackElemType::DiagFlatToDown25 + 0x007C7514, // TrackElemType::DiagDown25ToDown60 + 0x007C7524, // TrackElemType::DiagDown60ToDown25 + 0x007C74C4, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x007C7564, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x007C7574, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x007C7584, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x007C7594, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x007C75C4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x007C75D4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x007C75A4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x007C75B4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x007C75E4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x007C75F4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x007C7604, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x007C7614, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x007C7544, // TRACK_ELEM_DIAG_LEFT_BANK - 0x007C7554, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x007C7564, // TrackElemType::DiagFlatToLeftBank + 0x007C7574, // TrackElemType::DiagFlatToRightBank + 0x007C7584, // TrackElemType::DiagLeftBankToFlat + 0x007C7594, // TrackElemType::DiagRightBankToFlat + 0x007C75C4, // TrackElemType::DiagLeftBankToUp25 + 0x007C75D4, // TrackElemType::DiagRightBankToUp25 + 0x007C75A4, // TrackElemType::DiagUp25ToLeftBank + 0x007C75B4, // TrackElemType::DiagUp25ToRightBank + 0x007C75E4, // TrackElemType::DiagLeftBankToDown25 + 0x007C75F4, // TrackElemType::DiagRightBankToDown25 + 0x007C7604, // TrackElemType::DiagDown25ToLeftBank + 0x007C7614, // TrackElemType::DiagDown25ToRightBank + 0x007C7544, // TrackElemType::DiagLeftBank + 0x007C7554, // TrackElemType::DiagRightBank 0, 0, 0, @@ -12689,12 +12689,12 @@ static constexpr const uint32_t _OldFlyingRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x007C7624, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - 0x007C7634, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - 0x007C7644, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - 0x007C7654, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - 0x007C72F4, // TRACK_ELEM_FLYER_HALF_LOOP_UP - 0x007C7304, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN + 0x007C7624, // TrackElemType::LeftFlyerTwistUp + 0x007C7634, // TrackElemType::RightFlyerTwistUp + 0x007C7644, // TrackElemType::LeftFlyerTwistDown + 0x007C7654, // TrackElemType::RightFlyerTwistDown + 0x007C72F4, // TrackElemType::FlyerHalfLoopUp + 0x007C7304, // TrackElemType::FlyerHalfLoopDown 0, 0, 0, @@ -12718,39 +12718,39 @@ static constexpr const uint32_t _OldFlyingRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x007C7664, // TRACK_ELEM_BLOCK_BRAKES - 0x007C76B4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x007C76C4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x007C76D4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x007C76E4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x007C76F4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x007C7704, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x007C7714, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x007C7724, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x007C7734, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x007C7744, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x007C7754, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x007C7764, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x007C7774, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x007C7784, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x007C7794, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x007C77A4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x007C77B4, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x007C77C4, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x007C77F4, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x007C7804, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x007C7814, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x007C7824, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x007C77D4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x007C77E4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x007C7834, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x007C7844, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x007C7854, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x007C7864, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x007C7874, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x007C7884, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x007C7894, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x007C78A4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0x007C7664, // TrackElemType::BlockBrakes + 0x007C76B4, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + 0x007C76C4, // TrackElemType::RightBankedQuarterTurn3TileUp25 + 0x007C76D4, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + 0x007C76E4, // TrackElemType::RightBankedQuarterTurn3TileDown25 + 0x007C76F4, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + 0x007C7704, // TrackElemType::RightBankedQuarterTurn5TileUp25 + 0x007C7714, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + 0x007C7724, // TrackElemType::RightBankedQuarterTurn5TileDown25 + 0x007C7734, // TrackElemType::Up25ToLeftBankedUp25 + 0x007C7744, // TrackElemType::Up25ToRightBankedUp25 + 0x007C7754, // TrackElemType::LeftBankedUp25ToUp25 + 0x007C7764, // TrackElemType::RightBankedUp25ToUp25 + 0x007C7774, // TrackElemType::Down25ToLeftBankedDown25 + 0x007C7784, // TrackElemType::Down25ToRightBankedDown25 + 0x007C7794, // TrackElemType::LeftBankedDown25ToDown25 + 0x007C77A4, // TrackElemType::RightBankedDown25ToDown25 + 0x007C77B4, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + 0x007C77C4, // TrackElemType::RightBankedFlatToRightBankedUp25 + 0x007C77F4, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + 0x007C7804, // TrackElemType::RightBankedUp25ToRightBankedFlat + 0x007C7814, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + 0x007C7824, // TrackElemType::RightBankedFlatToRightBankedDown25 + 0x007C77D4, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + 0x007C77E4, // TrackElemType::RightBankedDown25ToRightBankedFlat + 0x007C7834, // TrackElemType::FlatToLeftBankedUp25 + 0x007C7844, // TrackElemType::FlatToRightBankedUp25 + 0x007C7854, // TrackElemType::LeftBankedUp25ToFlat + 0x007C7864, // TrackElemType::RightBankedUp25ToFlat + 0x007C7874, // TrackElemType::FlatToLeftBankedDown25 + 0x007C7884, // TrackElemType::FlatToRightBankedDown25 + 0x007C7894, // TrackElemType::LeftBankedDown25ToFlat + 0x007C78A4, // TrackElemType::RightBankedDown25ToFlat 0, 0, 0, @@ -12762,22 +12762,22 @@ static constexpr const uint32_t _OldFlyingRollerCoasterTrackPaintFunctions[256] /** rct2: 0x00811184 */ static constexpr const uint32_t _OldVirginiaReelTrackPaintFunctions[256] = { - 0x00811264, // TRACK_ELEM_FLAT - 0x008112D4, // TRACK_ELEM_END_STATION - 0x008112E4, // TRACK_ELEM_BEGIN_STATION - 0x008112F4, // TRACK_ELEM_MIDDLE_STATION - 0x00811274, // TRACK_ELEM_25_DEG_UP + 0x00811264, // TrackElemType::Flat + 0x008112D4, // TrackElemType::EndStation + 0x008112E4, // TrackElemType::BeginStation + 0x008112F4, // TrackElemType::MiddleStation + 0x00811274, // TrackElemType::Up25 0, - 0x00811284, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x00811284, // TrackElemType::FlatToUp25 0, 0, - 0x00811294, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008112A4, // TRACK_ELEM_25_DEG_DOWN + 0x00811294, // TrackElemType::Up25ToFlat + 0x008112A4, // TrackElemType::Down25 0, - 0x008112B4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008112B4, // TrackElemType::FlatToDown25 0, 0, - 0x008112C4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008112C4, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -12804,16 +12804,16 @@ static constexpr const uint32_t _OldVirginiaReelTrackPaintFunctions[256] = { 0, 0, 0, - 0x00811304, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00811314, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x00811304, // TrackElemType::LeftQuarterTurn3Tiles + 0x00811314, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, 0, 0, 0, - 0x00811324, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00811334, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x00811324, // TrackElemType::LeftQuarterTurn1Tile + 0x00811334, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -13022,24 +13022,24 @@ static constexpr const uint32_t _OldVirginiaReelTrackPaintFunctions[256] = { /** rct2: 0x008164AC */ static constexpr const uint32_t _OldSplashBoatsTrackPaintFunctions[256] = { - 0x00816584, // TRACK_ELEM_FLAT - 0x00816614, // TRACK_ELEM_END_STATION - 0x00816624, // TRACK_ELEM_BEGIN_STATION - 0x00816634, // TRACK_ELEM_MIDDLE_STATION - 0x00816594, // TRACK_ELEM_25_DEG_UP - 0x008166A4, // TRACK_ELEM_60_DEG_UP - 0x008165A4, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x00816664, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x00816674, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008165B4, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008165C4, // TRACK_ELEM_25_DEG_DOWN - 0x008166B4, // TRACK_ELEM_60_DEG_DOWN - 0x008165D4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x00816684, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x00816694, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008165E4, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x00816644, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x00816654, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x00816584, // TrackElemType::Flat + 0x00816614, // TrackElemType::EndStation + 0x00816624, // TrackElemType::BeginStation + 0x00816634, // TrackElemType::MiddleStation + 0x00816594, // TrackElemType::Up25 + 0x008166A4, // TrackElemType::Up60 + 0x008165A4, // TrackElemType::FlatToUp25 + 0x00816664, // TrackElemType::Up25ToUp60 + 0x00816674, // TrackElemType::Up60ToUp25 + 0x008165B4, // TrackElemType::Up25ToFlat + 0x008165C4, // TrackElemType::Down25 + 0x008166B4, // TrackElemType::Down60 + 0x008165D4, // TrackElemType::FlatToDown25 + 0x00816684, // TrackElemType::Down25ToDown60 + 0x00816694, // TrackElemType::Down60ToDown25 + 0x008165E4, // TrackElemType::Down25ToFlat + 0x00816644, // TrackElemType::LeftQuarterTurn5Tiles + 0x00816654, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -13060,8 +13060,8 @@ static constexpr const uint32_t _OldSplashBoatsTrackPaintFunctions[256] = { 0, 0, 0, - 0x008165F4, // TRACK_ELEM_S_BEND_LEFT - 0x00816604, // TRACK_ELEM_S_BEND_RIGHT + 0x008165F4, // TrackElemType::SBendLeft + 0x00816604, // TrackElemType::SBendRight 0, 0, 0, @@ -13282,22 +13282,22 @@ static constexpr const uint32_t _OldSplashBoatsTrackPaintFunctions[256] = { /** rct2: 0x0081F268 */ static constexpr const uint32_t _OldMiniHelicoptersTrackPaintFunctions[256] = { - 0x0081F348, // TRACK_ELEM_FLAT - 0x0081F3B8, // TRACK_ELEM_END_STATION - 0x0081F3C8, // TRACK_ELEM_BEGIN_STATION - 0x0081F3D8, // TRACK_ELEM_MIDDLE_STATION - 0x0081F358, // TRACK_ELEM_25_DEG_UP + 0x0081F348, // TrackElemType::Flat + 0x0081F3B8, // TrackElemType::EndStation + 0x0081F3C8, // TrackElemType::BeginStation + 0x0081F3D8, // TrackElemType::MiddleStation + 0x0081F358, // TrackElemType::Up25 0, - 0x0081F368, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x0081F368, // TrackElemType::FlatToUp25 0, 0, - 0x0081F378, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0081F388, // TRACK_ELEM_25_DEG_DOWN + 0x0081F378, // TrackElemType::Up25ToFlat + 0x0081F388, // TrackElemType::Down25 0, - 0x0081F398, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x0081F398, // TrackElemType::FlatToDown25 0, 0, - 0x0081F3A8, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x0081F3A8, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -13324,16 +13324,16 @@ static constexpr const uint32_t _OldMiniHelicoptersTrackPaintFunctions[256] = { 0, 0, 0, - 0x0081F3E8, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0081F3F8, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x0081F3E8, // TrackElemType::LeftQuarterTurn3Tiles + 0x0081F3F8, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, 0, 0, 0, - 0x0081F408, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x0081F418, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x0081F408, // TrackElemType::LeftQuarterTurn1Tile + 0x0081F418, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -13542,56 +13542,56 @@ static constexpr const uint32_t _OldMiniHelicoptersTrackPaintFunctions[256] = { /** rct2: 0x008245A8 */ static constexpr const uint32_t _OldLayDownRollerCoasterTrackPaintFunctions[256] = { - 0x0082491C, // TRACK_ELEM_FLAT - 0x00824B8C, // TRACK_ELEM_END_STATION - 0x00824B9C, // TRACK_ELEM_BEGIN_STATION - 0x00824BAC, // TRACK_ELEM_MIDDLE_STATION - 0x0082492C, // TRACK_ELEM_25_DEG_UP - 0x0082493C, // TRACK_ELEM_60_DEG_UP - 0x0082494C, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x0082495C, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x0082496C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x0082497C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0082498C, // TRACK_ELEM_25_DEG_DOWN - 0x0082499C, // TRACK_ELEM_60_DEG_DOWN - 0x008249AC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008249BC, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008249CC, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008249DC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008249EC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008249FC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x00824A0C, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x00824A1C, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x00824A2C, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x00824A3C, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x00824A4C, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x00824A5C, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x00824A6C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x00824A7C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x00824A8C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x00824A9C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x00824AAC, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x00824ABC, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x00824ACC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x00824ADC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x00824AEC, // TRACK_ELEM_LEFT_BANK - 0x00824AFC, // TRACK_ELEM_RIGHT_BANK - 0x00824B0C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x00824B1C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x00824B2C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x00824B3C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x00824B4C, // TRACK_ELEM_S_BEND_LEFT - 0x00824B5C, // TRACK_ELEM_S_BEND_RIGHT - 0x00824B6C, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x00824B7C, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x00824BBC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00824BCC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x00824BDC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x00824BEC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x00824BFC, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x00824C0C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x00824C1C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x00824C2C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x0082491C, // TrackElemType::Flat + 0x00824B8C, // TrackElemType::EndStation + 0x00824B9C, // TrackElemType::BeginStation + 0x00824BAC, // TrackElemType::MiddleStation + 0x0082492C, // TrackElemType::Up25 + 0x0082493C, // TrackElemType::Up60 + 0x0082494C, // TrackElemType::FlatToUp25 + 0x0082495C, // TrackElemType::Up25ToUp60 + 0x0082496C, // TrackElemType::Up60ToUp25 + 0x0082497C, // TrackElemType::Up25ToFlat + 0x0082498C, // TrackElemType::Down25 + 0x0082499C, // TrackElemType::Down60 + 0x008249AC, // TrackElemType::FlatToDown25 + 0x008249BC, // TrackElemType::Down25ToDown60 + 0x008249CC, // TrackElemType::Down60ToDown25 + 0x008249DC, // TrackElemType::Down25ToFlat + 0x008249EC, // TrackElemType::LeftQuarterTurn5Tiles + 0x008249FC, // TrackElemType::RightQuarterTurn5Tiles + 0x00824A0C, // TrackElemType::FlatToLeftBank + 0x00824A1C, // TrackElemType::FlatToRightBank + 0x00824A2C, // TrackElemType::LeftBankToFlat + 0x00824A3C, // TrackElemType::RightBankToFlat + 0x00824A4C, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x00824A5C, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x00824A6C, // TrackElemType::LeftBankToUp25 + 0x00824A7C, // TrackElemType::RightBankToUp25 + 0x00824A8C, // TrackElemType::Up25ToLeftBank + 0x00824A9C, // TrackElemType::Up25ToRightBank + 0x00824AAC, // TrackElemType::LeftBankToDown25 + 0x00824ABC, // TrackElemType::RightBankToDown25 + 0x00824ACC, // TrackElemType::Down25ToLeftBank + 0x00824ADC, // TrackElemType::Down25ToRightBank + 0x00824AEC, // TrackElemType::LeftBank + 0x00824AFC, // TrackElemType::RightBank + 0x00824B0C, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x00824B1C, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x00824B2C, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x00824B3C, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x00824B4C, // TrackElemType::SBendLeft + 0x00824B5C, // TrackElemType::SBendRight + 0x00824B6C, // TrackElemType::LeftVerticalLoop + 0x00824B7C, // TrackElemType::RightVerticalLoop + 0x00824BBC, // TrackElemType::LeftQuarterTurn3Tiles + 0x00824BCC, // TrackElemType::RightQuarterTurn3Tiles + 0x00824BDC, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x00824BEC, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x00824BFC, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x00824C0C, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x00824C1C, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x00824C2C, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -13629,19 +13629,19 @@ static constexpr const uint32_t _OldLayDownRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x00824C9C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x00824CAC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x00824CBC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x00824CCC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x00824CDC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x00824CEC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x00824CFC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x00824D0C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x00824D3C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x00824D1C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x00824D2C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x00824D4C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x00824D5C, // TRACK_ELEM_BRAKES + 0x00824C9C, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x00824CAC, // TrackElemType::RightHalfBankedHelixUpSmall + 0x00824CBC, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x00824CCC, // TrackElemType::RightHalfBankedHelixDownSmall + 0x00824CDC, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x00824CEC, // TrackElemType::RightHalfBankedHelixUpLarge + 0x00824CFC, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x00824D0C, // TrackElemType::RightHalfBankedHelixDownLarge + 0x00824D3C, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x00824D1C, // TrackElemType::RightQuarterTurn1TileUp60 + 0x00824D2C, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x00824D4C, // TrackElemType::RightQuarterTurn1TileDown60 + 0x00824D5C, // TrackElemType::Brakes 0, 0, 0, @@ -13656,7 +13656,7 @@ static constexpr const uint32_t _OldLayDownRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x00824D6C, // TRACK_ELEM_ON_RIDE_PHOTO + 0x00824D6C, // TrackElemType::OnRidePhoto 0, 0, 0, @@ -13675,45 +13675,45 @@ static constexpr const uint32_t _OldLayDownRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x00824D8C, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x00824D9C, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x00824DAC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x00824DBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x00824DCC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x00824DDC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x00824DEC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x00824DFC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x00824D7C, // TRACK_ELEM_DIAG_FLAT - 0x00824E2C, // TRACK_ELEM_DIAG_25_DEG_UP - 0x00824E8C, // TRACK_ELEM_DIAG_60_DEG_UP - 0x00824E0C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x00824E6C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x00824E7C, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x00824E1C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x00824E5C, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x00824EBC, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x00824E3C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x00824E9C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x00824EAC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x00824E4C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x00824D8C, // TrackElemType::LeftEighthToDiag + 0x00824D9C, // TrackElemType::RightEighthToDiag + 0x00824DAC, // TrackElemType::LeftEighthToOrthogonal + 0x00824DBC, // TrackElemType::RightEighthToOrthogonal + 0x00824DCC, // TrackElemType::LeftEighthBankToDiag + 0x00824DDC, // TrackElemType::RightEighthBankToDiag + 0x00824DEC, // TrackElemType::LeftEighthBankToOrthogonal + 0x00824DFC, // TrackElemType::RightEighthBankToOrthogonal + 0x00824D7C, // TrackElemType::DiagFlat + 0x00824E2C, // TrackElemType::DiagUp25 + 0x00824E8C, // TrackElemType::DiagUp60 + 0x00824E0C, // TrackElemType::DiagFlatToUp25 + 0x00824E6C, // TrackElemType::DiagUp25ToUp60 + 0x00824E7C, // TrackElemType::DiagUp60ToUp25 + 0x00824E1C, // TrackElemType::DiagUp25ToFlat + 0x00824E5C, // TrackElemType::DiagDown25 + 0x00824EBC, // TrackElemType::DiagDown60 + 0x00824E3C, // TrackElemType::DiagFlatToDown25 + 0x00824E9C, // TrackElemType::DiagDown25ToDown60 + 0x00824EAC, // TrackElemType::DiagDown60ToDown25 + 0x00824E4C, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x00824EEC, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x00824EFC, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x00824F0C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x00824F1C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x00824F4C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x00824F5C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x00824F2C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x00824F3C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x00824F6C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x00824F7C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x00824F8C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x00824F9C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x00824ECC, // TRACK_ELEM_DIAG_LEFT_BANK - 0x00824EDC, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x00824EEC, // TrackElemType::DiagFlatToLeftBank + 0x00824EFC, // TrackElemType::DiagFlatToRightBank + 0x00824F0C, // TrackElemType::DiagLeftBankToFlat + 0x00824F1C, // TrackElemType::DiagRightBankToFlat + 0x00824F4C, // TrackElemType::DiagLeftBankToUp25 + 0x00824F5C, // TrackElemType::DiagRightBankToUp25 + 0x00824F2C, // TrackElemType::DiagUp25ToLeftBank + 0x00824F3C, // TrackElemType::DiagUp25ToRightBank + 0x00824F6C, // TrackElemType::DiagLeftBankToDown25 + 0x00824F7C, // TrackElemType::DiagRightBankToDown25 + 0x00824F8C, // TrackElemType::DiagDown25ToLeftBank + 0x00824F9C, // TrackElemType::DiagDown25ToRightBank + 0x00824ECC, // TrackElemType::DiagLeftBank + 0x00824EDC, // TrackElemType::DiagRightBank 0, 0, 0, @@ -13729,16 +13729,16 @@ static constexpr const uint32_t _OldLayDownRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x00824FAC, // TRACK_ELEM_LEFT_FLYER_TWIST_UP - 0x00824FBC, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP - 0x00824FCC, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN - 0x00824FDC, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN - 0x00824C3C, // TRACK_ELEM_FLYER_HALF_LOOP_UP - 0x00824C4C, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN - 0x00824C5C, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP - 0x00824C6C, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP - 0x00824C7C, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN - 0x00824C8C, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN + 0x00824FAC, // TrackElemType::LeftFlyerTwistUp + 0x00824FBC, // TrackElemType::RightFlyerTwistUp + 0x00824FCC, // TrackElemType::LeftFlyerTwistDown + 0x00824FDC, // TrackElemType::RightFlyerTwistDown + 0x00824C3C, // TrackElemType::FlyerHalfLoopUp + 0x00824C4C, // TrackElemType::FlyerHalfLoopDown + 0x00824C5C, // TrackElemType::LeftFlyerCorkscrewUp + 0x00824C6C, // TrackElemType::RightFlyerCorkscrewUp + 0x00824C7C, // TrackElemType::LeftFlyerCorkscrewDown + 0x00824C8C, // TrackElemType::RightFlyerCorkscrewDown 0, 0, 0, @@ -13758,7 +13758,7 @@ static constexpr const uint32_t _OldLayDownRollerCoasterTrackPaintFunctions[256] 0, 0, 0, - 0x00824FEC, // TRACK_ELEM_BLOCK_BRAKES + 0x00824FEC, // TrackElemType::BlockBrakes 0, 0, 0, @@ -13802,24 +13802,24 @@ static constexpr const uint32_t _OldLayDownRollerCoasterTrackPaintFunctions[256] /** rct2: 0x0086347C */ static constexpr const uint32_t _OldSuspendedMonorailTrackPaintFunctions[256] = { - 0x008636F4, // TRACK_ELEM_FLAT - 0x008637A4, // TRACK_ELEM_END_STATION - 0x008637B4, // TRACK_ELEM_BEGIN_STATION - 0x008637C4, // TRACK_ELEM_MIDDLE_STATION - 0x00863704, // TRACK_ELEM_25_DEG_UP + 0x008636F4, // TrackElemType::Flat + 0x008637A4, // TrackElemType::EndStation + 0x008637B4, // TrackElemType::BeginStation + 0x008637C4, // TrackElemType::MiddleStation + 0x00863704, // TrackElemType::Up25 0, - 0x00863714, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x00863714, // TrackElemType::FlatToUp25 0, 0, - 0x00863724, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00863734, // TRACK_ELEM_25_DEG_DOWN + 0x00863724, // TrackElemType::Up25ToFlat + 0x00863734, // TrackElemType::Down25 0, - 0x00863744, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x00863744, // TrackElemType::FlatToDown25 0, 0, - 0x00863754, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x00863764, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x00863774, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x00863754, // TrackElemType::Down25ToFlat + 0x00863764, // TrackElemType::LeftQuarterTurn5Tiles + 0x00863774, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -13840,12 +13840,12 @@ static constexpr const uint32_t _OldSuspendedMonorailTrackPaintFunctions[256] = 0, 0, 0, - 0x00863784, // TRACK_ELEM_S_BEND_LEFT - 0x00863794, // TRACK_ELEM_S_BEND_RIGHT + 0x00863784, // TrackElemType::SBendLeft + 0x00863794, // TrackElemType::SBendRight 0, 0, - 0x008637D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008637E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008637D4, // TrackElemType::LeftQuarterTurn3Tiles + 0x008637E4, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, @@ -13935,27 +13935,27 @@ static constexpr const uint32_t _OldSuspendedMonorailTrackPaintFunctions[256] = 0, 0, 0, - 0x00863864, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x00863874, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x00863884, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x00863894, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL + 0x00863864, // TrackElemType::LeftEighthToDiag + 0x00863874, // TrackElemType::RightEighthToDiag + 0x00863884, // TrackElemType::LeftEighthToOrthogonal + 0x00863894, // TrackElemType::RightEighthToOrthogonal 0, 0, 0, 0, - 0x008637F4, // TRACK_ELEM_DIAG_FLAT - 0x00863824, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008637F4, // TrackElemType::DiagFlat + 0x00863824, // TrackElemType::DiagUp25 0, - 0x00863804, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x00863804, // TrackElemType::DiagFlatToUp25 0, 0, - 0x00863814, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x00863854, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x00863814, // TrackElemType::DiagUp25ToFlat + 0x00863854, // TrackElemType::DiagDown25 0, - 0x00863834, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x00863834, // TrackElemType::DiagFlatToDown25 0, 0, - 0x00863844, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x00863844, // TrackElemType::DiagDown25ToFlat 0, 0, 0, @@ -14062,24 +14062,24 @@ static constexpr const uint32_t _OldSuspendedMonorailTrackPaintFunctions[256] = /** rct2: 0x0086E2F8 */ static constexpr const uint32_t _OldReverserRollerCoasterTrackPaintFunctions[256] = { - 0x0086E65C, // TRACK_ELEM_FLAT - 0x0086E70C, // TRACK_ELEM_END_STATION - 0x0086E71C, // TRACK_ELEM_BEGIN_STATION - 0x0086E72C, // TRACK_ELEM_MIDDLE_STATION - 0x0086E66C, // TRACK_ELEM_25_DEG_UP + 0x0086E65C, // TrackElemType::Flat + 0x0086E70C, // TrackElemType::EndStation + 0x0086E71C, // TrackElemType::BeginStation + 0x0086E72C, // TrackElemType::MiddleStation + 0x0086E66C, // TrackElemType::Up25 0, - 0x0086E67C, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x0086E67C, // TrackElemType::FlatToUp25 0, 0, - 0x0086E68C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0086E69C, // TRACK_ELEM_25_DEG_DOWN + 0x0086E68C, // TrackElemType::Up25ToFlat + 0x0086E69C, // TrackElemType::Down25 0, - 0x0086E6AC, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x0086E6AC, // TrackElemType::FlatToDown25 0, 0, - 0x0086E6BC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x0086E6CC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0086E6DC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x0086E6BC, // TrackElemType::Down25ToFlat + 0x0086E6CC, // TrackElemType::LeftQuarterTurn5Tiles + 0x0086E6DC, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -14100,12 +14100,12 @@ static constexpr const uint32_t _OldReverserRollerCoasterTrackPaintFunctions[256 0, 0, 0, - 0x0086E6EC, // TRACK_ELEM_S_BEND_LEFT - 0x0086E6FC, // TRACK_ELEM_S_BEND_RIGHT + 0x0086E6EC, // TrackElemType::SBendLeft + 0x0086E6FC, // TrackElemType::SBendRight 0, 0, - 0x0086E73C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0086E74C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x0086E73C, // TrackElemType::LeftQuarterTurn3Tiles + 0x0086E74C, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, @@ -14161,7 +14161,7 @@ static constexpr const uint32_t _OldReverserRollerCoasterTrackPaintFunctions[256 0, 0, 0, - 0x0086E75C, // TRACK_ELEM_BRAKES + 0x0086E75C, // TrackElemType::Brakes 0, 0, 0, @@ -14273,8 +14273,8 @@ static constexpr const uint32_t _OldReverserRollerCoasterTrackPaintFunctions[256 0, 0, 0, - 0x0086E76C, // TRACK_ELEM_LEFT_REVERSER - 0x0086E77C, // TRACK_ELEM_RIGHT_REVERSER + 0x0086E76C, // TrackElemType::LeftReverser + 0x0086E77C, // TrackElemType::RightReverser 0, 0, 0, @@ -14322,22 +14322,22 @@ static constexpr const uint32_t _OldReverserRollerCoasterTrackPaintFunctions[256 /** rct2: 0x00876618 */ static constexpr const uint32_t _OldHeartlineTwisterCoasterTrackPaintFunctions[256] = { - 0x0087694C, // TRACK_ELEM_FLAT - 0x00876A1C, // TRACK_ELEM_END_STATION - 0x00876A2C, // TRACK_ELEM_BEGIN_STATION - 0x00876A3C, // TRACK_ELEM_MIDDLE_STATION - 0x0087695C, // TRACK_ELEM_25_DEG_UP - 0x008769FC, // TRACK_ELEM_60_DEG_UP - 0x0087696C, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008769BC, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008769CC, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x0087697C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0087698C, // TRACK_ELEM_25_DEG_DOWN - 0x00876A0C, // TRACK_ELEM_60_DEG_DOWN - 0x0087699C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008769DC, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008769EC, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008769AC, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x0087694C, // TrackElemType::Flat + 0x00876A1C, // TrackElemType::EndStation + 0x00876A2C, // TrackElemType::BeginStation + 0x00876A3C, // TrackElemType::MiddleStation + 0x0087695C, // TrackElemType::Up25 + 0x008769FC, // TrackElemType::Up60 + 0x0087696C, // TrackElemType::FlatToUp25 + 0x008769BC, // TrackElemType::Up25ToUp60 + 0x008769CC, // TrackElemType::Up60ToUp25 + 0x0087697C, // TrackElemType::Up25ToFlat + 0x0087698C, // TrackElemType::Down25 + 0x00876A0C, // TrackElemType::Down60 + 0x0087699C, // TrackElemType::FlatToDown25 + 0x008769DC, // TrackElemType::Down25ToDown60 + 0x008769EC, // TrackElemType::Down60ToDown25 + 0x008769AC, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -14519,10 +14519,10 @@ static constexpr const uint32_t _OldHeartlineTwisterCoasterTrackPaintFunctions[2 0, 0, 0, - 0x00876A6C, // TRACK_ELEM_HEARTLINE_TRANSFER_UP - 0x00876A7C, // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN - 0x00876A4C, // TRACK_ELEM_LEFT_HEARTLINE_ROLL - 0x00876A5C, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL + 0x00876A6C, // TrackElemType::HeartLineTransferUp + 0x00876A7C, // TrackElemType::HeartLineTransferDown + 0x00876A4C, // TrackElemType::LeftHeartLineRoll + 0x00876A5C, // TrackElemType::RightHeartLineRoll 0, 0, 0, @@ -14582,22 +14582,22 @@ static constexpr const uint32_t _OldHeartlineTwisterCoasterTrackPaintFunctions[2 /** rct2: 0x0087EDC4 */ static constexpr const uint32_t _OldMiniGolfTrackPaintFunctions[256] = { - 0x0087F10C, // TRACK_ELEM_FLAT - 0x0087F17C, // TRACK_ELEM_END_STATION - 0x0087F18C, // TRACK_ELEM_BEGIN_STATION - 0x0087F19C, // TRACK_ELEM_MIDDLE_STATION - 0x0087F11C, // TRACK_ELEM_25_DEG_UP + 0x0087F10C, // TrackElemType::Flat + 0x0087F17C, // TrackElemType::EndStation + 0x0087F18C, // TrackElemType::BeginStation + 0x0087F19C, // TrackElemType::MiddleStation + 0x0087F11C, // TrackElemType::Up25 0, - 0x0087F12C, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x0087F12C, // TrackElemType::FlatToUp25 0, 0, - 0x0087F13C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x0087F14C, // TRACK_ELEM_25_DEG_DOWN + 0x0087F13C, // TrackElemType::Up25ToFlat + 0x0087F14C, // TrackElemType::Down25 0, - 0x0087F15C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x0087F15C, // TrackElemType::FlatToDown25 0, 0, - 0x0087F16C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x0087F16C, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -14632,8 +14632,8 @@ static constexpr const uint32_t _OldMiniGolfTrackPaintFunctions[256] = { 0, 0, 0, - 0x0087F1AC, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x0087F1BC, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x0087F1AC, // TrackElemType::LeftQuarterTurn1Tile + 0x0087F1BC, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -14783,11 +14783,11 @@ static constexpr const uint32_t _OldMiniGolfTrackPaintFunctions[256] = { 0, 0, 0, - 0x0087F1CC, // TRACK_ELEM_MINI_GOLF_HOLE_A - 0x0087F1DC, // TRACK_ELEM_MINI_GOLF_HOLE_B - 0x0087F1EC, // TRACK_ELEM_MINI_GOLF_HOLE_C - 0x0087F1FC, // TRACK_ELEM_MINI_GOLF_HOLE_D - 0x0087F20C, // TRACK_ELEM_MINI_GOLF_HOLE_E + 0x0087F1CC, // TrackElemType::MinigolfHoleA + 0x0087F1DC, // TrackElemType::MinigolfHoleB + 0x0087F1EC, // TrackElemType::MinigolfHoleC + 0x0087F1FC, // TrackElemType::MinigolfHoleD + 0x0087F20C, // TrackElemType::MinigolfHoleE 0, 0, 0, @@ -14842,56 +14842,56 @@ static constexpr const uint32_t _OldMiniGolfTrackPaintFunctions[256] = { /** rct2: 0x008AD280 */ static constexpr const uint32_t _OldGigaCoasterTrackPaintFunctions[256] = { - 0x008AD674, // TRACK_ELEM_FLAT - 0x008AD8C4, // TRACK_ELEM_END_STATION - 0x008AD8D4, // TRACK_ELEM_BEGIN_STATION - 0x008AD8E4, // TRACK_ELEM_MIDDLE_STATION - 0x008AD684, // TRACK_ELEM_25_DEG_UP - 0x008AD694, // TRACK_ELEM_60_DEG_UP - 0x008AD6A4, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AD6B4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AD6C4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AD6D4, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AD6E4, // TRACK_ELEM_25_DEG_DOWN - 0x008AD6F4, // TRACK_ELEM_60_DEG_DOWN - 0x008AD704, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AD714, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AD724, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AD734, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AD744, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AD754, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AD764, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AD774, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AD784, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AD794, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AD7A4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AD7B4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AD7C4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AD7D4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AD7E4, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AD7F4, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AD804, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AD814, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AD824, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AD834, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AD844, // TRACK_ELEM_LEFT_BANK - 0x008AD854, // TRACK_ELEM_RIGHT_BANK - 0x008AD864, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AD874, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AD884, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AD894, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AD8A4, // TRACK_ELEM_S_BEND_LEFT - 0x008AD8B4, // TRACK_ELEM_S_BEND_RIGHT + 0x008AD674, // TrackElemType::Flat + 0x008AD8C4, // TrackElemType::EndStation + 0x008AD8D4, // TrackElemType::BeginStation + 0x008AD8E4, // TrackElemType::MiddleStation + 0x008AD684, // TrackElemType::Up25 + 0x008AD694, // TrackElemType::Up60 + 0x008AD6A4, // TrackElemType::FlatToUp25 + 0x008AD6B4, // TrackElemType::Up25ToUp60 + 0x008AD6C4, // TrackElemType::Up60ToUp25 + 0x008AD6D4, // TrackElemType::Up25ToFlat + 0x008AD6E4, // TrackElemType::Down25 + 0x008AD6F4, // TrackElemType::Down60 + 0x008AD704, // TrackElemType::FlatToDown25 + 0x008AD714, // TrackElemType::Down25ToDown60 + 0x008AD724, // TrackElemType::Down60ToDown25 + 0x008AD734, // TrackElemType::Down25ToFlat + 0x008AD744, // TrackElemType::LeftQuarterTurn5Tiles + 0x008AD754, // TrackElemType::RightQuarterTurn5Tiles + 0x008AD764, // TrackElemType::FlatToLeftBank + 0x008AD774, // TrackElemType::FlatToRightBank + 0x008AD784, // TrackElemType::LeftBankToFlat + 0x008AD794, // TrackElemType::RightBankToFlat + 0x008AD7A4, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008AD7B4, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008AD7C4, // TrackElemType::LeftBankToUp25 + 0x008AD7D4, // TrackElemType::RightBankToUp25 + 0x008AD7E4, // TrackElemType::Up25ToLeftBank + 0x008AD7F4, // TrackElemType::Up25ToRightBank + 0x008AD804, // TrackElemType::LeftBankToDown25 + 0x008AD814, // TrackElemType::RightBankToDown25 + 0x008AD824, // TrackElemType::Down25ToLeftBank + 0x008AD834, // TrackElemType::Down25ToRightBank + 0x008AD844, // TrackElemType::LeftBank + 0x008AD854, // TrackElemType::RightBank + 0x008AD864, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008AD874, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008AD884, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008AD894, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008AD8A4, // TrackElemType::SBendLeft + 0x008AD8B4, // TrackElemType::SBendRight 0, 0, - 0x008AD8F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AD904, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AD914, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AD924, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AD934, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AD944, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AD954, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AD964, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AD8F4, // TrackElemType::LeftQuarterTurn3Tiles + 0x008AD904, // TrackElemType::RightQuarterTurn3Tiles + 0x008AD914, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008AD924, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008AD934, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008AD944, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008AD954, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008AD964, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -14929,19 +14929,19 @@ static constexpr const uint32_t _OldGigaCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x008AD974, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008AD984, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008AD994, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AD9A4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AD9B4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008AD9C4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008AD9D4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008AD9E4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008ADA14, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008AD9F4, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008ADA04, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008ADA24, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008ADA34, // TRACK_ELEM_BRAKES + 0x008AD974, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008AD984, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008AD994, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008AD9A4, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008AD9B4, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008AD9C4, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008AD9D4, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008AD9E4, // TrackElemType::RightHalfBankedHelixDownLarge + 0x008ADA14, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x008AD9F4, // TrackElemType::RightQuarterTurn1TileUp60 + 0x008ADA04, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x008ADA24, // TrackElemType::RightQuarterTurn1TileDown60 + 0x008ADA34, // TrackElemType::Brakes 0, 0, 0, @@ -14952,20 +14952,20 @@ static constexpr const uint32_t _OldGigaCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x008ADC84, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008ADC94, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0x008ADC84, // TrackElemType::Up25LeftBanked + 0x008ADC94, // TrackElemType::Up25RightBanked 0, 0, - 0x008ADA44, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008ADCA4, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008ADCB4, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0x008ADA44, // TrackElemType::OnRidePhoto + 0x008ADCA4, // TrackElemType::Down25LeftBanked + 0x008ADCB4, // TrackElemType::Down25RightBanked 0, - 0x008ADED4, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE - 0x008ADEE4, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE + 0x008ADED4, // TrackElemType::FlatToUp60LongBase + 0x008ADEE4, // TrackElemType::Up60ToFlatLongBase 0, - 0x008ADEF4, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE - 0x008ADF04, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122 - 0x008ADF14, // TRACK_ELEM_CABLE_LIFT_HILL + 0x008ADEF4, // TrackElemType::Down60ToFlatLongBase + 0x008ADF04, // TrackElemType::FlatToDown60LongBase + 0x008ADF14, // TrackElemType::CableLiftHill 0, 0, 0, @@ -14975,45 +14975,45 @@ static constexpr const uint32_t _OldGigaCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x008ADA64, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008ADA74, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008ADA84, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008ADA94, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008ADAA4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008ADAB4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008ADAC4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008ADAD4, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008ADA54, // TRACK_ELEM_DIAG_FLAT - 0x008ADB04, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008ADB64, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008ADAE4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008ADB44, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008ADB54, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008ADAF4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008ADB34, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008ADB94, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008ADB14, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008ADB74, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008ADB84, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008ADB24, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008ADA64, // TrackElemType::LeftEighthToDiag + 0x008ADA74, // TrackElemType::RightEighthToDiag + 0x008ADA84, // TrackElemType::LeftEighthToOrthogonal + 0x008ADA94, // TrackElemType::RightEighthToOrthogonal + 0x008ADAA4, // TrackElemType::LeftEighthBankToDiag + 0x008ADAB4, // TrackElemType::RightEighthBankToDiag + 0x008ADAC4, // TrackElemType::LeftEighthBankToOrthogonal + 0x008ADAD4, // TrackElemType::RightEighthBankToOrthogonal + 0x008ADA54, // TrackElemType::DiagFlat + 0x008ADB04, // TrackElemType::DiagUp25 + 0x008ADB64, // TrackElemType::DiagUp60 + 0x008ADAE4, // TrackElemType::DiagFlatToUp25 + 0x008ADB44, // TrackElemType::DiagUp25ToUp60 + 0x008ADB54, // TrackElemType::DiagUp60ToUp25 + 0x008ADAF4, // TrackElemType::DiagUp25ToFlat + 0x008ADB34, // TrackElemType::DiagDown25 + 0x008ADB94, // TrackElemType::DiagDown60 + 0x008ADB14, // TrackElemType::DiagFlatToDown25 + 0x008ADB74, // TrackElemType::DiagDown25ToDown60 + 0x008ADB84, // TrackElemType::DiagDown60ToDown25 + 0x008ADB24, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008ADBC4, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008ADBD4, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008ADBE4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008ADBF4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008ADC24, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008ADC34, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008ADC04, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008ADC14, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008ADC44, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008ADC54, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008ADC64, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008ADC74, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008ADBA4, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008ADBB4, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008ADBC4, // TrackElemType::DiagFlatToLeftBank + 0x008ADBD4, // TrackElemType::DiagFlatToRightBank + 0x008ADBE4, // TrackElemType::DiagLeftBankToFlat + 0x008ADBF4, // TrackElemType::DiagRightBankToFlat + 0x008ADC24, // TrackElemType::DiagLeftBankToUp25 + 0x008ADC34, // TrackElemType::DiagRightBankToUp25 + 0x008ADC04, // TrackElemType::DiagUp25ToLeftBank + 0x008ADC14, // TrackElemType::DiagUp25ToRightBank + 0x008ADC44, // TrackElemType::DiagLeftBankToDown25 + 0x008ADC54, // TrackElemType::DiagRightBankToDown25 + 0x008ADC64, // TrackElemType::DiagDown25ToLeftBank + 0x008ADC74, // TrackElemType::DiagDown25ToRightBank + 0x008ADBA4, // TrackElemType::DiagLeftBank + 0x008ADBB4, // TrackElemType::DiagRightBank 0, 0, 0, @@ -15058,39 +15058,39 @@ static constexpr const uint32_t _OldGigaCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x008ADEC4, // TRACK_ELEM_BLOCK_BRAKES - 0x008ADCC4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ADCD4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008ADCE4, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ADCF4, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008ADD04, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ADD14, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008ADD24, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ADD34, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008ADD44, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008ADD54, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008ADD64, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ADD74, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008ADD84, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ADD94, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ADDA4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ADDB4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008ADDC4, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008ADDD4, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008ADE04, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008ADE14, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008ADE24, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ADE34, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ADDE4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008ADDF4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008ADE44, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008ADE54, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008ADE64, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008ADE74, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008ADE84, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008ADE94, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008ADEA4, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008ADEB4, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008ADEC4, // TrackElemType::BlockBrakes + 0x008ADCC4, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + 0x008ADCD4, // TrackElemType::RightBankedQuarterTurn3TileUp25 + 0x008ADCE4, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + 0x008ADCF4, // TrackElemType::RightBankedQuarterTurn3TileDown25 + 0x008ADD04, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + 0x008ADD14, // TrackElemType::RightBankedQuarterTurn5TileUp25 + 0x008ADD24, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + 0x008ADD34, // TrackElemType::RightBankedQuarterTurn5TileDown25 + 0x008ADD44, // TrackElemType::Up25ToLeftBankedUp25 + 0x008ADD54, // TrackElemType::Up25ToRightBankedUp25 + 0x008ADD64, // TrackElemType::LeftBankedUp25ToUp25 + 0x008ADD74, // TrackElemType::RightBankedUp25ToUp25 + 0x008ADD84, // TrackElemType::Down25ToLeftBankedDown25 + 0x008ADD94, // TrackElemType::Down25ToRightBankedDown25 + 0x008ADDA4, // TrackElemType::LeftBankedDown25ToDown25 + 0x008ADDB4, // TrackElemType::RightBankedDown25ToDown25 + 0x008ADDC4, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + 0x008ADDD4, // TrackElemType::RightBankedFlatToRightBankedUp25 + 0x008ADE04, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + 0x008ADE14, // TrackElemType::RightBankedUp25ToRightBankedFlat + 0x008ADE24, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + 0x008ADE34, // TrackElemType::RightBankedFlatToRightBankedDown25 + 0x008ADDE4, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + 0x008ADDF4, // TrackElemType::RightBankedDown25ToRightBankedFlat + 0x008ADE44, // TrackElemType::FlatToLeftBankedUp25 + 0x008ADE54, // TrackElemType::FlatToRightBankedUp25 + 0x008ADE64, // TrackElemType::LeftBankedUp25ToFlat + 0x008ADE74, // TrackElemType::RightBankedUp25ToFlat + 0x008ADE84, // TrackElemType::FlatToLeftBankedDown25 + 0x008ADE94, // TrackElemType::FlatToRightBankedDown25 + 0x008ADEA4, // TrackElemType::LeftBankedDown25ToFlat + 0x008ADEB4, // TrackElemType::RightBankedDown25ToFlat 0, 0, 0, @@ -15168,8 +15168,8 @@ static constexpr const uint32_t _OldRoToDropTrackPaintFunctions[256] = { 0, 0, 0, - 0x00886194, // TRACK_ELEM_TOWER_BASE - 0x008861A4, // TRACK_ELEM_TOWER_SECTION + 0x00886194, // TrackElemType::TowerBase + 0x008861A4, // TrackElemType::TowerSection 0, 0, 0, @@ -15882,10 +15882,10 @@ static constexpr const uint32_t _OldCrookedHouseTrackPaintFunctions[256] = { /** rct2: 0x0088AC88 */ static constexpr const uint32_t _OldMonorailCyclesTrackPaintFunctions[256] = { - 0x0088AD48, // TRACK_ELEM_FLAT - 0x0088AD58, // TRACK_ELEM_END_STATION - 0x0088AD68, // TRACK_ELEM_BEGIN_STATION - 0x0088AD78, // TRACK_ELEM_MIDDLE_STATION + 0x0088AD48, // TrackElemType::Flat + 0x0088AD58, // TrackElemType::EndStation + 0x0088AD68, // TrackElemType::BeginStation + 0x0088AD78, // TrackElemType::MiddleStation 0, 0, 0, @@ -15898,8 +15898,8 @@ static constexpr const uint32_t _OldMonorailCyclesTrackPaintFunctions[256] = { 0, 0, 0, - 0x0088ADA8, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0088ADB8, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x0088ADA8, // TrackElemType::LeftQuarterTurn5Tiles + 0x0088ADB8, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -15920,12 +15920,12 @@ static constexpr const uint32_t _OldMonorailCyclesTrackPaintFunctions[256] = { 0, 0, 0, - 0x0088ADC8, // TRACK_ELEM_S_BEND_LEFT - 0x0088ADD8, // TRACK_ELEM_S_BEND_RIGHT + 0x0088ADC8, // TrackElemType::SBendLeft + 0x0088ADD8, // TrackElemType::SBendRight 0, 0, - 0x0088AD88, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x0088AD98, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x0088AD88, // TrackElemType::LeftQuarterTurn3Tiles + 0x0088AD98, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, @@ -16142,68 +16142,68 @@ static constexpr const uint32_t _OldMonorailCyclesTrackPaintFunctions[256] = { /** rct2: 0x008AE36C */ static constexpr const uint32_t _OldCompactInvertedCoasterTrackPaintFunctions[256] = { - 0x008AE6E0, // TRACK_ELEM_FLAT - 0x008AE950, // TRACK_ELEM_END_STATION - 0x008AE960, // TRACK_ELEM_BEGIN_STATION - 0x008AE970, // TRACK_ELEM_MIDDLE_STATION - 0x008AE6F0, // TRACK_ELEM_25_DEG_UP - 0x008AE700, // TRACK_ELEM_60_DEG_UP - 0x008AE710, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AE720, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AE730, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AE740, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AE750, // TRACK_ELEM_25_DEG_DOWN - 0x008AE760, // TRACK_ELEM_60_DEG_DOWN - 0x008AE770, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AE780, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AE790, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AE7A0, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AE7B0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AE7C0, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AE7D0, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AE7E0, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AE7F0, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AE800, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AE810, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AE820, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AE830, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AE840, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AE850, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AE860, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AE870, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AE880, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AE890, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AE8A0, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AE8B0, // TRACK_ELEM_LEFT_BANK - 0x008AE8C0, // TRACK_ELEM_RIGHT_BANK - 0x008AE8D0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AE8E0, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AE8F0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AE900, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AE910, // TRACK_ELEM_S_BEND_LEFT - 0x008AE920, // TRACK_ELEM_S_BEND_RIGHT - 0x008AE930, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008AE940, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008AE980, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AE990, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AE9A0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AE9B0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AE9C0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AE9D0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AE9E0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AE9F0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AE6E0, // TrackElemType::Flat + 0x008AE950, // TrackElemType::EndStation + 0x008AE960, // TrackElemType::BeginStation + 0x008AE970, // TrackElemType::MiddleStation + 0x008AE6F0, // TrackElemType::Up25 + 0x008AE700, // TrackElemType::Up60 + 0x008AE710, // TrackElemType::FlatToUp25 + 0x008AE720, // TrackElemType::Up25ToUp60 + 0x008AE730, // TrackElemType::Up60ToUp25 + 0x008AE740, // TrackElemType::Up25ToFlat + 0x008AE750, // TrackElemType::Down25 + 0x008AE760, // TrackElemType::Down60 + 0x008AE770, // TrackElemType::FlatToDown25 + 0x008AE780, // TrackElemType::Down25ToDown60 + 0x008AE790, // TrackElemType::Down60ToDown25 + 0x008AE7A0, // TrackElemType::Down25ToFlat + 0x008AE7B0, // TrackElemType::LeftQuarterTurn5Tiles + 0x008AE7C0, // TrackElemType::RightQuarterTurn5Tiles + 0x008AE7D0, // TrackElemType::FlatToLeftBank + 0x008AE7E0, // TrackElemType::FlatToRightBank + 0x008AE7F0, // TrackElemType::LeftBankToFlat + 0x008AE800, // TrackElemType::RightBankToFlat + 0x008AE810, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008AE820, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008AE830, // TrackElemType::LeftBankToUp25 + 0x008AE840, // TrackElemType::RightBankToUp25 + 0x008AE850, // TrackElemType::Up25ToLeftBank + 0x008AE860, // TrackElemType::Up25ToRightBank + 0x008AE870, // TrackElemType::LeftBankToDown25 + 0x008AE880, // TrackElemType::RightBankToDown25 + 0x008AE890, // TrackElemType::Down25ToLeftBank + 0x008AE8A0, // TrackElemType::Down25ToRightBank + 0x008AE8B0, // TrackElemType::LeftBank + 0x008AE8C0, // TrackElemType::RightBank + 0x008AE8D0, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008AE8E0, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008AE8F0, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008AE900, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008AE910, // TrackElemType::SBendLeft + 0x008AE920, // TrackElemType::SBendRight + 0x008AE930, // TrackElemType::LeftVerticalLoop + 0x008AE940, // TrackElemType::RightVerticalLoop + 0x008AE980, // TrackElemType::LeftQuarterTurn3Tiles + 0x008AE990, // TrackElemType::RightQuarterTurn3Tiles + 0x008AE9A0, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008AE9B0, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008AE9C0, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008AE9D0, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008AE9E0, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008AE9F0, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, - 0x008AEA00, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - 0x008AEA10, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - 0x008AEA20, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - 0x008AEA30, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN - 0x008AEA40, // TRACK_ELEM_HALF_LOOP_UP - 0x008AEA50, // TRACK_ELEM_HALF_LOOP_DOWN - 0x008AEA60, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008AEA70, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008AEA80, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008AEA90, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0x008AEA00, // TrackElemType::LeftTwistDownToUp + 0x008AEA10, // TrackElemType::RightTwistDownToUp + 0x008AEA20, // TrackElemType::LeftTwistUpToDown + 0x008AEA30, // TrackElemType::RightTwistUpToDown + 0x008AEA40, // TrackElemType::HalfLoopUp + 0x008AEA50, // TrackElemType::HalfLoopDown + 0x008AEA60, // TrackElemType::LeftCorkscrewUp + 0x008AEA70, // TrackElemType::RightCorkscrewUp + 0x008AEA80, // TrackElemType::LeftCorkscrewDown + 0x008AEA90, // TrackElemType::RightCorkscrewDown 0, 0, 0, @@ -16237,17 +16237,17 @@ static constexpr const uint32_t _OldCompactInvertedCoasterTrackPaintFunctions[25 0, 0, 0, - 0x008AEAD0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008AEAB0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008AEAC0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008AEAE0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008AEAA0, // TRACK_ELEM_BRAKES + 0x008AEAD0, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x008AEAB0, // TrackElemType::RightQuarterTurn1TileUp60 + 0x008AEAC0, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x008AEAE0, // TrackElemType::RightQuarterTurn1TileDown60 + 0x008AEAA0, // TrackElemType::Brakes 0, 0, - 0x008AEAF0, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP - 0x008AEB00, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP - 0x008AEB10, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN - 0x008AEB20, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN + 0x008AEAF0, // TrackElemType::LeftQuarterBankedHelixLargeUp + 0x008AEB00, // TrackElemType::RightQuarterBankedHelixLargeUp + 0x008AEB10, // TrackElemType::LeftQuarterBankedHelixLargeDown + 0x008AEB20, // TrackElemType::RightQuarterBankedHelixLargeDown 0, 0, 0, @@ -16256,7 +16256,7 @@ static constexpr const uint32_t _OldCompactInvertedCoasterTrackPaintFunctions[25 0, 0, 0, - 0x008AEB30, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008AEB30, // TrackElemType::OnRidePhoto 0, 0, 0, @@ -16268,52 +16268,52 @@ static constexpr const uint32_t _OldCompactInvertedCoasterTrackPaintFunctions[25 0, 0, 0, - 0x008AEDB0, // TRACK_ELEM_90_DEG_UP - 0x008AEDC0, // TRACK_ELEM_90_DEG_DOWN - 0x008AED70, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x008AED80, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x008AED90, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x008AEDA0, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 0x008AEDB0, // TrackElemType::Up90 + 0x008AEDC0, // TrackElemType::Down90 + 0x008AED70, // TrackElemType::Up60ToUp90 + 0x008AED80, // TrackElemType::Down90ToDown60 + 0x008AED90, // TrackElemType::Up90ToUp60 + 0x008AEDA0, // TrackElemType::Down60ToDown90 0, - 0x008AEB40, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AEB50, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AEB60, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AEB70, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008AED30, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008AED40, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008AED50, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AED60, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AEB80, // TRACK_ELEM_DIAG_FLAT - 0x008AEBB0, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008AEC10, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008AEB90, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008AEBF0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008AEC00, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008AEBA0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AEBE0, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008AEC40, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008AEBC0, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008AEC20, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AEC30, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AEBD0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008AEB40, // TrackElemType::LeftEighthToDiag + 0x008AEB50, // TrackElemType::RightEighthToDiag + 0x008AEB60, // TrackElemType::LeftEighthToOrthogonal + 0x008AEB70, // TrackElemType::RightEighthToOrthogonal + 0x008AED30, // TrackElemType::LeftEighthBankToDiag + 0x008AED40, // TrackElemType::RightEighthBankToDiag + 0x008AED50, // TrackElemType::LeftEighthBankToOrthogonal + 0x008AED60, // TrackElemType::RightEighthBankToOrthogonal + 0x008AEB80, // TrackElemType::DiagFlat + 0x008AEBB0, // TrackElemType::DiagUp25 + 0x008AEC10, // TrackElemType::DiagUp60 + 0x008AEB90, // TrackElemType::DiagFlatToUp25 + 0x008AEBF0, // TrackElemType::DiagUp25ToUp60 + 0x008AEC00, // TrackElemType::DiagUp60ToUp25 + 0x008AEBA0, // TrackElemType::DiagUp25ToFlat + 0x008AEBE0, // TrackElemType::DiagDown25 + 0x008AEC40, // TrackElemType::DiagDown60 + 0x008AEBC0, // TrackElemType::DiagFlatToDown25 + 0x008AEC20, // TrackElemType::DiagDown25ToDown60 + 0x008AEC30, // TrackElemType::DiagDown60ToDown25 + 0x008AEBD0, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008AEC70, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008AEC80, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008AEC90, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008AECA0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008AECD0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008AECE0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008AECB0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008AECC0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008AECF0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008AED00, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AED10, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008AED20, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AEC50, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008AEC60, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008AEC70, // TrackElemType::DiagFlatToLeftBank + 0x008AEC80, // TrackElemType::DiagFlatToRightBank + 0x008AEC90, // TrackElemType::DiagLeftBankToFlat + 0x008AECA0, // TrackElemType::DiagRightBankToFlat + 0x008AECD0, // TrackElemType::DiagLeftBankToUp25 + 0x008AECE0, // TrackElemType::DiagRightBankToUp25 + 0x008AECB0, // TrackElemType::DiagUp25ToLeftBank + 0x008AECC0, // TrackElemType::DiagUp25ToRightBank + 0x008AECF0, // TrackElemType::DiagLeftBankToDown25 + 0x008AED00, // TrackElemType::DiagRightBankToDown25 + 0x008AED10, // TrackElemType::DiagDown25ToLeftBank + 0x008AED20, // TrackElemType::DiagDown25ToRightBank + 0x008AEC50, // TrackElemType::DiagLeftBank + 0x008AEC60, // TrackElemType::DiagRightBank 0, 0, 0, @@ -16358,7 +16358,7 @@ static constexpr const uint32_t _OldCompactInvertedCoasterTrackPaintFunctions[25 0, 0, 0, - 0x008AEAA0, // TRACK_ELEM_BLOCK_BRAKES + 0x008AEAA0, // TrackElemType::BlockBrakes 0, 0, 0, @@ -16402,56 +16402,56 @@ static constexpr const uint32_t _OldCompactInvertedCoasterTrackPaintFunctions[25 /** rct2: 0x008AEDE0 */ static constexpr const uint32_t _OldWaterCoasterTrackPaintFunctions[256] = { - 0x008AF154, // TRACK_ELEM_FLAT - 0x008AF2A4, // TRACK_ELEM_END_STATION - 0x008AF2B4, // TRACK_ELEM_BEGIN_STATION - 0x008AF2C4, // TRACK_ELEM_MIDDLE_STATION - 0x008AF164, // TRACK_ELEM_25_DEG_UP - 0x008AF174, // TRACK_ELEM_60_DEG_UP - 0x008AF184, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008AF194, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008AF1A4, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008AF1B4, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008AF1C4, // TRACK_ELEM_25_DEG_DOWN - 0x008AF1D4, // TRACK_ELEM_60_DEG_DOWN - 0x008AF1E4, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008AF1F4, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AF204, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AF214, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008AF224, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AF234, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AF454, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AF464, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AF474, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AF484, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AF494, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AF4A4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008AF4B4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008AF4C4, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008AF4D4, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008AF4E4, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008AF4F4, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008AF504, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AF514, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008AF524, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AF534, // TRACK_ELEM_LEFT_BANK - 0x008AF544, // TRACK_ELEM_RIGHT_BANK - 0x008AF244, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AF254, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008AF264, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AF274, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008AF284, // TRACK_ELEM_S_BEND_LEFT - 0x008AF294, // TRACK_ELEM_S_BEND_RIGHT + 0x008AF154, // TrackElemType::Flat + 0x008AF2A4, // TrackElemType::EndStation + 0x008AF2B4, // TrackElemType::BeginStation + 0x008AF2C4, // TrackElemType::MiddleStation + 0x008AF164, // TrackElemType::Up25 + 0x008AF174, // TrackElemType::Up60 + 0x008AF184, // TrackElemType::FlatToUp25 + 0x008AF194, // TrackElemType::Up25ToUp60 + 0x008AF1A4, // TrackElemType::Up60ToUp25 + 0x008AF1B4, // TrackElemType::Up25ToFlat + 0x008AF1C4, // TrackElemType::Down25 + 0x008AF1D4, // TrackElemType::Down60 + 0x008AF1E4, // TrackElemType::FlatToDown25 + 0x008AF1F4, // TrackElemType::Down25ToDown60 + 0x008AF204, // TrackElemType::Down60ToDown25 + 0x008AF214, // TrackElemType::Down25ToFlat + 0x008AF224, // TrackElemType::LeftQuarterTurn5Tiles + 0x008AF234, // TrackElemType::RightQuarterTurn5Tiles + 0x008AF454, // TrackElemType::FlatToLeftBank + 0x008AF464, // TrackElemType::FlatToRightBank + 0x008AF474, // TrackElemType::LeftBankToFlat + 0x008AF484, // TrackElemType::RightBankToFlat + 0x008AF494, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008AF4A4, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008AF4B4, // TrackElemType::LeftBankToUp25 + 0x008AF4C4, // TrackElemType::RightBankToUp25 + 0x008AF4D4, // TrackElemType::Up25ToLeftBank + 0x008AF4E4, // TrackElemType::Up25ToRightBank + 0x008AF4F4, // TrackElemType::LeftBankToDown25 + 0x008AF504, // TrackElemType::RightBankToDown25 + 0x008AF514, // TrackElemType::Down25ToLeftBank + 0x008AF524, // TrackElemType::Down25ToRightBank + 0x008AF534, // TrackElemType::LeftBank + 0x008AF544, // TrackElemType::RightBank + 0x008AF244, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008AF254, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008AF264, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008AF274, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008AF284, // TrackElemType::SBendLeft + 0x008AF294, // TrackElemType::SBendRight 0, 0, - 0x008AF2D4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008AF2E4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008AF554, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008AF564, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008AF2F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AF304, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008AF314, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008AF324, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008AF2D4, // TrackElemType::LeftQuarterTurn3Tiles + 0x008AF2E4, // TrackElemType::RightQuarterTurn3Tiles + 0x008AF554, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008AF564, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008AF2F4, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008AF304, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008AF314, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008AF324, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -16470,7 +16470,7 @@ static constexpr const uint32_t _OldWaterCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x008AF714, // TRACK_ELEM_FLAT_COVERED + 0x008AF714, // TrackElemType::FlatCovered 0, 0, 0, @@ -16483,25 +16483,25 @@ static constexpr const uint32_t _OldWaterCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x008AF724, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED - 0x008AF734, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED + 0x008AF724, // TrackElemType::LeftQuarterTurn5TilesCovered + 0x008AF734, // TrackElemType::RightQuarterTurn5TilesCovered 0, 0, 0, 0, - 0x008AF574, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008AF584, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008AF594, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AF5A4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008AF5B4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008AF5C4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008AF5D4, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008AF5E4, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008AF574, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008AF584, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008AF594, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008AF5A4, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008AF5B4, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008AF5C4, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008AF5D4, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008AF5E4, // TrackElemType::RightHalfBankedHelixDownLarge 0, 0, 0, 0, - 0x008AF334, // TRACK_ELEM_BRAKES + 0x008AF334, // TrackElemType::Brakes 0, 0, 0, @@ -16535,45 +16535,45 @@ static constexpr const uint32_t _OldWaterCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x008AF414, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008AF424, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008AF434, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008AF444, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008AF5F4, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008AF604, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008AF614, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AF624, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008AF344, // TRACK_ELEM_DIAG_FLAT - 0x008AF374, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008AF3A4, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008AF354, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008AF384, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008AF394, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008AF364, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008AF3D4, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008AF404, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008AF3B4, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008AF3E4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008AF3F4, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008AF3C4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008AF414, // TrackElemType::LeftEighthToDiag + 0x008AF424, // TrackElemType::RightEighthToDiag + 0x008AF434, // TrackElemType::LeftEighthToOrthogonal + 0x008AF444, // TrackElemType::RightEighthToOrthogonal + 0x008AF5F4, // TrackElemType::LeftEighthBankToDiag + 0x008AF604, // TrackElemType::RightEighthBankToDiag + 0x008AF614, // TrackElemType::LeftEighthBankToOrthogonal + 0x008AF624, // TrackElemType::RightEighthBankToOrthogonal + 0x008AF344, // TrackElemType::DiagFlat + 0x008AF374, // TrackElemType::DiagUp25 + 0x008AF3A4, // TrackElemType::DiagUp60 + 0x008AF354, // TrackElemType::DiagFlatToUp25 + 0x008AF384, // TrackElemType::DiagUp25ToUp60 + 0x008AF394, // TrackElemType::DiagUp60ToUp25 + 0x008AF364, // TrackElemType::DiagUp25ToFlat + 0x008AF3D4, // TrackElemType::DiagDown25 + 0x008AF404, // TrackElemType::DiagDown60 + 0x008AF3B4, // TrackElemType::DiagFlatToDown25 + 0x008AF3E4, // TrackElemType::DiagDown25ToDown60 + 0x008AF3F4, // TrackElemType::DiagDown60ToDown25 + 0x008AF3C4, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008AF654, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008AF664, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008AF674, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008AF684, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008AF6B4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008AF6C4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008AF694, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008AF6A4, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008AF6D4, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008AF6E4, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008AF6F4, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008AF704, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008AF634, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008AF644, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008AF654, // TrackElemType::DiagFlatToLeftBank + 0x008AF664, // TrackElemType::DiagFlatToRightBank + 0x008AF674, // TrackElemType::DiagLeftBankToFlat + 0x008AF684, // TrackElemType::DiagRightBankToFlat + 0x008AF6B4, // TrackElemType::DiagLeftBankToUp25 + 0x008AF6C4, // TrackElemType::DiagRightBankToUp25 + 0x008AF694, // TrackElemType::DiagUp25ToLeftBank + 0x008AF6A4, // TrackElemType::DiagUp25ToRightBank + 0x008AF6D4, // TrackElemType::DiagLeftBankToDown25 + 0x008AF6E4, // TrackElemType::DiagRightBankToDown25 + 0x008AF6F4, // TrackElemType::DiagDown25ToLeftBank + 0x008AF704, // TrackElemType::DiagDown25ToRightBank + 0x008AF634, // TrackElemType::DiagLeftBank + 0x008AF644, // TrackElemType::DiagRightBank 0, 0, 0, @@ -16618,7 +16618,7 @@ static constexpr const uint32_t _OldWaterCoasterTrackPaintFunctions[256] = { 0, 0, 0, - 0x008AF744, // TRACK_ELEM_BLOCK_BRAKES + 0x008AF744, // TrackElemType::BlockBrakes 0, 0, 0, @@ -16662,10 +16662,10 @@ static constexpr const uint32_t _OldWaterCoasterTrackPaintFunctions[256] = { /** rct2: 0x008AF764 */ static constexpr const uint32_t _OldAirPoweredVerticalCoasterTrackPaintFunctions[256] = { - 0x008AFAD4, // TRACK_ELEM_FLAT - 0x008AFAE4, // TRACK_ELEM_END_STATION - 0x008AFAF4, // TRACK_ELEM_BEGIN_STATION - 0x008AFB04, // TRACK_ELEM_MIDDLE_STATION + 0x008AFAD4, // TrackElemType::Flat + 0x008AFAE4, // TrackElemType::EndStation + 0x008AFAF4, // TrackElemType::BeginStation + 0x008AFB04, // TrackElemType::MiddleStation 0, 0, 0, @@ -16678,14 +16678,14 @@ static constexpr const uint32_t _OldAirPoweredVerticalCoasterTrackPaintFunctions 0, 0, 0, - 0x008AFB54, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008AFB64, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008AFB74, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008AFB84, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008AFB94, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008AFBA4, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008AFBB4, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008AFBC4, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES + 0x008AFB54, // TrackElemType::LeftQuarterTurn5Tiles + 0x008AFB64, // TrackElemType::RightQuarterTurn5Tiles + 0x008AFB74, // TrackElemType::FlatToLeftBank + 0x008AFB84, // TrackElemType::FlatToRightBank + 0x008AFB94, // TrackElemType::LeftBankToFlat + 0x008AFBA4, // TrackElemType::RightBankToFlat + 0x008AFBB4, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008AFBC4, // TrackElemType::BankedRightQuarterTurn5Tiles 0, 0, 0, @@ -16694,8 +16694,8 @@ static constexpr const uint32_t _OldAirPoweredVerticalCoasterTrackPaintFunctions 0, 0, 0, - 0x008AFBD4, // TRACK_ELEM_LEFT_BANK - 0x008AFBE4, // TRACK_ELEM_RIGHT_BANK + 0x008AFBD4, // TrackElemType::LeftBank + 0x008AFBE4, // TrackElemType::RightBank 0, 0, 0, @@ -16761,7 +16761,7 @@ static constexpr const uint32_t _OldAirPoweredVerticalCoasterTrackPaintFunctions 0, 0, 0, - 0x008AFC04, // TRACK_ELEM_BRAKES + 0x008AFC04, // TrackElemType::Brakes 0, 0, 0, @@ -16786,8 +16786,8 @@ static constexpr const uint32_t _OldAirPoweredVerticalCoasterTrackPaintFunctions 0, 0, 0, - 0x008AFB14, // TRACK_ELEM_REVERSE_FREEFALL_SLOPE - 0x008AFB34, // TRACK_ELEM_REVERSE_FREEFALL_VERTICAL + 0x008AFB14, // TrackElemType::ReverseFreefallSlope + 0x008AFB34, // TrackElemType::ReverseFreefallVertical 0, 0, 0, @@ -16875,9 +16875,9 @@ static constexpr const uint32_t _OldAirPoweredVerticalCoasterTrackPaintFunctions 0, 0, 0, - 0x008AFBF4, // TRACK_ELEM_AIR_THRUST_TOP_CAP - 0x008AFB44, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN - 0x008AFB24, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL + 0x008AFBF4, // TrackElemType::AirThrustTopCap + 0x008AFB44, // TrackElemType::AirThrustVerticalDown + 0x008AFB24, // TrackElemType::AirThrustVerticalDownToLevel 0, 0, 0, @@ -16922,22 +16922,22 @@ static constexpr const uint32_t _OldAirPoweredVerticalCoasterTrackPaintFunctions /** rct2: 0x00890940 */ static constexpr const uint32_t _OldInvertedHairpinCoasterTrackPaintFunctions[256] = { - 0x00890CB4, // TRACK_ELEM_FLAT - 0x00890D84, // TRACK_ELEM_END_STATION - 0x00890D94, // TRACK_ELEM_BEGIN_STATION - 0x00890DA4, // TRACK_ELEM_MIDDLE_STATION - 0x00890CC4, // TRACK_ELEM_25_DEG_UP - 0x00890CD4, // TRACK_ELEM_60_DEG_UP - 0x00890CE4, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x00890CF4, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x00890D04, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x00890D14, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x00890D24, // TRACK_ELEM_25_DEG_DOWN - 0x00890D34, // TRACK_ELEM_60_DEG_DOWN - 0x00890D44, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x00890D54, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x00890D64, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x00890D74, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x00890CB4, // TrackElemType::Flat + 0x00890D84, // TrackElemType::EndStation + 0x00890D94, // TrackElemType::BeginStation + 0x00890DA4, // TrackElemType::MiddleStation + 0x00890CC4, // TrackElemType::Up25 + 0x00890CD4, // TrackElemType::Up60 + 0x00890CE4, // TrackElemType::FlatToUp25 + 0x00890CF4, // TrackElemType::Up25ToUp60 + 0x00890D04, // TrackElemType::Up60ToUp25 + 0x00890D14, // TrackElemType::Up25ToFlat + 0x00890D24, // TrackElemType::Down25 + 0x00890D34, // TrackElemType::Down60 + 0x00890D44, // TrackElemType::FlatToDown25 + 0x00890D54, // TrackElemType::Down25ToDown60 + 0x00890D64, // TrackElemType::Down60ToDown25 + 0x00890D74, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -16964,16 +16964,16 @@ static constexpr const uint32_t _OldInvertedHairpinCoasterTrackPaintFunctions[25 0, 0, 0, - 0x00890DB4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00890DC4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x00890DB4, // TrackElemType::LeftQuarterTurn3Tiles + 0x00890DC4, // TrackElemType::RightQuarterTurn3Tiles 0, 0, - 0x00890DD4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x00890DE4, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x00890DF4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x00890E04, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x00890E64, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00890E74, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x00890DD4, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x00890DE4, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x00890DF4, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x00890E04, // TrackElemType::RightQuarterTurn3TilesDown25 + 0x00890E64, // TrackElemType::LeftQuarterTurn1Tile + 0x00890E74, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -16984,10 +16984,10 @@ static constexpr const uint32_t _OldInvertedHairpinCoasterTrackPaintFunctions[25 0, 0, 0, - 0x00890E24, // TRACK_ELEM_FLAT_TO_60_DEG_UP - 0x00890E34, // TRACK_ELEM_60_DEG_UP_TO_FLAT - 0x00890E44, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN - 0x00890E54, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT + 0x00890E24, // TrackElemType::FlatToUp60 + 0x00890E34, // TrackElemType::Up60ToFlat + 0x00890E44, // TrackElemType::FlatToDown60 + 0x00890E54, // TrackElemType::Down60ToFlat 0, 0, 0, @@ -17021,7 +17021,7 @@ static constexpr const uint32_t _OldInvertedHairpinCoasterTrackPaintFunctions[25 0, 0, 0, - 0x00890E14, // TRACK_ELEM_BRAKES + 0x00890E14, // TrackElemType::Brakes 0, 0, 0, @@ -17138,7 +17138,7 @@ static constexpr const uint32_t _OldInvertedHairpinCoasterTrackPaintFunctions[25 0, 0, 0, - 0x00890E84, // TRACK_ELEM_BLOCK_BRAKES + 0x00890E84, // TrackElemType::BlockBrakes 0, 0, 0, @@ -17442,10 +17442,10 @@ static constexpr const uint32_t _OldMagicCarpetTrackPaintFunctions[256] = { /** rct2: 0x008995D4 */ static constexpr const uint32_t _OldSubmarineRideTrackPaintFunctions[256] = { - 0x008996B4, // TRACK_ELEM_FLAT - 0x008996C4, // TRACK_ELEM_END_STATION - 0x008996D4, // TRACK_ELEM_BEGIN_STATION - 0x008996E4, // TRACK_ELEM_MIDDLE_STATION + 0x008996B4, // TrackElemType::Flat + 0x008996C4, // TrackElemType::EndStation + 0x008996D4, // TrackElemType::BeginStation + 0x008996E4, // TrackElemType::MiddleStation 0, 0, 0, @@ -17484,16 +17484,16 @@ static constexpr const uint32_t _OldSubmarineRideTrackPaintFunctions[256] = { 0, 0, 0, - 0x008996F4, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x00899704, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES + 0x008996F4, // TrackElemType::LeftQuarterTurn3Tiles + 0x00899704, // TrackElemType::RightQuarterTurn3Tiles 0, 0, 0, 0, 0, 0, - 0x00899714, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE - 0x00899724, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE + 0x00899714, // TrackElemType::LeftQuarterTurn1Tile + 0x00899724, // TrackElemType::RightQuarterTurn1Tile 0, 0, 0, @@ -17702,10 +17702,10 @@ static constexpr const uint32_t _OldSubmarineRideTrackPaintFunctions[256] = { /** rct2: 0x0089B0C0 */ static constexpr const uint32_t _OldRiverRaftsTrackPaintFunctions[256] = { - 0x0089B170, // TRACK_ELEM_FLAT - 0x0089B1A0, // TRACK_ELEM_END_STATION - 0x0089B1B0, // TRACK_ELEM_BEGIN_STATION - 0x0089B1C0, // TRACK_ELEM_MIDDLE_STATION + 0x0089B170, // TrackElemType::Flat + 0x0089B1A0, // TrackElemType::EndStation + 0x0089B1B0, // TrackElemType::BeginStation + 0x0089B1C0, // TrackElemType::MiddleStation 0, 0, 0, @@ -17718,8 +17718,8 @@ static constexpr const uint32_t _OldRiverRaftsTrackPaintFunctions[256] = { 0, 0, 0, - 0x0089B1D0, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x0089B1E0, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES + 0x0089B1D0, // TrackElemType::LeftQuarterTurn5Tiles + 0x0089B1E0, // TrackElemType::RightQuarterTurn5Tiles 0, 0, 0, @@ -17740,8 +17740,8 @@ static constexpr const uint32_t _OldRiverRaftsTrackPaintFunctions[256] = { 0, 0, 0, - 0x0089B180, // TRACK_ELEM_S_BEND_LEFT - 0x0089B190, // TRACK_ELEM_S_BEND_RIGHT + 0x0089B180, // TrackElemType::SBendLeft + 0x0089B190, // TrackElemType::SBendRight 0, 0, 0, @@ -18222,22 +18222,22 @@ static constexpr const uint32_t _OldEnterpriseTrackPaintFunctions[256] = { /** rct2: 0x008B005C */ static constexpr const uint32_t _OldInvertedImpulseCoasterTrackPaintFunctions[256] = { - 0x008B0460, // TRACK_ELEM_FLAT - 0x008B0470, // TRACK_ELEM_END_STATION - 0x008B0480, // TRACK_ELEM_BEGIN_STATION - 0x008B0490, // TRACK_ELEM_MIDDLE_STATION - 0x008B04A0, // TRACK_ELEM_25_DEG_UP - 0x008B04B0, // TRACK_ELEM_60_DEG_UP - 0x008B04C0, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008B04D0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008B04E0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008B04F0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008B0500, // TRACK_ELEM_25_DEG_DOWN - 0x008B0510, // TRACK_ELEM_60_DEG_DOWN - 0x008B0520, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008B0530, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008B0540, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008B0550, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT + 0x008B0460, // TrackElemType::Flat + 0x008B0470, // TrackElemType::EndStation + 0x008B0480, // TrackElemType::BeginStation + 0x008B0490, // TrackElemType::MiddleStation + 0x008B04A0, // TrackElemType::Up25 + 0x008B04B0, // TrackElemType::Up60 + 0x008B04C0, // TrackElemType::FlatToUp25 + 0x008B04D0, // TrackElemType::Up25ToUp60 + 0x008B04E0, // TrackElemType::Up60ToUp25 + 0x008B04F0, // TrackElemType::Up25ToFlat + 0x008B0500, // TrackElemType::Down25 + 0x008B0510, // TrackElemType::Down60 + 0x008B0520, // TrackElemType::FlatToDown25 + 0x008B0530, // TrackElemType::Down25ToDown60 + 0x008B0540, // TrackElemType::Down60ToDown25 + 0x008B0550, // TrackElemType::Down25ToFlat 0, 0, 0, @@ -18348,12 +18348,12 @@ static constexpr const uint32_t _OldInvertedImpulseCoasterTrackPaintFunctions[25 0, 0, 0, - 0x008B05A0, // TRACK_ELEM_90_DEG_UP - 0x008B05B0, // TRACK_ELEM_90_DEG_DOWN - 0x008B0560, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x008B0570, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x008B0580, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x008B0590, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 0x008B05A0, // TrackElemType::Up90 + 0x008B05B0, // TrackElemType::Down90 + 0x008B0560, // TrackElemType::Up60ToUp90 + 0x008B0570, // TrackElemType::Down90ToDown60 + 0x008B0580, // TrackElemType::Up90ToUp60 + 0x008B0590, // TrackElemType::Down60ToDown90 0, 0, 0, @@ -18471,10 +18471,10 @@ static constexpr const uint32_t _OldInvertedImpulseCoasterTrackPaintFunctions[25 0, 0, 0, - 0x008B05C0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008B05D0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008B05E0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0x008B05F0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0x008B05C0, // TrackElemType::LeftQuarterTurn1TileUp90 + 0x008B05D0, // TrackElemType::RightQuarterTurn1TileUp90 + 0x008B05E0, // TrackElemType::LeftQuarterTurn1TileDown90 + 0x008B05F0, // TrackElemType::RightQuarterTurn1TileDown90 0, 0, 0, @@ -18482,56 +18482,56 @@ static constexpr const uint32_t _OldInvertedImpulseCoasterTrackPaintFunctions[25 /** rct2: 0x008A46D8 */ static constexpr const uint32_t _OldMiniRollerCoasterTrackPaintFunctions[256] = { - 0x008A4ABC, // TRACK_ELEM_FLAT - 0x008A4D0C, // TRACK_ELEM_END_STATION - 0x008A4D1C, // TRACK_ELEM_BEGIN_STATION - 0x008A4D2C, // TRACK_ELEM_MIDDLE_STATION - 0x008A4ACC, // TRACK_ELEM_25_DEG_UP - 0x008A4ADC, // TRACK_ELEM_60_DEG_UP - 0x008A4AEC, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A4AFC, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A4B0C, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A4B1C, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A4B2C, // TRACK_ELEM_25_DEG_DOWN - 0x008A4B3C, // TRACK_ELEM_60_DEG_DOWN - 0x008A4B4C, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A4B5C, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A4B6C, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A4B7C, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A4B8C, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A4B9C, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A4BAC, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A4BBC, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A4BCC, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A4BDC, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A4BEC, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A4BFC, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A4C0C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A4C1C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A4C2C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A4C3C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A4C4C, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A4C5C, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A4C6C, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A4C7C, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A4C8C, // TRACK_ELEM_LEFT_BANK - 0x008A4C9C, // TRACK_ELEM_RIGHT_BANK - 0x008A4CAC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A4CBC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A4CCC, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A4CDC, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A4CEC, // TRACK_ELEM_S_BEND_LEFT - 0x008A4CFC, // TRACK_ELEM_S_BEND_RIGHT + 0x008A4ABC, // TrackElemType::Flat + 0x008A4D0C, // TrackElemType::EndStation + 0x008A4D1C, // TrackElemType::BeginStation + 0x008A4D2C, // TrackElemType::MiddleStation + 0x008A4ACC, // TrackElemType::Up25 + 0x008A4ADC, // TrackElemType::Up60 + 0x008A4AEC, // TrackElemType::FlatToUp25 + 0x008A4AFC, // TrackElemType::Up25ToUp60 + 0x008A4B0C, // TrackElemType::Up60ToUp25 + 0x008A4B1C, // TrackElemType::Up25ToFlat + 0x008A4B2C, // TrackElemType::Down25 + 0x008A4B3C, // TrackElemType::Down60 + 0x008A4B4C, // TrackElemType::FlatToDown25 + 0x008A4B5C, // TrackElemType::Down25ToDown60 + 0x008A4B6C, // TrackElemType::Down60ToDown25 + 0x008A4B7C, // TrackElemType::Down25ToFlat + 0x008A4B8C, // TrackElemType::LeftQuarterTurn5Tiles + 0x008A4B9C, // TrackElemType::RightQuarterTurn5Tiles + 0x008A4BAC, // TrackElemType::FlatToLeftBank + 0x008A4BBC, // TrackElemType::FlatToRightBank + 0x008A4BCC, // TrackElemType::LeftBankToFlat + 0x008A4BDC, // TrackElemType::RightBankToFlat + 0x008A4BEC, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008A4BFC, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008A4C0C, // TrackElemType::LeftBankToUp25 + 0x008A4C1C, // TrackElemType::RightBankToUp25 + 0x008A4C2C, // TrackElemType::Up25ToLeftBank + 0x008A4C3C, // TrackElemType::Up25ToRightBank + 0x008A4C4C, // TrackElemType::LeftBankToDown25 + 0x008A4C5C, // TrackElemType::RightBankToDown25 + 0x008A4C6C, // TrackElemType::Down25ToLeftBank + 0x008A4C7C, // TrackElemType::Down25ToRightBank + 0x008A4C8C, // TrackElemType::LeftBank + 0x008A4C9C, // TrackElemType::RightBank + 0x008A4CAC, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008A4CBC, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008A4CCC, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008A4CDC, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008A4CEC, // TrackElemType::SBendLeft + 0x008A4CFC, // TrackElemType::SBendRight 0, 0, - 0x008A4D3C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A4D4C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A4D5C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A4D6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A4D7C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A4D8C, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A4D9C, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A4DAC, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A4D3C, // TrackElemType::LeftQuarterTurn3Tiles + 0x008A4D4C, // TrackElemType::RightQuarterTurn3Tiles + 0x008A4D5C, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008A4D6C, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008A4D7C, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008A4D8C, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008A4D9C, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008A4DAC, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, 0, @@ -18569,19 +18569,19 @@ static constexpr const uint32_t _OldMiniRollerCoasterTrackPaintFunctions[256] = 0, 0, 0, - 0x008A4DBC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A4DCC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A4DDC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A4DEC, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A4DFC, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A4E0C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A4E1C, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A4E2C, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A4E5C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A4E3C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A4E4C, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A4E6C, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A4E7C, // TRACK_ELEM_BRAKES + 0x008A4DBC, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008A4DCC, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008A4DDC, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008A4DEC, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008A4DFC, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008A4E0C, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008A4E1C, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008A4E2C, // TrackElemType::RightHalfBankedHelixDownLarge + 0x008A4E5C, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x008A4E3C, // TrackElemType::RightQuarterTurn1TileUp60 + 0x008A4E4C, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x008A4E6C, // TrackElemType::RightQuarterTurn1TileDown60 + 0x008A4E7C, // TrackElemType::Brakes 0, 0, 0, @@ -18592,13 +18592,13 @@ static constexpr const uint32_t _OldMiniRollerCoasterTrackPaintFunctions[256] = 0, 0, 0, - 0x008A50CC, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008A50DC, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0x008A50CC, // TrackElemType::Up25LeftBanked + 0x008A50DC, // TrackElemType::Up25RightBanked 0, 0, - 0x008A4E8C, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008A50EC, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008A50FC, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0x008A4E8C, // TrackElemType::OnRidePhoto + 0x008A50EC, // TrackElemType::Down25LeftBanked + 0x008A50FC, // TrackElemType::Down25RightBanked 0, 0, 0, @@ -18615,45 +18615,45 @@ static constexpr const uint32_t _OldMiniRollerCoasterTrackPaintFunctions[256] = 0, 0, 0, - 0x008A4EAC, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A4EBC, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A4ECC, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A4EDC, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A4EEC, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A4EFC, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A4F0C, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A4F1C, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A4E9C, // TRACK_ELEM_DIAG_FLAT - 0x008A4F4C, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A4FAC, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A4F2C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A4F8C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A4F9C, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A4F3C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A4F7C, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A4FDC, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A4F5C, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A4FBC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A4FCC, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A4F6C, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008A4EAC, // TrackElemType::LeftEighthToDiag + 0x008A4EBC, // TrackElemType::RightEighthToDiag + 0x008A4ECC, // TrackElemType::LeftEighthToOrthogonal + 0x008A4EDC, // TrackElemType::RightEighthToOrthogonal + 0x008A4EEC, // TrackElemType::LeftEighthBankToDiag + 0x008A4EFC, // TrackElemType::RightEighthBankToDiag + 0x008A4F0C, // TrackElemType::LeftEighthBankToOrthogonal + 0x008A4F1C, // TrackElemType::RightEighthBankToOrthogonal + 0x008A4E9C, // TrackElemType::DiagFlat + 0x008A4F4C, // TrackElemType::DiagUp25 + 0x008A4FAC, // TrackElemType::DiagUp60 + 0x008A4F2C, // TrackElemType::DiagFlatToUp25 + 0x008A4F8C, // TrackElemType::DiagUp25ToUp60 + 0x008A4F9C, // TrackElemType::DiagUp60ToUp25 + 0x008A4F3C, // TrackElemType::DiagUp25ToFlat + 0x008A4F7C, // TrackElemType::DiagDown25 + 0x008A4FDC, // TrackElemType::DiagDown60 + 0x008A4F5C, // TrackElemType::DiagFlatToDown25 + 0x008A4FBC, // TrackElemType::DiagDown25ToDown60 + 0x008A4FCC, // TrackElemType::DiagDown60ToDown25 + 0x008A4F6C, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008A500C, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A501C, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A502C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A503C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A506C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A507C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A504C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A505C, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A508C, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A509C, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A50AC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A50BC, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A4FEC, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A4FFC, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008A500C, // TrackElemType::DiagFlatToLeftBank + 0x008A501C, // TrackElemType::DiagFlatToRightBank + 0x008A502C, // TrackElemType::DiagLeftBankToFlat + 0x008A503C, // TrackElemType::DiagRightBankToFlat + 0x008A506C, // TrackElemType::DiagLeftBankToUp25 + 0x008A507C, // TrackElemType::DiagRightBankToUp25 + 0x008A504C, // TrackElemType::DiagUp25ToLeftBank + 0x008A505C, // TrackElemType::DiagUp25ToRightBank + 0x008A508C, // TrackElemType::DiagLeftBankToDown25 + 0x008A509C, // TrackElemType::DiagRightBankToDown25 + 0x008A50AC, // TrackElemType::DiagDown25ToLeftBank + 0x008A50BC, // TrackElemType::DiagDown25ToRightBank + 0x008A4FEC, // TrackElemType::DiagLeftBank + 0x008A4FFC, // TrackElemType::DiagRightBank 0, 0, 0, @@ -18698,39 +18698,39 @@ static constexpr const uint32_t _OldMiniRollerCoasterTrackPaintFunctions[256] = 0, 0, 0, - 0x008A530C, // TRACK_ELEM_BLOCK_BRAKES - 0x008A510C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A511C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A512C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A513C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A514C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A515C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A516C, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A517C, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A518C, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008A519C, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008A51AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A51BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A51CC, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A51DC, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A51EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A51FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A520C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A521C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A524C, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008A525C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008A526C, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A527C, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A522C, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008A523C, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008A528C, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A529C, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A52AC, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008A52BC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008A52CC, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A52DC, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A52EC, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A52FC, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT + 0x008A530C, // TrackElemType::BlockBrakes + 0x008A510C, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + 0x008A511C, // TrackElemType::RightBankedQuarterTurn3TileUp25 + 0x008A512C, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + 0x008A513C, // TrackElemType::RightBankedQuarterTurn3TileDown25 + 0x008A514C, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + 0x008A515C, // TrackElemType::RightBankedQuarterTurn5TileUp25 + 0x008A516C, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + 0x008A517C, // TrackElemType::RightBankedQuarterTurn5TileDown25 + 0x008A518C, // TrackElemType::Up25ToLeftBankedUp25 + 0x008A519C, // TrackElemType::Up25ToRightBankedUp25 + 0x008A51AC, // TrackElemType::LeftBankedUp25ToUp25 + 0x008A51BC, // TrackElemType::RightBankedUp25ToUp25 + 0x008A51CC, // TrackElemType::Down25ToLeftBankedDown25 + 0x008A51DC, // TrackElemType::Down25ToRightBankedDown25 + 0x008A51EC, // TrackElemType::LeftBankedDown25ToDown25 + 0x008A51FC, // TrackElemType::RightBankedDown25ToDown25 + 0x008A520C, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + 0x008A521C, // TrackElemType::RightBankedFlatToRightBankedUp25 + 0x008A524C, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + 0x008A525C, // TrackElemType::RightBankedUp25ToRightBankedFlat + 0x008A526C, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + 0x008A527C, // TrackElemType::RightBankedFlatToRightBankedDown25 + 0x008A522C, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + 0x008A523C, // TrackElemType::RightBankedDown25ToRightBankedFlat + 0x008A528C, // TrackElemType::FlatToLeftBankedUp25 + 0x008A529C, // TrackElemType::FlatToRightBankedUp25 + 0x008A52AC, // TrackElemType::LeftBankedUp25ToFlat + 0x008A52BC, // TrackElemType::RightBankedUp25ToFlat + 0x008A52CC, // TrackElemType::FlatToLeftBankedDown25 + 0x008A52DC, // TrackElemType::FlatToRightBankedDown25 + 0x008A52EC, // TrackElemType::LeftBankedDown25ToFlat + 0x008A52FC, // TrackElemType::RightBankedDown25ToFlat 0, 0, 0, @@ -18742,52 +18742,52 @@ static constexpr const uint32_t _OldMiniRollerCoasterTrackPaintFunctions[256] = /** rct2: 0x008B0610 */ static constexpr const uint32_t _OldMineRideTrackPaintFunctions[256] = { - 0x008B08D0, // TRACK_ELEM_FLAT - 0x008B0A80, // TRACK_ELEM_END_STATION - 0x008B0A90, // TRACK_ELEM_BEGIN_STATION - 0x008B0AA0, // TRACK_ELEM_MIDDLE_STATION - 0x008B08E0, // TRACK_ELEM_25_DEG_UP + 0x008B08D0, // TrackElemType::Flat + 0x008B0A80, // TrackElemType::EndStation + 0x008B0A90, // TrackElemType::BeginStation + 0x008B0AA0, // TrackElemType::MiddleStation + 0x008B08E0, // TrackElemType::Up25 0, - 0x008B08F0, // TRACK_ELEM_FLAT_TO_25_DEG_UP + 0x008B08F0, // TrackElemType::FlatToUp25 0, 0, - 0x008B0900, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008B0910, // TRACK_ELEM_25_DEG_DOWN + 0x008B0900, // TrackElemType::Up25ToFlat + 0x008B0910, // TrackElemType::Down25 0, - 0x008B0920, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN + 0x008B0920, // TrackElemType::FlatToDown25 0, 0, - 0x008B0930, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008B0940, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008B0950, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008B0960, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008B0970, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008B0980, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008B0990, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008B09A0, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008B09B0, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008B09C0, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008B09D0, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008B09E0, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008B09F0, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008B0A00, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008B0A10, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008B0A20, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008B0A30, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008B0A40, // TRACK_ELEM_LEFT_BANK - 0x008B0A50, // TRACK_ELEM_RIGHT_BANK + 0x008B0930, // TrackElemType::Down25ToFlat + 0x008B0940, // TrackElemType::LeftQuarterTurn5Tiles + 0x008B0950, // TrackElemType::RightQuarterTurn5Tiles + 0x008B0960, // TrackElemType::FlatToLeftBank + 0x008B0970, // TrackElemType::FlatToRightBank + 0x008B0980, // TrackElemType::LeftBankToFlat + 0x008B0990, // TrackElemType::RightBankToFlat + 0x008B09A0, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008B09B0, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008B09C0, // TrackElemType::LeftBankToUp25 + 0x008B09D0, // TrackElemType::RightBankToUp25 + 0x008B09E0, // TrackElemType::Up25ToLeftBank + 0x008B09F0, // TrackElemType::Up25ToRightBank + 0x008B0A00, // TrackElemType::LeftBankToDown25 + 0x008B0A10, // TrackElemType::RightBankToDown25 + 0x008B0A20, // TrackElemType::Down25ToLeftBank + 0x008B0A30, // TrackElemType::Down25ToRightBank + 0x008B0A40, // TrackElemType::LeftBank + 0x008B0A50, // TrackElemType::RightBank 0, 0, 0, 0, - 0x008B0A60, // TRACK_ELEM_S_BEND_LEFT - 0x008B0A70, // TRACK_ELEM_S_BEND_RIGHT + 0x008B0A60, // TrackElemType::SBendLeft + 0x008B0A70, // TrackElemType::SBendRight 0, 0, - 0x008B0AB0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008B0AC0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008B0AD0, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008B0AE0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK + 0x008B0AB0, // TrackElemType::LeftQuarterTurn3Tiles + 0x008B0AC0, // TrackElemType::RightQuarterTurn3Tiles + 0x008B0AD0, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008B0AE0, // TrackElemType::RightBankedQuarterTurn3Tiles 0, 0, 0, @@ -18829,14 +18829,14 @@ static constexpr const uint32_t _OldMineRideTrackPaintFunctions[256] = { 0, 0, 0, - 0x008B0AF0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008B0B00, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008B0B10, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008B0B20, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008B0B30, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008B0B40, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008B0B50, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008B0B60, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE + 0x008B0AF0, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008B0B00, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008B0B10, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008B0B20, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008B0B30, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008B0B40, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008B0B50, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008B0B60, // TrackElemType::RightHalfBankedHelixDownLarge 0, 0, 0, @@ -18856,7 +18856,7 @@ static constexpr const uint32_t _OldMineRideTrackPaintFunctions[256] = { 0, 0, 0, - 0x008B0B70, // TRACK_ELEM_ON_RIDE_PHOTO + 0x008B0B70, // TrackElemType::OnRidePhoto 0, 0, 0, @@ -18875,45 +18875,45 @@ static constexpr const uint32_t _OldMineRideTrackPaintFunctions[256] = { 0, 0, 0, - 0x008B0B90, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008B0BA0, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008B0BB0, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008B0BC0, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008B0BD0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008B0BE0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008B0BF0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008B0C00, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008B0B80, // TRACK_ELEM_DIAG_FLAT - 0x008B0C30, // TRACK_ELEM_DIAG_25_DEG_UP + 0x008B0B90, // TrackElemType::LeftEighthToDiag + 0x008B0BA0, // TrackElemType::RightEighthToDiag + 0x008B0BB0, // TrackElemType::LeftEighthToOrthogonal + 0x008B0BC0, // TrackElemType::RightEighthToOrthogonal + 0x008B0BD0, // TrackElemType::LeftEighthBankToDiag + 0x008B0BE0, // TrackElemType::RightEighthBankToDiag + 0x008B0BF0, // TrackElemType::LeftEighthBankToOrthogonal + 0x008B0C00, // TrackElemType::RightEighthBankToOrthogonal + 0x008B0B80, // TrackElemType::DiagFlat + 0x008B0C30, // TrackElemType::DiagUp25 0, - 0x008B0C10, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP + 0x008B0C10, // TrackElemType::DiagFlatToUp25 0, 0, - 0x008B0C20, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008B0C60, // TRACK_ELEM_DIAG_25_DEG_DOWN + 0x008B0C20, // TrackElemType::DiagUp25ToFlat + 0x008B0C60, // TrackElemType::DiagDown25 0, - 0x008B0C40, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN + 0x008B0C40, // TrackElemType::DiagFlatToDown25 0, 0, - 0x008B0C50, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008B0C50, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008B0C90, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008B0CA0, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008B0CB0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008B0CC0, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008B0CF0, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008B0D00, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008B0CD0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008B0CE0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008B0D10, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008B0D20, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008B0D30, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008B0D40, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008B0C70, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008B0C80, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008B0C90, // TrackElemType::DiagFlatToLeftBank + 0x008B0CA0, // TrackElemType::DiagFlatToRightBank + 0x008B0CB0, // TrackElemType::DiagLeftBankToFlat + 0x008B0CC0, // TrackElemType::DiagRightBankToFlat + 0x008B0CF0, // TrackElemType::DiagLeftBankToUp25 + 0x008B0D00, // TrackElemType::DiagRightBankToUp25 + 0x008B0CD0, // TrackElemType::DiagUp25ToLeftBank + 0x008B0CE0, // TrackElemType::DiagUp25ToRightBank + 0x008B0D10, // TrackElemType::DiagLeftBankToDown25 + 0x008B0D20, // TrackElemType::DiagRightBankToDown25 + 0x008B0D30, // TrackElemType::DiagDown25ToLeftBank + 0x008B0D40, // TrackElemType::DiagDown25ToRightBank + 0x008B0C70, // TrackElemType::DiagLeftBank + 0x008B0C80, // TrackElemType::DiagRightBank 0, 0, 0, @@ -19002,68 +19002,68 @@ static constexpr const uint32_t _OldMineRideTrackPaintFunctions[256] = { /** rct2: 0x008A5F6C */ static constexpr const uint32_t _OldLimLaunchedRollerCoasterTrackPaintFunctions[256] = { - 0x008A6370, // TRACK_ELEM_FLAT - 0x008A6D50, // TRACK_ELEM_END_STATION - 0x008A6D60, // TRACK_ELEM_BEGIN_STATION - 0x008A6D70, // TRACK_ELEM_MIDDLE_STATION - 0x008A6380, // TRACK_ELEM_25_DEG_UP - 0x008A6390, // TRACK_ELEM_60_DEG_UP - 0x008A63A0, // TRACK_ELEM_FLAT_TO_25_DEG_UP - 0x008A63B0, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP - 0x008A63C0, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP - 0x008A63D0, // TRACK_ELEM_25_DEG_UP_TO_FLAT - 0x008A63E0, // TRACK_ELEM_25_DEG_DOWN - 0x008A63F0, // TRACK_ELEM_60_DEG_DOWN - 0x008A6400, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN - 0x008A6410, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A6420, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6430, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT - 0x008A6440, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES - 0x008A6450, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES - 0x008A6460, // TRACK_ELEM_FLAT_TO_LEFT_BANK - 0x008A6470, // TRACK_ELEM_FLAT_TO_RIGHT_BANK - 0x008A6480, // TRACK_ELEM_LEFT_BANK_TO_FLAT - 0x008A6490, // TRACK_ELEM_RIGHT_BANK_TO_FLAT - 0x008A64A0, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES - 0x008A64B0, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES - 0x008A64C0, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP - 0x008A64D0, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP - 0x008A64E0, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK - 0x008A64F0, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK - 0x008A6500, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN - 0x008A6510, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A6520, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK - 0x008A6530, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A6540, // TRACK_ELEM_LEFT_BANK - 0x008A6550, // TRACK_ELEM_RIGHT_BANK - 0x008A6560, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A6570, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP - 0x008A6580, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A6590, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN - 0x008A65A0, // TRACK_ELEM_S_BEND_LEFT - 0x008A65B0, // TRACK_ELEM_S_BEND_RIGHT - 0x008A65E0, // TRACK_ELEM_LEFT_VERTICAL_LOOP - 0x008A65F0, // TRACK_ELEM_RIGHT_VERTICAL_LOOP - 0x008A6630, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES - 0x008A6640, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES - 0x008A6650, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK - 0x008A6660, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK - 0x008A6670, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A6680, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP - 0x008A6690, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN - 0x008A66A0, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN + 0x008A6370, // TrackElemType::Flat + 0x008A6D50, // TrackElemType::EndStation + 0x008A6D60, // TrackElemType::BeginStation + 0x008A6D70, // TrackElemType::MiddleStation + 0x008A6380, // TrackElemType::Up25 + 0x008A6390, // TrackElemType::Up60 + 0x008A63A0, // TrackElemType::FlatToUp25 + 0x008A63B0, // TrackElemType::Up25ToUp60 + 0x008A63C0, // TrackElemType::Up60ToUp25 + 0x008A63D0, // TrackElemType::Up25ToFlat + 0x008A63E0, // TrackElemType::Down25 + 0x008A63F0, // TrackElemType::Down60 + 0x008A6400, // TrackElemType::FlatToDown25 + 0x008A6410, // TrackElemType::Down25ToDown60 + 0x008A6420, // TrackElemType::Down60ToDown25 + 0x008A6430, // TrackElemType::Down25ToFlat + 0x008A6440, // TrackElemType::LeftQuarterTurn5Tiles + 0x008A6450, // TrackElemType::RightQuarterTurn5Tiles + 0x008A6460, // TrackElemType::FlatToLeftBank + 0x008A6470, // TrackElemType::FlatToRightBank + 0x008A6480, // TrackElemType::LeftBankToFlat + 0x008A6490, // TrackElemType::RightBankToFlat + 0x008A64A0, // TrackElemType::BankedLeftQuarterTurn5Tiles + 0x008A64B0, // TrackElemType::BankedRightQuarterTurn5Tiles + 0x008A64C0, // TrackElemType::LeftBankToUp25 + 0x008A64D0, // TrackElemType::RightBankToUp25 + 0x008A64E0, // TrackElemType::Up25ToLeftBank + 0x008A64F0, // TrackElemType::Up25ToRightBank + 0x008A6500, // TrackElemType::LeftBankToDown25 + 0x008A6510, // TrackElemType::RightBankToDown25 + 0x008A6520, // TrackElemType::Down25ToLeftBank + 0x008A6530, // TrackElemType::Down25ToRightBank + 0x008A6540, // TrackElemType::LeftBank + 0x008A6550, // TrackElemType::RightBank + 0x008A6560, // TrackElemType::LeftQuarterTurn5TilesUp25 + 0x008A6570, // TrackElemType::RightQuarterTurn5TilesUp25 + 0x008A6580, // TrackElemType::LeftQuarterTurn5TilesDown25 + 0x008A6590, // TrackElemType::RightQuarterTurn5TilesDown25 + 0x008A65A0, // TrackElemType::SBendLeft + 0x008A65B0, // TrackElemType::SBendRight + 0x008A65E0, // TrackElemType::LeftVerticalLoop + 0x008A65F0, // TrackElemType::RightVerticalLoop + 0x008A6630, // TrackElemType::LeftQuarterTurn3Tiles + 0x008A6640, // TrackElemType::RightQuarterTurn3Tiles + 0x008A6650, // TrackElemType::LeftBankedQuarterTurn3Tiles + 0x008A6660, // TrackElemType::RightBankedQuarterTurn3Tiles + 0x008A6670, // TrackElemType::LeftQuarterTurn3TilesUp25 + 0x008A6680, // TrackElemType::RightQuarterTurn3TilesUp25 + 0x008A6690, // TrackElemType::LeftQuarterTurn3TilesDown25 + 0x008A66A0, // TrackElemType::RightQuarterTurn3TilesDown25 0, 0, - 0x008A6D10, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP - 0x008A6D20, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP - 0x008A6D30, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN - 0x008A6D40, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN + 0x008A6D10, // TrackElemType::LeftTwistDownToUp + 0x008A6D20, // TrackElemType::RightTwistDownToUp + 0x008A6D30, // TrackElemType::LeftTwistUpToDown + 0x008A6D40, // TrackElemType::RightTwistUpToDown 0, 0, - 0x008A6CD0, // TRACK_ELEM_LEFT_CORKSCREW_UP - 0x008A6CE0, // TRACK_ELEM_RIGHT_CORKSCREW_UP - 0x008A6CF0, // TRACK_ELEM_LEFT_CORKSCREW_DOWN - 0x008A6D00, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN + 0x008A6CD0, // TrackElemType::LeftCorkscrewUp + 0x008A6CE0, // TrackElemType::RightCorkscrewUp + 0x008A6CF0, // TrackElemType::LeftCorkscrewDown + 0x008A6D00, // TrackElemType::RightCorkscrewDown 0, 0, 0, @@ -19089,19 +19089,19 @@ static constexpr const uint32_t _OldLimLaunchedRollerCoasterTrackPaintFunctions[ 0, 0, 0, - 0x008A66B0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL - 0x008A66C0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL - 0x008A66D0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A66E0, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL - 0x008A66F0, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE - 0x008A6700, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE - 0x008A6710, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A6720, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE - 0x008A6750, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A6730, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP - 0x008A6740, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A6760, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN - 0x008A6D80, // TRACK_ELEM_BRAKES + 0x008A66B0, // TrackElemType::LeftHalfBankedHelixUpSmall + 0x008A66C0, // TrackElemType::RightHalfBankedHelixUpSmall + 0x008A66D0, // TrackElemType::LeftHalfBankedHelixDownSmall + 0x008A66E0, // TrackElemType::RightHalfBankedHelixDownSmall + 0x008A66F0, // TrackElemType::LeftHalfBankedHelixUpLarge + 0x008A6700, // TrackElemType::RightHalfBankedHelixUpLarge + 0x008A6710, // TrackElemType::LeftHalfBankedHelixDownLarge + 0x008A6720, // TrackElemType::RightHalfBankedHelixDownLarge + 0x008A6750, // TrackElemType::LeftQuarterTurn1TileUp60 + 0x008A6730, // TrackElemType::RightQuarterTurn1TileUp60 + 0x008A6740, // TrackElemType::LeftQuarterTurn1TileDown60 + 0x008A6760, // TrackElemType::RightQuarterTurn1TileDown60 + 0x008A6D80, // TrackElemType::Brakes 0, 0, 0, @@ -19112,13 +19112,13 @@ static constexpr const uint32_t _OldLimLaunchedRollerCoasterTrackPaintFunctions[ 0, 0, 0, - 0x008A6A40, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED - 0x008A6A50, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED + 0x008A6A40, // TrackElemType::Up25LeftBanked + 0x008A6A50, // TrackElemType::Up25RightBanked 0, 0, - 0x008A6780, // TRACK_ELEM_ON_RIDE_PHOTO - 0x008A6A60, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED - 0x008A6A70, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED + 0x008A6780, // TrackElemType::OnRidePhoto + 0x008A6A60, // TrackElemType::Down25LeftBanked + 0x008A6A70, // TrackElemType::Down25RightBanked 0, 0, 0, @@ -19128,52 +19128,52 @@ static constexpr const uint32_t _OldLimLaunchedRollerCoasterTrackPaintFunctions[ 0, 0, 0, - 0x008A6C10, // TRACK_ELEM_90_DEG_UP - 0x008A6C20, // TRACK_ELEM_90_DEG_DOWN - 0x008A6C30, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP - 0x008A6C40, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN - 0x008A6C50, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP - 0x008A6C60, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN + 0x008A6C10, // TrackElemType::Up90 + 0x008A6C20, // TrackElemType::Down90 + 0x008A6C30, // TrackElemType::Up60ToUp90 + 0x008A6C40, // TrackElemType::Down90ToDown60 + 0x008A6C50, // TrackElemType::Up90ToUp60 + 0x008A6C60, // TrackElemType::Down60ToDown90 0, - 0x008A6860, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG - 0x008A6870, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG - 0x008A6880, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL - 0x008A6890, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL - 0x008A68A0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG - 0x008A68B0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG - 0x008A68C0, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A68D0, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL - 0x008A6790, // TRACK_ELEM_DIAG_FLAT - 0x008A67C0, // TRACK_ELEM_DIAG_25_DEG_UP - 0x008A67F0, // TRACK_ELEM_DIAG_60_DEG_UP - 0x008A67A0, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP - 0x008A67D0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP - 0x008A67E0, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP - 0x008A67B0, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT - 0x008A6820, // TRACK_ELEM_DIAG_25_DEG_DOWN - 0x008A6850, // TRACK_ELEM_DIAG_60_DEG_DOWN - 0x008A6800, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN - 0x008A6830, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN - 0x008A6840, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6810, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT + 0x008A6860, // TrackElemType::LeftEighthToDiag + 0x008A6870, // TrackElemType::RightEighthToDiag + 0x008A6880, // TrackElemType::LeftEighthToOrthogonal + 0x008A6890, // TrackElemType::RightEighthToOrthogonal + 0x008A68A0, // TrackElemType::LeftEighthBankToDiag + 0x008A68B0, // TrackElemType::RightEighthBankToDiag + 0x008A68C0, // TrackElemType::LeftEighthBankToOrthogonal + 0x008A68D0, // TrackElemType::RightEighthBankToOrthogonal + 0x008A6790, // TrackElemType::DiagFlat + 0x008A67C0, // TrackElemType::DiagUp25 + 0x008A67F0, // TrackElemType::DiagUp60 + 0x008A67A0, // TrackElemType::DiagFlatToUp25 + 0x008A67D0, // TrackElemType::DiagUp25ToUp60 + 0x008A67E0, // TrackElemType::DiagUp60ToUp25 + 0x008A67B0, // TrackElemType::DiagUp25ToFlat + 0x008A6820, // TrackElemType::DiagDown25 + 0x008A6850, // TrackElemType::DiagDown60 + 0x008A6800, // TrackElemType::DiagFlatToDown25 + 0x008A6830, // TrackElemType::DiagDown25ToDown60 + 0x008A6840, // TrackElemType::DiagDown60ToDown25 + 0x008A6810, // TrackElemType::DiagDown25ToFlat 0, 0, 0, 0, - 0x008A6900, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK - 0x008A6910, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK - 0x008A6920, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT - 0x008A6930, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT - 0x008A6960, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP - 0x008A6970, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP - 0x008A6940, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK - 0x008A6950, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK - 0x008A6980, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN - 0x008A6990, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN - 0x008A69A0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK - 0x008A69B0, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK - 0x008A68E0, // TRACK_ELEM_DIAG_LEFT_BANK - 0x008A68F0, // TRACK_ELEM_DIAG_RIGHT_BANK + 0x008A6900, // TrackElemType::DiagFlatToLeftBank + 0x008A6910, // TrackElemType::DiagFlatToRightBank + 0x008A6920, // TrackElemType::DiagLeftBankToFlat + 0x008A6930, // TrackElemType::DiagRightBankToFlat + 0x008A6960, // TrackElemType::DiagLeftBankToUp25 + 0x008A6970, // TrackElemType::DiagRightBankToUp25 + 0x008A6940, // TrackElemType::DiagUp25ToLeftBank + 0x008A6950, // TrackElemType::DiagUp25ToRightBank + 0x008A6980, // TrackElemType::DiagLeftBankToDown25 + 0x008A6990, // TrackElemType::DiagRightBankToDown25 + 0x008A69A0, // TrackElemType::DiagDown25ToLeftBank + 0x008A69B0, // TrackElemType::DiagDown25ToRightBank + 0x008A68E0, // TrackElemType::DiagLeftBank + 0x008A68F0, // TrackElemType::DiagRightBank 0, 0, 0, @@ -19209,8 +19209,8 @@ static constexpr const uint32_t _OldLimLaunchedRollerCoasterTrackPaintFunctions[ 0, 0, 0, - 0x008A6C70, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - 0x008A6C80, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + 0x008A6C70, // TrackElemType::Up90ToInvertedFlatQuarterLoop + 0x008A6C80, // TrackElemType::InvertedFlatToDown90QuarterLoop 0, 0, 0, @@ -19218,43 +19218,43 @@ static constexpr const uint32_t _OldLimLaunchedRollerCoasterTrackPaintFunctions[ 0, 0, 0, - 0x008A6D90, // TRACK_ELEM_BLOCK_BRAKES - 0x008A6BC0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A6BD0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP - 0x008A6BE0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A6BF0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN - 0x008A6B80, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A6B90, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP - 0x008A6BA0, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A6BB0, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN - 0x008A6A80, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP - 0x008A6A90, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP - 0x008A6AA0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A6AB0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP - 0x008A6AC0, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6AD0, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6AE0, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6AF0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN - 0x008A6B00, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A6B10, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A6B40, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT - 0x008A6B50, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT - 0x008A6B60, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6B70, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6B20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT - 0x008A6B30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT - 0x008A69C0, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP - 0x008A69D0, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP - 0x008A69E0, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT - 0x008A69F0, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT - 0x008A6A00, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN - 0x008A6A10, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN - 0x008A6A20, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A6A30, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT - 0x008A6C90, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008A6CA0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP - 0x008A6CB0, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN - 0x008A6CC0, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN + 0x008A6D90, // TrackElemType::BlockBrakes + 0x008A6BC0, // TrackElemType::LeftBankedQuarterTurn3TileUp25 + 0x008A6BD0, // TrackElemType::RightBankedQuarterTurn3TileUp25 + 0x008A6BE0, // TrackElemType::LeftBankedQuarterTurn3TileDown25 + 0x008A6BF0, // TrackElemType::RightBankedQuarterTurn3TileDown25 + 0x008A6B80, // TrackElemType::LeftBankedQuarterTurn5TileUp25 + 0x008A6B90, // TrackElemType::RightBankedQuarterTurn5TileUp25 + 0x008A6BA0, // TrackElemType::LeftBankedQuarterTurn5TileDown25 + 0x008A6BB0, // TrackElemType::RightBankedQuarterTurn5TileDown25 + 0x008A6A80, // TrackElemType::Up25ToLeftBankedUp25 + 0x008A6A90, // TrackElemType::Up25ToRightBankedUp25 + 0x008A6AA0, // TrackElemType::LeftBankedUp25ToUp25 + 0x008A6AB0, // TrackElemType::RightBankedUp25ToUp25 + 0x008A6AC0, // TrackElemType::Down25ToLeftBankedDown25 + 0x008A6AD0, // TrackElemType::Down25ToRightBankedDown25 + 0x008A6AE0, // TrackElemType::LeftBankedDown25ToDown25 + 0x008A6AF0, // TrackElemType::RightBankedDown25ToDown25 + 0x008A6B00, // TrackElemType::LeftBankedFlatToLeftBankedUp25 + 0x008A6B10, // TrackElemType::RightBankedFlatToRightBankedUp25 + 0x008A6B40, // TrackElemType::LeftBankedUp25ToLeftBankedFlat + 0x008A6B50, // TrackElemType::RightBankedUp25ToRightBankedFlat + 0x008A6B60, // TrackElemType::LeftBankedFlatToLeftBankedDown25 + 0x008A6B70, // TrackElemType::RightBankedFlatToRightBankedDown25 + 0x008A6B20, // TrackElemType::LeftBankedDown25ToLeftBankedFlat + 0x008A6B30, // TrackElemType::RightBankedDown25ToRightBankedFlat + 0x008A69C0, // TrackElemType::FlatToLeftBankedUp25 + 0x008A69D0, // TrackElemType::FlatToRightBankedUp25 + 0x008A69E0, // TrackElemType::LeftBankedUp25ToFlat + 0x008A69F0, // TrackElemType::RightBankedUp25ToFlat + 0x008A6A00, // TrackElemType::FlatToLeftBankedDown25 + 0x008A6A10, // TrackElemType::FlatToRightBankedDown25 + 0x008A6A20, // TrackElemType::LeftBankedDown25ToFlat + 0x008A6A30, // TrackElemType::RightBankedDown25ToFlat + 0x008A6C90, // TrackElemType::LeftQuarterTurn1TileUp90 + 0x008A6CA0, // TrackElemType::RightQuarterTurn1TileUp90 + 0x008A6CB0, // TrackElemType::LeftQuarterTurn1TileDown90 + 0x008A6CC0, // TrackElemType::RightQuarterTurn1TileDown90 0, 0, 0, diff --git a/test/testpaint/generate.cpp b/test/testpaint/generate.cpp index 1ef2cf8ba9..583756df77 100644 --- a/test/testpaint/generate.cpp +++ b/test/testpaint/generate.cpp @@ -117,12 +117,12 @@ private: WriteLine(); } - if (trackType == TRACK_ELEM_END_STATION) + if (trackType == TrackElemType::EndStation) { const uint32_t* paintFunctionList = RideTypeTrackPaintFunctionsOld[_rideType]; WriteLine( - 0, "/** rct2: 0x%08X, 0x%08X, 0x%08X */", paintFunctionList[TRACK_ELEM_END_STATION], - paintFunctionList[TRACK_ELEM_BEGIN_STATION], paintFunctionList[TRACK_ELEM_MIDDLE_STATION]); + 0, "/** rct2: 0x%08X, 0x%08X, 0x%08X */", paintFunctionList[TrackElemType::EndStation], + paintFunctionList[TrackElemType::BeginStation], paintFunctionList[TrackElemType::MiddleStation]); WriteLine( 0, "static void " + _rideName @@ -188,98 +188,90 @@ private: bool GenerateMirrorCall(int tabs, int trackType) { uint8_t mirrorTable[][3] = { - { 0, TRACK_ELEM_25_DEG_DOWN, TRACK_ELEM_25_DEG_UP }, - { 0, TRACK_ELEM_60_DEG_DOWN, TRACK_ELEM_60_DEG_UP }, - { 0, TRACK_ELEM_FLAT_TO_25_DEG_DOWN, TRACK_ELEM_25_DEG_UP_TO_FLAT }, - { 0, TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN, TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP }, - { 0, TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN, TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP }, - { 0, TRACK_ELEM_25_DEG_DOWN_TO_FLAT, TRACK_ELEM_FLAT_TO_25_DEG_UP }, - { 0, TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN, TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK }, - { 0, TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN, TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK }, - { 0, TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK, TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP }, - { 0, TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK, TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP }, - { 0, TRACK_ELEM_RIGHT_BANK, TRACK_ELEM_LEFT_BANK }, - { 0, TRACK_ELEM_60_DEG_DOWN_TO_FLAT, TRACK_ELEM_FLAT_TO_60_DEG_UP }, - { 0, TRACK_ELEM_FLAT_TO_60_DEG_DOWN, TRACK_ELEM_60_DEG_UP_TO_FLAT }, - { 0, TRACK_ELEM_25_DEG_DOWN_COVERED, TRACK_ELEM_25_DEG_UP_COVERED }, - { 0, TRACK_ELEM_60_DEG_DOWN_COVERED, TRACK_ELEM_60_DEG_UP_COVERED }, - { 0, TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED, TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED }, - { 0, TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED, TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED }, - { 0, TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED, TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED }, - { 0, TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED, TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED }, - { 0, TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED, TRACK_ELEM_25_DEG_UP_RIGHT_BANKED }, - { 0, TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED, TRACK_ELEM_25_DEG_UP_LEFT_BANKED }, - { 0, TRACK_ELEM_90_DEG_DOWN, TRACK_ELEM_90_DEG_UP }, - { 0, TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN, TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP }, - // { 0, TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN, TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP }, - { 0, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP }, - { 0, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN, TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP }, - { 0, TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN, TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP }, - { 0, TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN, TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP }, - { 0, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT, - TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP }, - { 0, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT, - TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP }, - { 0, TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT }, - { 0, TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT }, - { 0, TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT, TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP }, - { 0, TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT, TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP }, - { 0, TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN, TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT }, - { 0, TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN, TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT }, + { 0, TrackElemType::Down25, TrackElemType::Up25 }, + { 0, TrackElemType::Down60, TrackElemType::Up60 }, + { 0, TrackElemType::FlatToDown25, TrackElemType::Up25ToFlat }, + { 0, TrackElemType::Down25ToDown60, TrackElemType::Up60ToUp25 }, + { 0, TrackElemType::Down60ToDown25, TrackElemType::Up25ToUp60 }, + { 0, TrackElemType::Down25ToFlat, TrackElemType::FlatToUp25 }, + { 0, TrackElemType::LeftBankToDown25, TrackElemType::Up25ToRightBank }, + { 0, TrackElemType::RightBankToDown25, TrackElemType::Up25ToLeftBank }, + { 0, TrackElemType::Down25ToLeftBank, TrackElemType::RightBankToUp25 }, + { 0, TrackElemType::Down25ToRightBank, TrackElemType::LeftBankToUp25 }, + { 0, TrackElemType::RightBank, TrackElemType::LeftBank }, + { 0, TrackElemType::Down60ToFlat, TrackElemType::FlatToUp60 }, + { 0, TrackElemType::FlatToDown60, TrackElemType::Up60ToFlat }, + { 0, TrackElemType::Down25Covered, TrackElemType::Up25Covered }, + { 0, TrackElemType::Down60Covered, TrackElemType::Up60Covered }, + { 0, TrackElemType::FlatToDown25Covered, TrackElemType::Up25ToFlatCovered }, + { 0, TrackElemType::Down25ToDown60Covered, TrackElemType::Up60ToUp25Covered }, + { 0, TrackElemType::Down60ToDown25Covered, TrackElemType::Up25ToUp60Covered }, + { 0, TrackElemType::Down25ToFlatCovered, TrackElemType::FlatToUp25Covered }, + { 0, TrackElemType::Down25LeftBanked, TrackElemType::Up25RightBanked }, + { 0, TrackElemType::Down25RightBanked, TrackElemType::Up25LeftBanked }, + { 0, TrackElemType::Down90, TrackElemType::Up90 }, + { 0, TrackElemType::Down90ToDown60, TrackElemType::Up60ToUp90 }, + // { 0, TrackElemType::Down60ToDown90, TrackElemType::Up90ToUp60 }, + { 0, TrackElemType::RightBankedDown25ToDown25, TrackElemType::Up25ToLeftBankedUp25 }, + { 0, TrackElemType::LeftBankedDown25ToDown25, TrackElemType::Up25ToRightBankedUp25 }, + { 0, TrackElemType::Down25ToRightBankedDown25, TrackElemType::LeftBankedUp25ToUp25 }, + { 0, TrackElemType::Down25ToLeftBankedDown25, TrackElemType::RightBankedUp25ToUp25 }, + { 0, TrackElemType::RightBankedDown25ToRightBankedFlat, TrackElemType::LeftBankedFlatToLeftBankedUp25 }, + { 0, TrackElemType::LeftBankedDown25ToLeftBankedFlat, TrackElemType::RightBankedFlatToRightBankedUp25 }, + { 0, TrackElemType::RightBankedFlatToRightBankedDown25, TrackElemType::LeftBankedUp25ToLeftBankedFlat }, + { 0, TrackElemType::LeftBankedFlatToLeftBankedDown25, TrackElemType::RightBankedUp25ToRightBankedFlat }, + { 0, TrackElemType::RightBankedDown25ToFlat, TrackElemType::FlatToLeftBankedUp25 }, + { 0, TrackElemType::LeftBankedDown25ToFlat, TrackElemType::FlatToRightBankedUp25 }, + { 0, TrackElemType::FlatToRightBankedDown25, TrackElemType::LeftBankedUp25ToFlat }, + { 0, TrackElemType::FlatToLeftBankedDown25, TrackElemType::RightBankedUp25ToFlat }, - { 1, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES }, - { 1, TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES, TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES }, - { 1, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP }, - { 1, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED }, - { 1, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP }, - { 2, TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN, TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP }, - { 2, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP }, + { 1, TrackElemType::RightQuarterTurn5Tiles, TrackElemType::LeftQuarterTurn5Tiles }, + { 1, TrackElemType::BankedRightQuarterTurn5Tiles, TrackElemType::BankedLeftQuarterTurn5Tiles }, + { 1, TrackElemType::RightQuarterTurn5TilesDown25, TrackElemType::LeftQuarterTurn5TilesUp25 }, + { 1, TrackElemType::RightQuarterTurn5TilesCovered, TrackElemType::LeftQuarterTurn5TilesCovered }, + { 1, TrackElemType::RightBankedQuarterTurn5TileDown25, TrackElemType::LeftBankedQuarterTurn5TileUp25 }, + { 2, TrackElemType::LeftQuarterTurn5TilesDown25, TrackElemType::RightQuarterTurn5TilesUp25 }, + { 2, TrackElemType::LeftBankedQuarterTurn5TileDown25, TrackElemType::RightBankedQuarterTurn5TileUp25 }, - { 3, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES }, - { 3, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK }, - { 3, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP }, - { 3, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED }, - { 3, TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, - TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP }, - { 4, TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN, TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP }, - { 4, TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN, - TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP }, + { 3, TrackElemType::RightQuarterTurn3Tiles, TrackElemType::LeftQuarterTurn3Tiles }, + { 3, TrackElemType::RightBankedQuarterTurn3Tiles, TrackElemType::LeftBankedQuarterTurn3Tiles }, + { 3, TrackElemType::RightQuarterTurn3TilesDown25, TrackElemType::LeftQuarterTurn3TilesUp25 }, + { 3, TrackElemType::RightQuarterTurn3TilesCovered, TrackElemType::LeftQuarterTurn3TilesCovered }, + { 3, TrackElemType::RightBankedQuarterTurn3TileDown25, TrackElemType::LeftBankedQuarterTurn3TileUp25 }, + { 4, TrackElemType::LeftQuarterTurn3TilesDown25, TrackElemType::RightQuarterTurn3TilesUp25 }, + { 4, TrackElemType::LeftBankedQuarterTurn3TileDown25, TrackElemType::RightBankedQuarterTurn3TileUp25 }, - { 5, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE }, - { 5, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP }, - { 5, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP }, - { 6, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP }, - { 6, TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN, TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP }, + { 5, TrackElemType::RightQuarterTurn1Tile, TrackElemType::LeftQuarterTurn1Tile }, + { 5, TrackElemType::RightQuarterTurn1TileDown60, TrackElemType::LeftQuarterTurn1TileUp60 }, + { 5, TrackElemType::RightQuarterTurn1TileDown90, TrackElemType::LeftQuarterTurn1TileUp90 }, + { 6, TrackElemType::LeftQuarterTurn1TileDown60, TrackElemType::RightQuarterTurn1TileUp60 }, + { 6, TrackElemType::LeftQuarterTurn1TileDown90, TrackElemType::RightQuarterTurn1TileUp90 }, - { 7, TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL, TRACK_ELEM_LEFT_EIGHTH_TO_DIAG }, - { 7, TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL, TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG }, - { 8, TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL, TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG }, - { 8, TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL, TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG }, + { 7, TrackElemType::RightEighthToOrthogonal, TrackElemType::LeftEighthToDiag }, + { 7, TrackElemType::RightEighthBankToOrthogonal, TrackElemType::LeftEighthBankToDiag }, + { 8, TrackElemType::LeftEighthToOrthogonal, TrackElemType::RightEighthToDiag }, + { 8, TrackElemType::LeftEighthBankToOrthogonal, TrackElemType::RightEighthBankToDiag }, - { 9, TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL, TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL }, - { 10, TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL, TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL }, - { 11, TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE, TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE }, - { 12, TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE, TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE }, + { 9, TrackElemType::RightHalfBankedHelixDownSmall, TrackElemType::LeftHalfBankedHelixUpSmall }, + { 10, TrackElemType::LeftHalfBankedHelixDownSmall, TrackElemType::RightHalfBankedHelixUpSmall }, + { 11, TrackElemType::RightHalfBankedHelixDownLarge, TrackElemType::LeftHalfBankedHelixUpLarge }, + { 12, TrackElemType::LeftHalfBankedHelixDownLarge, TrackElemType::RightHalfBankedHelixUpLarge }, - { 13, TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE, TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE }, - { 13, TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122, TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE }, + { 13, TrackElemType::Down60ToFlatLongBase, TrackElemType::FlatToUp60LongBase }, + { 13, TrackElemType::FlatToDown60LongBase, TrackElemType::Up60ToFlatLongBase }, - { 14, TRACK_ELEM_RIGHT_CORKSCREW_DOWN, TRACK_ELEM_LEFT_CORKSCREW_UP }, - { 15, TRACK_ELEM_LEFT_CORKSCREW_DOWN, TRACK_ELEM_RIGHT_CORKSCREW_UP }, + { 14, TrackElemType::RightCorkscrewDown, TrackElemType::LeftCorkscrewUp }, + { 15, TrackElemType::LeftCorkscrewDown, TrackElemType::RightCorkscrewUp }, - { 16, TRACK_ELEM_HALF_LOOP_DOWN, TRACK_ELEM_HALF_LOOP_UP }, + { 16, TrackElemType::HalfLoopDown, TrackElemType::HalfLoopUp }, - { 17, TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP }, + { 17, TrackElemType::InvertedFlatToDown90QuarterLoop, TrackElemType::Up90ToInvertedFlatQuarterLoop }, - { 18, TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP, TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN }, - { 18, TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP, TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN }, + { 18, TrackElemType::LeftBarrelRollDownToUp, TrackElemType::LeftBarrelRollUpToDown }, + { 18, TrackElemType::RightBarrelRollDownToUp, TrackElemType::RightBarrelRollUpToDown }, - { 19, TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN, TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP }, - { 19, TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN, TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP }, + { 19, TrackElemType::LeftLargeHalfLoopDown, TrackElemType::LeftLargeHalfLoopUp }, + { 19, TrackElemType::RightLargeHalfLoopDown, TrackElemType::RightLargeHalfLoopUp }, }; for (size_t i = 0; i < (sizeof(mirrorTable) / sizeof(mirrorTable[0])); i++) @@ -1102,11 +1094,11 @@ private: WriteLine(1, "switch (trackType) {"); for (int trackType = 0; trackType < 256; trackType++) { - if (trackType == TRACK_ELEM_END_STATION) + if (trackType == TrackElemType::EndStation) { - WriteLine(1, "case " + std::string(TrackElemNames[TRACK_ELEM_END_STATION]) + ":"); - WriteLine(1, "case " + std::string(TrackElemNames[TRACK_ELEM_BEGIN_STATION]) + ":"); - WriteLine(1, "case " + std::string(TrackElemNames[TRACK_ELEM_MIDDLE_STATION]) + ":"); + WriteLine(1, "case " + std::string(TrackElemNames[TrackElemType::EndStation]) + ":"); + WriteLine(1, "case " + std::string(TrackElemNames[TrackElemType::BeginStation]) + ":"); + WriteLine(1, "case " + std::string(TrackElemNames[TrackElemType::MiddleStation]) + ":"); WriteLine(2, "return %s_track_station;", _rideName.c_str()); continue; } @@ -1130,8 +1122,8 @@ private: bool IsTrackTypeSupported(int trackType) { - if (trackType == TRACK_ELEM_BEGIN_STATION || trackType == TRACK_ELEM_MIDDLE_STATION - || trackType == TRACK_ELEM_END_STATION) + if (trackType == TrackElemType::BeginStation || trackType == TrackElemType::MiddleStation + || trackType == TrackElemType::EndStation) { return false; }