diff options
author | Jonathan Gray | 2003-05-19 08:04:47 +0000 |
---|---|---|
committer | Jonathan Gray | 2003-05-19 08:04:47 +0000 |
commit | 6cb61537f4749e83b7bbdd2294a28f07eb6eeb15 (patch) | |
tree | be138c109324aa1a0ebf94c7ee733ac48da87e79 /scumm/sound.cpp | |
parent | 29fb3e308f32c853155c9400bc9df7d850c9b9b2 (diff) | |
download | scummvm-rg350-6cb61537f4749e83b7bbdd2294a28f07eb6eeb15.tar.gz scummvm-rg350-6cb61537f4749e83b7bbdd2294a28f07eb6eeb15.tar.bz2 scummvm-rg350-6cb61537f4749e83b7bbdd2294a28f07eb6eeb15.zip |
enable midi for non puttdemo humongous games. need to properly return the result of whether music is running though...
svn-id: r7673
Diffstat (limited to 'scumm/sound.cpp')
-rw-r--r-- | scumm/sound.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/scumm/sound.cpp b/scumm/sound.cpp index 7210d989bd..07b93c0486 100644 --- a/scumm/sound.cpp +++ b/scumm/sound.cpp @@ -234,7 +234,7 @@ void Sound::playSound(int soundID) { _scumm->_mixer->playRaw(NULL, sound, size, rate, flags, soundID); return; } - // XMI MIDI + // XMIDI else if ((READ_UINT32_UNALIGNED(ptr) == MKID('MIDI')) && (_scumm->_features & GF_HUMONGOUS)) { // skip HSHD ptr += 8 + READ_BE_UINT32_UNALIGNED(ptr+12); @@ -244,8 +244,8 @@ void Sound::playSound(int soundID) { size = READ_BE_UINT32_UNALIGNED(ptr+4) - 8; ptr += 8; // don't need SDAT block anymore - // XMI playing stuff goes here - // ptr should be pointing to XMI file in memory + // XMIDI playing stuff goes here + // ptr should be pointing to XMIDI file in memory // HACK (Jamieson630): Just to see if it works. static MidiParser *parser = 0; @@ -633,6 +633,14 @@ int Sound::isSoundRunning(int sound) { if (sound == _scumm->current_cd_sound) return pollCD(); + if (_scumm->_features & GF_HUMONGOUS) { + if (sound == -2) { + return isSfxFinished(); + // FIXME are we playing music? + } else if (sound == -1) + return 1; + } + _scumm->_mixer->stopID(sound); i = _soundQue2Pos; |