summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-02-11 20:41:17 +0000
committerrubidium <rubidium@openttd.org>2009-02-11 20:41:17 +0000
commite8dbf62761c6ef456a21db04baac216703be7ce1 (patch)
treed47240d6d406009e336448da1b40002aac1f003c /src
parent81cf1cac8f23e53ee5b6a69e8c9d6023dbcefe22 (diff)
downloadopenttd-e8dbf62761c6ef456a21db04baac216703be7ce1.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..
Diffstat (limited to 'src')
-rw-r--r--src/road.cpp5
-rw-r--r--src/road_cmd.cpp2
-rw-r--r--src/town_cmd.cpp2
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 */