diff options
author | Joost Peters | 2003-12-28 01:17:29 +0000 |
---|---|---|
committer | Joost Peters | 2003-12-28 01:17:29 +0000 |
commit | effc207b694c3d2a60fc364e3ea919dea1de9a50 (patch) | |
tree | e884ff2aa1a1ab9646be4e406c5c3a5b3ba21307 /queen/sound.cpp | |
parent | bcba9807358b3b121cc97d282a093afaefe623da (diff) | |
download | scummvm-rg350-effc207b694c3d2a60fc364e3ea919dea1de9a50.tar.gz scummvm-rg350-effc207b694c3d2a60fc364e3ea919dea1de9a50.tar.bz2 scummvm-rg350-effc207b694c3d2a60fc364e3ea919dea1de9a50.zip |
- added 'song' debugger command
- restore music after loading game
- fix for bug in Roland Floda Corridor music
- added LE struct reading methods (and renamed the old BE ones) for future compatibility with original DOS savegames
svn-id: r11985
Diffstat (limited to 'queen/sound.cpp')
-rw-r--r-- | queen/sound.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/queen/sound.cpp b/queen/sound.cpp index d1b7e56986..1a606603f4 100644 --- a/queen/sound.cpp +++ b/queen/sound.cpp @@ -110,7 +110,7 @@ void Sound::playSong(int16 songNum) { if (!musicOn()) return; - //TODO: Record onto song stack for saving/loading + _lastOverride = songNum; switch (_tune[newTune - 1].mode) { //Random loop @@ -127,7 +127,16 @@ void Sound::playSong(int16 songNum) { break; } - _vm->music()->playSong(_tune[newTune - 1].tuneNum[0] - 1); + int16 song = _tune[newTune - 1].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); } |