mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-21 21:49:10 +00:00
(svn r16717) -Codechange: make IsFrontEngine() member of Train
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user