aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v90he.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/script_v90he.cpp')
-rw-r--r--scumm/script_v90he.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp
index f58f458423..d547d4c1cb 100644
--- a/scumm/script_v90he.cpp
+++ b/scumm/script_v90he.cpp
@@ -57,7 +57,7 @@ void ScummEngine_v90he::setupOpcodes() {
/* 08 */
OPCODE(o6_invalid),
OPCODE(o6_invalid),
- OPCODE(o6_invalid),
+ OPCODE(o90_dup),
OPCODE(o6_wordArrayIndexedRead),
/* 0C */
OPCODE(o6_dup),
@@ -378,6 +378,17 @@ const char *ScummEngine_v90he::getOpcodeDesc(byte i) {
return _opcodesV90he[i].desc;
}
+void ScummEngine_v90he::o90_dup() {
+ int a, num;
+
+ num = fetchScriptWord();
+ for (int i = 0; i < num; i++) {
+ a = pop();
+ push(a);
+ push(a);
+ }
+}
+
void ScummEngine_v90he::o90_getLT() {
int a = pop();
int b = pop();