diff options
author | frosch <frosch@openttd.org> | 2011-05-08 16:19:04 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2011-05-08 16:19:04 +0000 |
commit | 493a45ede515645aefb5a3dcde9711598ac1fb01 (patch) | |
tree | 5b3af352cfd0333c8ef2b0e0c90e22aa6390c323 | |
parent | 76c7cbff70e2cd4ea86a58f3efe2eed1839e5986 (diff) | |
download | openttd-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.cpp | 7 |
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]); |