diff options
author | Walter van Niftrik | 2009-05-26 00:03:41 +0000 |
---|---|---|
committer | Walter van Niftrik | 2009-05-26 00:03:41 +0000 |
commit | de5ca1e472dda7cffcaf7d0938f2d29c3e027ccc (patch) | |
tree | a66da04623548aac59b1ba73c793d2091b4beec4 /engines/sci/engine | |
parent | 9d4776ebc53218786a263279bc5868fc5947b7a5 (diff) | |
download | scummvm-rg350-de5ca1e472dda7cffcaf7d0938f2d29c3e027ccc.tar.gz scummvm-rg350-de5ca1e472dda7cffcaf7d0938f2d29c3e027ccc.tar.bz2 scummvm-rg350-de5ca1e472dda7cffcaf7d0938f2d29c3e027ccc.zip |
SCI: Some small fixes for KQ6CD.
svn-id: r40898
Diffstat (limited to 'engines/sci/engine')
-rw-r--r-- | engines/sci/engine/kernel.cpp | 2 | ||||
-rw-r--r-- | engines/sci/engine/kgraphics.cpp | 2 | ||||
-rw-r--r-- | engines/sci/engine/ksound.cpp | 10 |
3 files changed, 11 insertions, 3 deletions
diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index 751ea7e6f5..10c7a3c14b 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -642,6 +642,8 @@ void vocabulary_get_knames(ResourceManager *resmgr, Common::StringList &names) { break; case SCI_VERSION_1_1: vocabulary_get_knames1(resmgr, names); + // KQ6CD calls unimplemented function 0x26 + names[0x26] = "Dummy"; break; #ifdef ENABLE_SCI32 case SCI_VERSION_32: diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index 884ac346db..61a9ca4e52 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -3330,7 +3330,7 @@ reg_t kShowMovie(EngineState *s, int funct_nr, int argc, reg_t *argv) { int frameNr = 0; SeqDecoder seq; - if (!seq.loadFile(filename)) { + if (!seq.loadFile(filename) && !seq.loadFile(Common::String("SEQ/") + filename)) { warning("Failed to open movie file %s", filename); return s->r_acc; } diff --git a/engines/sci/engine/ksound.cpp b/engines/sci/engine/ksound.cpp index 69e1a6cbad..1f7ece33c3 100644 --- a/engines/sci/engine/ksound.cpp +++ b/engines/sci/engine/ksound.cpp @@ -797,7 +797,8 @@ reg_t kDoSound_SCI1(EngineState *s, int funct_nr, int argc, reg_t *argv) { break; } case _K_SCI1_SOUND_GET_AUDIO_CAPABILITY : { - return make_reg(0, 1);//NULL_REG; + // Tests for digital audio support + return make_reg(0, 1); } case _K_SCI1_SOUND_PLAY_HANDLE : { int looping = GET_SEL32V(obj, loop); @@ -1051,7 +1052,12 @@ reg_t kDoAudio(EngineState *s, int funct_nr, int argc, reg_t *argv) { mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, UKPV(1)); break; case kSci1AudioLanguage: - s->sound.audioResource->setAudioLang(SKPV(1)); + if (argc == 1) { + // In SCI1.1: tests for digital audio support + return make_reg(0, 1); + } else { + s->sound.audioResource->setAudioLang(SKPV(1)); + } break; default: warning("kDoAudio: Unhandled case %d", UKPV(0)); |