aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/exec_br.cpp
diff options
context:
space:
mode:
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);
+ }
+ }
}