From 5d3bf2be20a4da769342a1d879c87c8983a1e7b1 Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Sat, 18 Apr 2020 15:19:45 +0200 Subject: [PATCH] Move category to RTD; move RideTypeIsIndependent to a flag --- .../windows/EditorInventionsList.cpp | 8 +- .../windows/EditorObjectSelection.cpp | 2 +- src/openrct2-ui/windows/NewRide.cpp | 12 +- src/openrct2-ui/windows/TrackList.cpp | 2 +- src/openrct2/actions/TrackPlaceAction.hpp | 3 +- src/openrct2/management/Research.cpp | 2 +- src/openrct2/ride/Ride.cpp | 6 +- src/openrct2/ride/Ride.h | 4 +- src/openrct2/ride/RideData.cpp | 6 + src/openrct2/ride/RideData.h | 5 + src/openrct2/ride/RideGroupManager.cpp | 197 ------------------ src/openrct2/ride/RideGroupManager.h | 3 - src/openrct2/ride/TrackDesignRepository.cpp | 4 +- .../coaster/meta/AirPoweredVerticalCoaster.h | 1 + .../ride/coaster/meta/BobsleighCoaster.h | 1 + .../coaster/meta/CompactInvertedCoaster.h | 1 + .../coaster/meta/CorkscrewRollerCoaster.h | 1 + .../ride/coaster/meta/FlyingRollerCoaster.h | 2 + src/openrct2/ride/coaster/meta/GigaCoaster.h | 1 + .../coaster/meta/HeartlineTwisterCoaster.h | 1 + .../coaster/meta/InvertedHairpinCoaster.h | 1 + .../coaster/meta/InvertedImpulseCoaster.h | 1 + .../ride/coaster/meta/InvertedRollerCoaster.h | 1 + .../ride/coaster/meta/JuniorRollerCoaster.h | 1 + .../coaster/meta/LIMLaunchedRollerCoaster.h | 1 + .../ride/coaster/meta/LayDownRollerCoaster.h | 2 + .../ride/coaster/meta/LoopingRollerCoaster.h | 1 + src/openrct2/ride/coaster/meta/MineRide.h | 1 + .../ride/coaster/meta/MineTrainCoaster.h | 1 + .../ride/coaster/meta/MiniRollerCoaster.h | 1 + .../ride/coaster/meta/MiniSuspendedCoaster.h | 1 + .../meta/MultiDimensionRollerCoaster.h | 2 + .../coaster/meta/ReverseFreefallCoaster.h | 1 + .../ride/coaster/meta/ReverserRollerCoaster.h | 1 + .../coaster/meta/SideFrictionRollerCoaster.h | 1 + .../ride/coaster/meta/SpiralRollerCoaster.h | 1 + .../ride/coaster/meta/StandUpRollerCoaster.h | 1 + .../ride/coaster/meta/SteelWildMouse.h | 1 + src/openrct2/ride/coaster/meta/Steeplechase.h | 1 + .../coaster/meta/SuspendedSwingingCoaster.h | 1 + .../ride/coaster/meta/TwisterRollerCoaster.h | 1 + .../ride/coaster/meta/VerticalDropCoaster.h | 1 + src/openrct2/ride/coaster/meta/VirginiaReel.h | 1 + src/openrct2/ride/coaster/meta/WaterCoaster.h | 1 + .../ride/coaster/meta/WoodenRollerCoaster.h | 1 + .../ride/coaster/meta/WoodenWildMouse.h | 1 + src/openrct2/ride/gentle/meta/CarRide.h | 1 + src/openrct2/ride/gentle/meta/Circus.h | 3 +- src/openrct2/ride/gentle/meta/CrookedHouse.h | 4 +- src/openrct2/ride/gentle/meta/Dodgems.h | 3 +- src/openrct2/ride/gentle/meta/FerrisWheel.h | 3 +- src/openrct2/ride/gentle/meta/FlyingSaucers.h | 3 +- src/openrct2/ride/gentle/meta/GhostTrain.h | 1 + src/openrct2/ride/gentle/meta/HauntedHouse.h | 4 +- src/openrct2/ride/gentle/meta/Maze.h | 3 +- src/openrct2/ride/gentle/meta/MerryGoRound.h | 3 +- src/openrct2/ride/gentle/meta/MiniGolf.h | 3 +- .../ride/gentle/meta/MiniHelicopters.h | 1 + .../ride/gentle/meta/MonorailCycles.h | 1 + .../ride/gentle/meta/ObservationTower.h | 1 + src/openrct2/ride/gentle/meta/SpaceRings.h | 3 +- src/openrct2/ride/gentle/meta/SpiralSlide.h | 4 +- src/openrct2/ride/shops/meta/CashMachine.h | 3 +- src/openrct2/ride/shops/meta/DrinkStall.h | 3 +- src/openrct2/ride/shops/meta/FirstAid.h | 3 +- src/openrct2/ride/shops/meta/FoodStall.h | 3 +- .../ride/shops/meta/InformationKiosk.h | 3 +- src/openrct2/ride/shops/meta/Shop.h | 3 +- src/openrct2/ride/shops/meta/Toilets.h | 3 +- src/openrct2/ride/thrill/meta/3DCinema.h | 3 +- src/openrct2/ride/thrill/meta/Enterprise.h | 4 +- src/openrct2/ride/thrill/meta/GoKarts.h | 1 + .../ride/thrill/meta/LaunchedFreefall.h | 1 + src/openrct2/ride/thrill/meta/MagicCarpet.h | 3 +- .../ride/thrill/meta/MotionSimulator.h | 4 +- src/openrct2/ride/thrill/meta/RotoDrop.h | 1 + .../ride/thrill/meta/SwingingInverterShip.h | 3 +- src/openrct2/ride/thrill/meta/SwingingShip.h | 3 +- src/openrct2/ride/thrill/meta/TopSpin.h | 3 +- src/openrct2/ride/thrill/meta/Twist.h | 3 +- src/openrct2/ride/transport/meta/Chairlift.h | 1 + src/openrct2/ride/transport/meta/Lift.h | 1 + .../ride/transport/meta/MiniatureRailway.h | 1 + src/openrct2/ride/transport/meta/Monorail.h | 1 + .../ride/transport/meta/SuspendedMonorail.h | 1 + src/openrct2/ride/water/meta/BoatHire.h | 1 + src/openrct2/ride/water/meta/DinghySlide.h | 1 + src/openrct2/ride/water/meta/LogFlume.h | 1 + src/openrct2/ride/water/meta/RiverRafts.h | 1 + src/openrct2/ride/water/meta/RiverRapids.h | 1 + src/openrct2/ride/water/meta/SplashBoats.h | 1 + src/openrct2/ride/water/meta/SubmarineRide.h | 1 + src/openrct2/ride/water/meta/WaterCoaster.h | 22 -- 93 files changed, 148 insertions(+), 267 deletions(-) delete mode 100644 src/openrct2/ride/water/meta/WaterCoaster.h diff --git a/src/openrct2-ui/windows/EditorInventionsList.cpp b/src/openrct2-ui/windows/EditorInventionsList.cpp index 1500c5df2b..29d8c23520 100644 --- a/src/openrct2-ui/windows/EditorInventionsList.cpp +++ b/src/openrct2-ui/windows/EditorInventionsList.cpp @@ -691,7 +691,7 @@ static void window_editor_inventions_list_scrollpaint(rct_window* w, rct_drawpix rct_string_id itemNameId = researchItem.GetName(); if (researchItem.type == RESEARCH_ENTRY_TYPE_RIDE - && !RideGroupManager::RideTypeIsIndependent(researchItem.baseRideType)) + && !RideTypeDescriptors[researchItem.baseRideType].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { const auto rideEntry = get_ride_entry(researchItem.entryIndex); const rct_string_id rideGroupName = get_ride_naming(researchItem.baseRideType, rideEntry).name; @@ -736,7 +736,8 @@ static void window_editor_inventions_list_drag_open(ResearchItem* researchItem) rct_string_id stringId = researchItem->GetName(); ptr = buffer; - if (researchItem->type == RESEARCH_ENTRY_TYPE_RIDE && !RideGroupManager::RideTypeIsIndependent(researchItem->baseRideType)) + if (researchItem->type == RESEARCH_ENTRY_TYPE_RIDE + && !RideTypeDescriptors[researchItem->baseRideType].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { const auto rideEntry = get_ride_entry(researchItem->entryIndex); const rct_string_id rideGroupName = get_ride_naming(researchItem->baseRideType, rideEntry).name; @@ -831,7 +832,8 @@ static rct_string_id window_editor_inventions_list_prepare_name(const ResearchIt rct_string_id drawString; rct_string_id stringId = researchItem->GetName(); - if (researchItem->type == RESEARCH_ENTRY_TYPE_RIDE && !RideGroupManager::RideTypeIsIndependent(researchItem->baseRideType)) + if (researchItem->type == RESEARCH_ENTRY_TYPE_RIDE + && !RideTypeDescriptors[researchItem->baseRideType].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { drawString = withGap ? STR_INVENTIONS_LIST_RIDE_AND_VEHICLE_NAME_DRAG : STR_WINDOW_COLOUR_2_STRINGID_STRINGID; rct_string_id rideGroupName = get_ride_naming(researchItem->baseRideType, get_ride_entry(researchItem->entryIndex)) diff --git a/src/openrct2-ui/windows/EditorObjectSelection.cpp b/src/openrct2-ui/windows/EditorObjectSelection.cpp index 4e3b53b5f5..a7c3fffa96 100644 --- a/src/openrct2-ui/windows/EditorObjectSelection.cpp +++ b/src/openrct2-ui/windows/EditorObjectSelection.cpp @@ -1461,7 +1461,7 @@ static bool filter_chunks(const ObjectRepositoryItem* item) break; } } - return (_filter_flags & (1 << (gRideCategories[rideType] + _numSourceGameItems))) != 0; + return (_filter_flags & (1 << (RideTypeDescriptors[rideType].Category + _numSourceGameItems))) != 0; } return true; } diff --git a/src/openrct2-ui/windows/NewRide.cpp b/src/openrct2-ui/windows/NewRide.cpp index ca1c9deada..7f5375de5b 100644 --- a/src/openrct2-ui/windows/NewRide.cpp +++ b/src/openrct2-ui/windows/NewRide.cpp @@ -319,7 +319,7 @@ static void window_new_ride_populate_list() if (rideType == RIDE_TYPE_NULL) continue; - if (gRideCategories[rideType] != currentCategory) + if (RideTypeDescriptors[rideType].Category != currentCategory) continue; if (ride_type_is_invented(rideType) || gCheatsIgnoreResearchStatus) @@ -377,7 +377,7 @@ static ride_list_item* window_new_ride_iterate_over_ride_group( } // Skip if the vehicle isn't the preferred vehicle for this generic track type - if (!RideGroupManager::RideTypeIsIndependent(rideType)) + if (!RideTypeDescriptors[rideType].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { if (strcmp(preferredVehicleName, " \0") == 0) { @@ -399,7 +399,7 @@ static ride_list_item* window_new_ride_iterate_over_ride_group( } // Determines how and where to draw a button for this ride type/vehicle. - if (RideGroupManager::RideTypeIsIndependent(rideType)) + if (RideTypeDescriptors[rideType].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { // Separate, draw apart allowDrawingOverLastButton = false; @@ -537,7 +537,7 @@ void window_new_ride_focus(ride_list_item rideItem) rideEntry = get_ride_entry(rideItem.entry_index); uint8_t rideTypeIndex = ride_entry_get_first_non_null_ride_type(rideEntry); - window_new_ride_set_page(w, gRideCategories[rideTypeIndex]); + window_new_ride_set_page(w, RideTypeDescriptors[rideTypeIndex].Category); for (ride_list_item* listItem = _windowNewRideListItems; listItem->type != RIDE_TYPE_NULL; listItem++) { @@ -941,7 +941,7 @@ static int32_t get_num_track_designs(ride_list_item item) if (item.type < 0x80) { rideEntry = get_ride_entry(item.entry_index); - if (RideGroupManager::RideTypeIsIndependent(item.type)) + if (RideTypeDescriptors[item.type].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { entryName = get_ride_entry_name(item.entry_index); } @@ -1060,7 +1060,7 @@ static void window_new_ride_select(rct_window* w) static void window_new_ride_list_vehicles_for(uint8_t rideType, const rct_ride_entry* rideEntry, char* buffer, size_t bufferLen) { std::fill_n(buffer, bufferLen, 0); - if (RideGroupManager::RideTypeIsIndependent(rideType)) + if (RideTypeDescriptors[rideType].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { return; } diff --git a/src/openrct2-ui/windows/TrackList.cpp b/src/openrct2-ui/windows/TrackList.cpp index 2fa5391ab9..f9f1a1a20d 100644 --- a/src/openrct2-ui/windows/TrackList.cpp +++ b/src/openrct2-ui/windows/TrackList.cpp @@ -785,7 +785,7 @@ static void track_list_load_designs(ride_list_item item) std::string entryName; if (item.type < 0x80) { - if (RideGroupManager::RideTypeIsIndependent(item.type)) + if (RideTypeDescriptors[item.type].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { entryName = get_ride_entry_name(item.entry_index); } diff --git a/src/openrct2/actions/TrackPlaceAction.hpp b/src/openrct2/actions/TrackPlaceAction.hpp index 16a7f0d4d3..42e180e21e 100644 --- a/src/openrct2/actions/TrackPlaceAction.hpp +++ b/src/openrct2/actions/TrackPlaceAction.hpp @@ -368,7 +368,8 @@ public: { uint16_t maxHeight; - if (RideGroupManager::RideTypeIsIndependent(ride->type) && rideEntry->max_height != 0) + if (RideTypeDescriptors[ride->type].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY) + && rideEntry->max_height != 0) { maxHeight = rideEntry->max_height; } diff --git a/src/openrct2/management/Research.cpp b/src/openrct2/management/Research.cpp index 0b1e617116..1b907dfb0a 100644 --- a/src/openrct2/management/Research.cpp +++ b/src/openrct2/management/Research.cpp @@ -257,7 +257,7 @@ void research_finish_item(ResearchItem* researchItem) } // If a vehicle should be listed separately (maze, mini golf, flat rides, shops) - if (RideGroupManager::RideTypeIsIndependent(base_ride_type)) + if (RideTypeDescriptors[base_ride_type].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { availabilityString = STR_NEWS_ITEM_RESEARCH_NEW_RIDE_AVAILABLE; set_format_arg(0, rct_string_id, rideEntry->naming.name); diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index aa6ec2e6e5..ad22fe8c1f 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -5647,7 +5647,7 @@ rct_ride_name get_ride_naming(const uint8_t rideType, rct_ride_entry* rideEntry) const RideGroup* rideGroup = RideGroupManager::GetRideGroup(rideType, rideEntry); return rideGroup->Naming; } - else if (!RideGroupManager::RideTypeIsIndependent(rideType)) + else if (!RideTypeDescriptors[rideType].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { return RideNaming[rideType]; } @@ -7522,7 +7522,7 @@ int32_t ride_get_entry_index(int32_t rideType, int32_t rideSubType) continue; } - if (!RideGroupManager::RideTypeIsIndependent(rideType)) + if (!RideTypeDescriptors[rideType].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { subType = rideEntryIndex; break; @@ -7727,7 +7727,7 @@ size_t Ride::FormatNameTo(void* argsV) const else { auto rideTypeName = RideNaming[type].name; - if (RideGroupManager::RideTypeIsIndependent(type)) + if (RideTypeDescriptors[type].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { auto rideEntry = GetRideEntry(); if (rideEntry != nullptr) diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index 16f6aa5240..d0184c0290 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -704,7 +704,9 @@ enum RIDE_CATEGORY_ROLLERCOASTER, RIDE_CATEGORY_THRILL, RIDE_CATEGORY_WATER, - RIDE_CATEGORY_SHOP + RIDE_CATEGORY_SHOP, + + RIDE_CATEGORY_NONE = 255, }; enum diff --git a/src/openrct2/ride/RideData.cpp b/src/openrct2/ride/RideData.cpp index 392ac2a630..52ecbef9dd 100644 --- a/src/openrct2/ride/RideData.cpp +++ b/src/openrct2/ride/RideData.cpp @@ -2397,6 +2397,7 @@ const rct_string_id RideModeNames[] = { // clang-format off static constexpr const RideTypeDescriptor DummyRTD = { + SET_FIELD(Category, RIDE_CATEGORY_NONE), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, nullptr), @@ -2499,3 +2500,8 @@ constexpr const RideTypeDescriptor RideTypeDescriptors[RIDE_TYPE_COUNT] = { /* RIDE_TYPE_59 */ DummyRTD, /* RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER */ LIMLaunchedRollerCoasterRTD, }; + +bool RideTypeDescriptor::HasFlag(uint64_t flag) const +{ + return Flags & flag; +} diff --git a/src/openrct2/ride/RideData.h b/src/openrct2/ride/RideData.h index a99eecdc0a..dbc61c2248 100644 --- a/src/openrct2/ride/RideData.h +++ b/src/openrct2/ride/RideData.h @@ -87,6 +87,7 @@ struct rct_ride_lift_data struct RideTypeDescriptor { + uint8_t Category; // rct2: 0x0097C468 (0 - 31) and 0x0097C5D4 (32 - 63) uint64_t EnabledTrackPieces; // Pieces that this ride type _can_ draw, but are disabled because their vehicles lack the relevant sprites, @@ -96,6 +97,8 @@ struct RideTypeDescriptor uint64_t Flags; RideNameConvention NameConvention; uint8_t AvailableBreakdowns; + + bool HasFlag(uint64_t flag) const; }; #ifdef _WIN32 @@ -171,6 +174,8 @@ enum ride_type_flags : uint64_t RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT = (1ULL << 45), RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT = (1ULL << 46), RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED = (1ULL << 47), // This is only set on the Flying RC and its alternative type. + + RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY = (1ULL << 48), }; // Set on ride types that have a main colour, additional colour and support colour. diff --git a/src/openrct2/ride/RideGroupManager.cpp b/src/openrct2/ride/RideGroupManager.cpp index 9294e90396..912f1350dd 100644 --- a/src/openrct2/ride/RideGroupManager.cpp +++ b/src/openrct2/ride/RideGroupManager.cpp @@ -384,200 +384,3 @@ int32_t RideGroupManager::VehiclePreferenceCompare(const uint8_t rideType, const } return 0; } - -bool RideGroupManager::RideTypeIsIndependent(const uint8_t rideType) -{ - switch (rideType) - { - case RIDE_TYPE_SPIRAL_ROLLER_COASTER: - case RIDE_TYPE_STAND_UP_ROLLER_COASTER: - case RIDE_TYPE_SUSPENDED_SWINGING_COASTER: - case RIDE_TYPE_INVERTED_ROLLER_COASTER: - case RIDE_TYPE_JUNIOR_ROLLER_COASTER: - case RIDE_TYPE_MINIATURE_RAILWAY: - case RIDE_TYPE_MONORAIL: - case RIDE_TYPE_MINI_SUSPENDED_COASTER: - case RIDE_TYPE_BOAT_HIRE: - case RIDE_TYPE_WOODEN_WILD_MOUSE: - case RIDE_TYPE_STEEPLECHASE: - case RIDE_TYPE_CAR_RIDE: - case RIDE_TYPE_LAUNCHED_FREEFALL: - case RIDE_TYPE_BOBSLEIGH_COASTER: - case RIDE_TYPE_OBSERVATION_TOWER: - case RIDE_TYPE_LOOPING_ROLLER_COASTER: - case RIDE_TYPE_DINGHY_SLIDE: - case RIDE_TYPE_MINE_TRAIN_COASTER: - case RIDE_TYPE_CHAIRLIFT: - case RIDE_TYPE_CORKSCREW_ROLLER_COASTER: - case RIDE_TYPE_GO_KARTS: - case RIDE_TYPE_LOG_FLUME: - case RIDE_TYPE_RIVER_RAPIDS: - case RIDE_TYPE_REVERSE_FREEFALL_COASTER: - case RIDE_TYPE_LIFT: - case RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER: - case RIDE_TYPE_GHOST_TRAIN: - case RIDE_TYPE_TWISTER_ROLLER_COASTER: - case RIDE_TYPE_WOODEN_ROLLER_COASTER: - case RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER: - case RIDE_TYPE_STEEL_WILD_MOUSE: - case RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER: - case RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT: - case RIDE_TYPE_FLYING_ROLLER_COASTER: - case RIDE_TYPE_FLYING_ROLLER_COASTER_ALT: - case RIDE_TYPE_VIRGINIA_REEL: - case RIDE_TYPE_SPLASH_BOATS: - case RIDE_TYPE_MINI_HELICOPTERS: - case RIDE_TYPE_LAY_DOWN_ROLLER_COASTER: - case RIDE_TYPE_SUSPENDED_MONORAIL: - case RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT: - case RIDE_TYPE_REVERSER_ROLLER_COASTER: - case RIDE_TYPE_HEARTLINE_TWISTER_COASTER: - case RIDE_TYPE_GIGA_COASTER: - case RIDE_TYPE_ROTO_DROP: - case RIDE_TYPE_MONORAIL_CYCLES: - case RIDE_TYPE_COMPACT_INVERTED_COASTER: - case RIDE_TYPE_WATER_COASTER: - case RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER: - case RIDE_TYPE_INVERTED_HAIRPIN_COASTER: - case RIDE_TYPE_SUBMARINE_RIDE: - case RIDE_TYPE_RIVER_RAFTS: - case RIDE_TYPE_INVERTED_IMPULSE_COASTER: - case RIDE_TYPE_MINI_ROLLER_COASTER: - case RIDE_TYPE_MINE_RIDE: - case RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER: - return false; - case RIDE_TYPE_MAZE: - case RIDE_TYPE_SPIRAL_SLIDE: - case RIDE_TYPE_DODGEMS: - case RIDE_TYPE_SWINGING_SHIP: - case RIDE_TYPE_SWINGING_INVERTER_SHIP: - case RIDE_TYPE_FOOD_STALL: - case RIDE_TYPE_1D: - case RIDE_TYPE_DRINK_STALL: - case RIDE_TYPE_1F: - case RIDE_TYPE_SHOP: - case RIDE_TYPE_MERRY_GO_ROUND: - case RIDE_TYPE_22: - case RIDE_TYPE_INFORMATION_KIOSK: - case RIDE_TYPE_TOILETS: - case RIDE_TYPE_FERRIS_WHEEL: - case RIDE_TYPE_MOTION_SIMULATOR: - case RIDE_TYPE_3D_CINEMA: - case RIDE_TYPE_TOP_SPIN: - case RIDE_TYPE_SPACE_RINGS: - case RIDE_TYPE_CASH_MACHINE: - case RIDE_TYPE_TWIST: - case RIDE_TYPE_HAUNTED_HOUSE: - case RIDE_TYPE_FIRST_AID: - case RIDE_TYPE_CIRCUS: - case RIDE_TYPE_MINI_GOLF: - case RIDE_TYPE_FLYING_SAUCERS: - case RIDE_TYPE_CROOKED_HOUSE: - case RIDE_TYPE_MAGIC_CARPET: - case RIDE_TYPE_50: - case RIDE_TYPE_ENTERPRISE: - case RIDE_TYPE_52: - case RIDE_TYPE_53: - case RIDE_TYPE_54: - case RIDE_TYPE_55: - case RIDE_TYPE_59: - return true; - } - - assert(false); - return true; -} - -const uint8_t gRideCategories[] = { - RIDE_CATEGORY_ROLLERCOASTER, // Spiral Roller coaster - RIDE_CATEGORY_ROLLERCOASTER, // Stand Up Coaster - RIDE_CATEGORY_ROLLERCOASTER, // Suspended Swinging - RIDE_CATEGORY_ROLLERCOASTER, // Inverted - RIDE_CATEGORY_ROLLERCOASTER, // Steel Mini Coaster - RIDE_CATEGORY_TRANSPORT, // Mini Railway - RIDE_CATEGORY_TRANSPORT, // Monorail - RIDE_CATEGORY_ROLLERCOASTER, // Mini Suspended Coaster - RIDE_CATEGORY_WATER, // Boat Hire - RIDE_CATEGORY_ROLLERCOASTER, // Wooden Wild Mine/Mouse - RIDE_CATEGORY_ROLLERCOASTER, // Steeplechase/Motorbike/Soap Box Derby - RIDE_CATEGORY_GENTLE, // Car Ride - RIDE_CATEGORY_THRILL, // Launched Freefall - RIDE_CATEGORY_ROLLERCOASTER, // Bobsleigh Coaster - RIDE_CATEGORY_GENTLE, // Observation Tower - RIDE_CATEGORY_ROLLERCOASTER, // Looping Roller Coaster - RIDE_CATEGORY_WATER, // Dinghy Slide - RIDE_CATEGORY_ROLLERCOASTER, // Mine Train Coaster - RIDE_CATEGORY_TRANSPORT, // Chairlift - RIDE_CATEGORY_ROLLERCOASTER, // Corkscrew Roller Coaster - RIDE_CATEGORY_GENTLE, // Maze - RIDE_CATEGORY_GENTLE, // Spiral Slide - RIDE_CATEGORY_THRILL, // Go Karts - RIDE_CATEGORY_WATER, // Log Flume - RIDE_CATEGORY_WATER, // River Rapids - RIDE_CATEGORY_GENTLE, // Dodgems - RIDE_CATEGORY_THRILL, // Pirate Ship - RIDE_CATEGORY_THRILL, // Swinging Inverter Ship - RIDE_CATEGORY_SHOP, // Food Stall - 255, // (none) - RIDE_CATEGORY_SHOP, // Drink Stall - 255, // (none) - RIDE_CATEGORY_SHOP, // Shop (all types) - RIDE_CATEGORY_GENTLE, // Merry Go Round - 255, // Unknown - RIDE_CATEGORY_SHOP, // Information Kiosk - RIDE_CATEGORY_SHOP, // Bathroom - RIDE_CATEGORY_GENTLE, // Ferris Wheel - RIDE_CATEGORY_THRILL, // Motion Simulator - RIDE_CATEGORY_THRILL, // 3D Cinema - RIDE_CATEGORY_THRILL, // Top Spin - RIDE_CATEGORY_GENTLE, // Space Rings - RIDE_CATEGORY_ROLLERCOASTER, // Reverse Freefall Coaster - RIDE_CATEGORY_TRANSPORT, // Lift - RIDE_CATEGORY_ROLLERCOASTER, // Vertical Drop Roller Coaster - RIDE_CATEGORY_SHOP, // ATM - RIDE_CATEGORY_THRILL, // Twist - RIDE_CATEGORY_GENTLE, // Haunted House - RIDE_CATEGORY_SHOP, // First Aid - RIDE_CATEGORY_GENTLE, // Circus Show - RIDE_CATEGORY_GENTLE, // Ghost Train - RIDE_CATEGORY_ROLLERCOASTER, // Twister Roller Coaster - RIDE_CATEGORY_ROLLERCOASTER, // Wooden Roller Coaster - RIDE_CATEGORY_ROLLERCOASTER, // Side-Friction Roller Coaster - RIDE_CATEGORY_ROLLERCOASTER, // Wild Mouse - RIDE_CATEGORY_ROLLERCOASTER, // Multi Dimension Coaster - 255, // (none) - RIDE_CATEGORY_ROLLERCOASTER, // Flying Roller Coaster - 255, // (none) - RIDE_CATEGORY_ROLLERCOASTER, // Virginia Reel - RIDE_CATEGORY_WATER, // Splash Boats - RIDE_CATEGORY_GENTLE, // Mini Helicopters - RIDE_CATEGORY_ROLLERCOASTER, // Lay-down Roller Coaster - RIDE_CATEGORY_TRANSPORT, // Suspended Monorail - 255, // (none) - RIDE_CATEGORY_ROLLERCOASTER, // Reverser Roller Coaster - RIDE_CATEGORY_ROLLERCOASTER, // Heartline Twister Roller Coaster - RIDE_CATEGORY_GENTLE, // Mini Golf - RIDE_CATEGORY_ROLLERCOASTER, // Giga Coaster - RIDE_CATEGORY_THRILL, // Roto-Drop - RIDE_CATEGORY_GENTLE, // Flying Saucers - RIDE_CATEGORY_GENTLE, // Crooked House - RIDE_CATEGORY_GENTLE, // Monorail Cycles - RIDE_CATEGORY_ROLLERCOASTER, // Compact Inverted Coaster - RIDE_CATEGORY_ROLLERCOASTER, // Water Coaster - RIDE_CATEGORY_ROLLERCOASTER, // Air Powered Vertical Coaster - RIDE_CATEGORY_ROLLERCOASTER, // Inverted Hairpin Coaster - RIDE_CATEGORY_THRILL, // Magic Carpet - RIDE_CATEGORY_WATER, // Submarine Ride - RIDE_CATEGORY_WATER, // River Rafts - 255, // (none) - RIDE_CATEGORY_THRILL, // Enterprise - 255, // (none) - 255, // (none) - 255, // (none) - 255, // (none) - RIDE_CATEGORY_ROLLERCOASTER, // Inverted Impulse Coaster - RIDE_CATEGORY_ROLLERCOASTER, // Mini Roller Coaster - RIDE_CATEGORY_ROLLERCOASTER, // Mine Ride - 255, // 59 Unknown Ride - RIDE_CATEGORY_ROLLERCOASTER // LIM Launched Roller Coaster -}; diff --git a/src/openrct2/ride/RideGroupManager.h b/src/openrct2/ride/RideGroupManager.h index 0d66fbe931..7e5b3c6517 100644 --- a/src/openrct2/ride/RideGroupManager.h +++ b/src/openrct2/ride/RideGroupManager.h @@ -16,8 +16,6 @@ #define MAX_RIDE_GROUPS_PER_RIDE_TYPE 2 -extern const uint8_t gRideCategories[RIDE_TYPE_COUNT]; - struct RideGroup { uint8_t RideType; @@ -39,7 +37,6 @@ public: static const std::vector GetPreferredRideEntryOrder(const uint8_t rideType); static int32_t VehiclePreferenceCompare(const uint8_t rideType, const char* a, const char* b); - static bool RideTypeIsIndependent(const uint8_t rideType); }; enum RideGroupFlags : uint8_t diff --git a/src/openrct2/ride/TrackDesignRepository.cpp b/src/openrct2/ride/TrackDesignRepository.cpp index 02f04442ed..099831d5e5 100644 --- a/src/openrct2/ride/TrackDesignRepository.cpp +++ b/src/openrct2/ride/TrackDesignRepository.cpp @@ -166,7 +166,7 @@ public: { const ObjectRepositoryItem* ori = repo.FindObject(item.ObjectEntry.c_str()); - if (ori == nullptr || !RideGroupManager::RideTypeIsIndependent(rideType)) + if (ori == nullptr || !RideTypeDescriptors[rideType].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) entryIsNotSeparate = true; } @@ -225,7 +225,7 @@ public: { const ObjectRepositoryItem* ori = repo.FindObject(item.ObjectEntry.c_str()); - if (ori == nullptr || !RideGroupManager::RideTypeIsIndependent(rideType)) + if (ori == nullptr || !RideTypeDescriptors[rideType].HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) entryIsNotSeparate = true; } diff --git a/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h b/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h index 15ac5644e3..bb2b6c0dd7 100644 --- a/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h +++ b/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor AirPoweredVerticalCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_air_powered_vertical_rc), diff --git a/src/openrct2/ride/coaster/meta/BobsleighCoaster.h b/src/openrct2/ride/coaster/meta/BobsleighCoaster.h index 5a938b34d7..b898e6f63a 100644 --- a/src/openrct2/ride/coaster/meta/BobsleighCoaster.h +++ b/src/openrct2/ride/coaster/meta/BobsleighCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor BobsleighCoasterRTD = { + 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_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(TrackPaintFunction, get_track_paint_function_bobsleigh_rc), diff --git a/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h b/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h index c937d7bac2..8efd4e9dfe 100644 --- a/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h +++ b/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor CompactInvertedCoasterRTD = { + 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_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(TrackPaintFunction, get_track_paint_function_compact_inverted_rc), diff --git a/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h b/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h index eb0240b786..f8b4943aac 100644 --- a/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor CorkscrewRollerCoasterRTD = { + 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_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_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_STEEP_LONG) | (1ULL << TRACK_BOOSTER)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_corkscrew_rc), diff --git a/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h b/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h index 6ed9186a65..f84de61fc9 100644 --- a/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h @@ -16,6 +16,7 @@ // Non-inverted variant constexpr const RideTypeDescriptor FlyingRollerCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_flying_rc), @@ -30,6 +31,7 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterRTD = // Inverted variant constexpr const RideTypeDescriptor FlyingRollerCoasterAltRTD = { + SET_FIELD(Category, RIDE_CATEGORY_NONE), 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(TrackPaintFunction, nullptr), diff --git a/src/openrct2/ride/coaster/meta/GigaCoaster.h b/src/openrct2/ride/coaster/meta/GigaCoaster.h index 1748a9d1be..93e1ffe5ec 100644 --- a/src/openrct2/ride/coaster/meta/GigaCoaster.h +++ b/src/openrct2/ride/coaster/meta/GigaCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor GigaCoasterRTD = { + 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_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(TrackPaintFunction, get_track_paint_function_giga_rc), diff --git a/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h b/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h index eb8b6dca18..79a4954335 100644 --- a/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h +++ b/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor HeartlineTwisterCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_heartline_twister_rc), diff --git a/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h b/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h index 5f2837ebfe..749063404b 100644 --- a/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor InvertedHairpinCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_inverted_hairpin_rc), diff --git a/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h b/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h index 23c57dc93d..d8dc86c203 100644 --- a/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor InvertedImpulseCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_inverted_impulse_rc), diff --git a/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h b/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h index 34da899d0a..652a713a47 100644 --- a/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor InvertedRollerCoasterRTD = { + 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_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(TrackPaintFunction, get_track_paint_function_inverted_rc), diff --git a/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h b/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h index e91de89078..4936237dcd 100644 --- a/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor JuniorRollerCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_LIFT_HILL) | (1ULL << TRACK_LIFT_HILL_CURVE) | (1ULL << TRACK_FLAT_ROLL_BANKING) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_SLOPE_LONG) | (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_BOOSTER)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_junior_rc), diff --git a/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h b/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h index 6b52f9f563..13557ca7ec 100644 --- a/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor LIMLaunchedRollerCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_lim_launched_rc), diff --git a/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h b/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h index b5211fe4d3..6b78790cb7 100644 --- a/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor LayDownRollerCoasterRTD = { + 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_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(TrackPaintFunction, get_track_paint_function_lay_down_rc), @@ -27,6 +28,7 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterRTD = constexpr const RideTypeDescriptor LayDownRollerCoasterAltRTD = { + SET_FIELD(Category, RIDE_CATEGORY_NONE), 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(TrackPaintFunction, nullptr), diff --git a/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h b/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h index 582ba3988e..881edf5b0c 100644 --- a/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor LoopingRollerCoasterRTD = { + 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_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(TrackPaintFunction, get_track_paint_function_looping_rc), diff --git a/src/openrct2/ride/coaster/meta/MineRide.h b/src/openrct2/ride/coaster/meta/MineRide.h index 9e1e437bfc..20d73e6396 100644 --- a/src/openrct2/ride/coaster/meta/MineRide.h +++ b/src/openrct2/ride/coaster/meta/MineRide.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor MineRideRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_mine_ride), diff --git a/src/openrct2/ride/coaster/meta/MineTrainCoaster.h b/src/openrct2/ride/coaster/meta/MineTrainCoaster.h index 10b01ef532..1fcb101a12 100644 --- a/src/openrct2/ride/coaster/meta/MineTrainCoaster.h +++ b/src/openrct2/ride/coaster/meta/MineTrainCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor MineTrainCoasterRTD = { + 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_ON_RIDE_PHOTO) | (1ULL << TRACK_BLOCK_BRAKES)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_mine_train_rc), diff --git a/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h b/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h index 0da7a52534..dde7407eb6 100644 --- a/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor MiniRollerCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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)), SET_FIELD(TrackPaintFunction, get_track_paint_function_mini_rc), diff --git a/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h b/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h index 1549feb1fe..fccabe1318 100644 --- a/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h +++ b/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor MiniSuspendedCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_mini_suspended_rc), diff --git a/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h b/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h index 22a43ae967..24f0e21006 100644 --- a/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor MultiDimensionRollerCoasterRTD = { + 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_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(TrackPaintFunction, get_track_paint_function_multi_dimension_rc), @@ -28,6 +29,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterRTD = constexpr const RideTypeDescriptor MultiDimensionRollerCoasterAltRTD = { + SET_FIELD(Category, RIDE_CATEGORY_NONE), 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(TrackPaintFunction, nullptr), diff --git a/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h b/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h index 94d425d222..edc24a26fa 100644 --- a/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h +++ b/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor ReverseFreefallCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_reverse_freefall_rc), diff --git a/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h b/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h index d3c127f93e..9a959743dc 100644 --- a/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor ReverserRollerCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_reverser_rc), diff --git a/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h b/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h index aa8365a28b..c04c8961bf 100644 --- a/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor SideFrictionRollerCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_side_friction_rc), diff --git a/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h b/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h index 991fc0dfc9..6d0059936b 100644 --- a/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor SpiralRollerCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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) | (1ULL << TRACK_LIFT_HILL_CURVED)), SET_FIELD(ExtraTrackPieces, (1ULL << TRACK_BOOSTER)), SET_FIELD(TrackPaintFunction, get_track_paint_function_mini_rc), diff --git a/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h b/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h index 291deb95a2..36826bd258 100644 --- a/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor StandUpRollerCoasterRTD = { + 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_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(TrackPaintFunction, get_track_paint_function_stand_up_rc), diff --git a/src/openrct2/ride/coaster/meta/SteelWildMouse.h b/src/openrct2/ride/coaster/meta/SteelWildMouse.h index cff549cb41..111c99922c 100644 --- a/src/openrct2/ride/coaster/meta/SteelWildMouse.h +++ b/src/openrct2/ride/coaster/meta/SteelWildMouse.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor SteelWildMouseRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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) | (1ULL << TRACK_ROTATION_CONTROL_TOGGLE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_wild_mouse), diff --git a/src/openrct2/ride/coaster/meta/Steeplechase.h b/src/openrct2/ride/coaster/meta/Steeplechase.h index 446993e1b7..578aee331f 100644 --- a/src/openrct2/ride/coaster/meta/Steeplechase.h +++ b/src/openrct2/ride/coaster/meta/Steeplechase.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor SteeplechaseRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_steeplechase), diff --git a/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h b/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h index 22e8093f3b..acb63361bc 100644 --- a/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h +++ b/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor SuspendedSwingingCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_suspended_swinging_rc), diff --git a/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h b/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h index ce418c1ae4..3a9ff47633 100644 --- a/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor TwisterRollerCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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_HALF_LOOP) | (1ULL << TRACK_CORKSCREW) | (1ULL << TRACK_HELIX_SMALL) | (1ULL << TRACK_BRAKES) | (1ULL << TRACK_ON_RIDE_PHOTO) | (1ULL << TRACK_SLOPE_VERTICAL) | (1ULL << TRACK_BARREL_ROLL) | (1ULL << TRACK_POWERED_LIFT) | (1ULL << TRACK_HALF_LOOP_LARGE) | (1ULL << TRACK_SLOPE_CURVE_BANKED) | (1ULL << TRACK_BLOCK_BRAKES) | (1ULL << TRACK_SLOPE_ROLL_BANKING) | (1ULL << TRACK_SLOPE_STEEP_LONG) | (1ULL << TRACK_CURVE_VERTICAL) | (1ULL << TRACK_QUARTER_LOOP) | (1ULL << TRACK_BOOSTER)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_twister_rc), diff --git a/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h b/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h index 7663c7d9bd..31edd0b92a 100644 --- a/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h +++ b/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor VerticalDropCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_vertical_drop_rc), diff --git a/src/openrct2/ride/coaster/meta/VirginiaReel.h b/src/openrct2/ride/coaster/meta/VirginiaReel.h index 095d6d34b5..7d27c00cec 100644 --- a/src/openrct2/ride/coaster/meta/VirginiaReel.h +++ b/src/openrct2/ride/coaster/meta/VirginiaReel.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor VirginiaReelRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_virginia_reel), diff --git a/src/openrct2/ride/coaster/meta/WaterCoaster.h b/src/openrct2/ride/coaster/meta/WaterCoaster.h index 905e577c8e..2b313d5934 100644 --- a/src/openrct2/ride/coaster/meta/WaterCoaster.h +++ b/src/openrct2/ride/coaster/meta/WaterCoaster.h @@ -15,6 +15,7 @@ // clang-format off 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(TrackPaintFunction, get_track_paint_function_water_rc), diff --git a/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h b/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h index 4acf204714..046e066df2 100644 --- a/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor WoodenRollerCoasterRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_wooden_rc), diff --git a/src/openrct2/ride/coaster/meta/WoodenWildMouse.h b/src/openrct2/ride/coaster/meta/WoodenWildMouse.h index adcb64b85d..caa018b111 100644 --- a/src/openrct2/ride/coaster/meta/WoodenWildMouse.h +++ b/src/openrct2/ride/coaster/meta/WoodenWildMouse.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor WoodenWildMouseRTD = { + SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), 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(TrackPaintFunction, get_track_paint_function_wooden_wild_mouse), diff --git a/src/openrct2/ride/gentle/meta/CarRide.h b/src/openrct2/ride/gentle/meta/CarRide.h index 5b10b651e3..af44514b12 100644 --- a/src/openrct2/ride/gentle/meta/CarRide.h +++ b/src/openrct2/ride/gentle/meta/CarRide.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor CarRideRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_SLOPE_STEEP) | (1ULL << TRACK_CURVE_VERY_SMALL) | (1ULL << TRACK_CURVE_SMALL) | (1ULL << TRACK_SPINNING_TUNNEL) | (1ULL << TRACK_RAPIDS)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_car_ride), diff --git a/src/openrct2/ride/gentle/meta/Circus.h b/src/openrct2/ride/gentle/meta/Circus.h index 6ba64cf384..2ea9361eab 100644 --- a/src/openrct2/ride/gentle/meta/Circus.h +++ b/src/openrct2/ride/gentle/meta/Circus.h @@ -15,13 +15,14 @@ // clang-format off constexpr const RideTypeDescriptor CircusRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_circus_show), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT | - RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION), + RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/gentle/meta/CrookedHouse.h b/src/openrct2/ride/gentle/meta/CrookedHouse.h index a4f8df9957..fe0b81102f 100644 --- a/src/openrct2/ride/gentle/meta/CrookedHouse.h +++ b/src/openrct2/ride/gentle/meta/CrookedHouse.h @@ -15,12 +15,14 @@ // clang-format off constexpr const RideTypeDescriptor CrookedHouseRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_crooked_house), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION), + RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | + RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), }; diff --git a/src/openrct2/ride/gentle/meta/Dodgems.h b/src/openrct2/ride/gentle/meta/Dodgems.h index 3825a0967d..8ddd08604c 100644 --- a/src/openrct2/ride/gentle/meta/Dodgems.h +++ b/src/openrct2/ride/gentle/meta/Dodgems.h @@ -15,13 +15,14 @@ // clang-format off constexpr const RideTypeDescriptor DodgemsRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_dodgems), 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_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG_ALLOW_MUSIC | - RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/gentle/meta/FerrisWheel.h b/src/openrct2/ride/gentle/meta/FerrisWheel.h index b4bb89405f..a966189da7 100644 --- a/src/openrct2/ride/gentle/meta/FerrisWheel.h +++ b/src/openrct2/ride/gentle/meta/FerrisWheel.h @@ -15,13 +15,14 @@ // clang-format off constexpr const RideTypeDescriptor FerrisWheelRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_ferris_wheel), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | - RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_WHEEL, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/gentle/meta/FlyingSaucers.h b/src/openrct2/ride/gentle/meta/FlyingSaucers.h index f936ed4b91..83baf735d1 100644 --- a/src/openrct2/ride/gentle/meta/FlyingSaucers.h +++ b/src/openrct2/ride/gentle/meta/FlyingSaucers.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor FlyingSaucersRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_flying_saucers), @@ -22,7 +23,7 @@ constexpr const RideTypeDescriptor FlyingSaucersRTD = RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | - RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/gentle/meta/GhostTrain.h b/src/openrct2/ride/gentle/meta/GhostTrain.h index c159d14366..61e5269dc1 100644 --- a/src/openrct2/ride/gentle/meta/GhostTrain.h +++ b/src/openrct2/ride/gentle/meta/GhostTrain.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor GhostTrainRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), 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(TrackPaintFunction, get_track_paint_function_ghost_train), diff --git a/src/openrct2/ride/gentle/meta/HauntedHouse.h b/src/openrct2/ride/gentle/meta/HauntedHouse.h index 2b39d82672..9622d5fc59 100644 --- a/src/openrct2/ride/gentle/meta/HauntedHouse.h +++ b/src/openrct2/ride/gentle/meta/HauntedHouse.h @@ -15,12 +15,14 @@ // clang-format off constexpr const RideTypeDescriptor HauntedHouseRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_haunted_house), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION), + RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | + RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/gentle/meta/Maze.h b/src/openrct2/ride/gentle/meta/Maze.h index aabf4f107f..af2020b918 100644 --- a/src/openrct2/ride/gentle/meta/Maze.h +++ b/src/openrct2/ride/gentle/meta/Maze.h @@ -15,11 +15,12 @@ // clang-format off constexpr const RideTypeDescriptor MazeRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), 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_TRACK_NO_WALLS | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), }; diff --git a/src/openrct2/ride/gentle/meta/MerryGoRound.h b/src/openrct2/ride/gentle/meta/MerryGoRound.h index bab9f849af..b55b8d4146 100644 --- a/src/openrct2/ride/gentle/meta/MerryGoRound.h +++ b/src/openrct2/ride/gentle/meta/MerryGoRound.h @@ -15,13 +15,14 @@ // clang-format off constexpr const RideTypeDescriptor MerryGoRoundRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_merry_go_round), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG_ALLOW_MUSIC | - RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE)), }; diff --git a/src/openrct2/ride/gentle/meta/MiniGolf.h b/src/openrct2/ride/gentle/meta/MiniGolf.h index 33a33cda87..fb9f28bcbb 100644 --- a/src/openrct2/ride/gentle/meta/MiniGolf.h +++ b/src/openrct2/ride/gentle/meta/MiniGolf.h @@ -15,12 +15,13 @@ // clang-format off constexpr const RideTypeDescriptor MiniGolfRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), 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(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 | - RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_PLAYER, RIDE_COMPONENT_TYPE_COURSE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), }; diff --git a/src/openrct2/ride/gentle/meta/MiniHelicopters.h b/src/openrct2/ride/gentle/meta/MiniHelicopters.h index 7a2765d2dd..3b7ab96fca 100644 --- a/src/openrct2/ride/gentle/meta/MiniHelicopters.h +++ b/src/openrct2/ride/gentle/meta/MiniHelicopters.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor MiniHelicoptersRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), 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(TrackPaintFunction, get_track_paint_function_mini_helicopters), diff --git a/src/openrct2/ride/gentle/meta/MonorailCycles.h b/src/openrct2/ride/gentle/meta/MonorailCycles.h index 795f03fa70..f9c930be47 100644 --- a/src/openrct2/ride/gentle/meta/MonorailCycles.h +++ b/src/openrct2/ride/gentle/meta/MonorailCycles.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor MonorailCyclesRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), 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(TrackPaintFunction, get_track_paint_function_monorail_cycles), diff --git a/src/openrct2/ride/gentle/meta/ObservationTower.h b/src/openrct2/ride/gentle/meta/ObservationTower.h index 14aeadd712..f997694f07 100644 --- a/src/openrct2/ride/gentle/meta/ObservationTower.h +++ b/src/openrct2/ride/gentle/meta/ObservationTower.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor ObservationTowerRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_TOWER_BASE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_observation_tower), diff --git a/src/openrct2/ride/gentle/meta/SpaceRings.h b/src/openrct2/ride/gentle/meta/SpaceRings.h index ebc9bd2fb6..c287a612d1 100644 --- a/src/openrct2/ride/gentle/meta/SpaceRings.h +++ b/src/openrct2/ride/gentle/meta/SpaceRings.h @@ -15,13 +15,14 @@ // clang-format off constexpr const RideTypeDescriptor SpaceRingsRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_space_rings), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | - RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_RING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/gentle/meta/SpiralSlide.h b/src/openrct2/ride/gentle/meta/SpiralSlide.h index c627e68d66..7a0e84c635 100644 --- a/src/openrct2/ride/gentle/meta/SpiralSlide.h +++ b/src/openrct2/ride/gentle/meta/SpiralSlide.h @@ -15,12 +15,14 @@ // clang-format off constexpr const RideTypeDescriptor SpiralSlideRTD = { + SET_FIELD(Category, RIDE_CATEGORY_GENTLE), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_spiral_slide), 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_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_TRACK_NO_WALLS | - RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | + RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/shops/meta/CashMachine.h b/src/openrct2/ride/shops/meta/CashMachine.h index a961ec6c8a..c9639f7daa 100644 --- a/src/openrct2/ride/shops/meta/CashMachine.h +++ b/src/openrct2/ride/shops/meta/CashMachine.h @@ -15,11 +15,12 @@ // clang-format off constexpr const RideTypeDescriptor CashMachineRTD = { + SET_FIELD(Category, RIDE_CATEGORY_SHOP), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_shop), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | - RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE), + RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), }; diff --git a/src/openrct2/ride/shops/meta/DrinkStall.h b/src/openrct2/ride/shops/meta/DrinkStall.h index 28181c5a61..e67450a904 100644 --- a/src/openrct2/ride/shops/meta/DrinkStall.h +++ b/src/openrct2/ride/shops/meta/DrinkStall.h @@ -15,12 +15,13 @@ // clang-format off constexpr const RideTypeDescriptor DrinkStallRTD = { + SET_FIELD(Category, RIDE_CATEGORY_SHOP), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_shop), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_SELLS_DRINKS), + RIDE_TYPE_FLAG_SELLS_DRINKS | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), }; diff --git a/src/openrct2/ride/shops/meta/FirstAid.h b/src/openrct2/ride/shops/meta/FirstAid.h index c29997ae5e..80caf27bfd 100644 --- a/src/openrct2/ride/shops/meta/FirstAid.h +++ b/src/openrct2/ride/shops/meta/FirstAid.h @@ -15,12 +15,13 @@ // clang-format off constexpr const RideTypeDescriptor FirstAidRTD = { + SET_FIELD(Category, RIDE_CATEGORY_SHOP), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_facility), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE), + RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), }; diff --git a/src/openrct2/ride/shops/meta/FoodStall.h b/src/openrct2/ride/shops/meta/FoodStall.h index b8251c6517..db7de44723 100644 --- a/src/openrct2/ride/shops/meta/FoodStall.h +++ b/src/openrct2/ride/shops/meta/FoodStall.h @@ -15,12 +15,13 @@ // clang-format off constexpr const RideTypeDescriptor FoodStallRTD = { + SET_FIELD(Category, RIDE_CATEGORY_SHOP), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_shop), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_SELLS_FOOD), + RIDE_TYPE_FLAG_SELLS_FOOD | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), }; diff --git a/src/openrct2/ride/shops/meta/InformationKiosk.h b/src/openrct2/ride/shops/meta/InformationKiosk.h index fe85005583..df7ae83640 100644 --- a/src/openrct2/ride/shops/meta/InformationKiosk.h +++ b/src/openrct2/ride/shops/meta/InformationKiosk.h @@ -15,12 +15,13 @@ // clang-format off constexpr const RideTypeDescriptor InformationKioskRTD = { + SET_FIELD(Category, RIDE_CATEGORY_SHOP), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_shop), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | - RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE), + RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), }; diff --git a/src/openrct2/ride/shops/meta/Shop.h b/src/openrct2/ride/shops/meta/Shop.h index c951af27d5..0eccef72fd 100644 --- a/src/openrct2/ride/shops/meta/Shop.h +++ b/src/openrct2/ride/shops/meta/Shop.h @@ -15,12 +15,13 @@ // clang-format off constexpr const RideTypeDescriptor ShopRTD = { + SET_FIELD(Category, RIDE_CATEGORY_SHOP), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_shop), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | - RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE), + RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), }; diff --git a/src/openrct2/ride/shops/meta/Toilets.h b/src/openrct2/ride/shops/meta/Toilets.h index 9853e91621..38d6805256 100644 --- a/src/openrct2/ride/shops/meta/Toilets.h +++ b/src/openrct2/ride/shops/meta/Toilets.h @@ -15,12 +15,13 @@ // clang-format off constexpr const RideTypeDescriptor ToiletsRTD = { + SET_FIELD(Category, RIDE_CATEGORY_SHOP), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_facility), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | - RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_IS_TOILET), + RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_IS_TOILET | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), }; diff --git a/src/openrct2/ride/thrill/meta/3DCinema.h b/src/openrct2/ride/thrill/meta/3DCinema.h index 4663bac826..8345767845 100644 --- a/src/openrct2/ride/thrill/meta/3DCinema.h +++ b/src/openrct2/ride/thrill/meta/3DCinema.h @@ -16,13 +16,14 @@ // C++ does not allow names to start with a number, hence the absence of the '3D' prefix. constexpr const RideTypeDescriptor CinemaRTD = { + SET_FIELD(Category, RIDE_CATEGORY_THRILL), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_3d_cinema), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | - RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION), + RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/thrill/meta/Enterprise.h b/src/openrct2/ride/thrill/meta/Enterprise.h index 90c0575a07..47b33d5974 100644 --- a/src/openrct2/ride/thrill/meta/Enterprise.h +++ b/src/openrct2/ride/thrill/meta/Enterprise.h @@ -15,13 +15,15 @@ // clang-format off constexpr const RideTypeDescriptor EnterpriseRTD = { + SET_FIELD(Category, RIDE_CATEGORY_THRILL), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_enterprise), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | - RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | + RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_WHEEL, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/thrill/meta/GoKarts.h b/src/openrct2/ride/thrill/meta/GoKarts.h index 4b96087291..218795c90d 100644 --- a/src/openrct2/ride/thrill/meta/GoKarts.h +++ b/src/openrct2/ride/thrill/meta/GoKarts.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor GoKartsRTD = { + SET_FIELD(Category, RIDE_CATEGORY_THRILL), SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_go_karts), diff --git a/src/openrct2/ride/thrill/meta/LaunchedFreefall.h b/src/openrct2/ride/thrill/meta/LaunchedFreefall.h index 414bf9fb06..ad4045ca30 100644 --- a/src/openrct2/ride/thrill/meta/LaunchedFreefall.h +++ b/src/openrct2/ride/thrill/meta/LaunchedFreefall.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor LaunchedFreefallRTD = { + SET_FIELD(Category, RIDE_CATEGORY_THRILL), SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_TOWER_BASE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_launched_freefall), diff --git a/src/openrct2/ride/thrill/meta/MagicCarpet.h b/src/openrct2/ride/thrill/meta/MagicCarpet.h index d7259d50b8..d81db1b353 100644 --- a/src/openrct2/ride/thrill/meta/MagicCarpet.h +++ b/src/openrct2/ride/thrill/meta/MagicCarpet.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor MagicCarpetRTD = { + SET_FIELD(Category, RIDE_CATEGORY_THRILL), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_magic_carpet), @@ -22,7 +23,7 @@ constexpr const RideTypeDescriptor MagicCarpetRTD = RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | - RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/thrill/meta/MotionSimulator.h b/src/openrct2/ride/thrill/meta/MotionSimulator.h index ebdf24ff9d..657dc71379 100644 --- a/src/openrct2/ride/thrill/meta/MotionSimulator.h +++ b/src/openrct2/ride/thrill/meta/MotionSimulator.h @@ -15,13 +15,15 @@ // clang-format off constexpr const RideTypeDescriptor MotionSimulatorRTD = { + SET_FIELD(Category, RIDE_CATEGORY_THRILL), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_motionsimulator), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | - RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | + RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/thrill/meta/RotoDrop.h b/src/openrct2/ride/thrill/meta/RotoDrop.h index 89128507be..3e5515c53a 100644 --- a/src/openrct2/ride/thrill/meta/RotoDrop.h +++ b/src/openrct2/ride/thrill/meta/RotoDrop.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor RotoDropRTD = { + SET_FIELD(Category, RIDE_CATEGORY_THRILL), SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_TOWER_BASE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_roto_drop), diff --git a/src/openrct2/ride/thrill/meta/SwingingInverterShip.h b/src/openrct2/ride/thrill/meta/SwingingInverterShip.h index f71dfa95e8..9cd563fa6c 100644 --- a/src/openrct2/ride/thrill/meta/SwingingInverterShip.h +++ b/src/openrct2/ride/thrill/meta/SwingingInverterShip.h @@ -15,13 +15,14 @@ // clang-format off constexpr const RideTypeDescriptor SwingingInverterShipRTD = { + SET_FIELD(Category, RIDE_CATEGORY_THRILL), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_swinging_inverter_ship), 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_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | - RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_SHIP, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/thrill/meta/SwingingShip.h b/src/openrct2/ride/thrill/meta/SwingingShip.h index d8bb42be67..8674e7cf25 100644 --- a/src/openrct2/ride/thrill/meta/SwingingShip.h +++ b/src/openrct2/ride/thrill/meta/SwingingShip.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor SwingingShipRTD = { + SET_FIELD(Category, RIDE_CATEGORY_THRILL), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_pirate_ship), @@ -22,7 +23,7 @@ constexpr const RideTypeDescriptor SwingingShipRTD = RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | - RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_SHIP, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/thrill/meta/TopSpin.h b/src/openrct2/ride/thrill/meta/TopSpin.h index d355f86fa8..c91f3e638f 100644 --- a/src/openrct2/ride/thrill/meta/TopSpin.h +++ b/src/openrct2/ride/thrill/meta/TopSpin.h @@ -15,13 +15,14 @@ // clang-format off constexpr const RideTypeDescriptor TopSpinRTD = { + SET_FIELD(Category, RIDE_CATEGORY_THRILL), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_topspin), 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_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | - RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/thrill/meta/Twist.h b/src/openrct2/ride/thrill/meta/Twist.h index f689b21e46..22dedf6350 100644 --- a/src/openrct2/ride/thrill/meta/Twist.h +++ b/src/openrct2/ride/thrill/meta/Twist.h @@ -15,13 +15,14 @@ // clang-format off constexpr const RideTypeDescriptor TwistRTD = { + SET_FIELD(Category, RIDE_CATEGORY_THRILL), SET_FIELD(EnabledTrackPieces, 0), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_twist), SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | - RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), + RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), }; diff --git a/src/openrct2/ride/transport/meta/Chairlift.h b/src/openrct2/ride/transport/meta/Chairlift.h index d618cbc210..55ec65ee80 100644 --- a/src/openrct2/ride/transport/meta/Chairlift.h +++ b/src/openrct2/ride/transport/meta/Chairlift.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor ChairliftRTD = { + SET_FIELD(Category, RIDE_CATEGORY_TRANSPORT), SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_SLOPE) | (1ULL << TRACK_CURVE_VERY_SMALL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_chairlift), diff --git a/src/openrct2/ride/transport/meta/Lift.h b/src/openrct2/ride/transport/meta/Lift.h index b3d90c57bb..6188946a99 100644 --- a/src/openrct2/ride/transport/meta/Lift.h +++ b/src/openrct2/ride/transport/meta/Lift.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor LiftRTD = { + SET_FIELD(Category, RIDE_CATEGORY_TRANSPORT), SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_TOWER_BASE)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_lift), diff --git a/src/openrct2/ride/transport/meta/MiniatureRailway.h b/src/openrct2/ride/transport/meta/MiniatureRailway.h index 527de60fe7..93522142f2 100644 --- a/src/openrct2/ride/transport/meta/MiniatureRailway.h +++ b/src/openrct2/ride/transport/meta/MiniatureRailway.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor MiniatureRailwayRTD = { + SET_FIELD(Category, RIDE_CATEGORY_TRANSPORT), 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(TrackPaintFunction, get_track_paint_function_miniature_railway), diff --git a/src/openrct2/ride/transport/meta/Monorail.h b/src/openrct2/ride/transport/meta/Monorail.h index 5fe927483e..1e5c26c1d5 100644 --- a/src/openrct2/ride/transport/meta/Monorail.h +++ b/src/openrct2/ride/transport/meta/Monorail.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor MonorailRTD = { + SET_FIELD(Category, RIDE_CATEGORY_TRANSPORT), 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(TrackPaintFunction, get_track_paint_function_monorail), diff --git a/src/openrct2/ride/transport/meta/SuspendedMonorail.h b/src/openrct2/ride/transport/meta/SuspendedMonorail.h index ff9cce9732..6deefcbf96 100644 --- a/src/openrct2/ride/transport/meta/SuspendedMonorail.h +++ b/src/openrct2/ride/transport/meta/SuspendedMonorail.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor SuspendedMonorailRTD = { + SET_FIELD(Category, RIDE_CATEGORY_TRANSPORT), 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(TrackPaintFunction, get_track_paint_function_suspended_monorail), diff --git a/src/openrct2/ride/water/meta/BoatHire.h b/src/openrct2/ride/water/meta/BoatHire.h index 0485aacaa0..07faac45d7 100644 --- a/src/openrct2/ride/water/meta/BoatHire.h +++ b/src/openrct2/ride/water/meta/BoatHire.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor BoatHireRTD = { + SET_FIELD(Category, RIDE_CATEGORY_WATER), SET_FIELD(EnabledTrackPieces, (1ULL << TRACK_STRAIGHT) | (1ULL << TRACK_STATION_END) | (1ULL << TRACK_CURVE_VERY_SMALL)), SET_FIELD(ExtraTrackPieces, 0), SET_FIELD(TrackPaintFunction, get_track_paint_function_boat_hire), diff --git a/src/openrct2/ride/water/meta/DinghySlide.h b/src/openrct2/ride/water/meta/DinghySlide.h index 11860aba6e..2f27d99f52 100644 --- a/src/openrct2/ride/water/meta/DinghySlide.h +++ b/src/openrct2/ride/water/meta/DinghySlide.h @@ -15,6 +15,7 @@ // clang-format off 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(TrackPaintFunction, get_track_paint_function_dinghy_slide), diff --git a/src/openrct2/ride/water/meta/LogFlume.h b/src/openrct2/ride/water/meta/LogFlume.h index 5c1131847b..e51d2bdc93 100644 --- a/src/openrct2/ride/water/meta/LogFlume.h +++ b/src/openrct2/ride/water/meta/LogFlume.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor LogFlumeRTD = { + SET_FIELD(Category, RIDE_CATEGORY_WATER), 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(TrackPaintFunction, get_track_paint_function_log_flume), diff --git a/src/openrct2/ride/water/meta/RiverRafts.h b/src/openrct2/ride/water/meta/RiverRafts.h index cf4f2c7764..e30ad8f09c 100644 --- a/src/openrct2/ride/water/meta/RiverRafts.h +++ b/src/openrct2/ride/water/meta/RiverRafts.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor RiverRaftsRTD = { + SET_FIELD(Category, RIDE_CATEGORY_WATER), 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(TrackPaintFunction, get_track_paint_function_splash_boats), diff --git a/src/openrct2/ride/water/meta/RiverRapids.h b/src/openrct2/ride/water/meta/RiverRapids.h index b999a34b81..4def16b2fb 100644 --- a/src/openrct2/ride/water/meta/RiverRapids.h +++ b/src/openrct2/ride/water/meta/RiverRapids.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor RiverRapidsRTD = { + SET_FIELD(Category, RIDE_CATEGORY_WATER), 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(TrackPaintFunction, get_track_paint_function_river_rapids), diff --git a/src/openrct2/ride/water/meta/SplashBoats.h b/src/openrct2/ride/water/meta/SplashBoats.h index 4d037d5b7a..05edc73697 100644 --- a/src/openrct2/ride/water/meta/SplashBoats.h +++ b/src/openrct2/ride/water/meta/SplashBoats.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor SplashBoatsRTD = { + SET_FIELD(Category, RIDE_CATEGORY_WATER), 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(TrackPaintFunction, get_track_paint_function_splash_boats), diff --git a/src/openrct2/ride/water/meta/SubmarineRide.h b/src/openrct2/ride/water/meta/SubmarineRide.h index 2c2b738ced..da00f07797 100644 --- a/src/openrct2/ride/water/meta/SubmarineRide.h +++ b/src/openrct2/ride/water/meta/SubmarineRide.h @@ -15,6 +15,7 @@ // clang-format off constexpr const RideTypeDescriptor SubmarineRideRTD = { + SET_FIELD(Category, RIDE_CATEGORY_WATER), 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(TrackPaintFunction, get_track_paint_function_submarine_ride), diff --git a/src/openrct2/ride/water/meta/WaterCoaster.h b/src/openrct2/ride/water/meta/WaterCoaster.h deleted file mode 100644 index 1e277311eb..0000000000 --- a/src/openrct2/ride/water/meta/WaterCoaster.h +++ /dev/null @@ -1,22 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014-2020 OpenRCT2 developers - * - * For a complete list of all authors, please refer to contributors.md - * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2 - * - * OpenRCT2 is licensed under the GNU General Public License version 3. - *****************************************************************************/ - -#pragma once - -#include "../../RideData.h" -#include "../../Track.h" - -// clang-format off -constexpr const RideTypeDescriptor ShopRTD = -{ - SET_FIELD(EnabledTrackPieces, 0), - SET_FIELD(ExtraTrackPieces, 0), - SET_FIELD(TrackPaintFunction, get_track_paint_function_water_rc), -}; -// clang-format on