summaryrefslogtreecommitdiff
path: root/src/train_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/train_cmd.cpp')
-rw-r--r--src/train_cmd.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp
index c2171d0fa..ff14739d9 100644
--- a/src/train_cmd.cpp
+++ b/src/train_cmd.cpp
@@ -2779,12 +2779,19 @@ static void SetVehicleCrashed(Vehicle *v)
v->u.rail.crash_anim_pos++;
- Vehicle *u = v;
+ InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR);
+ InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
+
+ if (v->u.rail.track == TRACK_BIT_DEPOT) {
+ InvalidateWindow(WC_VEHICLE_DEPOT, v->tile);
+ }
+
+ RebuildVehicleLists();
+
BEGIN_ENUM_WAGONS(v)
v->vehstatus |= VS_CRASHED;
+ MarkAllViewportsDirty(v->left_coord, v->top_coord, v->right_coord + 1, v->bottom_coord + 1);
END_ENUM_WAGONS(v)
-
- InvalidateWindowWidget(WC_VEHICLE_VIEW, u->index, STATUS_BAR);
}
static uint CountPassengersInTrain(const Vehicle* v)