SCUMM: MovedScummEngine_v5:: o5_pickupObjectOld to ScummEngine_v4::o4_pickupObject
svn-id: r40009
This commit is contained in:
parent
9655fa831e
commit
b32e9f00b0
4 changed files with 31 additions and 26 deletions
|
@ -32,6 +32,32 @@ namespace Scumm {
|
|||
|
||||
void ScummEngine_v4::setupOpcodes() {
|
||||
ScummEngine_v5::setupOpcodes();
|
||||
|
||||
OPCODE(0x50, o4_pickupObject);
|
||||
OPCODE(0xd0, o4_pickupObject);
|
||||
}
|
||||
|
||||
void ScummEngine_v4::o4_pickupObject() {
|
||||
int obj = getVarOrDirectWord(PARAM_1);
|
||||
|
||||
if (obj < 1) {
|
||||
error("pickupObjectOld received invalid index %d (script %d)", obj, vm.slot[_currentScript].number);
|
||||
}
|
||||
|
||||
if (getObjectIndex(obj) == -1)
|
||||
return;
|
||||
|
||||
if (whereIsObject(obj) == WIO_INVENTORY) // Don't take an object twice
|
||||
return;
|
||||
|
||||
// debug(0, "adding %d from %d to inventoryOld", obj, _currentRoom);
|
||||
addObjectToInventory(obj, _roomResource);
|
||||
markObjectRectAsDirty(obj);
|
||||
putOwner(obj, VAR(VAR_EGO));
|
||||
putClass(obj, kObjectClassUntouchable, 1);
|
||||
putState(obj, 1);
|
||||
clearDrawObjectQueue();
|
||||
runInventoryScript(1);
|
||||
}
|
||||
|
||||
} // End of namespace Scumm
|
||||
|
|
|
@ -141,7 +141,7 @@ void ScummEngine_v5::setupOpcodes() {
|
|||
OPCODE(0x4e, o5_putActorAtObject);
|
||||
OPCODE(0x4f, o5_ifState);
|
||||
/* 50 */
|
||||
OPCODE(0x50, o5_pickupObjectOld);
|
||||
// OPCODE(0x50, o5_pickupObjectOld);
|
||||
OPCODE(0x51, o5_animateActor);
|
||||
OPCODE(0x52, o5_actorFollowCamera);
|
||||
OPCODE(0x53, o5_actorOps);
|
||||
|
@ -301,7 +301,7 @@ void ScummEngine_v5::setupOpcodes() {
|
|||
OPCODE(0xce, o5_putActorAtObject);
|
||||
OPCODE(0xcf, o5_ifState);
|
||||
/* D0 */
|
||||
OPCODE(0xd0, o5_pickupObjectOld);
|
||||
// OPCODE(0xd0, o5_pickupObjectOld);
|
||||
OPCODE(0xd1, o5_animateActor);
|
||||
OPCODE(0xd2, o5_actorFollowCamera);
|
||||
OPCODE(0xd3, o5_actorOps);
|
||||
|
@ -3053,27 +3053,4 @@ void ScummEngine_v5::o5_oldRoomEffect() {
|
|||
}
|
||||
}
|
||||
|
||||
void ScummEngine_v5::o5_pickupObjectOld() {
|
||||
int obj = getVarOrDirectWord(PARAM_1);
|
||||
|
||||
if (obj < 1) {
|
||||
error("pickupObjectOld received invalid index %d (script %d)", obj, vm.slot[_currentScript].number);
|
||||
}
|
||||
|
||||
if (getObjectIndex(obj) == -1)
|
||||
return;
|
||||
|
||||
if (whereIsObject(obj) == WIO_INVENTORY) /* Don't take an */
|
||||
return; /* object twice */
|
||||
|
||||
// debug(0, "adding %d from %d to inventoryOld", obj, _currentRoom);
|
||||
addObjectToInventory(obj, _roomResource);
|
||||
markObjectRectAsDirty(obj);
|
||||
putOwner(obj, VAR(VAR_EGO));
|
||||
putClass(obj, kObjectClassUntouchable, 1);
|
||||
putState(obj, 1);
|
||||
clearDrawObjectQueue();
|
||||
runInventoryScript(1);
|
||||
}
|
||||
|
||||
} // End of namespace Scumm
|
||||
|
|
|
@ -50,6 +50,9 @@ protected:
|
|||
virtual void readGlobalObjects();
|
||||
|
||||
virtual void resetRoomObject(ObjectData *od, const byte *room, const byte *searchptr = NULL);
|
||||
|
||||
/* Version 4 script opcodes */
|
||||
void o4_pickupObject();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -161,7 +161,6 @@ protected:
|
|||
void o5_beginOverride();
|
||||
void o5_panCameraTo();
|
||||
void o5_pickupObject();
|
||||
void o5_pickupObjectOld();
|
||||
void o5_print();
|
||||
void o5_printEgo();
|
||||
void o5_pseudoRoom();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue