aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/engine/features.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/sci/engine/features.cpp b/engines/sci/engine/features.cpp
index 57bf12c391..1aaaa39fa8 100644
--- a/engines/sci/engine/features.cpp
+++ b/engines/sci/engine/features.cpp
@@ -394,8 +394,10 @@ bool GameFeatures::autoDetectSci21KernelType() {
if (opcode == op_callk) {
uint16 kFuncNum = opparams[0];
- // TODO: Explain this check; what are those kernel funcs supposed
- // to be, why does this check work like it does?
+ // Here we check for the kDoSound opcode that's used in SCI2.1.
+ // Finding 0x40 as kDoSound in the Sound::play() function means the game is using
+ // the modified SCI2 kernel table found in some older SCI2.1 games (GK2 demo, KQ7 v1.4).
+ // Finding 0x75 as kDoSound means the game is using the regular SCI2.1 kernel table.
if (kFuncNum == 0x40) {
_sci21KernelType = SCI_VERSION_2;
return true;