|
|
|
@ -978,8 +978,9 @@ void DrawSpriteViewport(SpriteID img, PaletteID pal, int x, int y, const SubSpri
|
|
|
|
|
{
|
|
|
|
|
SpriteID real_sprite = GB(img, 0, SPRITE_WIDTH);
|
|
|
|
|
if (HasBit(img, PALETTE_MODIFIER_TRANSPARENT)) {
|
|
|
|
|
_colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), SpriteType::Recolour) + 1;
|
|
|
|
|
GfxMainBlitterViewport(GetSprite(real_sprite, SpriteType::Normal), x, y, BM_TRANSPARENT, sub, real_sprite);
|
|
|
|
|
pal = GB(pal, 0, PALETTE_WIDTH);
|
|
|
|
|
_colour_remap_ptr = GetNonSprite(pal, SpriteType::Recolour) + 1;
|
|
|
|
|
GfxMainBlitterViewport(GetSprite(real_sprite, SpriteType::Normal), x, y, pal == PALETTE_TO_TRANSPARENT ? BM_TRANSPARENT : BM_TRANSPARENT_REMAP, sub, real_sprite);
|
|
|
|
|
} else if (pal != PAL_NONE) {
|
|
|
|
|
if (HasBit(pal, PALETTE_TEXT_RECOLOUR)) {
|
|
|
|
|
SetColourRemap((TextColour)GB(pal, 0, PALETTE_WIDTH));
|
|
|
|
@ -1005,8 +1006,9 @@ void DrawSprite(SpriteID img, PaletteID pal, int x, int y, const SubSprite *sub,
|
|
|
|
|
{
|
|
|
|
|
SpriteID real_sprite = GB(img, 0, SPRITE_WIDTH);
|
|
|
|
|
if (HasBit(img, PALETTE_MODIFIER_TRANSPARENT)) {
|
|
|
|
|
_colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), SpriteType::Recolour) + 1;
|
|
|
|
|
GfxMainBlitter(GetSprite(real_sprite, SpriteType::Normal), x, y, BM_TRANSPARENT, sub, real_sprite, zoom);
|
|
|
|
|
pal = GB(pal, 0, PALETTE_WIDTH);
|
|
|
|
|
_colour_remap_ptr = GetNonSprite(pal, SpriteType::Recolour) + 1;
|
|
|
|
|
GfxMainBlitter(GetSprite(real_sprite, SpriteType::Normal), x, y, pal == PALETTE_TO_TRANSPARENT ? BM_TRANSPARENT : BM_TRANSPARENT_REMAP, sub, real_sprite, zoom);
|
|
|
|
|
} else if (pal != PAL_NONE) {
|
|
|
|
|
if (HasBit(pal, PALETTE_TEXT_RECOLOUR)) {
|
|
|
|
|
SetColourRemap((TextColour)GB(pal, 0, PALETTE_WIDTH));
|
|
|
|
|