diff options
Diffstat (limited to 'scumm/script_v90he.cpp')
-rw-r--r-- | scumm/script_v90he.cpp | 13 |
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(); |