diff options
author | Torbjörn Andersson | 2008-01-11 22:59:13 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2008-01-11 22:59:13 +0000 |
commit | b97c9ef136436112e3a58e5fbe4a2b59242d4152 (patch) | |
tree | cf35e9cc9c93eaa4e48c73891ef8f4fb80534f54 /engines/scumm | |
parent | d205129f2bd1c51791b73b619797cfe0b4723800 (diff) | |
download | scummvm-rg350-b97c9ef136436112e3a58e5fbe4a2b59242d4152.tar.gz scummvm-rg350-b97c9ef136436112e3a58e5fbe4a2b59242d4152.tar.bz2 scummvm-rg350-b97c9ef136436112e3a58e5fbe4a2b59242d4152.zip |
Work around bug #1324106 again. Apparently, I was mistaken the other day when I
said the timer changes fixed it. This time, I've made the workaround a bit
simpler to understand, though.
svn-id: r30429
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/imuse/imuse.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/engines/scumm/imuse/imuse.cpp b/engines/scumm/imuse/imuse.cpp index 0e21e9a24b..2d20b72db6 100644 --- a/engines/scumm/imuse/imuse.cpp +++ b/engines/scumm/imuse/imuse.cpp @@ -871,7 +871,23 @@ int32 IMuseInternal::doCommand_internal(int numargs, int a[]) { player->setDetune(a[2]); return 0; case 6: - player->setSpeed(a[2]); + // WORKAROUND for bug #1324106. When playing the + // "flourishes" as Rapp's body appears from his ashes, + // MI2 sets up triggers to pause the music, in case the + // animation plays too slowly, and then the music is + // manually unpaused for the next part of the music. + // + // In ScummVM, the animation finishes slightly too + // quickly, and the pause command is run *after* the + // unpause command. So we work around it by ignoring + // all attempts at pausing this particular sound. + // + // I could have sworn this wasn't needed after the + // recent timer change, but now it looks like it's + // still needed after all. + if (_game_id != GID_MONKEY2 || player->getID() != 183 || a[2] != 0) { + player->setSpeed(a[2]); + } return 0; case 7: return player->jump(a[2], a[3], a[4]) ? 0 : -1; |