aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/exec_br.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2008-07-28 11:48:04 +0000
committerNicola Mettifogo2008-07-28 11:48:04 +0000
commitfb388deb99be4c1457dd052382c32a05dfc4b528 (patch)
tree87f73fb8ca4a2a91dba8f95db8e05b86969aa547 /engines/parallaction/exec_br.cpp
parentf4ef55a2e5d3bbbd561c927f6a77e5d21123768a (diff)
downloadscummvm-rg350-fb388deb99be4c1457dd052382c32a05dfc4b528.tar.gz
scummvm-rg350-fb388deb99be4c1457dd052382c32a05dfc4b528.tar.bz2
scummvm-rg350-fb388deb99be4c1457dd052382c32a05dfc4b528.zip
Implemented opcodes for picking up/dropping/opening/closing items.
svn-id: r33370
Diffstat (limited to 'engines/parallaction/exec_br.cpp')
-rw-r--r--engines/parallaction/exec_br.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/engines/parallaction/exec_br.cpp b/engines/parallaction/exec_br.cpp
index 9376aa57ef..69d963dafd 100644
--- a/engines/parallaction/exec_br.cpp
+++ b/engines/parallaction/exec_br.cpp
@@ -122,11 +122,19 @@ DECLARE_COMMAND_OPCODE(location) {
DECLARE_COMMAND_OPCODE(open) {
warning("Parallaction_br::cmdOp_open command not yet implemented");
+ _ctxt.cmd->u._zone->_flags &= ~kFlagsClosed;
+ if (_ctxt.cmd->u._zone->u.door->gfxobj) {
+ _vm->updateDoor(_ctxt.cmd->u._zone);
+ }
}
DECLARE_COMMAND_OPCODE(close) {
warning("Parallaction_br::cmdOp_close not yet implemented");
+ _ctxt.cmd->u._zone->_flags |= kFlagsClosed;
+ if (_ctxt.cmd->u._zone->u.door->gfxobj) {
+ _vm->updateDoor(_ctxt.cmd->u._zone);
+ }
}
@@ -165,7 +173,7 @@ DECLARE_COMMAND_OPCODE(call) {
DECLARE_COMMAND_OPCODE(drop) {
- warning("Parallaction_br::cmdOp_drop not yet implemented");
+ _vm->dropItem(_ctxt.cmd->u._object);
}
@@ -204,7 +212,7 @@ DECLARE_COMMAND_OPCODE(offmouse) {
DECLARE_COMMAND_OPCODE(add) {
- warning("Parallaction_br::cmdOp_add not yet implemented");
+ _vm->addInventoryItem(_ctxt.cmd->u._object);
}