(svn r2517) - Fix: [pbs] Detect end-of-lines properly regarding depots.
authorhackykid
Mon, 04 Jul 2005 15:25:06 +0000
changeset 2009 e5981b336208
parent 2008 c9d6585c96c8
child 2010 fc4e04467881
(svn r2517) - Fix: [pbs] Detect end-of-lines properly regarding depots.
npf.c
--- a/npf.c	Mon Jul 04 14:58:55 2005 +0000
+++ b/npf.c	Mon Jul 04 15:25:06 2005 +0000
@@ -37,8 +37,8 @@
 		return false;
 
 	// depot
-	if (IsTileDepotType(tile, TRANSPORT_RAIL))
-		return false;
+	if (IsTileDepotType(tile, TRANSPORT_RAIL) && (exitdir != GetDepotDirection(tile, TRANSPORT_RAIL)))
+		return true;
 
 	/* Calculate next tile */
 	dst_tile = tile + TileOffsByDir(exitdir);
@@ -51,14 +51,14 @@
 
 	{
 		byte src_type = GetTileRailType(tile, trackdir);
-		byte dst_type = GetTileRailType(dst_tile, TrackdirToExitdir(trackdir));
+		byte dst_type = GetTileRailType(dst_tile, exitdir);
 		if (src_type != dst_type) {
 			return true;
 		}
 		if (GetTileOwner(tile) != GetTileOwner(dst_tile))
 			return true;
 
-		if (IsTileDepotType(dst_tile, TRANSPORT_RAIL) && (TrackdirToExitdir(trackdir) != ReverseDiagdir(GetDepotDirection(dst_tile, TRANSPORT_RAIL))))
+		if (IsTileDepotType(dst_tile, TRANSPORT_RAIL) && (exitdir != ReverseDiagdir(GetDepotDirection(dst_tile, TRANSPORT_RAIL))))
 			return true;
 
 		/* Check for oneway signal against us */