mirror of https://github.com/OpenRCT2/OpenRCT2.git
load brake from parkfile
This commit is contained in:
parent
7fe9580131
commit
ba5627c544
|
@ -64,6 +64,8 @@
|
|||
#include <string_view>
|
||||
#include <vector>
|
||||
|
||||
constexpr const uint32_t BlockBrakeImprovementsVersion = 27;
|
||||
|
||||
using namespace OpenRCT2;
|
||||
|
||||
namespace OpenRCT2
|
||||
|
@ -1092,12 +1094,19 @@ namespace OpenRCT2
|
|||
else if (it.element->GetType() == TileElementType::Track)
|
||||
{
|
||||
auto* trackElement = it.element->AsTrack();
|
||||
auto trackType = trackElement->GetTrackType();
|
||||
if (TrackTypeMustBeMadeInvisible(
|
||||
trackElement->GetRideType(), trackElement->GetTrackType(),
|
||||
os.GetHeader().TargetVersion))
|
||||
trackElement->GetRideType(), trackType, os.GetHeader().TargetVersion))
|
||||
{
|
||||
it.element->SetInvisible(true);
|
||||
}
|
||||
if (os.GetHeader().TargetVersion < BlockBrakeImprovementsVersion)
|
||||
{
|
||||
if (trackType == TrackElemType::Brakes)
|
||||
trackElement->SetBrakeClosed(true);
|
||||
if (trackType == TrackElemType::BlockBrakes)
|
||||
trackElement->SetBrakeBoosterSpeed(kRCT2DefaultBlockBrakeSpeed);
|
||||
}
|
||||
}
|
||||
else if (
|
||||
it.element->GetType() == TileElementType::SmallScenery && os.GetHeader().TargetVersion < 23)
|
||||
|
@ -2088,7 +2097,18 @@ namespace OpenRCT2
|
|||
cs.ReadWrite(entity.scream_sound_id);
|
||||
cs.ReadWrite(entity.TrackSubposition);
|
||||
cs.ReadWrite(entity.NumLaps);
|
||||
cs.ReadWrite(entity.brake_speed);
|
||||
if (cs.GetMode() == OrcaStream::Mode::READING && os.GetHeader().TargetVersion < BlockBrakeImprovementsVersion)
|
||||
{
|
||||
uint8_t brakeSpeed;
|
||||
cs.ReadWrite(brakeSpeed);
|
||||
if (entity.GetTrackType() == TrackElemType::BlockBrakes)
|
||||
brakeSpeed = kRCT2DefaultBlockBrakeSpeed;
|
||||
entity.brake_speed = brakeSpeed;
|
||||
}
|
||||
else
|
||||
{
|
||||
cs.ReadWrite(entity.brake_speed);
|
||||
}
|
||||
cs.ReadWrite(entity.lost_time_out);
|
||||
cs.ReadWrite(entity.vertical_drop_countdown);
|
||||
cs.ReadWrite(entity.var_D3);
|
||||
|
@ -2107,6 +2127,14 @@ namespace OpenRCT2
|
|||
entity.SetFlag(VehicleFlags::Crashed);
|
||||
}
|
||||
}
|
||||
if (cs.GetMode() == OrcaStream::Mode::READING && os.GetHeader().TargetVersion < BlockBrakeImprovementsVersion)
|
||||
{
|
||||
entity.BlockBrakeSpeed = kRCT2DefaultBlockBrakeSpeed;
|
||||
}
|
||||
else
|
||||
{
|
||||
cs.ReadWrite(entity.BlockBrakeSpeed);
|
||||
}
|
||||
}
|
||||
|
||||
template<> void ParkFile::ReadWriteEntity(OrcaStream& os, OrcaStream::ChunkStream& cs, Guest& guest)
|
||||
|
|
|
@ -9,10 +9,10 @@ struct ObjectRepositoryItem;
|
|||
namespace OpenRCT2
|
||||
{
|
||||
// Current version that is saved.
|
||||
constexpr uint32_t PARK_FILE_CURRENT_VERSION = 26;
|
||||
constexpr uint32_t PARK_FILE_CURRENT_VERSION = 27;
|
||||
|
||||
// The minimum version that is forwards compatible with the current version.
|
||||
constexpr uint32_t PARK_FILE_MIN_VERSION = 26;
|
||||
constexpr uint32_t PARK_FILE_MIN_VERSION = 27;
|
||||
|
||||
// The minimum version that is backwards compatible with the current version.
|
||||
// If this is increased beyond 0, uncomment the checks in ParkFile.cpp and Context.cpp!
|
||||
|
|
Loading…
Reference in New Issue