diff options
author | Nicola Mettifogo | 2011-01-07 16:19:13 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2011-01-07 16:19:13 +0000 |
commit | 31ffb399391fe6d557e53a554e9aed5656491768 (patch) | |
tree | e24ff7a91712112d2ccbdaa83742963b636eb67d /engines | |
parent | 9dd0e0f94c5c05dc09693936eb49b3f6706df750 (diff) | |
download | scummvm-rg350-31ffb399391fe6d557e53a554e9aed5656491768.tar.gz scummvm-rg350-31ffb399391fe6d557e53a554e9aed5656491768.tar.bz2 scummvm-rg350-31ffb399391fe6d557e53a554e9aed5656491768.zip |
PARALLACTION: keep music playing during the intro (fix bug #2879791).
svn-id: r55148
Diffstat (limited to 'engines')
-rw-r--r-- | engines/parallaction/parallaction_ns.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/engines/parallaction/parallaction_ns.cpp b/engines/parallaction/parallaction_ns.cpp index f1e7b14583..c3d917a33d 100644 --- a/engines/parallaction/parallaction_ns.cpp +++ b/engines/parallaction/parallaction_ns.cpp @@ -351,8 +351,11 @@ void Parallaction_ns::changeLocation() { MouseTriState oldMouseState = _input->getMouseState(); _input->setMouseState(MOUSE_DISABLED); - _soundManI->playLocationMusic(location); - + if (!_intro) { + // prevent music changes during the introduction + _soundManI->playLocationMusic(location); + } + _input->stopHovering(); // this is still needed to remove the floatingLabel _gfx->freeLabels(); @@ -468,8 +471,11 @@ void Parallaction_ns::changeCharacter(const char *name) { _objects = _disk->loadObjects(_char.getBaseName()); _objectsNames = _disk->loadTable(_char.getBaseName()); - _soundManI->playCharacterMusic(_char.getBaseName()); - + if (!_intro) { + // prevent music changes during the introduction + _soundManI->playCharacterMusic(_char.getBaseName()); + } + // The original engine used to reload 'common' only on loadgames. We are reloading here since 'common' // contains character specific stuff. This causes crashes like bug #1816899, because parseLocation tries // to reload scripts but the data archive selected is occasionally wrong. This has been solved by having |