aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/mads/game.cpp1
-rw-r--r--engines/mads/sound.cpp10
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: