From 73d06418b62f0302614371b68990812276dba5e0 Mon Sep 17 00:00:00 2001 From: Maciek Baron Date: Fri, 9 May 2014 23:06:53 +0100 Subject: [PATCH] Adding ride build date, reset function --- src/ride.c | 17 +++++++++++++++++ src/ride.h | 5 ++++- src/scenario.c | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/ride.c b/src/ride.c index cc6f543d7f..bb4d8e7164 100644 --- a/src/ride.c +++ b/src/ride.c @@ -150,3 +150,20 @@ void ride_init_all() ride_measurement->var_00 = 0xFF; } } + +/** +* +* rct2: 0x006B7A38 +*/ +void reset_all_ride_build_dates() { + int i; + rct_ride *ride; + for (i = 0; i < MAX_RIDES; i++) { + ride = GET_RIDE(i); + if (ride->type != RIDE_TYPE_NULL) { + //mov ax, current_month_year + //sub [esi + 180h], ax + ride->build_date -= RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONTH_YEAR, uint16); + } + } +} \ No newline at end of file diff --git a/src/ride.h b/src/ride.h index 78574be103..f7152bf3e5 100644 --- a/src/ride.h +++ b/src/ride.h @@ -72,7 +72,9 @@ typedef struct { uint8 var_14D; uint8 pad_14E[0x0A]; uint16 var_158; - uint8 pad_15A[0x3C]; + uint8 pad_15A[0x26]; + uint16 build_date; + uint8 pad_182[0x14]; uint16 var_196; uint8 pad_198; uint8 var_199; @@ -257,5 +259,6 @@ int ride_get_count(); int ride_get_total_queue_length(rct_ride *ride); int ride_get_max_queue_time(rct_ride *ride); void ride_init_all(); +void reset_all_ride_build_dates(); #endif diff --git a/src/scenario.c b/src/scenario.c index 0752ea39df..fbbb839e67 100644 --- a/src/scenario.c +++ b/src/scenario.c @@ -513,7 +513,7 @@ void scenario_load_and_play(rct_scenario_basic *scenario) RCT2_GLOBAL(0x013587D8, uint16) = 63; RCT2_CALLPROC_EBPSAFE(0x0069E869); // (loan related, called above already) RCT2_CALLPROC_EBPSAFE(0x0066729F); // reset history / finance / awards - RCT2_CALLPROC_EBPSAFE(0x006B7A38); // reset_all_ride_build_dates + reset_all_ride_build_dates(); date_reset(); RCT2_CALLPROC_EBPSAFE(0x00674576); park_calculate_size();