diff --git a/src/openrct2/peep/Guest.cpp b/src/openrct2/peep/Guest.cpp index cfaee668f8..56d59dd9ad 100644 --- a/src/openrct2/peep/Guest.cpp +++ b/src/openrct2/peep/Guest.cpp @@ -3369,6 +3369,7 @@ void Guest::UpdateBuying() if (action != PEEP_ACTION_NONE_2) { UpdateAction(); + Invalidate(); return; } @@ -5777,7 +5778,7 @@ void Guest::UpdateWatching() { // 6917F6 UpdateAction(); - + Invalidate(); if (action != PEEP_ACTION_NONE_2) return; action = PEEP_ACTION_NONE_1; @@ -5862,6 +5863,7 @@ void Guest::UpdateUsingBin() if (action != PEEP_ACTION_NONE_2) { UpdateAction(); + Invalidate(); return; } diff --git a/src/openrct2/peep/Peep.cpp b/src/openrct2/peep/Peep.cpp index d61a06d816..226afbcc0a 100644 --- a/src/openrct2/peep/Peep.cpp +++ b/src/openrct2/peep/Peep.cpp @@ -881,6 +881,7 @@ void Peep::UpdateFalling() { // Check to see if we are ready to drown. UpdateAction(); + Invalidate(); if (action == PEEP_ACTION_DROWNING) return; diff --git a/src/openrct2/peep/Staff.cpp b/src/openrct2/peep/Staff.cpp index f4c9b67232..152eb19293 100644 --- a/src/openrct2/peep/Staff.cpp +++ b/src/openrct2/peep/Staff.cpp @@ -1242,6 +1242,7 @@ void Staff::UpdateWatering() if (action != PEEP_ACTION_NONE_2) { UpdateAction(); + Invalidate(); return; } @@ -1308,6 +1309,7 @@ void Staff::UpdateEmptyingBin() } UpdateAction(); + Invalidate(); if (action_frame != 11) return; @@ -1531,6 +1533,7 @@ void Staff::UpdateAnswering() return; } UpdateAction(); + Invalidate(); return; } else if (sub_state <= 3) @@ -2234,6 +2237,7 @@ bool Staff::UpdateFixingFixVehicle(bool firstRun, Ride* ride) } UpdateAction(); + Invalidate(); uint8_t actionFrame = (action == PEEP_ACTION_STAFF_FIX) ? 0x25 : 0x50; if (action_frame != actionFrame) @@ -2275,6 +2279,8 @@ bool Staff::UpdateFixingFixVehicleMalfunction(bool firstRun, Ride* ride) } UpdateAction(); + Invalidate(); + if (action_frame != 0x65) { return false; @@ -2384,6 +2390,7 @@ bool Staff::UpdateFixingFixStationEnd(bool firstRun) } UpdateAction(); + Invalidate(); return false; } @@ -2530,6 +2537,8 @@ bool Staff::UpdateFixingFixStationBrakes(bool firstRun, Ride* ride) } UpdateAction(); + Invalidate(); + if (action_frame == 0x28) { ride->mechanic_status = RIDE_MECHANIC_STATUS_HAS_FIXED_STATION_BRAKES; @@ -2625,6 +2634,7 @@ bool Staff::UpdateFixingFinishFixOrInspect(bool firstRun, int32_t steps, Ride* r if (action != PEEP_ACTION_NONE_2) { UpdateAction(); + Invalidate(); return false; }