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 )
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?