aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parallaction_ns.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2011-01-07 16:19:13 +0000
committerNicola Mettifogo2011-01-07 16:19:13 +0000
commit31ffb399391fe6d557e53a554e9aed5656491768 (patch)
treee24ff7a91712112d2ccbdaa83742963b636eb67d /engines/parallaction/parallaction_ns.cpp
parent9dd0e0f94c5c05dc09693936eb49b3f6706df750 (diff)
downloadscummvm-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/parallaction/parallaction_ns.cpp')
-rw-r--r--engines/parallaction/parallaction_ns.cpp14
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