From 16ca2e61fc642104e93601e7ced673145ad366b0 Mon Sep 17 00:00:00 2001 From: Duncan Frost Date: Thu, 15 Jan 2015 21:56:53 +0000 Subject: [PATCH] Add ride_update_popularity --- src/ride/ride.c | 16 ++++++++++++++++ src/ride/ride.h | 1 + 2 files changed, 17 insertions(+) diff --git a/src/ride/ride.c b/src/ride/ride.c index ddc7de6c6d..9939ad64c8 100644 --- a/src/ride/ride.c +++ b/src/ride/ride.c @@ -1119,6 +1119,22 @@ static void ride_chairlift_update(rct_ride *ride) map_invalidate_tile(x, y, z, z + (4 * 8)); } +/* rct2: 0x0069A3D7 + * Updates the ride popularity + * edi : ride + * bl : pop_amount + * pop_amount can be zero if peep visited but did not purchase. + */ +void ride_update_popularity(rct_ride* ride, uint8 pop_amount){ + ride->popularity_next += pop_amount; + ride->popularity_time_out++; + if (ride->popularity_time_out < 25)return; + + ride->popularity = ride->popularity_next; + ride->popularity_time_out = 0; + ride->var_14D |= 1; +} + /** * * rct2: 0x006AC545 diff --git a/src/ride/ride.h b/src/ride/ride.h index 51dd79c931..c64ec4380f 100644 --- a/src/ride/ride.h +++ b/src/ride/ride.h @@ -612,6 +612,7 @@ void reset_all_ride_build_dates(); void ride_update_favourited_stat(); void ride_update_all(); void ride_check_all_reachable(); +void ride_update_popularity(rct_ride* ride, uint8 pop_amount); rct_map_element *sub_6CAF80(int rideIndex, int *outX, int *outY); rct_map_element *ride_find_track_gap(rct_map_element *startTrackElement, int *outX, int *outY); void ride_construct_new(ride_list_item listItem);