Fix PBS detection outwards from PBS tunnel/bridge exit

pull/199/head
Jonathan G Rennison 4 years ago
parent 5e7b469d16
commit 5edb080deb

@ -633,8 +633,11 @@ static SigSegState UpdateSignalsInBuffer(Owner owner)
if (IsTunnel(tile)) assert(dir == INVALID_DIAGDIR || dir == ReverseDiagDir(GetTunnelBridgeDirection(tile))); if (IsTunnel(tile)) assert(dir == INVALID_DIAGDIR || dir == ReverseDiagDir(GetTunnelBridgeDirection(tile)));
TrackBits across = GetAcrossTunnelBridgeTrackBits(tile); TrackBits across = GetAcrossTunnelBridgeTrackBits(tile);
if (dir == INVALID_DIAGDIR || _enterdir_to_trackbits[dir] & across) { if (dir == INVALID_DIAGDIR || _enterdir_to_trackbits[dir] & across) {
_tbdset.Add(tile, INVALID_DIAGDIR); // we can safely start from wormhole centre if (IsTunnelBridgeWithSignalSimulation(tile)) {
if (!IsTunnelBridgeWithSignalSimulation(tile)) { // Don't worry with other side of tunnel. /* Don't worry about other side of tunnel. */
_tbdset.Add(tile, dir);
} else {
_tbdset.Add(tile, INVALID_DIAGDIR); // we can safely start from wormhole centre
_tbdset.Add(GetOtherTunnelBridgeEnd(tile), INVALID_DIAGDIR); _tbdset.Add(GetOtherTunnelBridgeEnd(tile), INVALID_DIAGDIR);
} }
break; break;

Loading…
Cancel
Save