aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
Diffstat (limited to 'scumm')
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_v72he.cpp13
2 files changed, 13 insertions, 1 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 655c624262..74ae480c74 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -686,6 +686,7 @@ protected:
void o72_wordArrayWrite();
void o72_wordArrayIndexedWrite();
void o72_compareStackList();
+ void o72_unknown50();
void o72_wordArrayInc();
void o72_objectX();
void o72_objectY();
diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp
index 1932298b24..9f62462a9e 100644
--- a/scumm/script_v72he.cpp
+++ b/scumm/script_v72he.cpp
@@ -146,7 +146,7 @@ void ScummEngine_v72he::setupOpcodes() {
OPCODE(o6_invalid),
OPCODE(o6_wordVarInc),
/* 50 */
- OPCODE(o6_invalid),
+ OPCODE(o72_unknown50),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
OPCODE(o72_wordArrayInc),
@@ -573,6 +573,17 @@ void ScummEngine_v72he::o72_wordArrayIndexedWrite() {
writeArray(fetchScriptWord(), pop(), base, val);
}
+void ScummEngine_v72he::o72_unknown50() {
+ int idx;
+
+ idx = vm.cutSceneStackPointer;
+ vm.cutSceneStackPointer = 0;
+ vm.cutScenePtr[idx] = 0;
+ vm.cutSceneScript[idx] = 0;
+
+ VAR(VAR_OVERRIDE) = 0;
+}
+
void ScummEngine_v72he::o72_wordArrayInc() {
int var = fetchScriptWord();
int base = pop();