aboutsummaryrefslogtreecommitdiff
path: root/engines/cine
diff options
context:
space:
mode:
authorEugene Sandulenko2007-11-07 22:28:01 +0000
committerEugene Sandulenko2007-11-07 22:28:01 +0000
commit604be3107e4d0d1a13ae37adbc95afa9893c4ecd (patch)
treed0e45f8d5b5e3255e8c853f91f2a00fffa6a93c7 /engines/cine
parent9fc974209badbbae8508ccf05c2b9d3aeeeab75a (diff)
downloadscummvm-rg350-604be3107e4d0d1a13ae37adbc95afa9893c4ecd.tar.gz
scummvm-rg350-604be3107e4d0d1a13ae37adbc95afa9893c4ecd.tar.bz2
scummvm-rg350-604be3107e4d0d1a13ae37adbc95afa9893c4ecd.zip
Patches #1773489: "FW: Fixes for German Amiga Version"
svn-id: r29446
Diffstat (limited to 'engines/cine')
-rw-r--r--engines/cine/sound.cpp7
-rw-r--r--engines/cine/unpack.cpp2
2 files changed, 7 insertions, 2 deletions
diff --git a/engines/cine/sound.cpp b/engines/cine/sound.cpp
index 73add512e8..00b7d27663 100644
--- a/engines/cine/sound.cpp
+++ b/engines/cine/sound.cpp
@@ -798,12 +798,17 @@ void PaulaSound::loadMusic(const char *name) {
void PaulaSound::playMusic() {
_mixer->stopHandle(_moduleHandle);
if (_moduleStream) {
- _mixer->playInputStream(Audio::Mixer::kMusicSoundType, &_moduleHandle, _moduleStream);
+ _mixer->playInputStream(Audio::Mixer::kMusicSoundType, &_moduleHandle, _moduleStream, -1, 255, 0, false);
}
}
void PaulaSound::stopMusic() {
_mixer->stopHandle(_moduleHandle);
+
+ _mixer->pauseAll(true);
+
+ for(int i = 0;i < NUM_CHANNELS;i++)
+ _soundChannelsTable[i].data = 0;
}
void PaulaSound::fadeOutMusic() {
diff --git a/engines/cine/unpack.cpp b/engines/cine/unpack.cpp
index 254b09313e..4409af4b07 100644
--- a/engines/cine/unpack.cpp
+++ b/engines/cine/unpack.cpp
@@ -116,7 +116,7 @@ bool delphineUnpack(byte *dst, const byte *src, int len) {
unpackHelper2(&uc, 12);
}
}
- } while (uc.datasize > 0);
+ } while (uc.datasize > 0 && uc.src >= src - 4);
return uc.crc == 0;
}