Fix #12764: Rides don't start aged anymore

This commit is contained in:
Tulio Leao 2020-08-25 00:04:54 -03:00
parent 8f8eb81326
commit 10aca0fe6e
11 changed files with 13 additions and 12 deletions

View File

@ -4,6 +4,7 @@
- Fix: [#12694] Crash when switching ride types with construction window open.
- Fix: [#12701] Silent NSIS setup flag /S isn't silent, upgrade pop-up appears anyway.
- Fix: [#12737] Space Rings draw the same vehicle 4 times.
- Fix: [#12764] Rides don't start aged anymore.
- Fix: Incomplete loop collision box allowed overlapping track (original bug).
0.3.0 (2020-08-15)

View File

@ -286,7 +286,7 @@ public:
ride->num_riders = 0;
ride->slide_in_use = 0;
ride->maze_tiles = 0;
ride->build_date = gDateMonthsElapsed;
ride->build_date = static_cast<int32_t>(gDateMonthsElapsed);
ride->music_tune_id = 255;
ride->breakdown_reason = 255;

View File

@ -33,7 +33,7 @@
// This string specifies which version of network stream current build uses.
// It is used for making sure only compatible builds get connected, even within
// single OpenRCT2 version.
#define NETWORK_STREAM_VERSION "1"
#define NETWORK_STREAM_VERSION "2"
#define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION
static Peep* _pickup_peep = nullptr;

View File

@ -176,7 +176,7 @@ struct rct1_ride
uint8_t pad_11F[0x7]; // 0x11F
uint8_t spiral_slide_progress; // 0x126
uint8_t pad_127[0x9]; // 0x127
uint16_t build_date; // 0x130
int16_t build_date; // 0x130
money16 upkeep_cost; // 0x131
uint16_t race_winner; // 0x132
uint8_t unk_134[2]; // 0x134

View File

@ -875,7 +875,7 @@ private:
SetRideColourScheme(dst, src);
// Maintenance
dst->build_date = src->build_date;
dst->build_date = static_cast<int32_t>(src->build_date);
dst->inspection_interval = src->inspection_interval;
dst->last_inspection = src->last_inspection;
dst->reliability = src->reliability;

View File

@ -256,7 +256,7 @@ struct rct2_ride
uint8_t pad_16F[0x7]; // 0x16F
uint8_t spiral_slide_progress; // 0x176
uint8_t pad_177[0x9]; // 0x177
uint16_t build_date; // 0x180
int16_t build_date; // 0x180
money16 upkeep_cost; // 0x182
uint16_t race_winner; // 0x184
uint8_t pad_186[0x02]; // 0x186

View File

@ -703,7 +703,7 @@ void S6Exporter::ExportRide(rct2_ride* dst, const Ride* src)
// pad_16F[0x7];
dst->spiral_slide_progress = src->spiral_slide_progress;
// pad_177[0x9];
dst->build_date = src->build_date;
dst->build_date = static_cast<int16_t>(src->build_date);
dst->upkeep_cost = src->upkeep_cost;
dst->race_winner = src->race_winner;
// pad_186[0x02];

View File

@ -718,7 +718,7 @@ public:
// pad_16F[0x7];
dst->spiral_slide_progress = src->spiral_slide_progress;
// pad_177[0x9];
dst->build_date = src->build_date;
dst->build_date = static_cast<int32_t>(src->build_date);
dst->upkeep_cost = src->upkeep_cost;
dst->race_winner = src->race_winner;
// pad_186[0x02];

View File

@ -932,7 +932,7 @@ void reset_all_ride_build_dates()
{
for (auto& ride : GetRideManager())
{
ride.build_date = gDateMonthsElapsed;
ride.build_date -= static_cast<int32_t>(gDateMonthsElapsed);
}
}
@ -7114,7 +7114,7 @@ void Ride::Delete()
void Ride::Renew()
{
// Set build date to current date (so the ride is brand new)
build_date = gDateMonthsElapsed;
build_date = static_cast<int32_t>(gDateMonthsElapsed);
reliability = RIDE_INITIAL_RELIABILITY;
}

View File

@ -306,7 +306,7 @@ struct Ride
};
uint8_t slide_peep_t_shirt_colour;
uint8_t spiral_slide_progress;
uint16_t build_date;
int32_t build_date;
money16 upkeep_cost;
uint16_t race_winner;
uint32_t music_position;

View File

@ -546,12 +546,12 @@ namespace OpenRCT2::Scripting
}
}
int16_t buildDate_get() const
int32_t buildDate_get() const
{
auto ride = GetRide();
return ride != nullptr ? ride->build_date : 0;
}
void buildDate_set(int16_t value)
void buildDate_set(int32_t value)
{
ThrowIfGameStateNotMutable();
auto ride = GetRide();