Opened 5 weeks ago

Last modified 4 weeks ago

#15143 new defect

SCUMM: Options dialog lists the wrong Music device — at Version 1

Reported by: eriktorbjorn Owned by:
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game:

Description (last modified by eriktorbjorn)

The Game Options dialog is supposed to show the relevant music devices on the AUdio tab or, if not specified, all of them. But this is not how it behaves for the SCUMM games. Examples:

Maniac Mansion (DOS v1, v2) list "<default>", "No music", and "AdLib emulator", even though it specifies PC Speaker and PCjr.

Fate of Atlantis (DOS) lists all devices, even though it specifies PC Speaker, AdLib and MIDI.

I think the problem is in how the SCUMM engine's customizeGuiOptions() uses MidiDriver::musicType2GUIO(). It passes a set of MDT_ bit flags to it, but that function is supposed to convert a single MT_ value.

Maniac Mansion's MDT_PCSPK | MDT_PCJR has the numerical value 5, which probably corresponds to the numerical value of MT_ADLIB. Fate of Atlantis's MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32 doesn't correspond to any single MT_ constant.

But I'm not sure what to make of this. Should we have a new function that converts an MDT_ value to the corresponding GUIO_ options (plural)? Or should we not have to do this at all? I notice that some game entries already specify a set of GUIO_ options for the music drivers they support, e.g. the FM Towns version of Fate of Atlantis (which I don't own). So maybe we should go through the others and add the appropriate GUIO_ options to them instead?

Either way, we probably have to consider MDT_PCSPK, according to its comment, "Maps to MT_PCSPK and MT_PCJR".

Also, we have a MDT_MACINTOSH value, but no MT_MACINTOSH flag, but maybe that's used for something else?

Change History (1)

comment:1 by eriktorbjorn, 5 weeks ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.