Opened 4 days ago

Closed 2 days ago

Last modified 2 days ago

#15506 closed defect (fixed)

DGDS Rise of the Dragon: gfx defect (BE/MORPHOS)

Reported by: BeWorld2018 Owned by: dwatteau
Priority: high Component: Engine: DGDS
Version: Keywords:
Cc: Game: Rise of the Dragon

Description

Scummvm (build 16-11-2024 master 2.10.0git)

Something wrong with gfx (check screenshoot), intro, menu etc...
(Only little menu with SKIP INTRO/PLAY INTRO working)

All mode: OpenGL (Software or OpenGL) or SDL Surface
Game: Rise of the Dragon DOS/English
MorphOS - PPC - BigEndian

Attachments (3)

2024-11-17_08h26_05.png (807.2 KB ) - added by BeWorld2018 4 days ago.
valgrind-rise-big-endian-ppc32.txt (58.0 KB ) - added by dwatteau 4 days ago.
Valgrind output when starting the game on big-endian ppc32 (current Git HEAD)
rise-big-endian-disabled-doVqtDecode.png (1.1 KB ) - added by dwatteau 4 days ago.
screen output when disabling _doVqtDecode() call inside _doVqtDecode() on big-endian. The non-VQT content appears fine, so the endianness issue may lie there?

Download all attachments as: .zip

Change History (10)

by BeWorld2018, 4 days ago

Attachment: 2024-11-17_08h26_05.png added

comment:1 by dwatteau, 4 days ago

Thank you the time you take into testing the newly supported games on MorphOS.

@ScummDevs: I can reproduce this on my usual big-endian development environment. I don't know this engine, so I can't suggest much, but I see that if I remove the _doVqtDecode() call inside Image::loadVQT(), most of the screen content becomes black (obviously), but what's left appears to be OK. So the endianness issue maybe lies in the VQT part? I'm attaching a screenshot of that.

I'm also attaching a Valgrind log under big-endian ppc32.

If any developper wants to do some tests (I have GDB too there), you can ping me here on on Discord for some tests on my big-endian env. Or you can also use the environment described in <https://wiki.scummvm.org/index.php/HOWTO-Debug-Endian-Issues> for local big-endian debugging.

by dwatteau, 4 days ago

Valgrind output when starting the game on big-endian ppc32 (current Git HEAD)

comment:2 by dwatteau, 4 days ago

Component: --Unset--Engine: DGDS
Priority: normalhigh

by dwatteau, 4 days ago

screen output when disabling _doVqtDecode() call inside _doVqtDecode() on big-endian. The non-VQT content appears fine, so the endianness issue may lie there?

comment:3 by dwatteau, 2 days ago

In b16a7735:

DGDS: Fix VQT image decoding on big-endian systems (Trac#15506)

GFX rendering issue on MorphOS reported by BeWorld2018, big-endian VQT
investigation of mine, and proper _doVqtDecode() fix from BLooperZ, thanks!

comment:4 by dwatteau, 2 days ago

In 3b4d3ccf:

DGDS: Fix VQT image decoding on big-endian systems (Trac#15506)

GFX rendering issue on MorphOS reported by BeWorld2018, big-endian VQT
investigation of mine, and proper _doVqtDecode() fix from BLooperZ, thanks!

(cherry picked from commit b16a7735094771b3b8c7c8bd80176d18b5a26956)

comment:5 by dwatteau, 2 days ago

Owner: set to dwatteau
Resolution: fixed
Status: newclosed

@BeWorld2018: I've pushed a fix on both the main Git branch and branch-2-9. It now looks good to me on my big-endian PowerBook G4, feel free to reopen this issue if you still see some problem with this game on MorphOS, though.

Thank you very much for your report and test!

comment:6 by BeWorld2018, 2 days ago

ok thanks, I try to test during the day

comment:7 by BeWorld2018, 2 days ago

ok seem fix :-) thanks again

Note: See TracTickets for help on using tickets.