diff options
-rw-r--r-- | scumm/intern.h | 1 | ||||
-rw-r--r-- | scumm/script_v90he.cpp | 12 |
2 files changed, 12 insertions, 1 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index 696943e82f..1bdfed5907 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -826,6 +826,7 @@ protected: void o90_unknown2F(); void o90_mod(); void o90_unknown34(); + void o90_unknown36(); void o90_unknown37(); void o90_unknown9E(); }; diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp index 0b3f07d677..e5b94d36d5 100644 --- a/scumm/script_v90he.cpp +++ b/scumm/script_v90he.cpp @@ -112,7 +112,7 @@ void ScummEngine_v90he::setupOpcodes() { /* 34 */ OPCODE(o90_unknown34), OPCODE(o6_invalid), - OPCODE(o6_invalid), + OPCODE(o90_unknown36), OPCODE(o90_unknown37), /* 38 */ OPCODE(o6_invalid), @@ -833,6 +833,16 @@ void ScummEngine_v90he::o90_unknown34() { push(readVar(0)); } +void ScummEngine_v90he::o90_unknown36() { + int a = pop(); + int b = pop(); + int c = pop(); + + if (!c) + b = a; + push(b); +} + void ScummEngine_v90he::o90_unknown37() { int data, dim1start, dim1end, dim2start, dim2end; int type = fetchScriptByte(); |