aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/detection_tables.h15
-rw-r--r--engines/sci/sound/music.cpp10
2 files changed, 22 insertions, 3 deletions
diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index c1c559c0ee..76631c49dc 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -1009,6 +1009,21 @@ static const struct ADGameDescription SciGameDescriptions[] = {
{NULL, 0, NULL, 0}},
Common::PL_POL, Common::kPlatformPC, 0, GUIO_NOSPEECH },
+ // King's Quest 5 - English Macintosh
+ // VERSION file reports "1.000.055"
+ {"kq5", "", {
+ {"resource.map", 0, "4d4bd26ac9f3014f5dae6b21cdcde747", 8598},
+ {"resource.000", 0, "e8965601526ce840887b8af3a8593156", 328291},
+ {"resource.001", 0, "aa2fae60f67edf2aacd43b92b59c2b3d", 1071492},
+ {"resource.002", 0, "14311ed6d0f4ae0af7561470953cc466", 1373044},
+ {"resource.003", 0, "aa606e541901b1dd150b49014ace6d11", 1401126},
+ {"resource.004", 0, "bb81f49927cdb0ac4d902e64f2bc40ec", 1377139},
+ {"resource.005", 0, "432e2a58e4d496d730697db072437337", 1366732},
+ {"resource.006", 0, "3d22904a374c192f51e5665b74364133", 1264079},
+ {"resource.007", 0, "ffe17e23d5833a79f3695addfc149a56", 1361965},
+ {NULL, 0, NULL, 0}},
+ Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO_NOSPEECH },
+
// King's Quest 6 - English DOS Non-Interactive Demo
// Executable scanning reports "1.001.055", VERSION file reports "1.000.000"
// SCI interpreter version 1.001.055
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp
index c28676019b..ed007d0b8a 100644
--- a/engines/sci/sound/music.cpp
+++ b/engines/sci/sound/music.cpp
@@ -63,11 +63,15 @@ void SciMusic::init() {
MidiDriverType midiType;
-#ifdef ENABLE_SCI32
- if (getSciVersion() >= SCI_VERSION_2)
+ // Default to MIDI in SCI32 games, as many don't have AdLib support.
+ // WORKAROUND: Default to MIDI in Amiga SCI1_EGA+ games as we don't support those patches yet.
+ // We also don't yet support the 7.pat file of SCI1+ Mac games or SCI0 Mac patches, so we
+ // default to MIDI in those games to let them run.
+ Common::Platform platform = ((SciEngine *)g_engine)->getPlatform();
+
+ if (getSciVersion() >= SCI_VERSION_2 || platform == Common::kPlatformMacintosh || (platform == Common::kPlatformAmiga && getSciVersion() >= SCI_VERSION_1_EGA))
midiType = MidiDriver::detectMusicDriver(MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MIDI);
else
-#endif
midiType = MidiDriver::detectMusicDriver(MDT_PCSPK | MDT_ADLIB | MDT_MIDI);
switch (midiType) {