summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2011-05-08 16:19:04 +0000
committerfrosch <frosch@openttd.org>2011-05-08 16:19:04 +0000
commit493a45ede515645aefb5a3dcde9711598ac1fb01 (patch)
tree5b3af352cfd0333c8ef2b0e0c90e22aa6390c323
parent76c7cbff70e2cd4ea86a58f3efe2eed1839e5986 (diff)
downloadopenttd-493a45ede515645aefb5a3dcde9711598ac1fb01.tar.xz
(svn r22437) -Fix: Catenary was drawn incorrectly next to level crossings with foundations. (same as r3935, but for level crossings)
-rw-r--r--src/elrail.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/elrail.cpp b/src/elrail.cpp
index 8188fa15e..74d0e45a5 100644
--- a/src/elrail.cpp
+++ b/src/elrail.cpp
@@ -315,7 +315,6 @@ static void DrawCatenaryRailway(const TileInfo *ti)
};
SpriteID pylon_base = (halftile_corner != CORNER_INVALID && HasBit(edge_corners[i], halftile_corner)) ? pylon_halftile : pylon_normal;
TileIndex neighbour = ti->tile + TileOffsByDiagDir(i);
- Foundation foundation = FOUNDATION_NONE;
byte elevation = GetPCPElevation(ti->tile, i);
/* Here's one of the main headaches. GetTileSlope does not correct for possibly
@@ -366,8 +365,10 @@ static void DrawCatenaryRailway(const TileInfo *ti)
PPPallowed[i] = 0;
}
- /* A station is always "flat", so adjust the tileh accordingly */
- if (IsTileType(neighbour, MP_STATION)) tileh[TS_NEIGHBOUR] = SLOPE_FLAT;
+ Foundation foundation = FOUNDATION_NONE;
+
+ /* Station and road crossings are always "flat", so adjust the tileh accordingly */
+ if (IsTileType(neighbour, MP_STATION) || IsTileType(neighbour, MP_ROAD)) tileh[TS_NEIGHBOUR] = SLOPE_FLAT;
/* Read the foundataions if they are present, and adjust the tileh */
if (trackconfig[TS_NEIGHBOUR] != TRACK_BIT_NONE && IsTileType(neighbour, MP_RAILWAY) && HasCatenary(GetRailType(neighbour))) foundation = GetRailFoundation(tileh[TS_NEIGHBOUR], trackconfig[TS_NEIGHBOUR]);