mirror of https://github.com/OpenRCT2/OpenRCT2.git
Move category to RTD; move RideTypeIsIndependent to a flag
This commit is contained in:
parent
c41fb64535
commit
5d3bf2be20
|
@ -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))
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
};
|
||||
|
|
|
@ -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<const char*> 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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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
|
Loading…
Reference in New Issue