diff options
author | rubidium <rubidium@openttd.org> | 2009-02-11 20:41:17 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-02-11 20:41:17 +0000 |
commit | 6a4ab97d36b8df17a4496c7f0629a00e9aa6749b (patch) | |
tree | d47240d6d406009e336448da1b40002aac1f003c | |
parent | 2fc6c2d0b090b077f06a8934c019778b8f7f085e (diff) | |
download | openttd-6a4ab97d36b8df17a4496c7f0629a00e9aa6749b.tar.xz |
(svn r15454) -Fix [FS#2614]: towns did not know about build_on_slopes in some cases, or made decisions on the 'original' slope instead the slope after applying the foundation..
-rw-r--r-- | src/road.cpp | 5 | ||||
-rw-r--r-- | src/road_cmd.cpp | 2 | ||||
-rw-r--r-- | src/town_cmd.cpp | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/src/road.cpp b/src/road.cpp index d8c3d0e43..01f777d23 100644 --- a/src/road.cpp +++ b/src/road.cpp @@ -13,13 +13,14 @@ #include "engine_base.h" #include "date_func.h" #include "settings_type.h" +#include "landscape.h" bool IsPossibleCrossing(const TileIndex tile, Axis ax) { return (IsTileType(tile, MP_RAILWAY) && !HasSignals(tile) && - GetTrackBits(tile) == (ax == AXIS_X ? TRACK_BIT_Y : TRACK_BIT_X) && - GetTileSlope(tile, NULL) == SLOPE_FLAT); + GetTrackBits(tile) == (ax == AXIS_X ? TRACK_BIT_Y : TRACK_BIT_X) && + GetFoundationSlope(tile, NULL) == SLOPE_FLAT); } RoadBits CleanUpRoadBits(const TileIndex tile, RoadBits org_rb) diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 1ff13d328..1935c460a 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -1337,7 +1337,7 @@ static void TileLoop_Road(TileIndex tile) if (t->road_build_months != 0 && (DistanceManhattan(t->xy, tile) < 8 || grp != HZB_TOWN_EDGE) && IsNormalRoad(tile) && CountBits(GetAllRoadBits(tile)) > 1 ) { - if (GetTileSlope(tile, NULL) == SLOPE_FLAT && EnsureNoVehicleOnGround(tile) && Chance16(1, 40)) { + if (GetFoundationSlope(tile, NULL) == SLOPE_FLAT && EnsureNoVehicleOnGround(tile) && Chance16(1, 40)) { StartRoadWorks(tile); SndPlayTileFx(SND_21_JACKHAMMER, tile); diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index d4e23ee99..c3d748331 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -776,7 +776,7 @@ static bool IsRoadAllowedHere(Town *t, TileIndex tile, DiagDirection dir) return false; } - cur_slope = GetTileSlope(tile, NULL); + cur_slope = _settings_game.construction.build_on_slopes ? GetFoundationSlope(tile, NULL) : GetTileSlope(tile, NULL); if (cur_slope == SLOPE_FLAT) { no_slope: /* Tile has no slope */ |