Tracerestrict: Add support for signalled tunnel/bridges to PBS entry signal conditional

This commit is contained in:
Jonathan G Rennison
2019-11-16 14:52:05 +00:00
parent b07a1f8426
commit 6d30809fc7
3 changed files with 7 additions and 0 deletions

View File

@@ -215,6 +215,8 @@ private:
if (IsRailDepotTile(v->tile)) {
candidate_tile = v->tile;
} else if (v->track & TRACK_BIT_WORMHOLE && IsTileType(v->tile, MP_TUNNELBRIDGE) && IsTunnelBridgeSignalSimulationExit(v->tile) && IsTunnelBridgePBS(v->tile)) {
candidate_tile = v->tile;
}
CFollowTrackRail ft(v);

View File

@@ -448,6 +448,9 @@ TileIndex VehiclePosTraceRestrictPreviousSignalCallback(const Train *v, const vo
if (IsRailDepotTile(v->tile)) {
return v->tile;
}
if (v->track & TRACK_BIT_WORMHOLE && IsTileType(v->tile, MP_TUNNELBRIDGE) && IsTunnelBridgeSignalSimulationExit(v->tile) && IsTunnelBridgePBS(v->tile)) {
return v->tile;
}
// scan forwards from vehicle position, for the case that train is waiting at/approaching PBS signal

View File

@@ -1876,6 +1876,8 @@ public:
if (IsRailDepotTile(tile)) {
// OK
} else if (IsTileType(tile, MP_TUNNELBRIDGE) && IsTunnelBridgeWithSignalSimulation(tile)) {
// OK
} else {
if (!IsPlainRailTile(tile)) {
ShowErrorMessage(error_message, STR_ERROR_THERE_IS_NO_RAILROAD_TRACK, WL_INFO);