File diff r12289:a05fa9e13224 → r12290:442d5d533a57
src/water_cmd.cpp
Show inline comments
 
@@ -798,18 +798,20 @@ static void FloodVehicle(Vehicle *v)
 

	
 
			switch (v->type) {
 
				default: NOT_REACHED();
 
				case VEH_TRAIN:
 
					if (IsFrontEngine(v)) {
 
				case VEH_TRAIN: {
 
					Train *t = Train::From(v);
 
					if (t->IsFrontEngine()) {
 
						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(Train::From(v));
 
						v->vehstatus |= VS_CRASHED;
 
						t->vehstatus &= ~VS_CRASHED;
 
						FreeTrainTrackReservation(t);
 
						t->vehstatus |= VS_CRASHED;
 
					}
 
					Train::From(v)->crash_anim_pos = 4000; // max 4440, disappear pretty fast
 
					t->crash_anim_pos = 4000; // max 4440, disappear pretty fast
 
					InvalidateWindowClassesData(WC_TRAINS_LIST, 0);
 
					break;
 
				}
 

	
 
				case VEH_ROAD:
 
					if (IsRoadVehFront(v)) pass += 1; // driver