aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/sequenceopcodes.cpp
diff options
context:
space:
mode:
authorjohndoe1232014-04-02 10:53:40 +0200
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit8d7d6599b9bc29152cbccbcec6b2e25b66272715 (patch)
treef8c0edc525b3429911463405bac7cc7171a42148 /engines/illusions/sequenceopcodes.cpp
parent7dc8533f730645e7177bbdc4d214664d82856963 (diff)
downloadscummvm-rg350-8d7d6599b9bc29152cbccbcec6b2e25b66272715.tar.gz
scummvm-rg350-8d7d6599b9bc29152cbccbcec6b2e25b66272715.tar.bz2
scummvm-rg350-8d7d6599b9bc29152cbccbcec6b2e25b66272715.zip
ILLUSIONS: Fix special code functions thread notifying (used wrong thread value)
- Add more script and sequence opcodes
Diffstat (limited to 'engines/illusions/sequenceopcodes.cpp')
-rw-r--r--engines/illusions/sequenceopcodes.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/illusions/sequenceopcodes.cpp b/engines/illusions/sequenceopcodes.cpp
index cab0fbecf3..e53a7ec222 100644
--- a/engines/illusions/sequenceopcodes.cpp
+++ b/engines/illusions/sequenceopcodes.cpp
@@ -25,6 +25,7 @@
#include "illusions/actor.h"
#include "illusions/actorresource.h"
#include "illusions/dictionary.h"
+#include "illusions/scriptman.h"
#include "illusions/scriptopcodes.h"
namespace Illusions {
@@ -82,6 +83,7 @@ void SequenceOpcodes::initOpcodes() {
OPCODE(40, opSetPriorityLayer);
OPCODE(50, opPlaySound);
OPCODE(51, opStopSound);
+ OPCODE(52, opStartScriptThread);
OPCODE(53, opPlaceSubActor);
OPCODE(54, opStartSubSequence);
OPCODE(55, opStopSubSequence);
@@ -311,6 +313,12 @@ void SequenceOpcodes::opStopSound(Control *control, OpCall &opCall) {
// TODO _vm->stopSound(soundEffectId);
}
+void SequenceOpcodes::opStartScriptThread(Control *control, OpCall &opCall) {
+ ARG_SKIP(2);
+ ARG_UINT32(threadId);
+ _vm->_scriptMan->startScriptThread(threadId, 0, 0, 0, 0);
+}
+
void SequenceOpcodes::opPlaceSubActor(Control *control, OpCall &opCall) {
ARG_INT16(linkIndex);
ARG_UINT32(actorTypeId);