From 1c1db75c2846c9ced119ecc5839a59751a029dc2 Mon Sep 17 00:00:00 2001 From: King_Hual Date: Mon, 15 Sep 2014 22:50:34 +0300 Subject: [PATCH] Added rct_peep struct union (staff_id and guest_peep_varC5) --- src/marketing.c | 4 ++-- src/peep.c | 16 ++++++++-------- src/peep.h | 6 +++++- src/staff.c | 2 +- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/marketing.c b/src/marketing.c index af6179fc1c..3a2ac192d2 100644 --- a/src/marketing.c +++ b/src/marketing.c @@ -113,7 +113,7 @@ void marketing_set_guest_campaign(rct_peep *peep, int campaign) peep->item_standard_flags |= PEEP_ITEM_VOUCHER; peep->var_F0 = 1; peep->var_F1 = RCT2_ADDRESS(0x01358116, uint8)[campaign]; - peep->staff_id = RCT2_ADDRESS(0x01358116, uint8)[campaign]; + peep->guest_peep_varC5 = RCT2_ADDRESS(0x01358116, uint8)[campaign]; peep->var_C6 = 240; break; case ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE: @@ -128,7 +128,7 @@ void marketing_set_guest_campaign(rct_peep *peep, int campaign) case ADVERTISING_CAMPAIGN_PARK: break; case ADVERTISING_CAMPAIGN_RIDE: - peep->staff_id = RCT2_ADDRESS(0x01358116, uint8)[campaign]; + peep->guest_peep_varC5 = RCT2_ADDRESS(0x01358116, uint8)[campaign]; peep->var_C6 = 240; break; } diff --git a/src/peep.c b/src/peep.c index 629426280a..83e77f44bf 100644 --- a/src/peep.c +++ b/src/peep.c @@ -177,31 +177,31 @@ void peep_problem_warnings_update() break; case PEEP_THOUGHT_TYPE_HUNGRY: // 0x14 - if (peep->staff_id == -1){ + if (peep->guest_peep_varC5 == -1){ hunger_counter++; break; } - ride = &g_ride_list[peep->staff_id]; + ride = &g_ride_list[peep->guest_peep_varC5]; if (!(RCT2_GLOBAL(RCT2_ADDRESS_RIDE_FLAGS + ride->type * 8, uint32) & 0x80000)) hunger_counter++; break; case PEEP_THOUGHT_TYPE_THIRSTY: - if (peep->staff_id == -1){ + if (peep->guest_peep_varC5 == -1){ thirst_counter++; break; } - ride = &g_ride_list[peep->staff_id]; + ride = &g_ride_list[peep->guest_peep_varC5]; if (!(RCT2_GLOBAL(RCT2_ADDRESS_RIDE_FLAGS + ride->type * 8, uint32) & 0x1000000)) thirst_counter++; break; case PEEP_THOUGHT_TYPE_BATHROOM: - if (peep->staff_id == -1){ + if (peep->guest_peep_varC5 == -1){ bathroom_counter++; break; } - ride = &g_ride_list[peep->staff_id]; + ride = &g_ride_list[peep->guest_peep_varC5]; if (!(RCT2_GLOBAL(RCT2_ADDRESS_RIDE_FLAGS + ride->type * 8, uint32) & 0x2000000)) bathroom_counter++; break; @@ -447,8 +447,8 @@ void get_arguments_from_action(rct_peep* peep, uint32 *argument_1, uint32* argum break; case PEEP_STATE_WALKING: case 0x14: - if (peep->staff_id != 0xFF){ - ride = g_ride_list[peep->staff_id]; + if (peep->guest_peep_varC5 != 0xFF){ + ride = g_ride_list[peep->guest_peep_varC5]; *argument_1 = STR_HEADING_FOR | (ride.name << 16); *argument_2 = ride.name_arguments; } diff --git a/src/peep.h b/src/peep.h index a938440268..25ee1583b7 100644 --- a/src/peep.h +++ b/src/peep.h @@ -386,7 +386,11 @@ typedef struct { uint16 var_AE; rct_peep_thought thoughts[PEEP_MAX_THOUGHTS]; // 0xB0 uint8 var_C4; // 0xC4 - uint8 staff_id; + union + { + uint8 staff_id; + uint8 guest_peep_varC5; + }; uint8 var_C6; uint8 photo1_ride_ref; // 0xC7 uint32 flags; // 0xC8 diff --git a/src/staff.c b/src/staff.c index 3871dfb080..d0bc47c04e 100644 --- a/src/staff.c +++ b/src/staff.c @@ -290,4 +290,4 @@ void sub_6C0C3F() } } } -} \ No newline at end of file +}