diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 076a9e2250..b77a349d09 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -1811,8 +1811,7 @@ static void ReverseTrainDirection(Vehicle *v) InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile); } - /* set reversed flag on all parts */ - for (Vehicle *u = v; u != NULL; u = u->Next()) ToggleBit(u->u.rail.flags, VRF_TOGGLE_REVERSE); + ToggleBit(v->u.rail.flags, VRF_TOGGLE_REVERSE); ClrBit(v->u.rail.flags, VRF_REVERSING); diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 9d092d673e..54cb8e288b 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -2188,8 +2188,7 @@ void VehicleEnterDepot(Vehicle *v) if (!IsFrontEngine(v)) v = v->First(); UpdateSignalsOnSegment(v->tile, INVALID_DIAGDIR, v->owner); v->load_unload_time_rem = 0; - /* Reset reversed flag */ - for (Vehicle *u = v; u != NULL; u = u->Next()) ClrBit(u->u.rail.flags, VRF_TOGGLE_REVERSE); + ClrBit(v->u.rail.flags, VRF_TOGGLE_REVERSE); TrainConsistChanged(v); break; diff --git a/src/vehicle_base.h b/src/vehicle_base.h index 55966821f6..806dc2dc7d 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -139,7 +139,7 @@ enum VehicleRailFlags { /* used to mark that electric train engine is allowed to run on normal rail */ VRF_EL_ENGINE_ALLOWED_NORMAL_RAIL = 6, - /* used for vehicle var 0xFE bit 8 (toggled each time the train is reversed) */ + /* used for vehicle var 0xFE bit 8 (toggled each time the train is reversed, accurate for first vehicle only) */ VRF_TOGGLE_REVERSE = 7, };