aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorJohannes Schickel2008-04-26 22:33:07 +0000
committerJohannes Schickel2008-04-26 22:33:07 +0000
commitb179320edf55db93133dd118be116ede16795fb1 (patch)
tree9bb034a0a65995b69e0852bbfc7b5fc2499b9857 /engines/kyra
parent99307976d5afc6896fe00f9906a3355fd543a839 (diff)
downloadscummvm-rg350-b179320edf55db93133dd118be116ede16795fb1.tar.gz
scummvm-rg350-b179320edf55db93133dd118be116ede16795fb1.tar.bz2
scummvm-rg350-b179320edf55db93133dd118be116ede16795fb1.zip
Implemented opcode 34: o3_resetInventory.
svn-id: r31741
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/kyra_v3.h1
-rw-r--r--engines/kyra/script_v3.cpp8
2 files changed, 8 insertions, 1 deletions
diff --git a/engines/kyra/kyra_v3.h b/engines/kyra/kyra_v3.h
index e22340491b..a8bf4baab6 100644
--- a/engines/kyra/kyra_v3.h
+++ b/engines/kyra/kyra_v3.h
@@ -714,6 +714,7 @@ private:
int o3_addItemToCurScene(ScriptState *script);
int o3_objectChat(ScriptState *script);
int o3_checkForItem(ScriptState *script);
+ int o3_resetInventory(ScriptState *script);
int o3_defineItem(ScriptState *script);
int o3_npcChatSequence(ScriptState *script);
int o3_queryGameFlag(ScriptState *script);
diff --git a/engines/kyra/script_v3.cpp b/engines/kyra/script_v3.cpp
index 3db0d4c23c..e05bc3b471 100644
--- a/engines/kyra/script_v3.cpp
+++ b/engines/kyra/script_v3.cpp
@@ -255,6 +255,12 @@ int KyraEngine_v3::o3_checkForItem(ScriptState *script) {
return findItem(stackPos(0), stackPos(1)) == -1 ? 0 : 1;
}
+int KyraEngine_v3::o3_resetInventory(ScriptState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v3::o3_resetInventory(%p) ()", (const void *)script);
+ memset(_mainCharacter.inventory, -1, sizeof(_mainCharacter.inventory));
+ return 0;
+}
+
int KyraEngine_v3::o3_defineItem(ScriptState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v3::o3_defineItem(%p) (%d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3));
int freeItem = findFreeItem();
@@ -1316,7 +1322,7 @@ void KyraEngine_v3::setupOpcodeTable() {
// 0x20
Opcode(o3_checkForItem);
Opcode(o3_dummy);
- OpcodeUnImpl();
+ Opcode(o3_resetInventory);
Opcode(o3_defineItem);
// 0x24
OpcodeUnImpl();