From 493a45ede515645aefb5a3dcde9711598ac1fb01 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 8 May 2011 16:19:04 +0000 Subject: (svn r22437) -Fix: Catenary was drawn incorrectly next to level crossings with foundations. (same as r3935, but for level crossings) --- src/elrail.cpp | 7 ++++--- 1 file 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]); -- cgit v1.2.3-54-g00ecf