mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-18 20:43:04 +01:00
Normalise reversed RCT1 trains when importing
This commit is contained in:
@@ -831,6 +831,10 @@ namespace RCT1
|
||||
dst->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE;
|
||||
dst->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK;
|
||||
}
|
||||
if (VehicleTypeIsReversed(src->VehicleType))
|
||||
{
|
||||
dst->lifecycle_flags |= RIDE_LIFECYCLE_REVERSED_TRAINS;
|
||||
}
|
||||
|
||||
// Station
|
||||
if (src->OverallView.IsNull())
|
||||
@@ -2903,6 +2907,11 @@ namespace RCT1
|
||||
dst->SetFlag(VehicleFlags::Crashed);
|
||||
}
|
||||
dst->BlockBrakeSpeed = kRCT2DefaultBlockBrakeSpeed;
|
||||
|
||||
if (VehicleTypeIsReversed(rct1Ride.VehicleType))
|
||||
{
|
||||
dst->SetFlag(VehicleFlags::CarIsReversed);
|
||||
}
|
||||
}
|
||||
|
||||
template<> void S4Importer::ImportEntity<Guest>(const RCT12EntityBase& srcBase)
|
||||
|
||||
@@ -802,7 +802,7 @@ namespace RCT1
|
||||
static constexpr const char * map[] =
|
||||
{
|
||||
"rct1.ride.steel_rc_trains", // VehicleType::SteelRollerCoasterTrain
|
||||
"rct1.ride.steel_rc_trains_reversed", // VehicleType::SteelRollerCoasterTrainBackwards
|
||||
"rct1.ride.steel_rc_trains", // VehicleType::SteelRollerCoasterTrainBackwards
|
||||
"rct1.ride.wooden_rc_trains", // VehicleType::WoodenRollerCoasterTrain
|
||||
"rct1.ride.inverted_trains", // VehicleType::InvertedCoasterTrain//NotinRCT2
|
||||
"rct1.ride.suspended_swinging_cars", // VehicleType::SuspendedSwingingCars
|
||||
@@ -817,7 +817,7 @@ namespace RCT1
|
||||
"rct1.ride.steam_trains", // VehicleType::SteamTrain
|
||||
"rct1.ride.mouse_cars", // VehicleType::WoodenMouseCars
|
||||
"rct1.ride.bumper_boats", // VehicleType::BumperBoats
|
||||
"rct1.ride.wooden_rc_trains_reversed", // VehicleType::WoodenRollerCoasterTrainBackwards
|
||||
"rct1.ride.wooden_rc_trains", // VehicleType::WoodenRollerCoasterTrainBackwards
|
||||
"rct1.ride.rocket_cars", // VehicleType::RocketCars
|
||||
"rct1.ride.horses", // VehicleType::Horses//Steeplechase
|
||||
"rct1.ride.sports_cars", // VehicleType::Sportscars
|
||||
@@ -874,7 +874,7 @@ namespace RCT1
|
||||
"rct2.ride.vekst", // VehicleType::FlyingRollerCoasterTrain
|
||||
"rct1aa.ride.hyper_twister_trains", // VehicleType::NonLoopingSteelTwisterRollerCoasterTrain
|
||||
"rct1aa.ride.heartline_twister_cars", // VehicleType::HeartlineTwisterCars
|
||||
"rct2.ride.utcarr", // VehicleType::HeartlineTwisterCarsReversed
|
||||
"rct1aa.ride.heartline_twister_cars", // VehicleType::HeartlineTwisterCarsReversed
|
||||
"", // VehicleType::Reserved
|
||||
"rct2.ride.gdrop1", // VehicleType::RotodropCar
|
||||
"rct1aa.ride.flying_saucers", // VehicleType::FlyingSaucers
|
||||
@@ -1487,4 +1487,17 @@ namespace RCT1
|
||||
|
||||
return origTrackType;
|
||||
}
|
||||
|
||||
bool VehicleTypeIsReversed(const VehicleType vehicleType)
|
||||
{
|
||||
switch (vehicleType)
|
||||
{
|
||||
case VehicleType::SteelRollerCoasterTrainBackwards:
|
||||
case VehicleType::WoodenRollerCoasterTrainBackwards:
|
||||
case VehicleType::HeartlineTwisterCarsReversed:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} // namespace RCT1
|
||||
|
||||
@@ -53,4 +53,6 @@ namespace RCT1
|
||||
std::string_view GetTerrainEdgeObject(uint8_t terrainEdge);
|
||||
|
||||
const std::vector<const char*> GetSceneryObjects(uint8_t sceneryType);
|
||||
|
||||
bool VehicleTypeIsReversed(const VehicleType vehicleType);
|
||||
} // namespace RCT1
|
||||
|
||||
Reference in New Issue
Block a user