mirror of https://github.com/OpenTTD/OpenTTD
(svn r11190) -Fix: make snowy roofs of (newgrf) houses also transparent.
parent
171374a8f0
commit
a2256f6b0f
|
@ -346,7 +346,7 @@ void DrawTileLayout(const TileInfo *ti, const SpriteGroup *group, byte stage, Ho
|
||||||
HASBIT(_transparent_opt, TO_HOUSES)
|
HASBIT(_transparent_opt, TO_HOUSES)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
AddChildSpriteScreen(image, pal, dtss->delta_x, dtss->delta_y);
|
AddChildSpriteScreen(image, pal, dtss->delta_x, dtss->delta_y, HASBIT(_transparent_opt, TO_HOUSES));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -196,7 +196,7 @@ void IndustryDrawTileLayout(const TileInfo *ti, const SpriteGroup *group, byte r
|
||||||
!HASBIT(image, SPRITE_MODIFIER_OPAQUE) && HASBIT(_transparent_opt, TO_INDUSTRIES)
|
!HASBIT(image, SPRITE_MODIFIER_OPAQUE) && HASBIT(_transparent_opt, TO_INDUSTRIES)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
AddChildSpriteScreen(image, pal, dtss->delta_x, dtss->delta_y);
|
AddChildSpriteScreen(image, pal, dtss->delta_x, dtss->delta_y, HASBIT(_transparent_opt, TO_INDUSTRIES));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2115,7 +2115,7 @@ static void DrawTile_Station(TileInfo *ti)
|
||||||
HASBIT(_transparent_opt, TO_BUILDINGS)
|
HASBIT(_transparent_opt, TO_BUILDINGS)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
AddChildSpriteScreen(image, pal, dtss->delta_x, dtss->delta_y);
|
AddChildSpriteScreen(image, pal, dtss->delta_x, dtss->delta_y, HASBIT(_transparent_opt, TO_BUILDINGS));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -613,13 +613,19 @@ void EndSpriteCombine()
|
||||||
_cur_vd->combine_sprites = 0;
|
_cur_vd->combine_sprites = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddChildSpriteScreen(SpriteID image, SpriteID pal, int x, int y)
|
void AddChildSpriteScreen(SpriteID image, SpriteID pal, int x, int y, bool transparent)
|
||||||
{
|
{
|
||||||
ViewportDrawer *vd = _cur_vd;
|
ViewportDrawer *vd = _cur_vd;
|
||||||
ChildScreenSpriteToDraw *cs;
|
ChildScreenSpriteToDraw *cs;
|
||||||
|
|
||||||
assert((image & SPRITE_MASK) < MAX_SPRITES);
|
assert((image & SPRITE_MASK) < MAX_SPRITES);
|
||||||
|
|
||||||
|
/* make the sprites transparent with the right palette */
|
||||||
|
if (transparent) {
|
||||||
|
SETBIT(image, PALETTE_MODIFIER_TRANSPARENT);
|
||||||
|
pal = PALETTE_TO_TRANSPARENT;
|
||||||
|
}
|
||||||
|
|
||||||
if (vd->spritelist_mem >= vd->eof_spritelist_mem) {
|
if (vd->spritelist_mem >= vd->eof_spritelist_mem) {
|
||||||
DEBUG(sprite, 0, "Out of sprite memory");
|
DEBUG(sprite, 0, "Out of sprite memory");
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -61,7 +61,7 @@ void DrawGroundSprite(SpriteID image, SpriteID pal);
|
||||||
void DrawGroundSpriteAt(SpriteID image, SpriteID pal, int32 x, int32 y, byte z);
|
void DrawGroundSpriteAt(SpriteID image, SpriteID pal, int32 x, int32 y, byte z);
|
||||||
void AddSortableSpriteToDraw(SpriteID image, SpriteID pal, int x, int y, int w, int h, int dz, int z, bool transparent = false, int bb_offset_x = 0, int bb_offset_y = 0, int bb_offset_z = 0);
|
void AddSortableSpriteToDraw(SpriteID image, SpriteID pal, int x, int y, int w, int h, int dz, int z, bool transparent = false, int bb_offset_x = 0, int bb_offset_y = 0, int bb_offset_z = 0);
|
||||||
void *AddStringToDraw(int x, int y, StringID string, uint64 params_1, uint64 params_2);
|
void *AddStringToDraw(int x, int y, StringID string, uint64 params_1, uint64 params_2);
|
||||||
void AddChildSpriteScreen(SpriteID image, SpriteID pal, int x, int y);
|
void AddChildSpriteScreen(SpriteID image, SpriteID pal, int x, int y, bool transparent = false);
|
||||||
|
|
||||||
|
|
||||||
void StartSpriteCombine();
|
void StartSpriteCombine();
|
||||||
|
|
Loading…
Reference in New Issue