From 727841ef913bbf61d035847b705ba47e488c57aa Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Mon, 21 Jun 2010 22:58:33 +0000 Subject: [PATCH] In SCI32, kDoAudio subop 10 is no longer CD audio. Just stub it off for now. svn-id: r50134 --- engines/sci/engine/ksound.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/engines/sci/engine/ksound.cpp b/engines/sci/engine/ksound.cpp index 0d08cc2e069..46f9aa95d80 100644 --- a/engines/sci/engine/ksound.cpp +++ b/engines/sci/engine/ksound.cpp @@ -174,21 +174,30 @@ reg_t kDoAudio(EngineState *s, int argc, reg_t *argv) { } break; case kSciAudioCD: - debugC(2, kDebugLevelSound, "kDoAudio: CD audio subop"); - return kDoCdAudio(s, argc - 1, argv + 1); + + if (getSciVersion() <= SCI_VERSION_1_1) { + debugC(2, kDebugLevelSound, "kDoAudio: CD audio subop"); + return kDoCdAudio(s, argc - 1, argv + 1); +#ifdef ENABLE_SCI32 + } else { + // TODO: This isn't CD Audio in SCI32 anymore + warning("kDoAudio: Unhandled case 10, %d extra arguments passed", argc - 1); + break; +#endif + } // 3 new subops in Pharkas. kDoAudio in Pharkas sits at seg026:038C case 11: - warning("kDoAudio: Unhandled case %d, %d extra arguments passed", argv[0].toUint16(), argc - 1); + warning("kDoAudio: Unhandled case 11, %d extra arguments passed", argc - 1); break; case 12: // Seems to be audio sync, used in Pharkas. Silenced the warning due to // the high level of spam it produces. - //warning("kDoAudio: Unhandled case %d, %d extra arguments passed", argv[0].toUint16(), argc - 1); + //warning("kDoAudio: Unhandled case 12, %d extra arguments passed", argc - 1); break; case 13: // Used in Pharkas whenever a speech sample starts - warning("kDoAudio: Unhandled case %d, %d extra arguments passed", argv[0].toUint16(), argc - 1); + warning("kDoAudio: Unhandled case 13, %d extra arguments passed", argc - 1); break; default: warning("kDoAudio: Unhandled case %d, %d extra arguments passed", argv[0].toUint16(), argc - 1);