diff --git a/src/peep/peep.c b/src/peep/peep.c index 2d53baa691..d912f7d109 100644 --- a/src/peep/peep.c +++ b/src/peep/peep.c @@ -2223,6 +2223,24 @@ void peep_applause() sound_play_panned(SOUND_APPLAUSE, RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_WIDTH, uint16) / 2, 0, 0, 0); } +/** +* +* rct2: 0x0069C35E +*/ +void peep_update_days_in_queue() +{ + uint16 sprite_index; + rct_peep *peep; + + FOR_ALL_GUESTS(sprite_index, peep) { + if (peep->var_2A == 0 && peep->state == PEEP_STATE_QUEUING) { + if (peep->days_in_queue < 255) { + peep->days_in_queue += 1; + } + } + } +} + /** * * rct2: 0x0069A05D diff --git a/src/peep/peep.h b/src/peep/peep.h index 5549e80a6f..468cde476b 100644 --- a/src/peep/peep.h +++ b/src/peep/peep.h @@ -485,7 +485,7 @@ typedef struct { uint8 pad_F2; uint8 var_F3; uint8 var_F4; - uint8 pad_F5; + uint8 days_in_queue; // 0xF5 uint8 balloon_colour; // 0xF6 uint8 umbrella_colour; // 0xF7 uint8 hat_colour; // 0xF8 @@ -547,6 +547,7 @@ int peep_can_be_picked_up(rct_peep* peep); void peep_update_all(); void peep_problem_warnings_update(); void peep_update_crowd_noise(); +void peep_update_days_in_queue(); void peep_applause(); rct_peep *peep_generate(int x, int y, int z); void get_arguments_from_action(rct_peep* peep, uint32 *argument_1, uint32* argument_2); diff --git a/src/scenario.c b/src/scenario.c index 242dfc6b23..2752c46ba4 100644 --- a/src/scenario.c +++ b/src/scenario.c @@ -674,7 +674,7 @@ void scenario_update() if ((current_days_in_month * next_month_tick) >> 16 != (current_days_in_month * month_tick) >> 16) { // daily checks finance_update_daily_profit(); - RCT2_CALLPROC_EBPSAFE(0x0069C35E); // some kind of peeps days_visited update loop + peep_update_days_in_queue(); get_local_time(); RCT2_CALLPROC_EBPSAFE(0x0066A13C); // objective 6 dragging switch (objective_type) {