mirror of https://github.com/OpenRCT2/OpenRCT2.git
Fix #21731: previously-invisible 'alt' rides now visible
This commit is contained in:
parent
1d3a2393dc
commit
9b7face116
|
@ -46,7 +46,7 @@ using namespace OpenRCT2;
|
|||
// It is used for making sure only compatible builds get connected, even within
|
||||
// single OpenRCT2 version.
|
||||
|
||||
#define NETWORK_STREAM_VERSION "2"
|
||||
#define NETWORK_STREAM_VERSION "3"
|
||||
|
||||
#define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION
|
||||
|
||||
|
|
|
@ -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 */ MultiDimensionRollerCoasterRTD,
|
||||
/* RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT */ MultiDimensionRollerCoasterAltRTD,
|
||||
/* RIDE_TYPE_FLYING_ROLLER_COASTER */ FlyingRollerCoasterRTD,
|
||||
/* RIDE_TYPE_FLYING_ROLLER_COASTER_ALT */ FlyingRollerCoasterRTD,
|
||||
/* RIDE_TYPE_FLYING_ROLLER_COASTER_ALT */ FlyingRollerCoasterAltRTD,
|
||||
/* 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 */ LayDownRollerCoasterRTD,
|
||||
/* RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT */ LayDownRollerCoasterAltRTD,
|
||||
/* RIDE_TYPE_REVERSER_ROLLER_COASTER */ ReverserRollerCoasterRTD,
|
||||
/* RIDE_TYPE_HEARTLINE_TWISTER_COASTER */ HeartlineTwisterCoasterRTD,
|
||||
/* RIDE_TYPE_MINI_GOLF */ MiniGolfRTD,
|
||||
|
|
|
@ -91,4 +91,74 @@ constexpr RideTypeDescriptor FlyingRollerCoasterRTD =
|
|||
},
|
||||
},
|
||||
};
|
||||
|
||||
constexpr RideTypeDescriptor FlyingRollerCoasterAltRTD =
|
||||
{
|
||||
.Category = RIDE_CATEGORY_NONE,
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = nullptr,
|
||||
.EnabledTrackPieces = { },
|
||||
.ExtraTrackPieces = { },
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = nullptr,
|
||||
.EnabledTrackPieces = { },
|
||||
.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_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
|
||||
|
|
|
@ -89,4 +89,74 @@ constexpr RideTypeDescriptor LayDownRollerCoasterRTD =
|
|||
},
|
||||
},
|
||||
};
|
||||
|
||||
constexpr RideTypeDescriptor LayDownRollerCoasterAltRTD =
|
||||
{
|
||||
.Category = RIDE_CATEGORY_NONE,
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = nullptr,
|
||||
.EnabledTrackPieces = { },
|
||||
.ExtraTrackPieces = { },
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = nullptr,
|
||||
.EnabledTrackPieces = { },
|
||||
.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,
|
||||
.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
|
||||
|
|
|
@ -91,4 +91,74 @@ constexpr RideTypeDescriptor MultiDimensionRollerCoasterRTD =
|
|||
},
|
||||
};
|
||||
|
||||
constexpr RideTypeDescriptor MultiDimensionRollerCoasterAltRTD =
|
||||
{
|
||||
.Category = RIDE_CATEGORY_NONE,
|
||||
.StartTrackPiece = TrackElemType::EndStation,
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = nullptr,
|
||||
.EnabledTrackPieces = { },
|
||||
.ExtraTrackPieces = { },
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = nullptr,
|
||||
.EnabledTrackPieces = { },
|
||||
.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_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
|
||||
|
|
Loading…
Reference in New Issue