mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-16 00:12:51 +00:00
(svn r7718) -Fix (runknown): When pathfinding onto a bridge or tunnel end from
previous tile (but not warping from the opposite end) check the enter direction. This fixes signal setting if a rail ends on the top of a tunnel end.
This commit is contained in:
parent
0ecd922df4
commit
1b4c1919e9
16
pathfind.c
16
pathfind.c
@ -301,6 +301,22 @@ static void TPFMode1(TrackPathFinder* tpf, TileIndex tile, DiagDirection directi
|
||||
if (IsTileDepotType(tile, TRANSPORT_ROAD) && ReverseDiagDir(GetRoadDepotDirection(tile)) != direction) return;
|
||||
}
|
||||
|
||||
/* Check if the new tile is a tunnel or bridge head and that the direction
|
||||
* and transport type match */
|
||||
if (IsTileType(tile, MP_TUNNELBRIDGE)) {
|
||||
if (IsTunnel(tile)) {
|
||||
if (GetTunnelDirection(tile) != direction ||
|
||||
GetTunnelTransportType(tile) != tpf->tracktype) {
|
||||
return;
|
||||
}
|
||||
} else if (IsBridge(tile)) {
|
||||
if (GetBridgeRampDirection(tile) != direction ||
|
||||
GetBridgeTransportType(tile) != tpf->tracktype) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tpf->rd.cur_length++;
|
||||
|
||||
bits = GetTileTrackStatus(tile, tpf->tracktype);
|
||||
|
Loading…
Reference in New Issue
Block a user