summaryrefslogtreecommitdiff
path: root/src/newgrf_house.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/newgrf_house.cpp')
-rw-r--r--src/newgrf_house.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp
index c794f5233..78e9ffdde 100644
--- a/src/newgrf_house.cpp
+++ b/src/newgrf_house.cpp
@@ -330,15 +330,15 @@ void DrawTileLayout(const TileInfo *ti, const SpriteGroup *group, byte stage, Ho
if (GB(image, 0, SPRITE_WIDTH) != 0) DrawGroundSprite(image, pal);
- /* End now, if houses are invisible */
- if (IsInvisibilitySet(TO_HOUSES)) return;
-
foreach_draw_tile_seq(dtss, dts->seq) {
if (GB(dtss->image.sprite, 0, SPRITE_WIDTH) == 0) continue;
image = dtss->image.sprite;
pal = dtss->image.pal;
+ /* Stop drawing sprite sequence once we meet a sprite that doesn't have to be opaque */
+ if (IsInvisibilitySet(TO_HOUSES) && !HasBit(image, SPRITE_MODIFIER_OPAQUE)) return;
+
if (IS_CUSTOM_SPRITE(image)) image += stage;
if ((HasBit(image, SPRITE_MODIFIER_OPAQUE) || !IsTransparencySet(TO_HOUSES)) && HasBit(image, PALETTE_MODIFIER_COLOR)) {