summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vehicle.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/vehicle.c b/vehicle.c
index 611ae95ca..9eb997a36 100644
--- a/vehicle.c
+++ b/vehicle.c
@@ -2051,6 +2051,10 @@ Trackdir GetVehicleTrackdir(const Vehicle* v)
if (IsRoadStopTile(v->tile)) /* We'll assume the road vehicle is facing outwards */
return DiagdirToDiagTrackdir(GetRoadStopDir(v->tile)); /* Road vehicle in a station */
+ /* If vehicle's state is a valid track direction (vehicle is not turning around) return it */
+ if ((v->u.road.state & 7) < 6) return v->u.road.state;
+
+ /* Vehicle is turning around, get the direction from vehicle's direction */
return DiagdirToDiagTrackdir(DirToDiagDir(v->direction));
/* case VEH_Aircraft: case VEH_Special: case VEH_Disaster: */