aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/game.cpp
diff options
context:
space:
mode:
authorRobert Špalek2009-10-12 22:27:23 +0000
committerRobert Špalek2009-10-12 22:27:23 +0000
commite77928440307f0d8a765e32100e031989ad25ff5 (patch)
tree970e4c758de39c9c5f97bc6557428a0363a07101 /engines/draci/game.cpp
parentd306e1219e606f5af6b3dd37556f1ba1ecb5ed51 (diff)
downloadscummvm-rg350-e77928440307f0d8a765e32100e031989ad25ff5.tar.gz
scummvm-rg350-e77928440307f0d8a765e32100e031989ad25ff5.tar.bz2
scummvm-rg350-e77928440307f0d8a765e32100e031989ad25ff5.zip
Sound effects are now correctly played.
Dubbing is not yet played. svn-id: r45000
Diffstat (limited to 'engines/draci/game.cpp')
-rw-r--r--engines/draci/game.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp
index d5701c3eae..ff15483cc7 100644
--- a/engines/draci/game.cpp
+++ b/engines/draci/game.cpp
@@ -1157,7 +1157,7 @@ int Game::loadAnimation(uint animNum, uint z) {
uint scaledWidth = animationReader.readUint16LE();
uint scaledHeight = animationReader.readUint16LE();
byte mirror = animationReader.readByte();
- uint sample = animationReader.readUint16LE();
+ int sample = animationReader.readUint16LE() - 1;
uint freq = animationReader.readUint16LE();
uint delay = animationReader.readUint16LE();
@@ -1301,6 +1301,11 @@ void Game::enterNewRoom(bool force_reload) {
}
debugC(1, kDraciLogicDebugLevel, "Entering room %d using gate %d", _newRoom, _newGate);
+ // TODO: maybe wait till all sounds end instead of stopping them.
+ // In any case, make sure all sounds are stopped before we deallocate
+ // their memory by clearing the cache.
+ _vm->_sound->stopAll();
+
// Clear archives
_vm->_roomsArchive->clearCache();
_vm->_spritesArchive->clearCache();