diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -970,6 +970,9 @@ static bool AlwaysDrawUnpavedRoads(TileI */ void DrawTramCatenary(TileInfo *ti, RoadBits tram) { + /* Do not draw catenary if it is invisible */ + if (IsInvisibilitySet(TO_CATENARY)) return; + /* Don't draw the catenary under a low bridge */ if (MayHaveBridgeAbove(ti->tile) && IsBridgeAbove(ti->tile) && !IsTransparencySet(TO_CATENARY)) { uint height = GetBridgeHeight(GetNorthernBridgeEnd(ti->tile)); @@ -1154,6 +1157,9 @@ static void DrawTile_Road(TileInfo *ti) DrawGroundSprite(dts->ground.sprite, PAL_NONE); + /* End now if buildings are invisible */ + if (IsInvisibilitySet(TO_BUILDINGS)) break; + for (dtss = dts->seq; dtss->image.sprite != 0; dtss++) { SpriteID image = dtss->image.sprite; SpriteID pal;