aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Brown2002-03-18 14:45:57 +0000
committerJames Brown2002-03-18 14:45:57 +0000
commit86a9461373fb281c135fb56bd07d3f2244689f78 (patch)
treeb7f7c1006a59996591f30ad9f4dc5606ec31d490
parent3afe1924df84a7814da968ac0b2a951952db8e44 (diff)
downloadscummvm-rg350-86a9461373fb281c135fb56bd07d3f2244689f78.tar.gz
scummvm-rg350-86a9461373fb281c135fb56bd07d3f2244689f78.tar.bz2
scummvm-rg350-86a9461373fb281c135fb56bd07d3f2244689f78.zip
Make Zak/Indy inventories work.
svn-id: r3784
-rw-r--r--script_v1.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/script_v1.cpp b/script_v1.cpp
index a2114d8eb6..9e4f7c11ec 100644
--- a/script_v1.cpp
+++ b/script_v1.cpp
@@ -2497,17 +2497,16 @@ void Scumm::o5_oldRoomEffect() {
}
void Scumm::o5_pickupObjectOld() {
+ int obj = getVarOrDirectWord(0x80);
- int obj;
-
- obj = getVarOrDirectWord(0x80);
-
- if(getObjectIndex(obj) != 1)
+ if(getObjectIndex(obj) == -1)
return;
- addObjectToInventory(obj,_currentRoom); /*FIXME: the implementation is not quite acurate */
-
-
- warning("pickupObjectOld(%d) not fully supported",obj);
-
+ addObjectToInventory(obj,_currentRoom);
+ removeObjectFromRoom(obj);
+ putOwner(obj, _vars[VAR_EGO]);
+ putClass(obj, 32, 1);
+ putState(obj, 1);
+ clearDrawObjectQueue();
+ runHook(1);
}