[Scummvm-tracker] [ScummVM :: Bugs] #15143: SCUMM: Options dialog lists the wrong Music device
ScummVM :: Bugs
trac at scummvm.org
Wed May 29 10:35:47 UTC 2024
#15143: SCUMM: Options dialog lists the wrong Music device
-------------------------+----------------------------
Reporter: eriktorbjorn | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: SCUMM
Version: | Resolution:
Keywords: | Game:
-------------------------+----------------------------
Description changed by eriktorbjorn:
Old description:
> 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?
New description:
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?
--
--
Ticket URL: <https://bugs.scummvm.org/ticket/15143#comment:1>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list