diff options
author | Colin Snover | 2017-07-07 11:30:07 -0500 |
---|---|---|
committer | Colin Snover | 2017-07-07 13:28:54 -0500 |
commit | 07d6ffd989ce89e52c6381d8c9a2c53ffaa7e05e (patch) | |
tree | f6c1673105ceb475d099e972e9ae465425e40f1d /engines/sci/sound | |
parent | 90cd56e4b6f008c9dbb3f9d1b34bca4a786c40ac (diff) | |
download | scummvm-rg350-07d6ffd989ce89e52c6381d8c9a2c53ffaa7e05e.tar.gz scummvm-rg350-07d6ffd989ce89e52c6381d8c9a2c53ffaa7e05e.tar.bz2 scummvm-rg350-07d6ffd989ce89e52c6381d8c9a2c53ffaa7e05e.zip |
SCI32: Force General MIDI for games that support nothing else
* MGDX has only GM music;
* KQ7 1.x's AdLib data is incomplete, so is not usable even though
it is partially there
Fixes Trac#9789.
Diffstat (limited to 'engines/sci/sound')
-rw-r--r-- | engines/sci/sound/music.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp index 6df25e1ab0..647f588d1e 100644 --- a/engines/sci/sound/music.cpp +++ b/engines/sci/sound/music.cpp @@ -68,7 +68,16 @@ void SciMusic::init() { _dwTempo = 0; Common::Platform platform = g_sci->getPlatform(); - uint32 deviceFlags = MDT_PCSPK | MDT_PCJR | MDT_ADLIB | MDT_MIDI; + uint32 deviceFlags; +#ifdef ENABLE_SCI32 + if (g_sci->_features->generalMidiOnly()) { + deviceFlags = MDT_MIDI; + } else { +#endif + deviceFlags = MDT_PCSPK | MDT_PCJR | MDT_ADLIB | MDT_MIDI; +#ifdef ENABLE_SCI32 + } +#endif // Default to MIDI for Windows versions of SCI1.1 games, as their // soundtrack is written for GM. @@ -93,6 +102,11 @@ void SciMusic::init() { warning("A Windows CD version with an alternate MIDI soundtrack has been chosen, " "but no MIDI music device has been selected. Reverting to the DOS soundtrack"); g_sci->_features->forceDOSTracks(); +#ifdef ENABLE_SCI32 + } else if (g_sci->_features->generalMidiOnly() && _musicType != MT_GM) { + warning("This game only supports General MIDI, but a non-GM device has " + "been selected. Some music may be wrong or missing"); +#endif } switch (_musicType) { |