diff options
-rw-r--r-- | pathfind.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/pathfind.c b/pathfind.c index 3592c372d..4e65c3d99 100644 --- a/pathfind.c +++ b/pathfind.c @@ -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 @@ static void TPFMode1(TrackPathFinder* tpf, TileIndex tile, DiagDirection directi /* 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 */ |