aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/exec_br.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2008-02-03 16:51:38 +0000
committerNicola Mettifogo2008-02-03 16:51:38 +0000
commitaea99780ef0d0098bdb03041ef16115c2ec4abb0 (patch)
tree3fb8fab2f5ec056158208b248c248d0c712acc22 /engines/parallaction/exec_br.cpp
parenta53d87791d25687f4cf730374fbcd21673cfbeeb (diff)
downloadscummvm-rg350-aea99780ef0d0098bdb03041ef16115c2ec4abb0.tar.gz
scummvm-rg350-aea99780ef0d0098bdb03041ef16115c2ec4abb0.tar.bz2
scummvm-rg350-aea99780ef0d0098bdb03041ef16115c2ec4abb0.zip
Implemented a couple more opcodes and added capability to load/display static images in BRA.
svn-id: r30770
Diffstat (limited to 'engines/parallaction/exec_br.cpp')
-rw-r--r--engines/parallaction/exec_br.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/engines/parallaction/exec_br.cpp b/engines/parallaction/exec_br.cpp
index 325fb97f67..b4aa25a57d 100644
--- a/engines/parallaction/exec_br.cpp
+++ b/engines/parallaction/exec_br.cpp
@@ -294,11 +294,35 @@ DECLARE_COMMAND_OPCODE(offsave) {
DECLARE_INSTRUCTION_OPCODE(on) {
warning("Parallaction_br::instOp_on not yet implemented");
+
+ Instruction *inst = *_instRunCtxt.inst;
+ Zone *z = inst->_z;
+
+ if (z) {
+ z->_flags |= kFlagsActive;
+ z->_flags &= ~kFlagsRemove;
+
+ if ((z->_type & 0xFFFF) & kZoneGet) {
+ _gfx->showGfxObj(z->u.get->gfxobj, true);
+ }
+ }
+
}
DECLARE_INSTRUCTION_OPCODE(off) {
warning("Parallaction_br::instOp_off not yet implemented");
+
+ Instruction *inst = *_instRunCtxt.inst;
+ Zone *z = inst->_z;
+
+ if (z) {
+ z->_flags |= kFlagsRemove;
+
+ if ((z->_type & 0xFFFF) & kZoneGet) {
+ _gfx->showGfxObj(z->u.get->gfxobj, false);
+ }
+ }
}