From 8e5371eec40f6d4d15baecc3f65d04db60573ab7 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sun, 26 Feb 2023 14:45:40 +0000 Subject: [PATCH] Public roads: Fix handling of non-trivial foundations --- src/road.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/road.cpp b/src/road.cpp index deda3cfd31..880416839c 100644 --- a/src/road.cpp +++ b/src/road.cpp @@ -576,6 +576,12 @@ static bool IsValidNeighbourOfPreviousTile(const TileIndex tile, const TileIndex desc.z = desc.tile_z; desc.slope = GetFoundationSlopeFromTileSlope(t, desc.tile_slope, &desc.z); + if (desc.slope == desc.tile_slope && desc.slope != SLOPE_FLAT && HasBit(VALID_LEVEL_CROSSING_SLOPES, desc.slope)) { + /* Synthesise a trivial flattening foundation */ + desc.slope = SLOPE_FLAT; + desc.z++; + } + return desc; }; const slope_desc sd = get_slope_info(tile);