From dcdb771c40a45439ea1bdea438be16bd4777578d Mon Sep 17 00:00:00 2001 From: Yexo Date: Wed, 21 Jan 2009 01:37:20 +0000 Subject: [PATCH] (svn r15187) -Fix: assert when an AI called AIRoad::GetNeighbourRoadCount on a tile at the north edge (bug found by SmatZ). --- src/ai/api/ai_road.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ai/api/ai_road.cpp b/src/ai/api/ai_road.cpp index a6a14656c7..2e3137f231 100644 --- a/src/ai/api/ai_road.cpp +++ b/src/ai/api/ai_road.cpp @@ -422,10 +422,10 @@ static bool NeighbourHasReachableRoad(::RoadTypes rts, TileIndex start_tile, Dia ::RoadTypes rts = ::RoadTypeToRoadTypes((::RoadType)GetCurrentRoadType()); int32 neighbour = 0; - if (NeighbourHasReachableRoad(rts, tile, DIAGDIR_NE)) neighbour++; + if (TileX(tile) > 0 && NeighbourHasReachableRoad(rts, tile, DIAGDIR_NE)) neighbour++; if (NeighbourHasReachableRoad(rts, tile, DIAGDIR_SE)) neighbour++; if (NeighbourHasReachableRoad(rts, tile, DIAGDIR_SW)) neighbour++; - if (NeighbourHasReachableRoad(rts, tile, DIAGDIR_NW)) neighbour++; + if (TileY(tile) > 0 && NeighbourHasReachableRoad(rts, tile, DIAGDIR_NW)) neighbour++; return neighbour; }