diff options
author | Joost Peters | 2004-01-19 23:54:50 +0000 |
---|---|---|
committer | Joost Peters | 2004-01-19 23:54:50 +0000 |
commit | 698eefae58b5ff065fc777b28530a3d77e5f9933 (patch) | |
tree | 5c216cee86d2c0b8d3145076391a58ec0c57374c /queen/sound.cpp | |
parent | 2f7198a3acabe4db57a001817686abe397c96e3f (diff) | |
download | scummvm-rg350-698eefae58b5ff065fc777b28530a3d77e5f9933.tar.gz scummvm-rg350-698eefae58b5ff065fc777b28530a3d77e5f9933.tar.bz2 scummvm-rg350-698eefae58b5ff065fc777b28530a3d77e5f9933.zip |
- Enable music queueing (I don't really like the levels of indirection, but it'll do for now)
- Handle special music type '2000' (restart previously queued music)
svn-id: r12529
Diffstat (limited to 'queen/sound.cpp')
-rw-r--r-- | queen/sound.cpp | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/queen/sound.cpp b/queen/sound.cpp index 19f7711f82..d9b3f92bdd 100644 --- a/queen/sound.cpp +++ b/queen/sound.cpp @@ -138,16 +138,11 @@ void Sound::playSong(int16 songNum) { break; } - int16 song = _tune[newTune].tuneNum[0] - 1; - - // Work around bug in Roland music, note that these numbers are 'one-off' from - // the original code. - if (/*isRoland && */ song == 88 || song == 89) { - warning("Working around Roland music bug"); - song = 62; - } - - _vm->music()->playSong(song); + _vm->music()->queueClear(); + int i = 0; + while(_tune[newTune].tuneNum[i]) + _vm->music()->queueSong(_tune[newTune].tuneNum[i++] - 1); + _vm->music()->playMusic(); } void Sound::saveState(byte *&ptr) { |