From d4dea94c3f900df83344eca082c6cb7e7649d87c Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 24 Oct 2020 23:37:47 +0100 Subject: [PATCH] Don't check road ahead when overtaking on one-way roads --- src/roadveh_cmd.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index 596cc4af6e..5a969b560d 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -964,6 +964,10 @@ static void RoadVehCheckOvertake(RoadVehicle *v, RoadVehicle *u) if (entry->GetOccupied() < opposite_entry->GetOccupied()) return; break; } + if (check_tile != v->tile && IsNormalRoadTile(check_tile) && GetDisallowedRoadDirections(check_tile) != DRD_NONE) { + /* one-way road, don't worry about other vehicles */ + continue; + } if (CheckRoadBlockedForOvertaking(&od)) return; } tile_count = v->gcache.cached_total_length / TILE_SIZE;