aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/sound')
-rw-r--r--engines/sci/sound/drivers/adlib.cpp3
-rw-r--r--engines/sci/sound/music.cpp8
2 files changed, 10 insertions, 1 deletions
diff --git a/engines/sci/sound/drivers/adlib.cpp b/engines/sci/sound/drivers/adlib.cpp
index db9317e071..191e13db0a 100644
--- a/engines/sci/sound/drivers/adlib.cpp
+++ b/engines/sci/sound/drivers/adlib.cpp
@@ -807,6 +807,9 @@ int MidiPlayer_AdLib::open(ResourceManager *resMan) {
int size = f.size();
const uint patchSize = 1344;
+ // Note: Funseeker's Guide also has another version of adl.drv, 8803 bytes.
+ // This isn't supported, but it's not really used anywhere, as that demo
+ // doesn't have sound anyway.
if ((size == 5684) || (size == 5720) || (size == 5727)) {
byte *buf = new byte[patchSize];
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp
index 918b045cb9..a8a65d2aa4 100644
--- a/engines/sci/sound/music.cpp
+++ b/engines/sci/sound/music.cpp
@@ -125,7 +125,13 @@ void SciMusic::init() {
_pMidiDrv->setTimerCallback(this, &miditimerCallback);
_dwTempo = _pMidiDrv->getBaseTempo();
} else {
- error("Failed to initialize sound driver");
+ if (g_sci->getGameId() == GID_FUNSEEKER) {
+ // HACK: The Fun Seeker's Guide demo doesn't have patch 3 and the version
+ // of the Adlib driver (adl.drv) that it includes is unsupported. That demo
+ // doesn't have any sound anyway, so this shouldn't be fatal.
+ } else {
+ error("Failed to initialize sound driver");
+ }
}
// Find out what the first possible channel is (used, when doing channel