diff options
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/intern.h | 1 | ||||
-rw-r--r-- | scumm/script_v72he.cpp | 15 | ||||
-rw-r--r-- | scumm/script_v7he.cpp | 10 | ||||
-rw-r--r-- | scumm/script_v80he.cpp | 2 | ||||
-rw-r--r-- | scumm/script_v90he.cpp | 2 |
5 files changed, 9 insertions, 21 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index ada0d10d19..bc3e17c8bf 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -731,7 +731,6 @@ protected: void o72_printWizImage(); void o72_getArrayDimSize(); void o72_getNumFreeArrays(); - void o72_pickupObject(); void o72_actorOps(); void o72_verbOps(); void o72_arrayOps(); diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index 083ebe190a..a460d7e9d3 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -210,7 +210,7 @@ void ScummEngine_v72he::setupOpcodes() { OPCODE(o6_animateActor), OPCODE(o6_doSentence), /* 84 */ - OPCODE(o72_pickupObject), + OPCODE(o7_pickupObject), OPCODE(o6_loadRoomWithEgo), OPCODE(o6_invalid), OPCODE(o6_getRandomNumber), @@ -826,19 +826,6 @@ void ScummEngine_v72he::o72_getNumFreeArrays() { push (num); } -void ScummEngine_v72he::o72_pickupObject() { - int obj, room; - - room = pop(); - obj = pop(); - if (room == 0) - room = getObjectRoom(obj); - - addObjectToInventory(obj, room); - putOwner(obj, VAR(VAR_EGO)); - runInventoryScript(obj); -} - void ScummEngine_v72he::o72_actorOps() { Actor *a; int i, j, k; diff --git a/scumm/script_v7he.cpp b/scumm/script_v7he.cpp index 1b2af19821..c9eadfe0e3 100644 --- a/scumm/script_v7he.cpp +++ b/scumm/script_v7he.cpp @@ -554,10 +554,12 @@ void ScummEngine_v7he::o7_pickupObject() { addObjectToInventory(obj, room); putOwner(obj, VAR(VAR_EGO)); - putClass(obj, kObjectClassUntouchable, 1); - putState(obj, 1); - markObjectRectAsDirty(obj); - clearDrawObjectQueue(); + if (_heversion <= 70) { + putClass(obj, kObjectClassUntouchable, 1); + putState(obj, 1); + markObjectRectAsDirty(obj); + clearDrawObjectQueue(); + } runInventoryScript(obj); /* Difference */ } diff --git a/scumm/script_v80he.cpp b/scumm/script_v80he.cpp index 9c18167b12..dca1598eae 100644 --- a/scumm/script_v80he.cpp +++ b/scumm/script_v80he.cpp @@ -210,7 +210,7 @@ void ScummEngine_v80he::setupOpcodes() { OPCODE(o6_animateActor), OPCODE(o6_doSentence), /* 84 */ - OPCODE(o72_pickupObject), + OPCODE(o7_pickupObject), OPCODE(o6_loadRoomWithEgo), OPCODE(o6_invalid), OPCODE(o6_getRandomNumber), diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp index 0d6221b49b..6d98eadd51 100644 --- a/scumm/script_v90he.cpp +++ b/scumm/script_v90he.cpp @@ -210,7 +210,7 @@ void ScummEngine_v90he::setupOpcodes() { OPCODE(o6_animateActor), OPCODE(o6_doSentence), /* 84 */ - OPCODE(o72_pickupObject), + OPCODE(o7_pickupObject), OPCODE(o6_loadRoomWithEgo), OPCODE(o6_invalid), OPCODE(o6_getRandomNumber), |