diff options
-rw-r--r-- | engines/mads/game.cpp | 1 | ||||
-rw-r--r-- | engines/mads/sound.cpp | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/engines/mads/game.cpp b/engines/mads/game.cpp index 3f6c8e09d5..34b229f157 100644 --- a/engines/mads/game.cpp +++ b/engines/mads/game.cpp @@ -161,6 +161,7 @@ void Game::gameLoop() { setSectionHandler(); _sectionHandler->preLoadSection(); initSection(_sectionNumber); + _vm->_sound->init(_sectionNumber); _sectionHandler->postLoadSection(); _scene._spriteSlots.reset(); diff --git a/engines/mads/sound.cpp b/engines/mads/sound.cpp index eaac70c670..d46516d10e 100644 --- a/engines/mads/sound.cpp +++ b/engines/mads/sound.cpp @@ -48,8 +48,14 @@ void SoundManager::init(int sectionNumber) { switch (_vm->getGameID()) { case GType_RexNebular: // TODO: Other Rex Adlib section drivers - assert(sectionNumber == 1); - _driver = new Nebular::ASound1(_mixer); + switch (sectionNumber) { + case 1: + _driver = new Nebular::ASound1(_mixer); + break; + default: + _driver = nullptr; + break; + } break; default: |