diff options
author | Johannes Schickel | 2008-04-26 22:33:07 +0000 |
---|---|---|
committer | Johannes Schickel | 2008-04-26 22:33:07 +0000 |
commit | b179320edf55db93133dd118be116ede16795fb1 (patch) | |
tree | 9bb034a0a65995b69e0852bbfc7b5fc2499b9857 | |
parent | 99307976d5afc6896fe00f9906a3355fd543a839 (diff) | |
download | scummvm-rg350-b179320edf55db93133dd118be116ede16795fb1.tar.gz scummvm-rg350-b179320edf55db93133dd118be116ede16795fb1.tar.bz2 scummvm-rg350-b179320edf55db93133dd118be116ede16795fb1.zip |
Implemented opcode 34: o3_resetInventory.
svn-id: r31741
-rw-r--r-- | engines/kyra/kyra_v3.h | 1 | ||||
-rw-r--r-- | engines/kyra/script_v3.cpp | 8 |
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(); |