aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/sequenceopcodes.cpp
diff options
context:
space:
mode:
authorjohndoe1232014-04-14 12:04:58 +0200
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commite131362590a768240454cc2b27f4548ba481ebfb (patch)
tree93a00e8354286fcac119c1f9be724c235cbd8617 /engines/illusions/sequenceopcodes.cpp
parent998744608f27802526b085ebe94215719ef9f28d (diff)
downloadscummvm-rg350-e131362590a768240454cc2b27f4548ba481ebfb.tar.gz
scummvm-rg350-e131362590a768240454cc2b27f4548ba481ebfb.tar.bz2
scummvm-rg350-e131362590a768240454cc2b27f4548ba481ebfb.zip
ILLUSIONS: More work on Duckman
- Implement inventory - Ad more script and sequence opcodes - Adjust existing code
Diffstat (limited to 'engines/illusions/sequenceopcodes.cpp')
-rw-r--r--engines/illusions/sequenceopcodes.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/illusions/sequenceopcodes.cpp b/engines/illusions/sequenceopcodes.cpp
index 83476ff629..7266f8b19f 100644
--- a/engines/illusions/sequenceopcodes.cpp
+++ b/engines/illusions/sequenceopcodes.cpp
@@ -86,6 +86,8 @@ void SequenceOpcodes::initOpcodes() {
OPCODE(38, opSetPathWalkRects);
OPCODE(39, opSetPriority);
OPCODE(40, opSetPriorityLayer);
+ OPCODE(41, opDisableAutoRegionLayer);
+ OPCODE(42, opSetRegionLayer);
OPCODE(50, opPlaySound);
OPCODE(51, opStopSound);
OPCODE(52, opStartScriptThread);
@@ -322,6 +324,17 @@ void SequenceOpcodes::opSetPriorityLayer(Control *control, OpCall &opCall) {
control->setPriority(priority);
}
+void SequenceOpcodes::opDisableAutoRegionLayer(Control *control, OpCall &opCall) {
+ control->_actor->_flags &= ~0x20;
+}
+
+void SequenceOpcodes::opSetRegionLayer(Control *control, OpCall &opCall) {
+ ARG_INT16(regionLayerIndex);
+ BackgroundResource *bgRes = _vm->_backgroundItems->getActiveBgResource();
+ control->_actor->_flags |= 0x20;
+//TODO control->_actor->_regionLayer = bgRes->getRegionLayer(regionLayerIndex - 1);
+}
+
void SequenceOpcodes::opPlaySound(Control *control, OpCall &opCall) {
ARG_INT16(flags);
ARG_INT16(volume);