diff options
author | smatz <smatz@openttd.org> | 2009-07-01 22:22:01 +0000 |
---|---|---|
committer | smatz <smatz@openttd.org> | 2009-07-01 22:22:01 +0000 |
commit | adc5363202629aa07c762f459d7e9f5bc78efa34 (patch) | |
tree | b0c087f513113051159d435af05d823798b2ee67 /src/water_cmd.cpp | |
parent | 15990079ce2bb53446305c5b61c7a620cd58b2dc (diff) | |
download | openttd-adc5363202629aa07c762f459d7e9f5bc78efa34.tar.xz |
(svn r16717) -Codechange: make IsFrontEngine() member of Train
Diffstat (limited to 'src/water_cmd.cpp')
-rw-r--r-- | src/water_cmd.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index a692e53a6..3034f98cd 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -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 |