From cae7b03bdf000c654851d641710f8c5b79b79af0 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Sat, 28 Nov 2015 12:43:02 +0000 Subject: [PATCH] Fix #1717. Fixes fix ride from failing to fix safety cut out. As the code to fix rides has not been completed yet it was unknown that safety cutout had so many flags requiring reseting --- src/windows/ride.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/windows/ride.c b/src/windows/ride.c index 88086e816a..443c7c921e 100644 --- a/src/windows/ride.c +++ b/src/windows/ride.c @@ -3457,6 +3457,19 @@ static void window_ride_maintenance_dropdown(rct_window *w, int widgetIndex, int case WIDX_FORCE_BREAKDOWN: if (dropdownIndex == 0) { switch (ride->breakdown_reason_pending) { + case BREAKDOWN_SAFETY_CUT_OUT: + for (int i = 0; i < ride->num_vehicles; ++i) { + uint16 spriteId = ride->vehicles[i]; + do { + vehicle = GET_VEHICLE(spriteId); + vehicle->update_flags &= ~( + VEHICLE_UPDATE_FLAG_BROKEN_CAR | + VEHICLE_UPDATE_FLAG_7 | + VEHICLE_UPDATE_FLAG_BROKEN_TRAIN + ); + } while ((spriteId = vehicle->next_vehicle_on_train) != 0xFFFF); + } + break; case BREAKDOWN_RESTRAINTS_STUCK_CLOSED: case BREAKDOWN_RESTRAINTS_STUCK_OPEN: case BREAKDOWN_DOORS_STUCK_CLOSED: