Mercurial > hg > openttd
changeset 11108:bbb79ca77fce draft
(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..
author | rubidium <rubidium@openttd.org> |
---|---|
date | Wed, 11 Feb 2009 20:41:17 +0000 |
parents | 60439e4cdc0a |
children | d202ea73cf73 |
files | src/road.cpp src/road_cmd.cpp src/town_cmd.cpp |
diffstat | 3 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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)
--- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -1337,7 +1337,7 @@ 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);
--- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -776,7 +776,7 @@ 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 */