diff options
Diffstat (limited to 'engines/sci/engine/state.cpp')
-rw-r--r-- | engines/sci/engine/state.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/sci/engine/state.cpp b/engines/sci/engine/state.cpp index a46dcf35c9..4cc830cb02 100644 --- a/engines/sci/engine/state.cpp +++ b/engines/sci/engine/state.cpp @@ -479,10 +479,13 @@ bool EngineState::autoDetectFeature(FeatureDetection featureDetection, int metho SciVersion EngineState::detectDoSoundType() { if (_doSoundType == SCI_VERSION_AUTODETECT) { - if (_kernel->_selectorCache.nodePtr == -1) { - // No nodePtr selector, so this game is definitely using - // SCI0 sound code (i.e. SCI_VERSION_0_EARLY) + if (getSciVersion() == SCI_VERSION_0_EARLY) { + // This game is using early SCI0 sound code (different headers than SCI0 late) _doSoundType = SCI_VERSION_0_EARLY; + } else if (_kernel->_selectorCache.nodePtr == -1) { + // No nodePtr selector, so this game is definitely using newer + // SCI0 sound code (i.e. SCI_VERSION_0_LATE) + _doSoundType = SCI_VERSION_0_LATE; } else { if (getSciVersion() >= SCI_VERSION_1_LATE) { // All SCI1 late games use the newer doSound semantics |