aboutsummaryrefslogtreecommitdiff
path: root/engines/adl/adl_v4.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/adl/adl_v4.cpp')
-rw-r--r--engines/adl/adl_v4.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/adl/adl_v4.cpp b/engines/adl/adl_v4.cpp
index 598f0f01ee..602ee25683 100644
--- a/engines/adl/adl_v4.cpp
+++ b/engines/adl/adl_v4.cpp
@@ -107,7 +107,7 @@ void AdlEngine_v4::setupOpcodeTables() {
Opcode(o1_varSub);
Opcode(o1_varSet);
// 0x04
- Opcode(o1_listInv);
+ Opcode(o4_listInv);
Opcode(o4_moveItem);
Opcode(o1_setRoom);
Opcode(o2_setCurPic);
@@ -196,6 +196,18 @@ int AdlEngine_v4::o4_isNounNotInRoom(ScriptEnv &e) {
return 1;
}
+int AdlEngine_v4::o4_listInv(ScriptEnv &e) {
+ OP_DEBUG_0("\tLIST_INVENTORY()");
+
+ Common::List<Item>::const_iterator item;
+
+ for (item = _state.items.begin(); item != _state.items.end(); ++item)
+ if (item->room == IDI_ANY)
+ printString(_itemDesc[item->id - 1]);
+
+ return 0;
+}
+
int AdlEngine_v4::o4_moveItem(ScriptEnv &e) {
OP_DEBUG_2("\tSET_ITEM_ROOM(%s, %s)", itemStr(e.arg(1)).c_str(), itemRoomStr(e.arg(2)).c_str());