aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse_digi
diff options
context:
space:
mode:
authorPaweł Kołodziejski2004-03-23 22:51:44 +0000
committerPaweł Kołodziejski2004-03-23 22:51:44 +0000
commitdbf56846c929d2f7a00fc47368cdda2c1af13ba3 (patch)
treec60be1eea378f2cd12ec47d54c5e6f32909e279c /scumm/imuse_digi
parente2a5b67e4251d1f851dec457ead7520d180ceeac (diff)
downloadscummvm-rg350-dbf56846c929d2f7a00fc47368cdda2c1af13ba3.tar.gz
scummvm-rg350-dbf56846c929d2f7a00fc47368cdda2c1af13ba3.tar.bz2
scummvm-rg350-dbf56846c929d2f7a00fc47368cdda2c1af13ba3.zip
changed a little hook id code
svn-id: r13374
Diffstat (limited to 'scumm/imuse_digi')
-rw-r--r--scumm/imuse_digi/dimuse.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/scumm/imuse_digi/dimuse.cpp b/scumm/imuse_digi/dimuse.cpp
index ab01d34438..4cc351f575 100644
--- a/scumm/imuse_digi/dimuse.cpp
+++ b/scumm/imuse_digi/dimuse.cpp
@@ -211,9 +211,17 @@ void IMuseDigital::switchToNextRegion(int track) {
if (jumpId != -1) {
int region = _sound->getRegionIdByJumpId(_track[track].soundHandle, jumpId);
if (region != -1) {
- _track[track].curRegion = region;
- debug(5, "switchToNextRegion-sound(%d) jump to %d region, curHookId: %d", _track[track].soundId, _track[track].curRegion, _track[track].curHookId);
- _track[track].curHookId = 0;
+ int sampleHookId = _sound->getJumpHookId(_track[track].soundHandle, jumpId);
+ if (sampleHookId != 0) {
+ if (_track[track].curHookId == sampleHookId) {
+ _track[track].curRegion = region;
+ debug(5, "switchToNextRegion-sound(%d) jump to %d region, curHookId: %d", _track[track].soundId, _track[track].curRegion, _track[track].curHookId);
+ _track[track].curHookId = 0;
+ }
+ } else {
+ _track[track].curRegion = region;
+ debug(5, "switchToNextRegion-sound(%d) jump to %d region, curHookId: %d", _track[track].soundId, _track[track].curRegion, _track[track].curHookId);
+ }
}
}