mirror of https://github.com/OpenRCT2/OpenRCT2.git
Refactor track paint functions and available pieces in RTD
This commit is contained in:
parent
b5fdcf9a17
commit
96c9b7d85d
|
@ -3377,10 +3377,10 @@ static_assert(std::size(RatingNames) == 6);
|
|||
| (1uLL << WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX));
|
||||
|
||||
// Sometimes, only one of the alternatives support lift hill pieces. Make sure to check both.
|
||||
bool hasAlternativeType = ride->GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE);
|
||||
if (ride->GetRideTypeDescriptor().SupportsTrackPiece(TRACK_LIFT_HILL)
|
||||
|| (hasAlternativeType
|
||||
&& GetRideTypeDescriptor(ride->GetRideTypeDescriptor().AlternateType).SupportsTrackPiece(TRACK_LIFT_HILL)))
|
||||
const auto& rtd = ride->GetRideTypeDescriptor();
|
||||
bool hasAlternativeType = rtd.HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE);
|
||||
if (rtd.TrackPaintFunctions.Regular.SupportsTrackPiece(TRACK_LIFT_HILL)
|
||||
|| (hasAlternativeType && rtd.InvertedTrackPaintFunctions.SupportsTrackPiece(TRACK_LIFT_HILL)))
|
||||
{
|
||||
widgets[WIDX_LIFT_HILL_SPEED_LABEL].type = WindowWidgetType::Label;
|
||||
widgets[WIDX_LIFT_HILL_SPEED].type = WindowWidgetType::Spinner;
|
||||
|
|
|
@ -181,12 +181,6 @@ static Widget _rideConstructionWidgets[] = {
|
|||
|
||||
static void WindowRideConstructionMouseUpDemolishNextPiece(const CoordsXYZD& piecePos, int32_t type);
|
||||
|
||||
static int32_t RideGetAlternativeType(const Ride& ride)
|
||||
{
|
||||
return (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE) ? ride.GetRideTypeDescriptor().AlternateType
|
||||
: ride.type;
|
||||
}
|
||||
|
||||
/* move to ride.c */
|
||||
static void CloseRideWindowForConstruction(RideId rideId)
|
||||
{
|
||||
|
@ -312,8 +306,8 @@ static Widget _rideConstructionWidgets[] = {
|
|||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int32_t rideType = RideGetAlternativeType(*currentRide);
|
||||
const auto& rtd = currentRide->GetRideTypeDescriptor();
|
||||
const auto currentTrackDrawerDescriptor = getCurrentTrackDrawerDescriptor(rtd);
|
||||
|
||||
uint64_t disabledWidgets = 0;
|
||||
|
||||
|
@ -863,7 +857,7 @@ static Widget _rideConstructionWidgets[] = {
|
|||
disabledWidgets |= (1uLL << WIDX_CONSTRUCT);
|
||||
}
|
||||
}
|
||||
if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES))
|
||||
if (currentTrackDrawerDescriptor.HasCoveredPieces())
|
||||
{
|
||||
disabledWidgets &= ~(1uLL << WIDX_BANKING_GROUPBOX);
|
||||
}
|
||||
|
@ -1596,10 +1590,12 @@ static Widget _rideConstructionWidgets[] = {
|
|||
{
|
||||
return;
|
||||
}
|
||||
int32_t rideType = RideGetAlternativeType(*currentRide);
|
||||
|
||||
const auto& rtd = GetRideTypeDescriptor(currentRide->type);
|
||||
auto trackDrawerDescriptor = getCurrentTrackDrawerDescriptor(rtd);
|
||||
|
||||
hold_down_widgets = 0;
|
||||
if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_IS_SHOP_OR_FACILITY) || !currentRide->HasStation())
|
||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_SHOP_OR_FACILITY) || !currentRide->HasStation())
|
||||
{
|
||||
widgets[WIDX_ENTRANCE_EXIT_GROUPBOX].type = WindowWidgetType::Empty;
|
||||
widgets[WIDX_ENTRANCE].type = WindowWidgetType::Empty;
|
||||
|
@ -1677,7 +1673,7 @@ static Widget _rideConstructionWidgets[] = {
|
|||
widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP;
|
||||
widgets[WIDX_SLOPE_UP_STEEP].image = ImageId(SPR_RIDE_CONSTRUCTION_SLOPE_UP_STEEP);
|
||||
widgets[WIDX_SLOPE_UP_STEEP].tooltip = STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP;
|
||||
if (GetRideTypeDescriptor(rideType).SupportsTrackPiece(TRACK_REVERSE_FREEFALL))
|
||||
if (trackDrawerDescriptor.SupportsTrackPiece(TRACK_REVERSE_FREEFALL))
|
||||
{
|
||||
widgets[WIDX_LEVEL].type = WindowWidgetType::FlatBtn;
|
||||
widgets[WIDX_SLOPE_UP].type = WindowWidgetType::FlatBtn;
|
||||
|
@ -1699,7 +1695,7 @@ static Widget _rideConstructionWidgets[] = {
|
|||
{
|
||||
// Enable helix
|
||||
widgets[WIDX_SLOPE_DOWN_STEEP].type = WindowWidgetType::FlatBtn;
|
||||
if (rideType != RIDE_TYPE_SPLASH_BOATS && rideType != RIDE_TYPE_RIVER_RAFTS)
|
||||
if (currentRide->type != RIDE_TYPE_SPLASH_BOATS && currentRide->type != RIDE_TYPE_RIVER_RAFTS)
|
||||
widgets[WIDX_SLOPE_UP_STEEP].type = WindowWidgetType::FlatBtn;
|
||||
}
|
||||
}
|
||||
|
@ -1865,7 +1861,6 @@ static Widget _rideConstructionWidgets[] = {
|
|||
|| _selectedTrackType > TrackElemType::HighestAlias
|
||||
|| _currentTrackCurve > (RideConstructionSpecialPieceSelected | TrackElemType::HighestAlias);
|
||||
|
||||
const auto& rtd = GetRideTypeDescriptor(rideType);
|
||||
bool rideHasSeatRotation = rtd.HasFlag(RIDE_TYPE_FLAG_HAS_SEAT_ROTATION);
|
||||
|
||||
if (!trackHasSpeedSetting)
|
||||
|
@ -1876,33 +1871,42 @@ static Widget _rideConstructionWidgets[] = {
|
|||
widgets[WIDX_BANK_STRAIGHT].type = WindowWidgetType::FlatBtn;
|
||||
widgets[WIDX_BANK_RIGHT].type = WindowWidgetType::FlatBtn;
|
||||
}
|
||||
if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES))
|
||||
if (trackDrawerDescriptor.HasCoveredPieces())
|
||||
{
|
||||
if (rideType == RIDE_TYPE_WATER_COASTER)
|
||||
{
|
||||
widgets[WIDX_U_TRACK].image = ImageId(SPR_RIDE_CONSTRUCTION_RC_TRACK);
|
||||
widgets[WIDX_O_TRACK].image = ImageId(SPR_RIDE_CONSTRUCTION_WATER_CHANNEL);
|
||||
widgets[WIDX_U_TRACK].tooltip = STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP;
|
||||
widgets[WIDX_O_TRACK].tooltip = STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP;
|
||||
if ((_currentTrackCurve < EnumValue(TrackCurve::LeftSmall)
|
||||
|| _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::SBendLeft)
|
||||
|| _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::SBendRight))
|
||||
&& _currentTrackPitchEnd == TrackPitch::None && _currentTrackRollEnd == TrackRoll::None)
|
||||
{
|
||||
widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE;
|
||||
widgets[WIDX_U_TRACK].type = WindowWidgetType::FlatBtn;
|
||||
widgets[WIDX_O_TRACK].type = WindowWidgetType::FlatBtn;
|
||||
}
|
||||
}
|
||||
else
|
||||
widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE;
|
||||
widgets[WIDX_U_TRACK].type = WindowWidgetType::FlatBtn;
|
||||
widgets[WIDX_O_TRACK].type = WindowWidgetType::FlatBtn;
|
||||
|
||||
if (rtd.Category == RIDE_CATEGORY_WATER)
|
||||
{
|
||||
widgets[WIDX_U_TRACK].image = ImageId(SPR_RIDE_CONSTRUCTION_U_SHAPED_TRACK);
|
||||
widgets[WIDX_O_TRACK].image = ImageId(SPR_RIDE_CONSTRUCTION_O_SHAPED_TRACK);
|
||||
widgets[WIDX_U_TRACK].tooltip = STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP;
|
||||
widgets[WIDX_O_TRACK].tooltip = STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP;
|
||||
widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE;
|
||||
widgets[WIDX_U_TRACK].type = WindowWidgetType::FlatBtn;
|
||||
widgets[WIDX_O_TRACK].type = WindowWidgetType::FlatBtn;
|
||||
}
|
||||
else
|
||||
{
|
||||
widgets[WIDX_U_TRACK].image = ImageId(SPR_RIDE_CONSTRUCTION_RC_TRACK);
|
||||
widgets[WIDX_O_TRACK].image = ImageId(SPR_RIDE_CONSTRUCTION_WATER_CHANNEL);
|
||||
widgets[WIDX_U_TRACK].tooltip = STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP;
|
||||
widgets[WIDX_O_TRACK].tooltip = STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP;
|
||||
}
|
||||
|
||||
// TODO: Read these from the TrackDrawerEntry
|
||||
if (currentRide->type == RIDE_TYPE_WATER_COASTER)
|
||||
{
|
||||
const bool hasCoveredVersion = (_currentTrackCurve < EnumValue(TrackCurve::LeftSmall)
|
||||
|| _currentTrackCurve
|
||||
== (RideConstructionSpecialPieceSelected | TrackElemType::SBendLeft)
|
||||
|| _currentTrackCurve
|
||||
== (RideConstructionSpecialPieceSelected
|
||||
| TrackElemType::SBendRight))
|
||||
&& _currentTrackPitchEnd == TrackPitch::None && _currentTrackRollEnd == TrackRoll::None;
|
||||
if (!hasCoveredVersion)
|
||||
{
|
||||
widgets[WIDX_U_TRACK].type = WindowWidgetType::Empty;
|
||||
widgets[WIDX_O_TRACK].type = WindowWidgetType::Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1986,7 +1990,7 @@ static Widget _rideConstructionWidgets[] = {
|
|||
widgets[WIDX_CONSTRUCT].type = WindowWidgetType::Empty;
|
||||
widgets[WIDX_DEMOLISH].type = WindowWidgetType::FlatBtn;
|
||||
widgets[WIDX_ROTATE].type = WindowWidgetType::Empty;
|
||||
if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS))
|
||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS))
|
||||
{
|
||||
widgets[WIDX_PREVIOUS_SECTION].type = WindowWidgetType::Empty;
|
||||
widgets[WIDX_NEXT_SECTION].type = WindowWidgetType::Empty;
|
||||
|
@ -2085,7 +2089,7 @@ static Widget _rideConstructionWidgets[] = {
|
|||
|
||||
if (!_currentlyShowingBrakeOrBoosterSpeed)
|
||||
{
|
||||
if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES))
|
||||
if (trackDrawerDescriptor.HasCoveredPieces())
|
||||
{
|
||||
if (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_PIECES)
|
||||
{
|
||||
|
@ -3067,8 +3071,8 @@ static Widget _rideConstructionWidgets[] = {
|
|||
if (rideEntry == nullptr)
|
||||
return;
|
||||
|
||||
int32_t rideType = RideGetAlternativeType(*ride);
|
||||
UpdateEnabledRidePieces(rideType);
|
||||
auto trackDrawerDescriptor = getCurrentTrackDrawerDescriptor(ride->GetRideTypeDescriptor());
|
||||
UpdateEnabledRidePieces(trackDrawerDescriptor);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1668,3 +1668,16 @@ ResultWithMessage RideAreAllPossibleEntrancesAndExitsBuilt(const Ride& ride)
|
|||
}
|
||||
return { true };
|
||||
}
|
||||
|
||||
TrackDrawerDescriptor getCurrentTrackDrawerDescriptor(const RideTypeDescriptor& rtd)
|
||||
{
|
||||
const bool isInverted = _currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE;
|
||||
return getTrackDrawerDescriptor(rtd, isInverted);
|
||||
}
|
||||
|
||||
TrackDrawerEntry getCurrentTrackDrawerEntry(const RideTypeDescriptor& rtd)
|
||||
{
|
||||
const bool isInverted = _currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE;
|
||||
const bool isCovered = _currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_PIECES;
|
||||
return getTrackDrawerEntry(rtd, isInverted, isCovered);
|
||||
}
|
||||
|
|
|
@ -22,6 +22,9 @@ using track_type_t = uint16_t;
|
|||
|
||||
struct TileElement;
|
||||
struct CoordsXYE;
|
||||
struct RideTypeDescriptor;
|
||||
struct TrackDrawerDescriptor;
|
||||
struct TrackDrawerEntry;
|
||||
|
||||
enum class RideConstructionState : uint8_t
|
||||
{
|
||||
|
@ -92,3 +95,6 @@ bool RideSelectBackwardsFromFront();
|
|||
bool RideSelectForwardsFromBack();
|
||||
|
||||
void RideConstructionStart(Ride& ride);
|
||||
|
||||
TrackDrawerDescriptor getCurrentTrackDrawerDescriptor(const RideTypeDescriptor& rtd);
|
||||
TrackDrawerEntry getCurrentTrackDrawerEntry(const RideTypeDescriptor& rtd);
|
||||
|
|
|
@ -307,15 +307,15 @@ constexpr RideTypeDescriptor RideTypeDescriptors[RIDE_TYPE_COUNT] = {
|
|||
/* RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER */ SideFrictionRollerCoasterRTD,
|
||||
/* RIDE_TYPE_STEEL_WILD_MOUSE */ SteelWildMouseRTD,
|
||||
/* RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER */ MultiDimensionRollerCoasterRTD,
|
||||
/* RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT */ MultiDimensionRollerCoasterAltRTD,
|
||||
/* RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT */ MultiDimensionRollerCoasterRTD,
|
||||
/* RIDE_TYPE_FLYING_ROLLER_COASTER */ FlyingRollerCoasterRTD,
|
||||
/* RIDE_TYPE_FLYING_ROLLER_COASTER_ALT */ FlyingRollerCoasterAltRTD,
|
||||
/* RIDE_TYPE_FLYING_ROLLER_COASTER_ALT */ FlyingRollerCoasterRTD,
|
||||
/* RIDE_TYPE_VIRGINIA_REEL */ VirginiaReelRTD,
|
||||
/* RIDE_TYPE_SPLASH_BOATS */ SplashBoatsRTD,
|
||||
/* RIDE_TYPE_MINI_HELICOPTERS */ MiniHelicoptersRTD,
|
||||
/* RIDE_TYPE_LAY_DOWN_ROLLER_COASTER */ LayDownRollerCoasterRTD,
|
||||
/* RIDE_TYPE_SUSPENDED_MONORAIL */ SuspendedMonorailRTD,
|
||||
/* RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT */ LayDownRollerCoasterAltRTD,
|
||||
/* RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT */ LayDownRollerCoasterRTD,
|
||||
/* RIDE_TYPE_REVERSER_ROLLER_COASTER */ ReverserRollerCoasterRTD,
|
||||
/* RIDE_TYPE_HEARTLINE_TWISTER_COASTER */ HeartlineTwisterCoasterRTD,
|
||||
/* RIDE_TYPE_MINI_GOLF */ MiniGolfRTD,
|
||||
|
@ -359,17 +359,9 @@ bool RideTypeDescriptor::HasFlag(uint64_t flag) const
|
|||
return Flags & flag;
|
||||
}
|
||||
|
||||
void RideTypeDescriptor::GetAvailableTrackPieces(RideTrackGroup& res) const
|
||||
{
|
||||
res = EnabledTrackPieces;
|
||||
if (GetGameState().Cheats.EnableAllDrawableTrackPieces)
|
||||
res |= ExtraTrackPieces;
|
||||
}
|
||||
|
||||
bool RideTypeDescriptor::SupportsTrackPiece(const uint64_t trackPiece) const
|
||||
{
|
||||
return EnabledTrackPieces.get(trackPiece)
|
||||
|| (GetGameState().Cheats.EnableAllDrawableTrackPieces && ExtraTrackPieces.get(trackPiece));
|
||||
return TrackPaintFunctions.Regular.SupportsTrackPiece(trackPiece);
|
||||
}
|
||||
|
||||
ResearchCategory RideTypeDescriptor::GetResearchCategory() const
|
||||
|
@ -408,9 +400,9 @@ bool IsTrackEnabled(int32_t trackFlagIndex)
|
|||
return _enabledRidePieces.get(trackFlagIndex);
|
||||
}
|
||||
|
||||
void UpdateEnabledRidePieces(ride_type_t rideType)
|
||||
void UpdateEnabledRidePieces(TrackDrawerDescriptor trackDrawerDescriptor)
|
||||
{
|
||||
GetRideTypeDescriptor(rideType).GetAvailableTrackPieces(_enabledRidePieces);
|
||||
trackDrawerDescriptor.Regular.GetAvailableTrackPieces(_enabledRidePieces);
|
||||
|
||||
if (!GetGameState().Cheats.EnableAllDrawableTrackPieces)
|
||||
{
|
||||
|
@ -422,3 +414,43 @@ void UpdateDisabledRidePieces(const RideTrackGroup& res)
|
|||
{
|
||||
_disabledRidePieces = res;
|
||||
}
|
||||
|
||||
void TrackDrawerEntry::GetAvailableTrackPieces(RideTrackGroup& res) const
|
||||
{
|
||||
res = EnabledTrackPieces;
|
||||
if (GetGameState().Cheats.EnableAllDrawableTrackPieces)
|
||||
res |= ExtraTrackPieces;
|
||||
}
|
||||
|
||||
bool TrackDrawerEntry::SupportsTrackPiece(const uint64_t trackPiece) const
|
||||
{
|
||||
return EnabledTrackPieces.get(trackPiece)
|
||||
|| (GetGameState().Cheats.EnableAllDrawableTrackPieces && ExtraTrackPieces.get(trackPiece));
|
||||
}
|
||||
|
||||
bool TrackDrawerDescriptor::HasCoveredPieces() const
|
||||
{
|
||||
return Covered.EnabledTrackPieces.count() > 0;
|
||||
}
|
||||
|
||||
bool TrackDrawerDescriptor::SupportsTrackPiece(const uint64_t trackPiece) const
|
||||
{
|
||||
return Regular.SupportsTrackPiece(trackPiece);
|
||||
}
|
||||
|
||||
TrackDrawerDescriptor getTrackDrawerDescriptor(const RideTypeDescriptor& rtd, bool isInverted)
|
||||
{
|
||||
return isInverted ? rtd.InvertedTrackPaintFunctions : rtd.TrackPaintFunctions;
|
||||
}
|
||||
|
||||
TrackDrawerEntry getTrackDrawerEntry(const RideTypeDescriptor& rtd, bool isInverted, bool isCovered)
|
||||
{
|
||||
auto descriptor = getTrackDrawerDescriptor(rtd, isInverted);
|
||||
|
||||
if (isCovered)
|
||||
{
|
||||
return descriptor.Covered;
|
||||
}
|
||||
|
||||
return descriptor.Regular;
|
||||
}
|
||||
|
|
|
@ -267,37 +267,50 @@ enum class RideConstructionWindowContext : uint8_t
|
|||
Maze,
|
||||
};
|
||||
|
||||
struct TrackDrawerEntry
|
||||
{
|
||||
TRACK_PAINT_FUNCTION_GETTER Drawer = nullptr;
|
||||
/** rct2: 0x0097C468 (0 - 31) and 0x0097C5D4 (32 - 63) */
|
||||
RideTrackGroup EnabledTrackPieces{};
|
||||
// Pieces that this ride type _can_ draw, but are disabled because their vehicles lack the relevant sprites,
|
||||
// or because they are not realistic for the ride type (e.g. LIM boosters in Mini Roller Coasters).
|
||||
RideTrackGroup ExtraTrackPieces{};
|
||||
|
||||
void GetAvailableTrackPieces(RideTrackGroup& res) const;
|
||||
bool SupportsTrackPiece(const uint64_t trackPiece) const;
|
||||
};
|
||||
|
||||
struct TrackDrawerDescriptor
|
||||
{
|
||||
TRACK_PAINT_FUNCTION_GETTER Regular;
|
||||
TRACK_PAINT_FUNCTION_GETTER Covered;
|
||||
TrackDrawerEntry Regular{};
|
||||
TrackDrawerEntry Covered{};
|
||||
|
||||
constexpr TrackDrawerDescriptor(TRACK_PAINT_FUNCTION_GETTER function)
|
||||
constexpr TrackDrawerDescriptor()
|
||||
{
|
||||
}
|
||||
|
||||
constexpr TrackDrawerDescriptor(TrackDrawerEntry function)
|
||||
: Regular(function)
|
||||
, Covered(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
constexpr TrackDrawerDescriptor(TRACK_PAINT_FUNCTION_GETTER functionRegular, TRACK_PAINT_FUNCTION_GETTER functionCovered)
|
||||
: Regular(functionRegular)
|
||||
, Covered(functionCovered)
|
||||
constexpr TrackDrawerDescriptor(TrackDrawerEntry entryRegular, TrackDrawerEntry entryCovered)
|
||||
: Regular(entryRegular)
|
||||
, Covered(entryCovered)
|
||||
{
|
||||
}
|
||||
|
||||
bool HasCoveredPieces() const;
|
||||
bool SupportsTrackPiece(const uint64_t trackPiece) const;
|
||||
};
|
||||
|
||||
struct RideTypeDescriptor
|
||||
{
|
||||
uint8_t AlternateType;
|
||||
uint8_t Category;
|
||||
/** rct2: 0x0097C468 (0 - 31) and 0x0097C5D4 (32 - 63) */
|
||||
RideTrackGroup EnabledTrackPieces;
|
||||
// Pieces that this ride type _can_ draw, but are disabled because their vehicles lack the relevant sprites,
|
||||
// or because they are not realistic for the ride type (e.g. LIM boosters in Mini Roller Coasters).
|
||||
RideTrackGroup ExtraTrackPieces;
|
||||
RideTrackGroup CoveredTrackPieces;
|
||||
/** rct2: 0x0097CC68 */
|
||||
track_type_t StartTrackPiece;
|
||||
TrackDrawerDescriptor TrackPaintFunctions;
|
||||
TrackDrawerDescriptor TrackPaintFunctions{};
|
||||
TrackDrawerDescriptor InvertedTrackPaintFunctions{};
|
||||
uint64_t Flags;
|
||||
/** rct2: 0x0097C8AC */
|
||||
uint64_t RideModes;
|
||||
|
@ -358,7 +371,7 @@ struct RideTypeDescriptor
|
|||
UpdateRideApproachVehicleWaypointsFunction UpdateRideApproachVehicleWaypoints = UpdateRideApproachVehicleWaypointsDefault;
|
||||
|
||||
bool HasFlag(uint64_t flag) const;
|
||||
void GetAvailableTrackPieces(RideTrackGroup& res) const;
|
||||
/** @deprecated */
|
||||
bool SupportsTrackPiece(const uint64_t trackPiece) const;
|
||||
ResearchCategory GetResearchCategory() const;
|
||||
bool SupportsRideMode(RideMode rideMode) const;
|
||||
|
@ -388,9 +401,10 @@ enum ride_type_flags : uint64_t
|
|||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING = (1uLL << 9),
|
||||
RIDE_TYPE_FLAG_HAS_DROPS = (1uLL << 10),
|
||||
RIDE_TYPE_FLAG_NO_TEST_MODE = (1uLL << 11),
|
||||
RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES = (1uLL << 12), // used by rides with two varieties, like the u and o
|
||||
// shapes of the dinghy slide and the dry and submerged
|
||||
// track of the water coaster
|
||||
RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES = (1uLL << 12), // set on rides with two varieties,
|
||||
// like the u and o shapes of the dinghy slide
|
||||
// and the dry and submerged track of the water
|
||||
// coaster
|
||||
RIDE_TYPE_FLAG_NO_VEHICLES = (1uLL << 13), // used only by maze, spiral slide and shops
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS = (1uLL << 14),
|
||||
RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL = (1uLL << 16), // Set by flat rides where the vehicle is integral to the structure, like
|
||||
|
@ -517,13 +531,10 @@ extern const StringId RideModeNames[EnumValue(RideMode::Count)];
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor DummyRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_NONE,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(nullptr),
|
||||
.TrackPaintFunctions = {},
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = 0,
|
||||
.RideModes = EnumsToFlags(RideMode::ContinuousCircuit),
|
||||
.DefaultMode = RideMode::ContinuousCircuit,
|
||||
|
@ -581,5 +592,8 @@ constexpr bool RideTypeIsValid(ObjectEntryIndex rideType)
|
|||
}
|
||||
|
||||
bool IsTrackEnabled(int32_t trackFlagIndex);
|
||||
void UpdateEnabledRidePieces(ride_type_t rideType);
|
||||
void UpdateEnabledRidePieces(TrackDrawerDescriptor trackDrawerDescriptor);
|
||||
void UpdateDisabledRidePieces(const RideTrackGroup& res);
|
||||
|
||||
TrackDrawerDescriptor getTrackDrawerDescriptor(const RideTypeDescriptor& rtd, bool isInverted);
|
||||
TrackDrawerEntry getTrackDrawerEntry(const RideTypeDescriptor& rtd, bool isInverted = false, bool isCovered = false);
|
||||
|
|
|
@ -2309,21 +2309,12 @@ void PaintTrack(PaintSession& session, Direction direction, int32_t height, cons
|
|||
}
|
||||
|
||||
const auto& rtd = GetRideTypeDescriptor(trackElement.GetRideType());
|
||||
auto paintFunctions = rtd.TrackPaintFunctions;
|
||||
TRACK_PAINT_FUNCTION_GETTER paintFunctionGetter;
|
||||
if (TrackElementIsCovered(trackType))
|
||||
const auto trackDrawerEntry = getTrackDrawerEntry(rtd, trackElement.IsInverted(), TrackElementIsCovered(trackType));
|
||||
|
||||
if (trackDrawerEntry.Drawer != nullptr)
|
||||
{
|
||||
trackType = UncoverTrackElement(trackType);
|
||||
paintFunctionGetter = paintFunctions.Covered;
|
||||
}
|
||||
else
|
||||
{
|
||||
paintFunctionGetter = paintFunctions.Regular;
|
||||
}
|
||||
|
||||
if (paintFunctionGetter != nullptr)
|
||||
{
|
||||
TRACK_PAINT_FUNCTION paintFunction = paintFunctionGetter(trackType);
|
||||
TRACK_PAINT_FUNCTION paintFunction = trackDrawerEntry.Drawer(trackType);
|
||||
if (paintFunction != nullptr)
|
||||
{
|
||||
paintFunction(session, *ride, trackSequence, direction, height, trackElement);
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor AirPoweredVerticalCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL_STEEP, TRACK_LIFT_HILL_CURVE, TRACK_FLAT_ROLL_BANKING, TRACK_CURVE, TRACK_BRAKES, TRACK_REVERSE_FREEFALL, TRACK_SLOPE_TO_FLAT, TRACK_ON_RIDE_PHOTO},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionAirPoweredVerticalRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionAirPoweredVerticalRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL_STEEP, TRACK_LIFT_HILL_CURVE, TRACK_FLAT_ROLL_BANKING, TRACK_CURVE, TRACK_BRAKES, TRACK_REVERSE_FREEFALL, TRACK_SLOPE_TO_FLAT, TRACK_ON_RIDE_PHOTO},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES,
|
||||
.RideModes = EnumsToFlags(RideMode::PoweredLaunchPasstrough, RideMode::PoweredLaunch),
|
||||
.DefaultMode = RideMode::PoweredLaunchPasstrough,
|
||||
|
|
|
@ -15,13 +15,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor AlpineCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = { TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF},
|
||||
.ExtraTrackPieces = {TRACK_HELIX_UP_BANKED_HALF},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(AlpineRC::GetTrackPaintFunction),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = AlpineRC::GetTrackPaintFunction,
|
||||
.EnabledTrackPieces = { TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF},
|
||||
.ExtraTrackPieces = {TRACK_HELIX_UP_BANKED_HALF},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS |
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN
|
||||
| RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor BobsleighCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE,TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES,TRACK_BLOCK_BRAKES, TRACK_ON_RIDE_PHOTO},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionBobsleighRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionBobsleighRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE,TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES,TRACK_BLOCK_BRAKES, TRACK_ON_RIDE_PHOTO},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES |
|
||||
RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS,
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor ClassicMiniRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_CURVE, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_BLOCK_BRAKES, TRACK_BOOSTER, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_ON_RIDE_PHOTO},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionJuniorRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionJuniorRC,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_CURVE, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_BLOCK_BRAKES, TRACK_BOOSTER, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_ON_RIDE_PHOTO},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_ALLOW_DOORS_ON_TRACK | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor ClassicStandUpRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionClassicStandUpRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionClassicStandUpRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor ClassicWoodenRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_WATER_SPLASH, TRACK_BLOCK_BRAKES, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = 0,
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionClassicWoodenRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionClassicWoodenRC,
|
||||
.EnabledTrackPieces = {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_WATER_SPLASH, TRACK_BLOCK_BRAKES, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor CompactInvertedCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_TWIST, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_QUARTER, TRACK_HELIX_UP_BANKED_QUARTER, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionCompactInvertedRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionCompactInvertedRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_TWIST, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_QUARTER, TRACK_HELIX_UP_BANKED_QUARTER, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_IS_SUSPENDED,
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor CorkscrewRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES,TRACK_BOOSTER, TRACK_SLOPE_STEEP_LONG, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_TWIST},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionCorkscrewRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionCorkscrewRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES,TRACK_BOOSTER, TRACK_SLOPE_STEEP_LONG, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_TWIST},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -18,13 +18,18 @@
|
|||
// Non-inverted variant
|
||||
constexpr RideTypeDescriptor FlyingRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_FLYING_ROLLER_COASTER_ALT,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_INLINE_TWIST_UNINVERTED, TRACK_FLYING_HALF_LOOP_UNINVERTED_UP, TRACK_QUARTER_LOOP_UNINVERTED_UP, TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_UP, TRACK_SLOPE_VERTICAL, TRACK_SLOPE_CURVE_BANKED, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER, TRACK_SLOPE_STEEP_LONG, TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_DOWN, TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN, TRACK_STATION_END, TRACK_VERTICAL_LOOP, TRACK_POWERED_LIFT},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionFlyingRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionFlyingRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_INLINE_TWIST_UNINVERTED, TRACK_FLYING_HALF_LOOP_UNINVERTED_UP, TRACK_QUARTER_LOOP_UNINVERTED_UP, TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_UP, TRACK_SLOPE_VERTICAL, TRACK_SLOPE_CURVE_BANKED, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER, TRACK_SLOPE_STEEP_LONG, TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_DOWN, TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN, TRACK_STATION_END, TRACK_VERTICAL_LOOP, TRACK_POWERED_LIFT},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionFlyingRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_QUARTER, TRACK_HELIX_UP_BANKED_QUARTER, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_INLINE_TWIST_INVERTED, TRACK_FLYING_HALF_LOOP_INVERTED_DOWN, TRACK_QUARTER_LOOP_INVERTED_DOWN, TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_DOWN, TRACK_BOOSTER, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_UP, TRACK_FLYING_HALF_LOOP_INVERTED_UP},
|
||||
}),
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES |
|
||||
|
@ -86,70 +91,4 @@ constexpr RideTypeDescriptor FlyingRollerCoasterRTD =
|
|||
},
|
||||
},
|
||||
};
|
||||
|
||||
// Inverted variant
|
||||
constexpr RideTypeDescriptor FlyingRollerCoasterAltRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_NONE,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_QUARTER, TRACK_HELIX_UP_BANKED_QUARTER, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_INLINE_TWIST_INVERTED, TRACK_FLYING_HALF_LOOP_INVERTED_DOWN, TRACK_QUARTER_LOOP_INVERTED_DOWN, TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_DOWN, TRACK_BOOSTER, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_UP, TRACK_FLYING_HALF_LOOP_INVERTED_UP},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(nullptr),
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED,
|
||||
.RideModes = EnumsToFlags(RideMode::ContinuousCircuit, RideMode::ContinuousCircuitBlockSectioned),
|
||||
.DefaultMode = RideMode::ContinuousCircuit,
|
||||
.OperatingSettings = { 10, 27, 30, 25, 25, 0 },
|
||||
.Naming = { STR_RIDE_NAME_3A, STR_RIDE_DESCRIPTION_UNKNOWN },
|
||||
.NameConvention = { RideComponentType::Train, RideComponentType::Track, RideComponentType::Station },
|
||||
.EnumName = nameof(RIDE_TYPE_FLYING_ROLLER_COASTER_ALT),
|
||||
.AvailableBreakdowns = (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE),
|
||||
.Heights = { 30, 24, 8, 11, },
|
||||
.MaxMass = 35,
|
||||
.LiftData = { OpenRCT2::Audio::SoundId::LiftBM, 4, 6 },
|
||||
.RatingsMultipliers = { 50, 30, 10 },
|
||||
.UpkeepCosts = { 49, 20, 90, 11, 3, 15 },
|
||||
.BuildCosts = { 62.50_GBP, 2.50_GBP, 50, },
|
||||
.DefaultPrices = { 20, 20 },
|
||||
.DefaultMusic = MUSIC_OBJECT_ROCK_1,
|
||||
.PhotoItem = ShopItem::Photo2,
|
||||
.BonusValue = 100,
|
||||
.ColourPresets = TRACK_COLOUR_PRESETS(
|
||||
{ COLOUR_OLIVE_GREEN, COLOUR_OLIVE_GREEN, COLOUR_TEAL },
|
||||
{ COLOUR_TEAL, COLOUR_TEAL, COLOUR_BORDEAUX_RED },
|
||||
{ COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_DARK_PURPLE },
|
||||
),
|
||||
.ColourPreview = { SPR_RIDE_DESIGN_PREVIEW_FLYING_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_FLYING_ROLLER_COASTER_SUPPORTS },
|
||||
.ColourKey = RideColourKey::Ride,
|
||||
.Name = "flying_rc_alt",
|
||||
.RatingsData =
|
||||
{
|
||||
RatingsCalculationType::Normal,
|
||||
{ RIDE_RATING(4, 35), RIDE_RATING(1, 85), RIDE_RATING(4, 33) },
|
||||
17,
|
||||
-1,
|
||||
false,
|
||||
{
|
||||
{ RatingsModifierType::BonusLength, 6000, 764, 0, 0 },
|
||||
{ RatingsModifierType::BonusSynchronisation, 0, RIDE_RATING(0, 40), RIDE_RATING(0, 05), 0 },
|
||||
{ RatingsModifierType::BonusTrainLength, 0, 187245, 0, 0 },
|
||||
{ RatingsModifierType::BonusMaxSpeed, 0, 44281, 88562, 35424 },
|
||||
{ RatingsModifierType::BonusAverageSpeed, 0, 291271, 436906, 0 },
|
||||
{ RatingsModifierType::BonusDuration, 150, 26214, 0, 0 },
|
||||
{ RatingsModifierType::BonusGForces, 0, 24576, 38130, 49648 },
|
||||
{ RatingsModifierType::BonusTurns, 0, 26749, 34767, 45749 },
|
||||
{ RatingsModifierType::BonusDrops, 0, 29127, 46811, 49152 },
|
||||
{ RatingsModifierType::BonusSheltered, 0, 15420, 32768, 35108 },
|
||||
{ RatingsModifierType::BonusProximity, 0, 20130, 0, 0 },
|
||||
{ RatingsModifierType::BonusScenery, 0, 6693, 0, 0 },
|
||||
{ RatingsModifierType::RequirementInversions, 1, 2, 1, 1 },
|
||||
{ RatingsModifierType::RequirementMaxSpeed, 0xA0000, 2, 1, 1 },
|
||||
{ RatingsModifierType::RequirementNegativeGs, FIXED_2DP(0, 40), 2, 1, 1 },
|
||||
{ RatingsModifierType::RequirementNumDrops, 2, 2, 1, 1 },
|
||||
{ RatingsModifierType::PenaltyLateralGs, 0, 24576, 38130, 49648 },
|
||||
},
|
||||
},
|
||||
};
|
||||
// clang-format on
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor GigaCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_BOOSTER, TRACK_POWERED_LIFT, TRACK_SLOPE_CURVE_BANKED, TRACK_SLOPE_CURVE_LARGE, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES, TRACK_SLOPE_VERTICAL, TRACK_CURVE_VERTICAL},
|
||||
.ExtraTrackPieces = {TRACK_BARREL_ROLL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_VERTICAL_LOOP, TRACK_CORKSCREW, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionGigaRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionGigaRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_BOOSTER, TRACK_POWERED_LIFT, TRACK_SLOPE_CURVE_BANKED, TRACK_SLOPE_CURVE_LARGE, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES, TRACK_SLOPE_VERTICAL, TRACK_CURVE_VERTICAL},
|
||||
.ExtraTrackPieces = {TRACK_BARREL_ROLL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_VERTICAL_LOOP, TRACK_CORKSCREW, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_ALLOW_CABLE_LIFT_HILL |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor HeartlineTwisterCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_HEARTLINE_ROLL, TRACK_HEARTLINE_TRANSFER},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionHeartlineTwisterRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionHeartlineTwisterRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_HEARTLINE_ROLL, TRACK_HEARTLINE_TRANSFER},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES |
|
||||
RIDE_TYPE_FLAG_ALLOW_REVERSED_TRAINS,
|
||||
|
|
|
@ -15,13 +15,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor HybridCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BARREL_ROLL, TRACK_POWERED_LIFT, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE, TRACK_SLOPE_CURVE_LARGE, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(HybridRC::GetTrackPaintFunction),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = HybridRC::GetTrackPaintFunction,
|
||||
.EnabledTrackPieces = {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BARREL_ROLL, TRACK_POWERED_LIFT, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE, TRACK_SLOPE_CURVE_LARGE, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_ALLOW_REVERSED_TRAINS,
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor HyperTwisterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = { TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_SLOPE_VERTICAL, TRACK_CURVE_VERTICAL, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = { TRACK_LIFT_HILL_STEEP, TRACK_BRAKE_FOR_DROP, TRACK_BOOSTER, TRACK_POWERED_LIFT },
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionBolligerMabillard<MetalSupportType::Tubes>),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionBolligerMabillard<MetalSupportType::Tubes>,
|
||||
.EnabledTrackPieces = { TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_SLOPE_VERTICAL, TRACK_CURVE_VERTICAL, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = { TRACK_LIFT_HILL_STEEP, TRACK_BRAKE_FOR_DROP, TRACK_BOOSTER, TRACK_POWERED_LIFT },
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor HypercoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_STEEP_LONG, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_VERTICAL_LOOP, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_BOOSTER},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionCorkscrewRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionCorkscrewRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_STEEP_LONG, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_VERTICAL_LOOP, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_BOOSTER},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor InvertedHairpinCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL, TRACK_BRAKES, TRACK_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionInvertedHairpinRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionInvertedHairpinRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL, TRACK_BRAKES, TRACK_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES |
|
||||
RIDE_TYPE_FLAG_IS_SUSPENDED,
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor InvertedImpulseCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_VERTICAL, TRACK_CURVE_VERTICAL},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionInvertedImpulseRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionInvertedImpulseRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_VERTICAL, TRACK_CURVE_VERTICAL},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES |
|
||||
RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_IS_SUSPENDED |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor InvertedRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_TWIST, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_QUARTER, TRACK_HELIX_UP_BANKED_QUARTER, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_HALF_LOOP_LARGE, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionInvertedRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionInvertedRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_TWIST, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_QUARTER, TRACK_HELIX_UP_BANKED_QUARTER, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_HALF_LOOP_LARGE, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_IS_SUSPENDED |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor JuniorRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL,TRACK_LIFT_HILL_CURVE, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_BLOCK_BRAKES, TRACK_BOOSTER, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_ON_RIDE_PHOTO},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionJuniorRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionJuniorRC,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL,TRACK_LIFT_HILL_CURVE, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_BLOCK_BRAKES, TRACK_BOOSTER, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_ON_RIDE_PHOTO},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_ALLOW_DOORS_ON_TRACK | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor LIMLaunchedRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_TWIST, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_BARREL_ROLL, TRACK_SLOPE_CURVE_BANKED, TRACK_SLOPE_STEEP_LONG, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_CORKSCREW_LARGE},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_LONG, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionLimLaunchedRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionLimLaunchedRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_TWIST, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_BARREL_ROLL, TRACK_SLOPE_CURVE_BANKED, TRACK_SLOPE_STEEP_LONG, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_CORKSCREW_LARGE},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_LONG, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -17,13 +17,22 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor LayDownRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_UNINVERTED, TRACK_FLYING_HALF_LOOP_UNINVERTED_UP, TRACK_CORKSCREW_UNINVERTED, TRACK_SLOPE_STEEP_LONG, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN, TRACK_BOOSTER},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionLayDownRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(
|
||||
{
|
||||
.Drawer = GetTrackPaintFunctionLayDownRC,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_UNINVERTED, TRACK_FLYING_HALF_LOOP_UNINVERTED_UP, TRACK_CORKSCREW_UNINVERTED, TRACK_SLOPE_STEEP_LONG, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES },
|
||||
.ExtraTrackPieces = { TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN, TRACK_BOOSTER },
|
||||
}
|
||||
),
|
||||
.InvertedTrackPaintFunctions = TrackDrawerDescriptor(
|
||||
{
|
||||
.Drawer = GetTrackPaintFunctionLayDownRC,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_QUARTER, TRACK_HELIX_UP_BANKED_QUARTER, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_INVERTED, TRACK_FLYING_HALF_LOOP_INVERTED_DOWN, TRACK_CORKSCREW_INVERTED },
|
||||
.ExtraTrackPieces = { TRACK_FLYING_HALF_LOOP_INVERTED_UP, TRACK_STATION_END, TRACK_LIFT_HILL },
|
||||
}
|
||||
),
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS,
|
||||
|
@ -80,69 +89,4 @@ constexpr RideTypeDescriptor LayDownRollerCoasterRTD =
|
|||
},
|
||||
},
|
||||
};
|
||||
|
||||
constexpr RideTypeDescriptor LayDownRollerCoasterAltRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_NONE,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_QUARTER, TRACK_HELIX_UP_BANKED_QUARTER, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_INVERTED, TRACK_FLYING_HALF_LOOP_INVERTED_DOWN, TRACK_CORKSCREW_INVERTED},
|
||||
.ExtraTrackPieces = {TRACK_FLYING_HALF_LOOP_INVERTED_UP, TRACK_STATION_END, TRACK_LIFT_HILL},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(nullptr),
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER,
|
||||
.RideModes = EnumsToFlags(RideMode::ContinuousCircuit, RideMode::ContinuousCircuitBlockSectioned),
|
||||
.DefaultMode = RideMode::ContinuousCircuit,
|
||||
.OperatingSettings = { 10, 27, 30, 25, 25, 0 },
|
||||
.Naming = { STR_RIDE_NAME_40, STR_RIDE_DESCRIPTION_UNKNOWN },
|
||||
.NameConvention = { RideComponentType::Train, RideComponentType::Track, RideComponentType::Station },
|
||||
.EnumName = nameof(RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT),
|
||||
.AvailableBreakdowns = (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE),
|
||||
.Heights = { 26, 24, 8, 11, },
|
||||
.MaxMass = 25,
|
||||
.LiftData = { OpenRCT2::Audio::SoundId::LiftClassic, 4, 6 },
|
||||
.RatingsMultipliers = { 50, 30, 10 },
|
||||
.UpkeepCosts = { 49, 20, 90, 11, 3, 15 },
|
||||
.BuildCosts = { 53.50_GBP, 2.50_GBP, 50, },
|
||||
.DefaultPrices = { 20, 20 },
|
||||
.DefaultMusic = MUSIC_OBJECT_ROCK_1,
|
||||
.PhotoItem = ShopItem::Photo2,
|
||||
.BonusValue = 100,
|
||||
.ColourPresets = TRACK_COLOUR_PRESETS(
|
||||
{ COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_YELLOW },
|
||||
{ COLOUR_DARK_PURPLE, COLOUR_DARK_PURPLE, COLOUR_YELLOW },
|
||||
{ COLOUR_YELLOW, COLOUR_YELLOW, COLOUR_DARK_GREEN },
|
||||
),
|
||||
.ColourPreview = { SPR_RIDE_DESIGN_PREVIEW_LAY_DOWN_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_LAY_DOWN_ROLLER_COASTER_SUPPORTS },
|
||||
.ColourKey = RideColourKey::Ride,
|
||||
.Name = "lay_down_rc_alt",
|
||||
.RatingsData =
|
||||
{
|
||||
RatingsCalculationType::Normal,
|
||||
{ RIDE_RATING(3, 85), RIDE_RATING(1, 15), RIDE_RATING(2, 75) },
|
||||
18,
|
||||
-1,
|
||||
true,
|
||||
{
|
||||
{ RatingsModifierType::BonusLength, 6000, 764, 0, 0 },
|
||||
{ RatingsModifierType::BonusSynchronisation, 0, RIDE_RATING(0, 40), RIDE_RATING(0, 05), 0 },
|
||||
{ RatingsModifierType::BonusTrainLength, 0, 187245, 0, 0 },
|
||||
{ RatingsModifierType::BonusMaxSpeed, 0, 44281, 88562, 35424 },
|
||||
{ RatingsModifierType::BonusAverageSpeed, 0, 291271, 436906, 0 },
|
||||
{ RatingsModifierType::BonusDuration, 150, 26214, 0, 0 },
|
||||
{ RatingsModifierType::BonusGForces, 0, 24576, 38130, 49648 },
|
||||
{ RatingsModifierType::BonusTurns, 0, 26749, 34767, 45749 },
|
||||
{ RatingsModifierType::BonusDrops, 0, 29127, 46811, 49152 },
|
||||
{ RatingsModifierType::BonusSheltered, 0, 15420, 32768, 35108 },
|
||||
{ RatingsModifierType::BonusProximity, 0, 20130, 0, 0 },
|
||||
{ RatingsModifierType::BonusScenery, 0, 6693, 0, 0 },
|
||||
{ RatingsModifierType::RequirementInversions, 1, 4, 2, 2 },
|
||||
{ RatingsModifierType::RequirementMaxSpeed, 0xA0000, 2, 2, 2 },
|
||||
{ RatingsModifierType::RequirementNegativeGs, FIXED_2DP(0, 40), 2, 2, 2 },
|
||||
{ RatingsModifierType::RequirementNumDrops, 2, 2, 2, 2 },
|
||||
{ RatingsModifierType::PenaltyLateralGs, 0, 24576, 38130, 49648 },
|
||||
},
|
||||
},
|
||||
};
|
||||
// clang-format on
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor LoopingRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_BOOSTER, TRACK_SLOPE_CURVE_BANKED, TRACK_SLOPE_STEEP_LONG, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_VERTICAL, TRACK_TWIST, TRACK_CORKSCREW, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_SLOPE_LONG, TRACK_BARREL_ROLL, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE,TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionLoopingRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionLoopingRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_BOOSTER, TRACK_SLOPE_CURVE_BANKED, TRACK_SLOPE_STEEP_LONG, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_VERTICAL, TRACK_TWIST, TRACK_CORKSCREW, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_SLOPE_LONG, TRACK_BARREL_ROLL, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE,TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MineRideRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_ON_RIDE_PHOTO},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMineRide),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMineRide,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_ON_RIDE_PHOTO},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MineTrainCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMineTrainRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMineTrainRC,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MiniRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_LIFT_HILL},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER, TRACK_LIFT_HILL_CURVED},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMiniRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMiniRC,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_LIFT_HILL},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER, TRACK_LIFT_HILL_CURVED},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MiniSuspendedCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMiniSuspendedRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMiniSuspendedRC,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
|
|
|
@ -17,13 +17,18 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MultiDimensionRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_UNINVERTED,TRACK_QUARTER_LOOP_UNINVERTED_UP, TRACK_QUARTER_LOOP_UNINVERTED_DOWN, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMultiDimensionRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMultiDimensionRC,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_UNINVERTED,TRACK_QUARTER_LOOP_UNINVERTED_UP, TRACK_QUARTER_LOOP_UNINVERTED_DOWN, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMultiDimensionRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_INVERTED, TRACK_QUARTER_LOOP_INVERTED_UP, TRACK_QUARTER_LOOP_INVERTED_DOWN},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES |
|
||||
|
@ -86,68 +91,4 @@ constexpr RideTypeDescriptor MultiDimensionRollerCoasterRTD =
|
|||
},
|
||||
};
|
||||
|
||||
constexpr RideTypeDescriptor MultiDimensionRollerCoasterAltRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_NONE,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_INVERTED, TRACK_QUARTER_LOOP_INVERTED_UP, TRACK_QUARTER_LOOP_INVERTED_DOWN},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(nullptr),
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAG_HAS_SEAT_ROTATION,
|
||||
.RideModes = EnumsToFlags(RideMode::ContinuousCircuit, RideMode::ContinuousCircuitBlockSectioned),
|
||||
.DefaultMode = RideMode::ContinuousCircuit,
|
||||
.OperatingSettings = { 10, 27, 30, 25, 25, 0 },
|
||||
.Naming = { STR_RIDE_NAME_38, STR_RIDE_DESCRIPTION_UNKNOWN },
|
||||
.NameConvention = { RideComponentType::Train, RideComponentType::Track, RideComponentType::Station },
|
||||
.EnumName = nameof(RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT),
|
||||
.AvailableBreakdowns = (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE),
|
||||
.Heights = { 40, 24, 8, 11, },
|
||||
.MaxMass = 78,
|
||||
.LiftData = { OpenRCT2::Audio::SoundId::LiftFrictionWheels, 4, 6 },
|
||||
.RatingsMultipliers = { 50, 30, 10 },
|
||||
.UpkeepCosts = { 75, 20, 90, 11, 3, 15 },
|
||||
.BuildCosts = { 90.00_GBP, 2.50_GBP, 50, },
|
||||
.DefaultPrices = { 20, 20 },
|
||||
.DefaultMusic = MUSIC_OBJECT_ROCK_3,
|
||||
.PhotoItem = ShopItem::Photo2,
|
||||
.BonusValue = 100,
|
||||
.ColourPresets = TRACK_COLOUR_PRESETS(
|
||||
{ COLOUR_BRIGHT_PINK, COLOUR_YELLOW, COLOUR_YELLOW },
|
||||
{ COLOUR_LIGHT_PURPLE, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED },
|
||||
{ COLOUR_BORDEAUX_RED, COLOUR_WHITE, COLOUR_WHITE },
|
||||
),
|
||||
.ColourPreview = { SPR_RIDE_DESIGN_PREVIEW_MULTI_DIMENSION_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_MULTI_DIMENSION_ROLLER_COASTER_SUPPORTS },
|
||||
.ColourKey = RideColourKey::Ride,
|
||||
.Name = "multi_dimension_rc_alt",
|
||||
.RatingsData =
|
||||
{
|
||||
RatingsCalculationType::Normal,
|
||||
{ RIDE_RATING(3, 75), RIDE_RATING(1, 95), RIDE_RATING(4, 79) },
|
||||
18,
|
||||
-1,
|
||||
true,
|
||||
{
|
||||
{ RatingsModifierType::BonusLength, 6000, 764, 0, 0 },
|
||||
{ RatingsModifierType::BonusSynchronisation, 0, RIDE_RATING(0, 40), RIDE_RATING(0, 05), 0 },
|
||||
{ RatingsModifierType::BonusTrainLength, 0, 187245, 0, 0 },
|
||||
{ RatingsModifierType::BonusMaxSpeed, 0, 44281, 88562, 35424 },
|
||||
{ RatingsModifierType::BonusAverageSpeed, 0, 291271, 436906, 0 },
|
||||
{ RatingsModifierType::BonusDuration, 150, 26214, 0, 0 },
|
||||
{ RatingsModifierType::BonusGForces, 0, 24576, 38130, 49648 },
|
||||
{ RatingsModifierType::BonusTurns, 0, 26749, 34767, 45749 },
|
||||
{ RatingsModifierType::BonusDrops, 0, 29127, 46811, 49152 },
|
||||
{ RatingsModifierType::BonusSheltered, 0, 15420, 32768, 35108 },
|
||||
{ RatingsModifierType::BonusProximity, 0, 20130, 0, 0 },
|
||||
{ RatingsModifierType::BonusScenery, 0, 6693, 0, 0 },
|
||||
{ RatingsModifierType::RequirementInversions, 1, 4, 1, 1 },
|
||||
{ RatingsModifierType::RequirementMaxSpeed, 0xA0000, 2, 1, 1 },
|
||||
{ RatingsModifierType::RequirementNegativeGs, FIXED_2DP(0, 40), 2, 1, 1 },
|
||||
{ RatingsModifierType::RequirementNumDrops, 2, 2, 1, 1 },
|
||||
{ RatingsModifierType::PenaltyLateralGs, 0, 24576, 38130, 49648 },
|
||||
},
|
||||
},
|
||||
};
|
||||
// clang-format on
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor ReverseFreefallCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL_STEEP, TRACK_REVERSE_FREEFALL, TRACK_ON_RIDE_PHOTO},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionReverseFreefallRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionReverseFreefallRC,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL_STEEP, TRACK_REVERSE_FREEFALL, TRACK_ON_RIDE_PHOTO},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_ALLOW_REVERSED_TRAINS,
|
||||
.RideModes = EnumsToFlags(RideMode::LimPoweredLaunch),
|
||||
.DefaultMode = RideMode::LimPoweredLaunch,
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor ReverserRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_BRAKES, TRACK_REVERSER},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionReverserRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionReverserRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_BRAKES, TRACK_REVERSER},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES,
|
||||
.RideModes = EnumsToFlags(RideMode::ContinuousCircuit),
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SideFrictionRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_BRAKES, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionSideFrictionRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionSideFrictionRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_BRAKES, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -15,13 +15,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SingleRailRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = { TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_LONG, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BARREL_ROLL, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE, TRACK_SLOPE_CURVE_LARGE, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_STEEP_LONG, TRACK_HALF_LOOP_LARGE},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(SingleRailRC::GetTrackPaintFunction),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = SingleRailRC::GetTrackPaintFunction,
|
||||
.EnabledTrackPieces = { TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_LONG, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BARREL_ROLL, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE, TRACK_SLOPE_CURVE_LARGE, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_STEEP_LONG, TRACK_HALF_LOOP_LARGE},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SpinningWildMouseRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT,TRACK_STATION_END,TRACK_LIFT_HILL, TRACK_SLOPE,TRACK_SLOPE_LONG,TRACK_CURVE_VERY_SMALL,TRACK_CURVE_SMALL, TRACK_BRAKES,TRACK_BLOCK_BRAKES,TRACK_ROTATION_CONTROL_TOGGLE},
|
||||
.ExtraTrackPieces = {TRACK_LIFT_HILL_STEEP, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionWildMouse),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionWildMouse,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT,TRACK_STATION_END,TRACK_LIFT_HILL, TRACK_SLOPE,TRACK_SLOPE_LONG,TRACK_CURVE_VERY_SMALL,TRACK_CURVE_SMALL, TRACK_BRAKES,TRACK_BLOCK_BRAKES,TRACK_ROTATION_CONTROL_TOGGLE},
|
||||
.ExtraTrackPieces = {TRACK_LIFT_HILL_STEEP, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES,
|
||||
.RideModes = EnumsToFlags(RideMode::ContinuousCircuit, RideMode::ContinuousCircuitBlockSectioned),
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SpiralRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_LIFT_HILL_CURVED},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER, TRACK_LIFT_HILL},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMiniRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMiniRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_LIFT_HILL_CURVED},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER, TRACK_LIFT_HILL},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS,
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor StandUpRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionStandUpRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionStandUpRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SteelWildMouseRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL, TRACK_BRAKES, TRACK_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_ROTATION_CONTROL_TOGGLE},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionWildMouse),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionWildMouse,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL, TRACK_BRAKES, TRACK_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_ROTATION_CONTROL_TOGGLE},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_ALLOW_DOORS_ON_TRACK |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES,
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SteeplechaseRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_BRAKES, TRACK_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionSteeplechase),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionSteeplechase,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_BRAKES, TRACK_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES,
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SuspendedSwingingCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_UNBANKED_QUARTER, TRACK_HELIX_UP_UNBANKED_QUARTER, TRACK_BRAKES, TRACK_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionSuspendedSwingingRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionSuspendedSwingingRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_UNBANKED_QUARTER, TRACK_HELIX_UP_UNBANKED_QUARTER, TRACK_BRAKES, TRACK_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_IS_SUSPENDED,
|
||||
|
|
|
@ -19,13 +19,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor TwisterRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BARREL_ROLL, TRACK_POWERED_LIFT, TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_BOOSTER, TRACK_TWIST, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_LIFT_HILL_STEEP, TRACK_BRAKE_FOR_DROP},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionBolligerMabillard<MetalSupportType::Tubes>),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionBolligerMabillard<MetalSupportType::Tubes>,
|
||||
.EnabledTrackPieces = {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BARREL_ROLL, TRACK_POWERED_LIFT, TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_BOOSTER, TRACK_TWIST, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_LIFT_HILL_STEEP, TRACK_BRAKE_FOR_DROP},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -19,13 +19,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor VerticalDropCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_CURVE_VERTICAL, TRACK_HALF_LOOP_LARGE, TRACK_BRAKE_FOR_DROP, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_BARREL_ROLL, TRACK_POWERED_LIFT, TRACK_HALF_LOOP_LARGE, TRACK_QUARTER_LOOP, TRACK_BOOSTER, TRACK_TWIST},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionBolligerMabillard<MetalSupportType::Boxed>),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionBolligerMabillard<MetalSupportType::Boxed>,
|
||||
.EnabledTrackPieces = {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_LONG, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_CURVE_VERTICAL, TRACK_HALF_LOOP_LARGE, TRACK_BRAKE_FOR_DROP, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_BARREL_ROLL, TRACK_POWERED_LIFT, TRACK_HALF_LOOP_LARGE, TRACK_QUARTER_LOOP, TRACK_BOOSTER, TRACK_TWIST},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES,
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor VirginiaReelRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionVirginiaReel),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionVirginiaReel,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES,
|
||||
.RideModes = EnumsToFlags(RideMode::ContinuousCircuit),
|
||||
|
|
|
@ -18,13 +18,21 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor WaterCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_BLOCK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BOOSTER, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_LONG},
|
||||
.CoveredTrackPieces = {TrackElemType::Flat, TrackElemType::LeftQuarterTurn5Tiles, TrackElemType::RightQuarterTurn5Tiles, TrackElemType::SBendLeft, TrackElemType::SBendRight},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionWaterRC, GetTrackPaintFunctionSplashBoats),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(
|
||||
{
|
||||
.Drawer = GetTrackPaintFunctionWaterRC,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_BLOCK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BOOSTER, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_LONG},
|
||||
},
|
||||
{
|
||||
.Drawer = GetTrackPaintFunctionSplashBoats,
|
||||
.EnabledTrackPieces = {TrackElemType::Flat, TrackElemType::LeftQuarterTurn5Tiles, TrackElemType::RightQuarterTurn5Tiles, TrackElemType::SBendLeft, TrackElemType::SBendRight},
|
||||
.ExtraTrackPieces = {},
|
||||
}
|
||||
),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES,
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor WoodenRollerCoasterRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_WATER_SPLASH, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionWoodenRC),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionWoodenRC,
|
||||
.EnabledTrackPieces = {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_WATER_SPLASH, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES},
|
||||
.ExtraTrackPieces = {TRACK_BOOSTER},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor WoodenWildMouseRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_ROLLERCOASTER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_LONG, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionWoodenWildMouse),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionWoodenWildMouse,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_LONG, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS |
|
||||
RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT |
|
||||
RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAG_ALLOW_DOORS_ON_TRACK |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor CarRideRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL, TRACK_SPINNING_TUNNEL},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_RAPIDS},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionCarRide),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionCarRide,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL, TRACK_SPINNING_TUNNEL},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_RAPIDS},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS |
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN |
|
||||
RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor CircusRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack3x3,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionCircus),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionCircus,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | 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 |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor CrookedHouseRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack3x3,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionCrookedHouse),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionCrookedHouse,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | 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 |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor DodgemsRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack4x4,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionDodgems),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionDodgems,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_TRACK_NO_WALLS |
|
||||
RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor FerrisWheelRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack1x4C,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionFerrisWheel),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionFerrisWheel,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION |
|
||||
RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | 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 |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor FlyingSaucersRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack4x4,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionFlyingSaucers),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionFlyingSaucers,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL |
|
||||
RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE |
|
||||
RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor GhostTrainRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL, TRACK_BRAKES, TRACK_SPINNING_TUNNEL},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionGhostTrain),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionGhostTrain,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL, TRACK_BRAKES, TRACK_SPINNING_TUNNEL},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS |
|
||||
RIDE_TYPE_FLAG_HAS_G_FORCES | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor HauntedHouseRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack3x3,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionHauntedHouse),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionHauntedHouse,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | 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 |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MazeRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::Maze,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMaze),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMaze,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_PEEP_CAN_USE_UMBRELLA | RIDE_TYPE_FLAG_IS_MAZE,
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MerryGoRoundRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack3x3,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMerryGoRound),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMerryGoRound,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | 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 |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MiniGolfRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_MINI_GOLF_HOLE},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMiniGolf),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMiniGolf,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_MINI_GOLF_HOLE},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_ONE_STATION |
|
||||
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,
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MiniHelicoptersRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL},
|
||||
.ExtraTrackPieces = {TRACK_SPINNING_TUNNEL},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMiniHelicopters),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMiniHelicopters,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL},
|
||||
.ExtraTrackPieces = {TRACK_SPINNING_TUNNEL},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS |
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN |
|
||||
RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MonorailCyclesRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMonorailCycles),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMonorailCycles,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS |
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS |
|
||||
RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MonsterTrucksRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL, TRACK_RAPIDS},
|
||||
.ExtraTrackPieces = {TRACK_SPINNING_TUNNEL},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionCarRide),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionCarRide,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL, TRACK_RAPIDS},
|
||||
.ExtraTrackPieces = {TRACK_SPINNING_TUNNEL},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS |
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN |
|
||||
RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor ObservationTowerRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {TRACK_TOWER_BASE},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::TowerBase,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionObservationTower),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionObservationTower,
|
||||
.EnabledTrackPieces = {TRACK_TOWER_BASE},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK |
|
||||
RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SpaceRingsRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack3x3,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionSpaceRings),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionSpaceRings,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE |
|
||||
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 |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SpiralSlideRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_GENTLE,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack2x2,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionSpiralSlide),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionSpiralSlide,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_ALLOW_MUSIC |
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor CashMachineRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_SHOP,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack1x1A,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionShop),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionShop,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_IS_CASH_MACHINE | RIDE_TYPE_FLAG_IS_SHOP_OR_FACILITY |
|
||||
RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY,
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor DrinkStallRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_SHOP,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack1x1A,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionShop),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionShop,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_IS_SHOP_OR_FACILITY | RIDE_TYPE_FLAG_TRACK_NO_WALLS |
|
||||
RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_SELLS_DRINKS | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY |
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor FirstAidRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_SHOP,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack1x1A,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionFacility),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionFacility,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_IS_SHOP_OR_FACILITY | RIDE_TYPE_FLAG_TRACK_NO_WALLS |
|
||||
RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_IS_FIRST_AID | RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY |
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor FoodStallRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_SHOP,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack1x1A,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionShop),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionShop,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_IS_SHOP_OR_FACILITY | RIDE_TYPE_FLAG_TRACK_NO_WALLS |
|
||||
RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_SELLS_FOOD | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY |
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor InformationKioskRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_SHOP,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack1x1B,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionShop),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionShop,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_IS_SHOP_OR_FACILITY | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE |
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor ShopRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_SHOP,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack1x1A,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionShop),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionShop,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_IS_SHOP_OR_FACILITY | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE |
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor ToiletsRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_SHOP,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack1x1A,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionFacility),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionFacility,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_IS_SHOP_OR_FACILITY | RIDE_TYPE_FLAG_TRACK_NO_WALLS |
|
||||
RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// C++ does not allow names to start with a number, hence the absence of the '3D' prefix.
|
||||
constexpr RideTypeDescriptor CinemaRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_THRILL,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack3x3,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunction3dCinema),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunction3dCinema,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | 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 |
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor EnterpriseRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_THRILL,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack4x4,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionEnterprise),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionEnterprise,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | 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 |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor GoKartsRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_THRILL,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionGoKarts),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionGoKarts,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_ONE_STATION |
|
||||
RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK |
|
||||
RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT,
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor LaunchedFreefallRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_THRILL,
|
||||
.EnabledTrackPieces = {TRACK_TOWER_BASE},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::TowerBase,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionLaunchedFreefall),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionLaunchedFreefall,
|
||||
.EnabledTrackPieces = {TRACK_TOWER_BASE},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS |
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN |
|
||||
RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MagicCarpetRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_THRILL,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack1x4A,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMagicCarpet),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMagicCarpet,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_VEHICLE_IS_INTEGRAL |
|
||||
RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS |
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MotionSimulatorRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_THRILL,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack2x2,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMotionsimulator),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMotionsimulator,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | 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 |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor RotoDropRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_THRILL,
|
||||
.EnabledTrackPieces = {TRACK_TOWER_BASE},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::TowerBase,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionRotoDrop),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionRotoDrop,
|
||||
.EnabledTrackPieces = {TRACK_TOWER_BASE},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS |
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS |
|
||||
RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SwingingInverterShipRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_THRILL,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack1x4B,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionSwingingInverterShip),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionSwingingInverterShip,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_VEHICLE_IS_INTEGRAL |
|
||||
RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SwingingShipRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_THRILL,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack1x5,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionSwingingShip),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionSwingingShip,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS |
|
||||
RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL | RIDE_TYPE_FLAG_TRACK_NO_WALLS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor TopSpinRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_THRILL,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack3x3,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionTopspin),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionTopspin,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.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_VEHICLE_IS_INTEGRAL |
|
||||
RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS |
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor TwistRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_THRILL,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::FlatTrack3x3,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionTwist),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionTwist,
|
||||
.EnabledTrackPieces = {},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS |
|
||||
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 |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor ChairliftRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_TRANSPORT,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionChairlift),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionChairlift,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK |
|
||||
RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor LiftRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_TRANSPORT,
|
||||
.EnabledTrackPieces = {TRACK_TOWER_BASE},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::TowerBase,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionLift),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionLift,
|
||||
.EnabledTrackPieces = {TRACK_TOWER_BASE},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION |
|
||||
RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS |
|
||||
RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_ALLOW_EXTRA_TOWER_BASES | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MiniatureRailwayRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_TRANSPORT,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMiniatureRailway),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMiniatureRailway,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS |
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS |
|
||||
RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor MonorailRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_TRANSPORT,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionMonorail),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionMonorail,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS |
|
||||
RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SuspendedMonorailRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_TRANSPORT,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionSuspendedMonorail),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionSuspendedMonorail,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS |
|
||||
RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor BoatHireRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_WATER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_CURVE_VERY_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionBoatHire),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionBoatHire,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_CURVE_VERY_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER |
|
||||
RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING |
|
||||
RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT,
|
||||
|
|
|
@ -17,13 +17,21 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor DinghySlideRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_WATER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {TrackElemType::Flat, TrackElemType::Up25, TrackElemType::Up60, TrackElemType::FlatToUp25, TrackElemType::Up25ToUp60, TrackElemType::Up60ToUp25, TrackElemType::Up25ToFlat, TrackElemType::Down25, TrackElemType::Down60, TrackElemType::FlatToDown25, TrackElemType::Down25ToDown60, TrackElemType::Down60ToDown25, TrackElemType::Down25ToFlat, TrackElemType::LeftQuarterTurn5Tiles, TrackElemType::RightQuarterTurn5Tiles, TrackElemType::SBendLeft, TrackElemType::SBendRight, TrackElemType::LeftQuarterTurn3Tiles,TrackElemType::RightQuarterTurn3Tiles},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionDinghySlide, GetTrackPaintFunctionDinghySlideCovered),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(
|
||||
{
|
||||
.Drawer = GetTrackPaintFunctionDinghySlide,
|
||||
.EnabledTrackPieces = { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE },
|
||||
.ExtraTrackPieces = {},
|
||||
},
|
||||
{
|
||||
.Drawer = GetTrackPaintFunctionDinghySlideCovered,
|
||||
.EnabledTrackPieces = {TrackElemType::Flat, TrackElemType::Up25, TrackElemType::Up60, TrackElemType::FlatToUp25, TrackElemType::Up25ToUp60, TrackElemType::Up60ToUp25, TrackElemType::Up25ToFlat, TrackElemType::Down25, TrackElemType::Down60, TrackElemType::FlatToDown25, TrackElemType::Down25ToDown60, TrackElemType::Down60ToDown25, TrackElemType::Down25ToFlat, TrackElemType::LeftQuarterTurn5Tiles, TrackElemType::RightQuarterTurn5Tiles, TrackElemType::SBendLeft, TrackElemType::SBendRight, TrackElemType::LeftQuarterTurn3Tiles,TrackElemType::RightQuarterTurn3Tiles},
|
||||
.ExtraTrackPieces = {},
|
||||
}
|
||||
),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES |
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor LogFlumeRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_WATER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_ON_RIDE_PHOTO, TRACK_LOG_FLUME_REVERSER, TRACK_SLOPE_STEEP_DOWN},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionLogFlume),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionLogFlume,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_ON_RIDE_PHOTO, TRACK_LOG_FLUME_REVERSER, TRACK_SLOPE_STEEP_DOWN},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor RiverRaftsRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_WATER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_S_BEND, TRACK_CURVE},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE, TRACK_SLOPE_STEEP_DOWN, TRACK_ON_RIDE_PHOTO},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionSplashBoats),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionSplashBoats,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_S_BEND, TRACK_CURVE},
|
||||
.ExtraTrackPieces = {TRACK_SLOPE, TRACK_SLOPE_STEEP_DOWN, TRACK_ON_RIDE_PHOTO},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS |
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor RiverRapidsRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_WATER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_ON_RIDE_PHOTO, TRACK_RAPIDS, TRACK_WATERFALL, TRACK_WHIRLPOOL},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionRiverRapids),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionRiverRapids,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_CURVE_VERY_SMALL, TRACK_ON_RIDE_PHOTO, TRACK_RAPIDS, TRACK_WATERFALL, TRACK_WHIRLPOOL},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS |
|
||||
RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SplashBoatsRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_WATER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE, TRACK_ON_RIDE_PHOTO},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionSplashBoats),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionSplashBoats,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_SLOPE, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE, TRACK_ON_RIDE_PHOTO},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS |
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS |
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
// clang-format off
|
||||
constexpr RideTypeDescriptor SubmarineRideRTD =
|
||||
{
|
||||
.AlternateType = RIDE_TYPE_NULL,
|
||||
.Category = RIDE_CATEGORY_WATER,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
.CoveredTrackPieces = {},
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor(GetTrackPaintFunctionSubmarineRide),
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionSubmarineRide,
|
||||
.EnabledTrackPieces = {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_CURVE_VERY_SMALL, TRACK_CURVE_SMALL},
|
||||
.ExtraTrackPieces = {},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
.Flags = RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAG_TRACK_MUST_BE_ON_WATER | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS | RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN |
|
||||
RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR |
|
||||
|
|
|
@ -299,10 +299,10 @@ bool WindowRideConstructionUpdateState(
|
|||
}
|
||||
|
||||
const auto& rtd = ride->GetRideTypeDescriptor();
|
||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES)
|
||||
&& _currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_PIECES)
|
||||
const auto trackDrawerDecriptor = getCurrentTrackDrawerDescriptor(rtd);
|
||||
if (trackDrawerDecriptor.HasCoveredPieces() && _currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_PIECES)
|
||||
{
|
||||
auto availablePieces = rtd.CoveredTrackPieces;
|
||||
auto availablePieces = trackDrawerDecriptor.Covered.EnabledTrackPieces;
|
||||
const auto& ted = GetTrackElementDescriptor(trackType);
|
||||
auto alternativeType = ted.AlternativeType;
|
||||
// this method limits the track element types that can be used
|
||||
|
|
Loading…
Reference in New Issue