Mercurial > hg > openttd
changeset 8865:f78044f539de draft
(svn r12632) -Fix (r12547): with invisible catenary, trams were be drawn over a bridge
author | smatz <smatz@openttd.org> |
---|---|
date | Tue, 08 Apr 2008 21:28:47 +0000 |
parents | 64ca8e9a3a95 |
children | 35bebefc68f6 |
files | src/tunnelbridge_cmd.cpp |
diffstat | 1 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -791,20 +791,28 @@ /* The sprites under the vehicles are drawn as SpriteCombine. StartSpriteCombine() has already been called * The bounding boxes here are the same as for bridge front/roof */ if (head || !IsInvisibilitySet(TO_BRIDGES)) { - AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + tram_offsets[overlay][offset], PAL_NONE, x, y, size_x[offset], size_y[offset], 0x28, z, !head && IsTransparencySet(TO_BRIDGES)); + AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + tram_offsets[overlay][offset], PAL_NONE, + x, y, size_x[offset], size_y[offset], 0x28, z, + !head && IsTransparencySet(TO_BRIDGES)); } /* Do not draw catenary if it is set invisible */ - if (IsInvisibilitySet(TO_CATENARY)) return; - - AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + back_offsets[offset], PAL_NONE, x, y, size_x[offset], size_y[offset], 0x28, z, IsTransparencySet(TO_CATENARY)); + if (!IsInvisibilitySet(TO_CATENARY)) { + AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + back_offsets[offset], PAL_NONE, + x, y, size_x[offset], size_y[offset], 0x28, z, + IsTransparencySet(TO_CATENARY)); + } /* Start a new SpriteCombine for the front part */ EndSpriteCombine(); StartSpriteCombine(); /* For sloped sprites the bounding box needs to be higher, as the pylons stop on a higher point */ - AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + front_offsets[offset], PAL_NONE, x, y, size_x[offset] + front_bb_offset_x[offset], size_y[offset] + front_bb_offset_y[offset], 0x28, z, IsTransparencySet(TO_CATENARY), front_bb_offset_x[offset], front_bb_offset_y[offset]); + if (!IsInvisibilitySet(TO_CATENARY)) { + AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + front_offsets[offset], PAL_NONE, + x, y, size_x[offset] + front_bb_offset_x[offset], size_y[offset] + front_bb_offset_y[offset], 0x28, z, + IsTransparencySet(TO_CATENARY), front_bb_offset_x[offset], front_bb_offset_y[offset]); + } } /**