fixed bug with copying color key if surfaces have different format
authorHolger Schemel <info@artsoft.org>
Sun, 25 Oct 2020 18:53:25 +0000 (19:53 +0100)
committerHolger Schemel <info@artsoft.org>
Sun, 25 Oct 2020 18:53:25 +0000 (19:53 +0100)
commit41b805f296b21b950aa8372c2f1792bf301f4ef9
treeed3aa6dc3391d2a380b44671321bbf921433aa08
parent7b0c7193ca162428607ec507f337bbedb882f719
fixed bug with copying color key if surfaces have different format

This bug occurs when getting the color key of a surface and setting it
as the color key of another surface that has a surface format that
differs from that of the first surface.

This bug occurs in conjunction with the workaround for the color key
bug in SDL 2.0.12 which prevents transparency in graphics files with
color palette. (See commit 6b6c9eb2 for that workaround.)

Especially, this bug combination occurs on the high score screen of
Alan Bond's "Snake Bite" level set, which then only shows a headline
on a black screen. (This screen uses a trick to show each line on the
screen in a different color by using a background with different
colors and an inverted font with transparent characters and opaque
black surroundings, so missing transparency leads to "black text on
black background".)
src/libgame/sdl.c