summaryrefslogtreecommitdiff
path: root/elrail.c
diff options
context:
space:
mode:
Diffstat (limited to 'elrail.c')
-rw-r--r--elrail.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/elrail.c b/elrail.c
index e06fbd260..e3b99b6d2 100644
--- a/elrail.c
+++ b/elrail.c
@@ -280,6 +280,14 @@ static void DrawCatenaryRailway(const TileInfo *ti)
}
}
+ /* Don't draw a wire under a low bridge */
+ if (IsBridgeTile(ti->tile) &&
+ IsBridgeMiddle(ti->tile) &&
+ !(_display_opt & DO_TRANS_BUILDINGS) &&
+ GetBridgeHeight(ti->tile) <= TilePixelHeight(ti->tile) + TILE_HEIGHT) {
+ return;
+ }
+
/* Drawing of pylons is finished, now draw the wires */
for (t = 0; t < TRACK_END; t++) {
if (HASBIT(trackconfig[TS_HOME], t)) {
@@ -290,13 +298,6 @@ static void DrawCatenaryRailway(const TileInfo *ti)
const SortableSpriteStruct *sss;
int tileh_selector = !(tileh[TS_HOME] % 3) * tileh[TS_HOME] / 3; /* tileh for the slopes, 0 otherwise */
- if ( /* We are not drawing a wire under a low bridge */
- IsBridgeTile(ti->tile) &&
- IsBridgeMiddle(ti->tile) &&
- !(_display_opt & DO_TRANS_BUILDINGS) &&
- GetBridgeHeight(ti->tile) <= TilePixelHeight(ti->tile) + TILE_HEIGHT
- ) return;
-
assert(PCPconfig != 0); /* We have a pylon on neither end of the wire, that doesn't work (since we have no sprites for that) */
assert(!IsSteepSlope(tileh[TS_HOME]));
sss = &CatenarySpriteData[Wires[tileh_selector][t][PCPconfig]];