diff options
-rw-r--r-- | engines/lab/engine.cpp | 5 | ||||
-rw-r--r-- | engines/lab/intro.cpp | 6 | ||||
-rw-r--r-- | engines/lab/music.cpp | 19 | ||||
-rw-r--r-- | engines/lab/music.h | 2 | ||||
-rw-r--r-- | engines/lab/processroom.cpp | 5 |
5 files changed, 16 insertions, 21 deletions
diff --git a/engines/lab/engine.cpp b/engines/lab/engine.cpp index ec80f9c634..91b02af647 100644 --- a/engines/lab/engine.cpp +++ b/engines/lab/engine.cpp @@ -396,10 +396,7 @@ void LabEngine::mainGameLoop() { loadGame(ConfMan.getInt("save_slot")); // Since the intro hasn't been shown, init the background music here - if (getPlatform() != Common::kPlatformAmiga) - _music->changeMusic("Music:BackGrou", false, false); - else - _music->changeMusic("Music:BackGround", false, false); + _music->resetMusic(false); _music->checkRoomMusic(); } diff --git a/engines/lab/intro.cpp b/engines/lab/intro.cpp index b2a1b2059e..4988e76a8d 100644 --- a/engines/lab/intro.cpp +++ b/engines/lab/intro.cpp @@ -238,11 +238,7 @@ void Intro::play() { } _vm->_graphics->blackAllScreen(); - - if (_vm->getPlatform() != Common::kPlatformAmiga) - _vm->_music->changeMusic("Music:BackGrou", false, false); - else - _vm->_music->changeMusic("Music:BackGround", false, false); + _vm->_music->resetMusic(false); if (_vm->getPlatform() == Common::kPlatformDOS) nReadPict("TNDcycle.pic", true, true); diff --git a/engines/lab/music.cpp b/engines/lab/music.cpp index 8045c51044..9f9d8eab8f 100644 --- a/engines/lab/music.cpp +++ b/engines/lab/music.cpp @@ -104,16 +104,12 @@ void Music::checkRoomMusic() { if ((_curRoomMusic == _vm->_roomNum) || !_musicFile) return; - if (_vm->_roomNum == CLOWNROOM) { + if (_vm->_roomNum == CLOWNROOM) changeMusic("Music:Laugh", true, false); - } else if (_vm->_roomNum == DIMROOM) { + else if (_vm->_roomNum == DIMROOM) changeMusic("Music:Rm81", true, false); - } else if (_curRoomMusic == CLOWNROOM || _curRoomMusic == DIMROOM) { - if (_vm->getPlatform() != Common::kPlatformAmiga) - changeMusic("Music:Backgrou", false, true); - else - changeMusic("Music:Background", false, true); - } + else if (_curRoomMusic == CLOWNROOM || _curRoomMusic == DIMROOM) + resetMusic(true); _curRoomMusic = _vm->_roomNum; } @@ -175,4 +171,11 @@ void Music::readSound(bool waitTillFinished, bool loop, Common::File *file) { } } +void Music::resetMusic(bool seektoStoredPos) { + if (_vm->getPlatform() != Common::kPlatformAmiga) + changeMusic("Music:BackGrou", false, seektoStoredPos); + else + changeMusic("Music:BackGround", false, seektoStoredPos); +} + } // End of namespace Lab diff --git a/engines/lab/music.h b/engines/lab/music.h index 09bb9694ac..45eb217550 100644 --- a/engines/lab/music.h +++ b/engines/lab/music.h @@ -68,6 +68,8 @@ public: */ void changeMusic(const Common::String filename, bool storeCurPos, bool seektoStoredPos); + void resetMusic(bool seekToStoredPos); + /** * Checks the music that should be playing in a particular room. */ diff --git a/engines/lab/processroom.cpp b/engines/lab/processroom.cpp index 491cdf39da..bc09bf5f3a 100644 --- a/engines/lab/processroom.cpp +++ b/engines/lab/processroom.cpp @@ -389,10 +389,7 @@ void LabEngine::doActions(const ActionList &actionList) { break; case kActionResetMusic: // used in scene 45 (sheriff's office, after museum) - if (getPlatform() != Common::kPlatformAmiga) - _music->changeMusic("Music:BackGrou", false, true); - else - _music->changeMusic("Music:BackGround", false, true); + _music->resetMusic(true); break; case kActionFillMusic: |