aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
authorLars Skovlund2010-01-28 23:11:55 +0000
committerLars Skovlund2010-01-28 23:11:55 +0000
commit39ebb168a1e891e89559f40e039ac3f7a779bad1 (patch)
treedc4ccf4cd8ef5598acd5931287c748c6a5ee9237 /engines/sci/engine
parente110b028959961df13f9e0156909cba8fb59c99a (diff)
downloadscummvm-rg350-39ebb168a1e891e89559f40e039ac3f7a779bad1.tar.gz
scummvm-rg350-39ebb168a1e891e89559f40e039ac3f7a779bad1.tar.bz2
scummvm-rg350-39ebb168a1e891e89559f40e039ac3f7a779bad1.zip
SCI: Make SQ6 sound work. The meaning of these extra parameters is not yet understood.
svn-id: r47660
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/ksound.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/sci/engine/ksound.cpp b/engines/sci/engine/ksound.cpp
index e4efc4d1f9..adb7d60c14 100644
--- a/engines/sci/engine/ksound.cpp
+++ b/engines/sci/engine/ksound.cpp
@@ -106,10 +106,12 @@ reg_t kDoAudio(EngineState *s, int argc, reg_t *argv) {
if (argc == 2) {
module = 65535;
number = argv[1].toUint16();
- } else if (argc == 6) {
+ } else if (argc == 6 || argc == 8) {
module = argv[1].toUint16();
number = ((argv[2].toUint16() & 0xff) << 24) | ((argv[3].toUint16() & 0xff) << 16) |
((argv[4].toUint16() & 0xff) << 8) | (argv[5].toUint16() & 0xff);
+ if (argc == 8)
+ warning("kDoAudio: Play called with SQ6 extra parameters");
} else {
warning("kDoAudio: Play called with an unknown number of parameters (%d)", argc);
return NULL_REG;