Closed smcv closed 1 year ago
This looks like a colorkey issue:
Actually, it seems to be a flipping-horizontally problem:
When sprites face right (unflipped) ...
(I drew a little "X" on edgar's idle stance png with Gimp, so I knew I had the right one.)
In the flipImage function, we hit this code:
if (image->flags & SDL_SRCCOLORKEY)
SDL_SetColorKey(flipped, SDL_RLEACCEL|SDL_SRCCOLORKEY, image->format->colorkey);
In classic 1.2, this calls SDL_SetColorKey, in sdl12-compat, it doesn't. So somewhere we lost or failed to set SDL_SRCCOLORKEY. Digging further.
Confirmed fixed as of https://github.com/libsdl-org/sdl12-compat/commit/67f8b3a85b782eefb4db90f34d5b0742ef2cb5fc (1.2.58 + 29 commits)
Prerequisites:
pipewire-pulse
emulating PulseAudioapt install edgar
(Debian package version1.23-1
)libsdl1.2-compat
either 1.2.58-1 (packaged in Debian experimental) or commit 63e4393 (locally built)libsdl2-2.0-0
version2.24.1+dfsg-1
libsdl-image1.2
version1.2.12-13+b1
libsdl-mixer1.2
version1.2.12-17+b2
libsdl-ttf2.0-0
version2.0.11-6
libsdl1.2debian
(real SDL 1.2) vwrsion1.2.165+dfsg2-8
To reproduce:
edgar
LD_LIBRARY_PATH=.../sdl12-compat/_build edgar
SDL_VIDEODRIVER=wayland LD_LIBRARY_PATH=.../sdl12-compat/_build edgar
Start a new game, and look at the player character (human near the right side of the screen) during the opening conversation.
Expected result: all work
Actual result: with sdl12-compat (either X11 or Wayland), the player character's sprite is in a lime green non-transparent rectangle. With real SDL 1.2, those parts of the sprite are transparent.