aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/script_v2.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2007-10-10 09:06:15 +0000
committerJohannes Schickel2007-10-10 09:06:15 +0000
commitd896894631c8996d2e232ff56e0791ff5564f096 (patch)
tree468cffb06d1806a95cb7459013aa3948fc359edc /engines/kyra/script_v2.cpp
parent598e35bab8b6ea6dc96fa7355f578f0c07acab52 (diff)
downloadscummvm-rg350-d896894631c8996d2e232ff56e0791ff5564f096.tar.gz
scummvm-rg350-d896894631c8996d2e232ff56e0791ff5564f096.tar.bz2
scummvm-rg350-d896894631c8996d2e232ff56e0791ff5564f096.zip
- Made some sound functions a bit more generic for use with Kyra1 and Kyra2
HoF: - Added sound support (sfx sound wrong currently though) - Implemented opcodes: -> o2_loadMusicTrack -> o2_playWanderScoreViaMap -> o2_playSoundEffect -> o2t_playSoundEffect svn-id: r29183
Diffstat (limited to 'engines/kyra/script_v2.cpp')
-rw-r--r--engines/kyra/script_v2.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/engines/kyra/script_v2.cpp b/engines/kyra/script_v2.cpp
index 4599d0347d..0a23a53ce8 100644
--- a/engines/kyra/script_v2.cpp
+++ b/engines/kyra/script_v2.cpp
@@ -440,6 +440,24 @@ int KyraEngine_v2::o2_setZanthiaPos(ScriptState *script) {
return 0;
}
+int KyraEngine_v2::o2_loadMusicTrack(ScriptState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "o2_loadMusicTrack(%p) (%d)", (const void *)script, stackPos(0));
+ snd_loadSoundFile(stackPos(0));
+ return 0;
+}
+
+int KyraEngine_v2::o2_playWanderScoreViaMap(ScriptState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "o2_playWanderScoreViaMap(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
+ snd_playWanderScoreViaMap(stackPos(0), stackPos(1));
+ return 0;
+}
+
+int KyraEngine_v2::o2_playSoundEffect(ScriptState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "o2_playSoundEffect(%p) (%d)", (const void *)script, stackPos(0));
+ snd_playSoundEffect(stackPos(0));
+ return 0;
+}
+
int KyraEngine_v2::o2_getRand(ScriptState *script) {
debugC(3, kDebugLevelScriptFuncs, "o2_getRand(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
assert(stackPos(0) < stackPos(1));
@@ -607,6 +625,12 @@ int KyraEngine_v2::o2t_setCurrentFrame(ScriptState *script) {
return 0;
}
+int KyraEngine_v2::o2t_playSoundEffect(ScriptState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "o2t_playSoundEffect(%p) (%d)", (const void *)script, stackPos(0));
+ snd_playSoundEffect(stackPos(0));
+ return 0;
+}
+
int KyraEngine_v2::o2t_setShapeFlag(ScriptState *script) {
debugC(3, kDebugLevelScriptFuncs, "o2t_setShapeFlag(%p) (%d)", (const void *)script, stackPos(0));
_newShapeFlag = stackPos(0);