Opened 4 years ago

Last modified 2 months ago

#7103 new defect

GUI: GMM Options dialog doesn't adapt to changing resolutions

Reported by: salty-horse Owned by:
Priority: normal Component: GUI
Keywords: Cc:
Game:

Description

When a hi-res SCUMM game such as COMI is launched via "./scummvm -g1x comi", the in-game options dialog renders incorrectly. While it will use the hi-res theme, the strings will be the low-res, shortened ones.

This is because SCUMM's menus are intialized before the resolution change, so g_system->getOverlayWidth() in gui/options.cpp still thinks it's in low-res.

The menus also do not re-initialize after the window is resized, so the displayed strings do not adapt to the changing resolution.

An fix for the first problem is available here. It changes the initialization order of SCUMM so that the menus will initialize only after the resolution is set.

Even if a more general solutions is desired, one that adapts to the resolution changing dynamically, I still think the linked patch is the correct initialization order. Without it, the dialogs will have to be re-initialized twice. Once with the low resolution, and once with the high resolution, after SCUMM sets it.

Ticket imported from: bugs/7103.

Attachments (1)

Monkey Island 3_ The Curse of _000.png (207.3 KB ) - added by raziel- 2 months ago.

Download all attachments as: .zip

Change History (4)

comment:1 by sev-, 4 years ago

Component: GUI

comment:2 by raziel-, 2 months ago

ScummVM 2.2.0git (Jul 15 2020 10:24:49)
Features compiled in: Vorbis FLAC MP3 RGB zLib MPEG2 Theora AAC A/52 FreeType2 FriBiDi JPEG PNG cloud (servers, local)

Is this still an issue?
I can't reproduce this behaviour with above ScummVM version.
All three themes ("Classic", "Modern", "Remastered") behave like they should.

Screenshot of "Remastered" attached.

AmigaOS4 - PPC - BE - SDL

comment:3 by salty-horse, 2 months ago

I should have provided a screenshot of the original issue, since I don't remember which strings were shortened.

From your screenshot it looks fine now.

Note: See TracTickets for help on using tickets.