pathfind.c
changeset 3735 56a5bdee6c9a
parent 3618 dc8cebe5ffd3
child 3804 13ee0f2f5cc9
--- a/pathfind.c	Wed May 03 15:46:21 2006 +0000
+++ b/pathfind.c	Wed May 03 16:18:45 2006 +0000
@@ -11,6 +11,7 @@
 #include "debug.h"
 #include "tunnel_map.h"
 #include "variables.h"
+#include "depot.h"
 
 // remember which tiles we have already visited so we don't visit them again.
 static bool TPFSetTileBit(TrackPathFinder *tpf, TileIndex tile, int dir)
@@ -264,6 +265,9 @@
 
 	/* Check in case of rail if the owner is the same */
 	if (tpf->tracktype == TRANSPORT_RAIL) {
+		// don't enter train depot from the back
+		if (IsTileDepotType(tile, TRANSPORT_RAIL) && GetRailDepotDirection(tile) == direction) return;
+
 		if (IsTileType(tile_org, MP_RAILWAY) || IsTileType(tile_org, MP_STATION) || IsTileType(tile_org, MP_TUNNELBRIDGE))
 			if (IsTileType(tile, MP_RAILWAY) || IsTileType(tile, MP_STATION) || IsTileType(tile, MP_TUNNELBRIDGE))
 				/* Check if we are on a bridge (middle parts don't have an owner */