From bd6ef958e7f1073dfe9ea8b15c2877a0f9362251 Mon Sep 17 00:00:00 2001 From: smatz Date: Tue, 19 Aug 2008 10:55:33 +0000 Subject: (svn r14103) -Fix [YAPP]: flooded trains didn't free their reservation --- src/water_cmd.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index 3ad2b235f..e82e8cbba 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -889,7 +889,11 @@ static void FloodVehicle(Vehicle *v) case VEH_TRAIN: if (IsFrontEngine(v)) { pass += 4; // driver + /* FreeTrainTrackReservation() calls GetVehicleTrackdir() that doesn't like crashed vehicles. + * In this case, v->direction matches v->u.rail.track, so we can do this (it wasn't crashed before) */ + v->vehstatus &= ~VS_CRASHED; FreeTrainTrackReservation(v); + v->vehstatus |= VS_CRASHED; } v->u.rail.crash_anim_pos = 4000; // max 4440, disappear pretty fast InvalidateWindowClassesData(WC_TRAINS_LIST, 0); -- cgit v1.2.3-70-g09d2