1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-17 12:03:07 +01:00

Added peep_decrement_num_riders

This commit is contained in:
Duncan Frost
2014-09-20 14:46:50 +01:00
parent 388b8ec337
commit 573fe0c6f7
4 changed files with 25 additions and 11 deletions

View File

@@ -106,6 +106,20 @@ void peep_update_all()
}
}
/**
* rct2: 0x0069A409
* Decreases rider count if on/entering a ride.
*/
void peep_decrement_num_riders(rct_peep* peep){
if (peep->state == PEEP_STATE_ON_RIDE
|| peep->state == PEEP_STATE_ENTERING_RIDE){
rct_ride* ride = GET_RIDE(peep->current_ride);
ride->num_riders--;
ride->var_14D |= 0xC;
}
}
/**
* rct2: 0x0069A42F
* Call after changing a peeps state to insure that
@@ -264,7 +278,7 @@ void peep_update_falling(rct_peep* peep){
edx = 8;
}
peep->next_z += edx << 8;
RCT2_CALLPROC_X(0x69A409, 0, 0, 0, 0, (int)peep, 0, 0);
peep_decrement_num_riders(peep);
peep->state = PEEP_STATE_1;
peep_window_state_update(peep);
}
@@ -281,7 +295,7 @@ void peep_update_queuing(rct_peep* peep){
rct_ride* ride = GET_RIDE(peep->current_ride);
if (ride->status == RIDE_STATUS_CLOSED || ride->status == RIDE_STATUS_TESTING){
RCT2_CALLPROC_X(0x6966A9, 0, 0, 0, 0, (int)peep, 0, 0);
RCT2_CALLPROC_X(0x69A409, 0, 0, 0, 0, (int)peep, 0, 0);
peep_decrement_num_riders(peep);
peep->state = 1;
peep_window_state_update(peep);
return;
@@ -291,7 +305,7 @@ void peep_update_queuing(rct_peep* peep){
if (peep->var_74 == 0xFFFF){
//Happens every time peep goes onto ride.
peep->var_36 = 0;
RCT2_CALLPROC_X(0x69A409, 0, 0, 0, 0, (int)peep, 0, 0);
peep_decrement_num_riders(peep);
peep->state = PEEP_STATE_QUEUING_FRONT;
peep_window_state_update(peep);
peep->var_2C = 0;
@@ -301,7 +315,7 @@ void peep_update_queuing(rct_peep* peep){
peep->sprite_direction ^= (1 << 4);
RCT2_CALLPROC_X(0x6EC473, 0, 0, 0, 0, (int)peep, 0, 0);
RCT2_CALLPROC_X(0x6966A9, 0, 0, 0, 0, (int)peep, 0, 0);
RCT2_CALLPROC_X(0x69A409, 0, 0, 0, 0, (int)peep, 0, 0);
peep_decrement_num_riders(peep);
peep->state = 1;
peep_window_state_update(peep);
}
@@ -365,7 +379,7 @@ void peep_update_queuing(rct_peep* peep){
peep->sprite_direction ^= (1 << 4);
RCT2_CALLPROC_X(0x6EC473, 0, 0, 0, 0, (int)peep, 0, 0);
RCT2_CALLPROC_X(0x6966A9, 0, 0, 0, 0, (int)peep, 0, 0);
RCT2_CALLPROC_X(0x69A409, 0, 0, 0, 0, (int)peep, 0, 0);
peep_decrement_num_riders(peep);
peep->state = 1;
peep_window_state_update(peep);
}

View File

@@ -495,7 +495,7 @@ int peep_check_easteregg_name(int index, rct_peep *peep);
int peep_get_easteregg_name_id(rct_peep *peep);
int peep_is_mechanic(rct_peep *peep);
void peep_window_state_update(rct_peep* peep);
void peep_decrement_num_riders(rct_peep* peep);
/**
* rct2: 0x699F5A
* al:thought_type

View File

@@ -625,7 +625,7 @@ void window_guest_overview_mouse_up(){
RCT2_CALLPROC_X(0x006EC473, 0, 0, 0, 0, (int)peep, 0, 0);
RCT2_CALLPROC_X(0x0069E9D3, 0x8000, 0, peep->y, peep->z, (int)peep, 0, 0);
RCT2_CALLPROC_X(0x0069A409, 0, 0, 0, 0, (int)peep, 0, 0);
peep_decrement_num_riders(peep);
peep->state = 9;
peep->var_2C = 0;
peep_window_state_update(peep);
@@ -1226,7 +1226,7 @@ void window_guest_overview_tool_down(){
rct_peep* peep = GET_PEEP(w->number);
RCT2_CALLPROC_X(0x0069E9D3, dest_x, 0, dest_y, dest_z, (int)peep, 0, 0);
RCT2_CALLPROC_X(0x006EC473, 0, 0, 0, 0, (int)peep, 0, 0);
RCT2_CALLPROC_X(0x0069A409, 0, 0, 0, 0, (int)peep, 0, 0);
peep_decrement_num_riders(peep);
peep->state = 0;
peep_window_state_update(peep);
peep->var_71 = 0xFF;
@@ -1259,7 +1259,7 @@ void window_guest_overview_tool_abort(){
RCT2_CALLPROC_X(0x006EC473, 0, 0, 0, 0, (int)peep, 0, 0);
if (peep->x != 0x8000){
RCT2_CALLPROC_X(0x0069A409, 0, 0, 0, 0, (int)peep, 0, 0);
peep_decrement_num_riders(peep);
peep->state = 0;
peep_window_state_update(peep);
peep->var_71 = 0xFF;

View File

@@ -461,9 +461,9 @@ void window_staff_overview_mouseup()
RCT2_CALLPROC_X(0x006EC473, 0, 0, 0, 0, (int)peep, 0, 0);
RCT2_CALLPROC_X(0x0069E9D3, 0x8000, 0, peep->y, peep->z, (int)peep, 0, 0);
RCT2_CALLPROC_X(0x0069A409, 0, 0, 0, 0, (int)peep, 0, 0);
peep_decrement_num_riders(peep);
peep->state = 9;
RCT2_CALLPROC_X(0x0069A42F, 0, 0, 0, 0, (int)peep, 0, 0);
peep_window_state_update(peep);
break;
case WIDX_FIRE:
window_staff_fire_prompt_open(peep);