aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/script_v2.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2008-03-17 23:01:50 +0000
committerJohannes Schickel2008-03-17 23:01:50 +0000
commit1042c6dccf9fd34a80990335420f6ef6dd2d4d1f (patch)
tree8cfa1e1b9d6ee03856c5a27b315cb52537a56a17 /engines/kyra/script_v2.cpp
parent8752939fe480b471febed9a9e85069208429b7d3 (diff)
downloadscummvm-rg350-1042c6dccf9fd34a80990335420f6ef6dd2d4d1f.tar.gz
scummvm-rg350-1042c6dccf9fd34a80990335420f6ef6dd2d4d1f.tar.bz2
scummvm-rg350-1042c6dccf9fd34a80990335420f6ef6dd2d4d1f.zip
Implemented opcodes:
- 70: o2_backUpInventoryGfx - 71: o2_disableSceneAnim - 72: o2_enableSceneAnim - 73: o2_restoreInventoryGfx svn-id: r31167
Diffstat (limited to 'engines/kyra/script_v2.cpp')
-rw-r--r--engines/kyra/script_v2.cpp34
1 files changed, 30 insertions, 4 deletions
diff --git a/engines/kyra/script_v2.cpp b/engines/kyra/script_v2.cpp
index 2ea6d51089..7330434ee0 100644
--- a/engines/kyra/script_v2.cpp
+++ b/engines/kyra/script_v2.cpp
@@ -593,6 +593,32 @@ int KyraEngine_v2::o2_restoreBackBuffer(ScriptState *script) {
return 0;
}
+int KyraEngine_v2::o2_backUpInventoryGfx(ScriptState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_backUpInventoryGfx(%p) ()", (const void *)script);
+ _screen->copyRegionToBuffer(1, 0, 144, 320, 56, _screenBuffer);
+ _inventorySaved = true;
+ return 0;
+}
+
+int KyraEngine_v2::o2_disableSceneAnim(ScriptState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_disableSceneAnim(%p) (%d)", (const void *)script, stackPos(0));
+ _sceneAnims[stackPos(0)].flags &= ~1;
+ return 0;
+}
+
+int KyraEngine_v2::o2_enableSceneAnim(ScriptState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_enableSceneAnim(%p) (%d)", (const void *)script, stackPos(0));
+ _sceneAnims[stackPos(0)].flags |= 1;
+ return 0;
+}
+
+int KyraEngine_v2::o2_restoreInventoryGfx(ScriptState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_restoreInventoryGfx(%p) ()", (const void *)script);
+ _screen->copyBlockToPage(1, 0, 144, 320, 56, _screenBuffer);
+ _inventorySaved = false;
+ return 0;
+}
+
int KyraEngine_v2::o2_update(ScriptState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_update(%p) (%d)", (const void *)script, stackPos(0));
@@ -1487,11 +1513,11 @@ void KyraEngine_v2::setupOpcodeTable() {
// 0x44
OpcodeUnImpl(),
Opcode(o2_restoreBackBuffer),
- OpcodeUnImpl(),
- OpcodeUnImpl(),
+ Opcode(o2_backUpInventoryGfx),
+ Opcode(o2_disableSceneAnim),
// 0x48
- OpcodeUnImpl(),
- OpcodeUnImpl(),
+ Opcode(o2_enableSceneAnim),
+ Opcode(o2_restoreInventoryGfx),
OpcodeUnImpl(),
Opcode(o2_update),
// 0x4c