2219 Axis axis = GetRoadStopDir(ti->tile) == DIAGDIR_NE ? AXIS_X : AXIS_Y; |
2219 Axis axis = GetRoadStopDir(ti->tile) == DIAGDIR_NE ? AXIS_X : AXIS_Y; |
2220 DrawGroundSprite((HasBit(roadtypes, ROADTYPE_ROAD) ? SPR_TRAMWAY_OVERLAY : SPR_TRAMWAY_TRAM) + (axis ^ 1), PAL_NONE); |
2220 DrawGroundSprite((HasBit(roadtypes, ROADTYPE_ROAD) ? SPR_TRAMWAY_OVERLAY : SPR_TRAMWAY_TRAM) + (axis ^ 1), PAL_NONE); |
2221 DrawTramCatenary(ti, axis == AXIS_X ? ROAD_X : ROAD_Y); |
2221 DrawTramCatenary(ti, axis == AXIS_X ? ROAD_X : ROAD_Y); |
2222 } |
2222 } |
2223 |
2223 |
2224 /* End now if buildings are invisible */ |
|
2225 if (IsInvisibilitySet(TO_BUILDINGS)) return; |
|
2226 |
|
2227 const DrawTileSeqStruct *dtss; |
2224 const DrawTileSeqStruct *dtss; |
2228 foreach_draw_tile_seq(dtss, t->seq) { |
2225 foreach_draw_tile_seq(dtss, t->seq) { |
2229 SpriteID image = dtss->image.sprite; |
2226 SpriteID image = dtss->image.sprite; |
|
2227 |
|
2228 /* Stop drawing sprite sequence once we meet a sprite that doesn't have to be opaque */ |
|
2229 if (IsInvisibilitySet(TO_BUILDINGS) && !HasBit(image, SPRITE_MODIFIER_OPAQUE)) return; |
|
2230 |
2230 if (relocation == 0 || HasBit(image, SPRITE_MODIFIER_USE_OFFSET)) { |
2231 if (relocation == 0 || HasBit(image, SPRITE_MODIFIER_USE_OFFSET)) { |
2231 image += total_offset; |
2232 image += total_offset; |
2232 } else { |
2233 } else { |
2233 image += relocation; |
2234 image += relocation; |
2234 } |
2235 } |