diff options
author | Travis Howell | 2006-02-16 06:00:46 +0000 |
---|---|---|
committer | Travis Howell | 2006-02-16 06:00:46 +0000 |
commit | 448ea4f16e314e9204f21a18e5f9e114478c7e88 (patch) | |
tree | e72f048bc78cbfaea4284766cd613c6b5ba0cbc2 | |
parent | 5f72260f201a6b63223a3cefb2829f91a9c11324 (diff) | |
download | scummvm-rg350-448ea4f16e314e9204f21a18e5f9e114478c7e88.tar.gz scummvm-rg350-448ea4f16e314e9204f21a18e5f9e114478c7e88.tar.bz2 scummvm-rg350-448ea4f16e314e9204f21a18e5f9e114478c7e88.zip |
Only DOS & Macintosh versions of HE60/61 games require XMIDI support
svn-id: r20720
-rw-r--r-- | engines/scumm/scumm.cpp | 6 | ||||
-rw-r--r-- | engines/scumm/sound.cpp | 21 |
2 files changed, 12 insertions, 15 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 7781a11df2..337261ee45 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -2318,15 +2318,15 @@ void ScummEngine::setupMusic(int midi) { _musicEngine = new Player_V2A(this); } else if ((_platform == Common::kPlatformAmiga) && (_version == 3)) { _musicEngine = new Player_V3A(this); - } else if ((_platform == Common::kPlatformAmiga) && (_version < 5)) { + } else if ((_platform == Common::kPlatformAmiga) && (_version <= 4)) { _musicEngine = NULL; } else if (_gameId == GID_MANIAC && (_version == 1)) { _musicEngine = new Player_V1(this, midiDriver != MD_PCSPK); } else if (_version <= 2) { _musicEngine = new Player_V2(this, midiDriver != MD_PCSPK); - } else if ((_musicType == MDT_PCSPK) && ((_version > 2) && (_version < 5))) { + } else if ((_musicType == MDT_PCSPK) && ((_version > 2) && (_version <= 4))) { _musicEngine = new Player_V2(this, midiDriver != MD_PCSPK); - } else if (_version > 2 && _heversion <= 61) { + } else if (_version >= 3 && _heversion <= 61 && _platform != Common::kPlatform3DO) { MidiDriver *nativeMidiDriver = 0; MidiDriver *adlibMidiDriver = 0; diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp index 9be09e7b38..9b69f2f015 100644 --- a/engines/scumm/sound.cpp +++ b/engines/scumm/sound.cpp @@ -732,14 +732,14 @@ int Sound::isSoundRunning(int sound) const { } } else if (_vm->_heversion >= 60) { if (sound == -2) { - return !isSfxFinished(); + return _vm->_mixer->getSoundID(_heSoundChannels[0]); } else if (sound == -1) { - // getSoundStatus(), with a -1, will return the - // ID number of the first active music it finds. - if (_currentMusic) - return (_vm->_mixer->isSoundIDActive(_currentMusic) ? _currentMusic : 0); - else if (_vm->_imuse) - return (_vm->_imuse->getSoundStatus(sound)); + if (_vm->_platform == Common::kPlatform3DO) { + return _vm->_mixer->isSoundIDActive(_currentMusic); + } else { + if (_vm->_imuse) + return _vm->_imuse->getSoundStatus(_currentMusic); + } } } @@ -825,12 +825,9 @@ void Sound::stopSound(int sound) { } } else if (_vm->_heversion >= 60) { if (sound == -2) { + sound = _heChannel[0].sound; } else if (sound == -1) { - // Stop current music - if (_currentMusic) - _vm->_mixer->stopID(_currentMusic); - else if (_vm->_imuse) - _vm->_imuse->stopSound(_vm->_imuse->getSoundStatus(-1)); + sound = _currentMusic; } } |