mirror of https://github.com/OpenRCT2/OpenRCT2.git
Fix build after rebase
This commit is contained in:
parent
f433f452ca
commit
ccb2eed939
|
@ -242,8 +242,22 @@ namespace OpenRCT2
|
||||||
cs.ReadWriteAs<uint32_t, uint64_t>(gScenarioTicks);
|
cs.ReadWriteAs<uint32_t, uint64_t>(gScenarioTicks);
|
||||||
cs.ReadWriteAs<uint16_t, uint32_t>(gDateMonthTicks);
|
cs.ReadWriteAs<uint16_t, uint32_t>(gDateMonthTicks);
|
||||||
cs.ReadWrite(gDateMonthsElapsed);
|
cs.ReadWrite(gDateMonthsElapsed);
|
||||||
cs.ReadWrite(gScenarioSrand0);
|
|
||||||
cs.ReadWrite(gScenarioSrand1);
|
if (cs.GetMode() == OrcaStream::Mode::READING)
|
||||||
|
{
|
||||||
|
uint32_t s0{}, s1{};
|
||||||
|
cs.ReadWrite(s0);
|
||||||
|
cs.ReadWrite(s1);
|
||||||
|
Random::Rct2::Seed s{ s0, s1 };
|
||||||
|
gScenarioRand.seed(s);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
auto randState = gScenarioRand.state();
|
||||||
|
cs.Write(randState.s0);
|
||||||
|
cs.Write(randState.s1);
|
||||||
|
}
|
||||||
|
|
||||||
cs.ReadWrite(gGuestInitialCash);
|
cs.ReadWrite(gGuestInitialCash);
|
||||||
cs.ReadWrite(gGuestInitialHunger);
|
cs.ReadWrite(gGuestInitialHunger);
|
||||||
cs.ReadWrite(gGuestInitialThirst);
|
cs.ReadWrite(gGuestInitialThirst);
|
||||||
|
@ -307,33 +321,15 @@ namespace OpenRCT2
|
||||||
cs.ReadWrite(gStaffHandymanColour);
|
cs.ReadWrite(gStaffHandymanColour);
|
||||||
cs.ReadWrite(gStaffMechanicColour);
|
cs.ReadWrite(gStaffMechanicColour);
|
||||||
cs.ReadWrite(gStaffSecurityColour);
|
cs.ReadWrite(gStaffSecurityColour);
|
||||||
|
cs.ReadWrite(gSamePriceThroughoutPark);
|
||||||
// TODO use a uint64 or a list of active items
|
|
||||||
cs.ReadWrite(gSamePriceThroughoutParkA);
|
|
||||||
cs.ReadWrite(gSamePriceThroughoutParkB);
|
|
||||||
|
|
||||||
// Marketing
|
// Marketing
|
||||||
std::vector<std::tuple<uint32_t, uint32_t>> marketing;
|
cs.ReadWriteVector(gMarketingCampaigns, [&cs](MarketingCampaign& campaign) {
|
||||||
if (cs.GetMode() != OrcaStream::Mode::READING)
|
cs.ReadWrite(campaign.Type);
|
||||||
{
|
cs.ReadWrite(campaign.WeeksLeft);
|
||||||
for (size_t i = 0; i < std::size(gMarketingCampaignDaysLeft); i++)
|
cs.ReadWrite(campaign.Flags);
|
||||||
{
|
cs.ReadWrite(campaign.RideId);
|
||||||
marketing.push_back(std::make_tuple(gMarketingCampaignDaysLeft[i], gMarketingCampaignRideIndex[i]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cs.ReadWriteVector(marketing, [&cs](std::tuple<uint32_t, uint32_t>& m) {
|
|
||||||
cs.ReadWrite(std::get<0>(m));
|
|
||||||
cs.ReadWrite(std::get<1>(m));
|
|
||||||
});
|
});
|
||||||
if (cs.GetMode() == OrcaStream::Mode::READING)
|
|
||||||
{
|
|
||||||
auto count = std::min(std::size(gMarketingCampaignDaysLeft), marketing.size());
|
|
||||||
for (size_t i = 0; i < count; i++)
|
|
||||||
{
|
|
||||||
gMarketingCampaignDaysLeft[i] = std::get<0>(marketing[i]);
|
|
||||||
gMarketingCampaignRideIndex[i] = std::get<1>(marketing[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Awards
|
// Awards
|
||||||
cs.ReadWriteArray(gCurrentAwards, [&cs](Award& award) {
|
cs.ReadWriteArray(gCurrentAwards, [&cs](Award& award) {
|
||||||
|
@ -551,7 +547,30 @@ namespace OpenRCT2
|
||||||
cs.ReadWrite(ride.cable_lift_z);
|
cs.ReadWrite(ride.cable_lift_z);
|
||||||
|
|
||||||
// Stats
|
// Stats
|
||||||
cs.ReadWrite(ride.measurement_index);
|
if (cs.GetMode() == OrcaStream::Mode::READING)
|
||||||
|
{
|
||||||
|
if (ride.measurement == nullptr)
|
||||||
|
{
|
||||||
|
cs.Write<uint8_t>(0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cs.Write<uint8_t>(1);
|
||||||
|
ReadWriteRideMeasurement(cs, *ride.measurement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
auto hasMeasurement = cs.Read<uint8_t>();
|
||||||
|
if (hasMeasurement)
|
||||||
|
{
|
||||||
|
ride.measurement = std::make_unique<RideMeasurement>();
|
||||||
|
ride.measurement->ride = &ride;
|
||||||
|
ReadWriteRideMeasurement(cs, *ride.measurement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cs.ReadWrite(ride.measurement);
|
||||||
|
|
||||||
cs.ReadWrite(ride.special_track_elements);
|
cs.ReadWrite(ride.special_track_elements);
|
||||||
cs.ReadWrite(ride.max_speed);
|
cs.ReadWrite(ride.max_speed);
|
||||||
|
@ -642,9 +661,39 @@ namespace OpenRCT2
|
||||||
cs.ReadWrite(ride.music_position);
|
cs.ReadWrite(ride.music_position);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Correct ride IDs which are effectively constant
|
||||||
|
for (size_t i = 0; i < MAX_RIDES; i++)
|
||||||
|
{
|
||||||
|
auto ride = &gRideList[i];
|
||||||
|
ride->id = (ride_id_t)i;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ReadWriteRideMeasurement(OrcaStream::ChunkStream& cs, RideMeasurement& measurement)
|
||||||
|
{
|
||||||
|
if (cs.GetMode() == OrcaStream::Mode::READING)
|
||||||
|
{
|
||||||
|
// Initialise measurement (mainly just for the fixed arrays)
|
||||||
|
measurement = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
cs.ReadWrite(measurement.flags);
|
||||||
|
cs.ReadWrite(measurement.last_use_tick);
|
||||||
|
cs.ReadWrite(measurement.num_items);
|
||||||
|
cs.ReadWrite(measurement.current_item);
|
||||||
|
cs.ReadWrite(measurement.vehicle_index);
|
||||||
|
cs.ReadWrite(measurement.current_station);
|
||||||
|
for (size_t i = 0; i < measurement.num_items; i++)
|
||||||
|
{
|
||||||
|
cs.ReadWrite(measurement.vertical[i]);
|
||||||
|
cs.ReadWrite(measurement.lateral[i]);
|
||||||
|
cs.ReadWrite(measurement.velocity[i]);
|
||||||
|
cs.ReadWrite(measurement.altitude[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AutoCreateMapAnimations()
|
void AutoCreateMapAnimations()
|
||||||
{
|
{
|
||||||
// Automatically create map animations from tile elements
|
// Automatically create map animations from tile elements
|
||||||
|
|
Loading…
Reference in New Issue