diff options
author | Travis Howell | 2009-02-16 06:23:41 +0000 |
---|---|---|
committer | Travis Howell | 2009-02-16 06:23:41 +0000 |
commit | f9705960820c1d8f8b29096cf0ad7a02ee9ee3b5 (patch) | |
tree | 439853c6a58a62fe656e6672730f6020f713744f | |
parent | a57e773a0ee200e7775ff04454990ae7539257ea (diff) | |
download | scummvm-rg350-f9705960820c1d8f8b29096cf0ad7a02ee9ee3b5.tar.gz scummvm-rg350-f9705960820c1d8f8b29096cf0ad7a02ee9ee3b5.tar.bz2 scummvm-rg350-f9705960820c1d8f8b29096cf0ad7a02ee9ee3b5.zip |
Limit platforms to specific SCUMM versions, when selecting the music engine to be used. To help prevent issues, if user manually selects the incorrect platform.
svn-id: r38345
-rw-r--r-- | engines/scumm/scumm.cpp | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 19aa7324e4..07c1116189 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -1627,25 +1627,32 @@ void ScummEngine::setupMusic(int midi) { // Init iMuse if (_game.version >= 7) { // Setup for digital iMuse is performed in another place - } else if (_game.platform == Common::kPlatformApple2GS || _game.platform == Common::kPlatformC64 || - _game.platform == Common::kPlatformPCEngine) { - // TODO + } else if (_game.platform == Common::kPlatformApple2GS && _game.version == 0){ + // TODO: Add support for music format _musicEngine = NULL; - } else if (_game.platform == Common::kPlatformNES) { + } else if (_game.platform == Common::kPlatformC64 && _game.version <= 1) { + // TODO: Add support for music format + _musicEngine = NULL; + } else if (_game.platform == Common::kPlatformNES && _game.version == 1) { _musicEngine = new Player_NES(this, _mixer); - } else if ((_game.platform == Common::kPlatformAmiga) && (_game.version == 2)) { + } else if (_game.platform == Common::kPlatformAmiga && _game.version == 2) { _musicEngine = new Player_V2A(this, _mixer); - } else if ((_game.platform == Common::kPlatformAmiga) && (_game.version == 3)) { + } else if (_game.platform == Common::kPlatformAmiga && _game.version == 3) { _musicEngine = new Player_V3A(this, _mixer); - } else if ((_game.platform == Common::kPlatformAmiga) && (_game.version <= 4)) { + } else if (_game.platform == Common::kPlatformPCEngine && _game.version == 3) { + // TODO: Add support for music format + _musicEngine = NULL; + } else if (_game.platform == Common::kPlatformAmiga && _game.version <= 4) { _musicEngine = NULL; - } else if (_game.id == GID_MANIAC && (_game.version == 1)) { + } else if (_game.id == GID_MANIAC && _game.version == 1) { _musicEngine = new Player_V1(this, _mixer, midiDriver != MD_PCSPK); } else if (_game.version <= 2) { _musicEngine = new Player_V2(this, _mixer, midiDriver != MD_PCSPK); - } else if ((_musicType == MDT_PCSPK) && ((_game.version > 2) && (_game.version <= 4))) { + } else if ((_musicType == MDT_PCSPK) && (_game.version > 2 && _game.version <= 4)) { _musicEngine = new Player_V2(this, _mixer, midiDriver != MD_PCSPK); - } else if (_game.version >= 3 && _game.heversion <= 61 && _game.platform != Common::kPlatform3DO) { + } else if (_game.platform == Common::kPlatform3DO && _game.heversion == 61) { + // 3DO versions use digital music and sound samples. + } else if (_game.version >= 3 && _game.heversion <= 61) { MidiDriver *nativeMidiDriver = 0; MidiDriver *adlibMidiDriver = 0; |