1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-06 06:32:56 +01:00

remove_peep_from_ride

This commit is contained in:
zsilencer
2015-04-13 19:53:07 -06:00
parent 26ab7c7b7e
commit b98585255b
5 changed files with 20 additions and 4 deletions

View File

@@ -175,6 +175,21 @@ static void sub_693BE5(rct_peep* peep, uint8 al){
sub_693B58(peep);
}
/**
*
* rct2: 0x0069A512
*/
void remove_peep_from_ride(rct_peep* peep)
{
if (peep->state == PEEP_STATE_QUEUING) {
remove_peep_from_queue(peep);
}
peep_decrement_num_riders(peep);
peep->state = PEEP_STATE_1;
peep_window_state_update(peep);
sub_693BE5(peep, 0);
}
static void peep_state_reset(rct_peep* peep){
peep_decrement_num_riders(peep);
peep->state = PEEP_STATE_1;
@@ -556,7 +571,7 @@ void peep_sprite_remove(rct_peep* peep){
//RCT2_CALLPROC_X(0x69A535, 0, 0, 0, 0, (int)peep, 0, 0);
//return;
RCT2_CALLPROC_X(0x0069A512, 0, 0, 0, 0, (int)peep, 0, 0);
remove_peep_from_ride(peep);
invalidate_sprite((rct_sprite*)peep);
window_close_by_number(WC_PEEP, peep->sprite_index);

View File

@@ -584,6 +584,7 @@ void peep_insert_new_thought(rct_peep *peep, uint8 thought_type, uint8 thought_a
void peep_set_map_tooltip(rct_peep *peep);
void sub_693B58(rct_peep* peep);
void remove_peep_from_ride(rct_peep* peep);
void remove_peep_from_queue(rct_peep* peep);
#endif

View File

@@ -294,7 +294,7 @@ void game_command_fire_staff_member(int *eax, int *ebx, int *ecx, int *edx, int
window_close_by_class(WC_FIRE_PROMPT);
uint16 sprite_id = *edx;
rct_peep *peep = &g_sprite_list[sprite_id].peep;
RCT2_CALLPROC_X(0x0069A512, 0, 0, 0, 0, (int)peep, 0, 0);
remove_peep_from_ride(peep);
peep_sprite_remove(peep);
}
*ebx = 0;

View File

@@ -622,7 +622,7 @@ void window_guest_overview_mouse_up(){
w->var_48C = peep->x;
RCT2_CALLPROC_X(0x0069A512, 0, 0, 0, 0, (int)peep, 0, 0);
remove_peep_from_ride(peep);
invalidate_sprite((rct_sprite*)peep);
sprite_move(0x8000, peep->y, peep->z, (rct_sprite*)peep);

View File

@@ -457,7 +457,7 @@ void window_staff_overview_mouseup()
w->var_48C = peep->x;
RCT2_CALLPROC_X(0x0069A512, 0, 0, 0, 0, (int)peep, 0, 0);
remove_peep_from_ride(peep);
invalidate_sprite((rct_sprite*)peep);
sprite_move( 0x8000, peep->y, peep->z, (rct_sprite*)peep);