1
0
mirror of https://github.com/OpenTTD/OpenTTD synced 2026-01-17 17:32:45 +01:00

Fix #13854: 40bpp-anim blitter recolouring failed for 32bpp pixels without mask channel. (#14242)

This commit is contained in:
frosch
2025-05-09 17:16:29 +02:00
committed by GitHub
parent a277cb2b4c
commit 228f9ca941

View File

@@ -377,8 +377,11 @@ void Blitter_40bppAnim::DrawColourMappingRect(void *dst, int width, int height,
const uint8_t *remap = GetNonSprite(pal, SpriteType::Recolour) + 1;
do {
for (int i = 0; i != width; i++) {
if (*anim == 0) *udst = MakeGrey(*udst);
*anim = remap[*anim];
if (*anim == 0) {
*udst = MakeGrey(*udst);
} else {
*anim = remap[*anim];
}
udst++;
anim++;
}
@@ -389,7 +392,7 @@ void Blitter_40bppAnim::DrawColourMappingRect(void *dst, int width, int height,
const uint8_t *remap = GetNonSprite(pal, SpriteType::Recolour) + 1;
do {
for (int i = 0; i != width; i++) {
*anim = remap[*anim];
if (*anim != 0) *anim = remap[*anim];
anim++;
}
anim = anim - width + _screen.pitch;