Opened 8 years ago

Last modified 18 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
Version: Keywords:
Cc: Game:


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- 4 years ago.

Download all attachments as: .zip

Change History (5)

comment:1 by sev-, 7 years ago

Component: GUI

comment:2 by raziel-, 4 years 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, 4 years 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.

comment:4 by tag2015, 18 months ago

Using the current release the commandline would be

./scummvm.exe --scale-factor=1 comi

Anyway, I can't reproduce the issue (at least on Windows using SDL or OpenGL modes). COMI always uses the hires options window and strings.
If a lowres game is started (such as maniac mansion) the gui is lowres, but if you increase the scaler using ctrl-alt-+ it will switch to hires as well.

Note: See TracTickets for help on using tickets.