aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/script_hof.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2008-05-10 18:30:20 +0000
committerJohannes Schickel2008-05-10 18:30:20 +0000
commit9b2c63550f7ff9da4b777ce0ab573ac493dff5fb (patch)
tree810bde9e346d18a23fa5fe2369645d1ca0ddbc7a /engines/kyra/script_hof.cpp
parent8d6048a9fad199277e84b6e07a61316a5f540622 (diff)
downloadscummvm-rg350-9b2c63550f7ff9da4b777ce0ab573ac493dff5fb.tar.gz
scummvm-rg350-9b2c63550f7ff9da4b777ce0ab573ac493dff5fb.tar.bz2
scummvm-rg350-9b2c63550f7ff9da4b777ce0ab573ac493dff5fb.zip
Implemented opcode 106: o2_playFireflyScore.
svn-id: r31980
Diffstat (limited to 'engines/kyra/script_hof.cpp')
-rw-r--r--engines/kyra/script_hof.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/engines/kyra/script_hof.cpp b/engines/kyra/script_hof.cpp
index ff28e08960..14f8faad5f 100644
--- a/engines/kyra/script_hof.cpp
+++ b/engines/kyra/script_hof.cpp
@@ -862,6 +862,16 @@ int KyraEngine_HoF::o2_fillRect(EMCState *script) {
return 0;
}
+int KyraEngine_HoF::o2_playFireflyScore(EMCState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_playFireflyScore(%p) ()", (const void *)script);
+ if (_sound->getSfxType() == Sound::kAdlib || _sound->getSfxType() == Sound::kMidiMT32 || _sound->getSfxType() == Sound::kMidiGM) {
+ snd_playWanderScoreViaMap(86, 1);
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
int KyraEngine_HoF::o2_encodeShape(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_encodeShape(%p) (%d, %d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1),
stackPos(2), stackPos(3), stackPos(4));
@@ -1623,7 +1633,7 @@ void KyraEngine_HoF::setupOpcodeTable() {
// 0x68
OpcodeUnImpl();
OpcodeUnImpl();
- OpcodeUnImpl();
+ Opcode(o2_playFireflyScore);
Opcode(o2_waitForConfirmationClick);
// 0x6c
Opcode(o2_encodeShape);