aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/imuse_digi/dimuse_music.cpp
diff options
context:
space:
mode:
authorPaweł Kołodziejski2008-01-14 17:26:49 +0000
committerPaweł Kołodziejski2008-01-14 17:26:49 +0000
commitf15b41596b39deb141a2550d82727659128e11af (patch)
tree263f7d9d1336758e00b7674bf2ff81c52c980c40 /engines/scumm/imuse_digi/dimuse_music.cpp
parentd167ad4066ce1e8365e04de24cd09202a1e99e37 (diff)
downloadscummvm-rg350-f15b41596b39deb141a2550d82727659128e11af.tar.gz
scummvm-rg350-f15b41596b39deb141a2550d82727659128e11af.tar.bz2
scummvm-rg350-f15b41596b39deb141a2550d82727659128e11af.zip
implement special case for playing music with beginning offset where other one stopped
svn-id: r30483
Diffstat (limited to 'engines/scumm/imuse_digi/dimuse_music.cpp')
-rw-r--r--engines/scumm/imuse_digi/dimuse_music.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/engines/scumm/imuse_digi/dimuse_music.cpp b/engines/scumm/imuse_digi/dimuse_music.cpp
index db33f4a355..08c7fe6ae0 100644
--- a/engines/scumm/imuse_digi/dimuse_music.cpp
+++ b/engines/scumm/imuse_digi/dimuse_music.cpp
@@ -167,8 +167,10 @@ void IMuseDigital::playDigMusic(const char *songName, const imuseDigTable *table
}
}
- if (!songName)
+ if (!songName) {
fadeOutMusic(120);
+ return;
+ }
switch (table->transitionType) {
case 0:
@@ -184,8 +186,7 @@ void IMuseDigital::playDigMusic(const char *songName, const imuseDigTable *table
_stopingSequence = true;
if ((!sequence) && (table->attribPos != 0) &&
(table->attribPos == _digStateMusicTable[_curMusicState].attribPos)) {
- fadeOutMusic(108);
- startMusic(table->filename, table->soundId, 0, 127);
+ fadeOutMusicAndStartNew(108, table->filename, table->soundId);
} else {
fadeOutMusic(108);
startMusic(table->filename, table->soundId, hookId, 127);
@@ -291,8 +292,10 @@ void IMuseDigital::playComiMusic(const char *songName, const imuseComiTable *tab
}
}
- if (!songName)
+ if (!songName) {
fadeOutMusic(120);
+ return;
+ }
switch (table->transitionType) {
case 0:
@@ -323,8 +326,7 @@ void IMuseDigital::playComiMusic(const char *songName, const imuseComiTable *tab
_stopingSequence = true;
if ((!sequence) && (table->attribPos != 0) &&
(table->attribPos == _comiStateMusicTable[_curMusicState].attribPos)) {
- fadeOutMusic(table->fadeOutDelay);
- startMusic(table->filename, table->soundId, 0, 127);
+ fadeOutMusicAndStartNew(table->fadeOutDelay, table->filename, table->soundId);
} else if (table->transitionType == 12) {
fadeOutMusic(table->fadeOutDelay);
startMusic(table->filename, table->soundId, table->hookId, 127);