mirror of https://github.com/OpenRCT2/OpenRCT2.git
Fix #17310: Reversed reversible vehicles not imported properly from S4
This commit is contained in:
parent
673ec0fa10
commit
339edcd0f3
|
@ -32,6 +32,7 @@
|
|||
- Fix: [#17261] Hand cursor position is incorrect when dragging items in the Inventions List window.
|
||||
- Fix: [#17292] Rows in shortcut key list stay highlighted when cursor leaves list.
|
||||
- Fix: [#17295] Pause status not cleared when loading a scenario made from a converted paused save.
|
||||
- Fix: [#17310] Reversed reversible vehicles not imported properly when loading RCT1 parks.
|
||||
|
||||
0.4.0 (2022-04-25)
|
||||
------------------------------------------------------------------------
|
||||
|
|
|
@ -1200,6 +1200,9 @@ namespace RCT1
|
|||
MINE_TRAIN_CARRIAGE = 36,
|
||||
CORKSCREW_RC_FRONT = 38,
|
||||
CORKSCREW_RC_CARRIAGE = 39,
|
||||
LOG_FLUME_BOAT = 45,
|
||||
|
||||
LOG_FLUME_BOAT_REVERSED = 61,
|
||||
GHOST_TRAIN_CAR = 63,
|
||||
TWISTER_RC_SPOILER = 64,
|
||||
TWISTER_RC_CARRIAGE = 65,
|
||||
|
@ -1214,6 +1217,11 @@ namespace RCT1
|
|||
MINIGOLF_BALL = 82,
|
||||
SPLASH_BOAT = 83,
|
||||
SPLASH_BOAT_INVISIBLE = 84,
|
||||
HEARTLINE_TWISTER_FORWARDS = 88, // Used for both regular cars and “starting reversed“ cars that have been reversed
|
||||
// again.
|
||||
HEARTLINE_TWISTER_BACKWARDS = 89, // Used for both regular cars that went through a reverser, as well as reversed cars
|
||||
// in the starting position.
|
||||
REVERSER_RC_CAR_REVERSED = 95,
|
||||
HYPERCOASTER_FRONT = 96,
|
||||
HYPERCOASTER_CARRIAGE = 97,
|
||||
INVERTED_4_ACROSS_CARRIAGE = 98,
|
||||
|
|
|
@ -2706,7 +2706,8 @@ namespace RCT1
|
|||
if (ride == nullptr)
|
||||
return;
|
||||
|
||||
uint8_t vehicleEntryIndex = RCT1::GetVehicleSubEntryIndex(src->vehicle_type);
|
||||
const auto& rct1Ride = _s4.rides[src->ride];
|
||||
uint8_t vehicleEntryIndex = RCT1::GetVehicleSubEntryIndex(rct1Ride.vehicle_type, src->vehicle_type);
|
||||
|
||||
dst->ride = RideId::FromUnderlying(src->ride);
|
||||
dst->ride_subtype = RCTEntryIndexToOpenRCT2EntryIndex(ride->subtype);
|
||||
|
|
|
@ -422,7 +422,7 @@ namespace RCT1
|
|||
return pathAdditionType;
|
||||
}
|
||||
|
||||
uint8_t GetVehicleSubEntryIndex(uint8_t vehicleSubEntry)
|
||||
uint8_t GetVehicleSubEntryIndex(uint8_t rct1VehicleType, uint8_t vehicleSubEntry)
|
||||
{
|
||||
static constexpr const uint8_t map[] =
|
||||
{
|
||||
|
@ -471,6 +471,7 @@ namespace RCT1
|
|||
0,
|
||||
0,
|
||||
0,
|
||||
0, // LOG_FLUME_BOAT
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
@ -486,8 +487,7 @@ namespace RCT1
|
|||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // LOG_FLUME_BOAT_REVERSED
|
||||
0,
|
||||
0, // GHOST_TRAIN_CAR
|
||||
1, // TWISTER_RC_SPOILER
|
||||
|
@ -514,14 +514,14 @@ namespace RCT1
|
|||
0,
|
||||
0,
|
||||
0,
|
||||
0, // HEARTLINE_TWISTER_FORWARDS
|
||||
0, // HEARTLINE_TWISTER_BACKWARDS
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // REVERSER_RC_CAR_REVERSED
|
||||
0, // HYPERCOASTER_FRONT
|
||||
1, // HYPERCOASTER_CARRIAGE
|
||||
0, // INVERTED_4_ACROSS_CARRIAGE
|
||||
|
@ -683,6 +683,16 @@ namespace RCT1
|
|||
0,
|
||||
0,
|
||||
};
|
||||
|
||||
if (rct1VehicleType == RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS)
|
||||
{
|
||||
return vehicleSubEntry == HEARTLINE_TWISTER_FORWARDS ? 0 : 1;
|
||||
}
|
||||
if (rct1VehicleType == RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS_REVERSED)
|
||||
{
|
||||
return vehicleSubEntry == HEARTLINE_TWISTER_BACKWARDS ? 0 : 1;
|
||||
}
|
||||
|
||||
return map[vehicleSubEntry];
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace RCT1
|
|||
bool RideTypeUsesVehicles(RideType rideType);
|
||||
bool PathIsQueue(uint8_t pathType);
|
||||
uint8_t NormalisePathAddition(uint8_t pathAdditionType);
|
||||
uint8_t GetVehicleSubEntryIndex(uint8_t vehicleSubEntry);
|
||||
uint8_t GetVehicleSubEntryIndex(uint8_t rct1VehicleType, uint8_t vehicleSubEntry);
|
||||
|
||||
std::string_view GetRideTypeObject(RideType rideType);
|
||||
std::string_view GetVehicleObject(uint8_t vehicleType);
|
||||
|
|
Loading…
Reference in New Issue