aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
}