Adjacent crossings: add setting (in PATX), add info to SLXI chunk.

This commit is contained in:
Jonathan G Rennison
2015-08-02 17:49:25 +01:00
parent b8ef887cc1
commit 09be8afd8d
7 changed files with 24 additions and 5 deletions

View File

@@ -1723,11 +1723,13 @@ void UpdateLevelCrossing(TileIndex tile, bool sound)
Axis axis = GetCrossingRoadAxis(tile);
for (TileIndex t = tile; !is_forced && IsLevelCrossingTile(t) && GetCrossingRoadAxis(t) == axis; t = TileAddByDiagDir(t, AxisToDiagDir(GetCrossingRoadAxis(t)))) {
is_forced |= CheckLevelCrossing(t);
}
for (TileIndex t = tile; !is_forced && IsLevelCrossingTile(t) && GetCrossingRoadAxis(t) == axis; t = TileAddByDiagDir(t, ReverseDiagDir(AxisToDiagDir(GetCrossingRoadAxis(t))))) {
is_forced |= CheckLevelCrossing(t);
if (_settings_game.vehicle.adjacent_crossings) {
for (TileIndex t = tile; !is_forced && IsLevelCrossingTile(t) && GetCrossingRoadAxis(t) == axis; t = TileAddByDiagDir(t, AxisToDiagDir(GetCrossingRoadAxis(t)))) {
is_forced |= CheckLevelCrossing(t);
}
for (TileIndex t = tile; !is_forced && IsLevelCrossingTile(t) && GetCrossingRoadAxis(t) == axis; t = TileAddByDiagDir(t, ReverseDiagDir(AxisToDiagDir(GetCrossingRoadAxis(t))))) {
is_forced |= CheckLevelCrossing(t);
}
}
for (TileIndex t = tile; IsLevelCrossingTile(t) && GetCrossingRoadAxis(t) == axis; t = TileAddByDiagDir(t, AxisToDiagDir(GetCrossingRoadAxis(t)))) {