DONTMERGE: DRAGONS: Incomplete attempt at improving big-endian compatibility #2784
This is related to https://bugs.scummvm.org/ticket/11710.
DRAGONS has some important rendering issues with big-endian systems. I have a PowerBook G4 running Debian unstable on ppc32 (big-endian), so I tried having a look at this. (I'm doing my tests with
This first commit is incomplete, and has been mostly done through naive trial-and-error, so see this more as an attempt at showing where the problem lies. Feel free to improve on it or to rewrite it completely in a better way :)
It seems that, in this engine, screen content must be written in native endianness here, not in little-endian. So, I've just introduced a naive
The first commit I'm including in this PR appears to fix most scenes, cutscenes, and the bag.
Shadows, menus, and text are still wrong (I think I'm just missing something for the menus, and for the fonts/shadows it looks like some possible alpha blending problem). Audio hasn't been tested yet (Fluidsynth gives me some really strange initialisation errors, but it's maybe a problem with Debian unstable -- I'll look at this a bit later).
By the way, I also see these
We can arrange for some more tests through Discord or whatever, if you like.
It seems that screen content must be written in native endianness here, not in little-endian. This appears to fix most scenes, cutscenes, and the bag. Shadows, menus, and text are still wrong. Audio hasn't been tested yet. See https://bugs.scummvm.org/ticket/11710.