From ef48d1012b7a3774ee9cea9eb6ac8e7779adadce Mon Sep 17 00:00:00 2001 From: rubidium Date: Thu, 24 May 2007 21:45:54 +0000 Subject: (svn r9912) -Fix: the AIs could build any road(station)s. --- src/ai/trolly/pathfinder.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'src/ai/trolly/pathfinder.cpp') diff --git a/src/ai/trolly/pathfinder.cpp b/src/ai/trolly/pathfinder.cpp index 0091939b1..e7102d642 100644 --- a/src/ai/trolly/pathfinder.cpp +++ b/src/ai/trolly/pathfinder.cpp @@ -237,17 +237,10 @@ static void AyStar_AiPathFinder_GetNeighbours(AyStar *aystar, OpenListNode *curr if (IsTunnel(atile)) { if (GetTunnelDirection(atile) != i) continue; } else { - if ((_m[atile].m5 & 1) != DiagDirToAxis(i)) continue; + if (GetBridgeRampDirection(atile) != i) continue; } } } - // But also if we are on a bridge, we can only move a certain direction - if (!PathFinderInfo->rail_or_road && IsRoad(ctile)) { - if (IsTileType(ctile, MP_TUNNELBRIDGE)) { - // An existing bridge/tunnel... let's test the direction ;) - if ((_m[ctile].m5 & 1) != (i & 1)) continue; - } - } if ((AI_PATHFINDER_FLAG_BRIDGE & current->path.node.user_data[0]) != 0 || (AI_PATHFINDER_FLAG_TUNNEL & current->path.node.user_data[0]) != 0) { @@ -291,9 +284,9 @@ static void AyStar_AiPathFinder_GetNeighbours(AyStar *aystar, OpenListNode *curr dir = 0; } else { // It already has road.. check if we miss any bits! - if ((_m[ctile].m5 & dir) != dir) { + if ((GetRoadBits(ctile, ROADTYPE_ROAD) & dir) != dir) { // We do miss some pieces :( - dir &= ~_m[ctile].m5; + dir &= ~GetRoadBits(ctile, ROADTYPE_ROAD); } else { dir = 0; } -- cgit v1.2.3-70-g09d2