diff options
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/intern.h | 1 | ||||
-rw-r--r-- | scumm/script_v7he.cpp | 27 |
2 files changed, 27 insertions, 1 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index e8a7f6ee52..9ee9832301 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -620,6 +620,7 @@ protected: /* Version 7 script opcodes */ void o7_objectX(); void o7_objectY(); + void o7_unknownFB(); }; class ScummEngine_v7 : public ScummEngine_v6 { diff --git a/scumm/script_v7he.cpp b/scumm/script_v7he.cpp index e59edef276..3a231b3f2e 100644 --- a/scumm/script_v7he.cpp +++ b/scumm/script_v7he.cpp @@ -360,7 +360,7 @@ void ScummEngine_v7he::setupOpcodes() { OPCODE(o6_invalid), OPCODE(o6_unknownF9), OPCODE(o6_unknownFA), - OPCODE(o6_invalid), + OPCODE(o7_unknownFB), /* FC */ OPCODE(o6_invalid), OPCODE(o6_invalid), @@ -406,6 +406,31 @@ void ScummEngine_v7he::o7_objectY() { push(_objs[objnum].y_pos); } +void ScummEngine_v7he::o7_unknownFB() { + byte b; + b = fetchScriptByte(); + + switch (b) { + case 246: + case 248: + pop(); + pop(); + pop(); + pop(); + pop(); + pop(); + pop(); + pop(); + pop(); + break; + case 247: + pop(); + pop(); + break; + } + warning("o7_unknownFB stub"); +} + void ScummEngine_v7he::decodeParseString(int m, int n) { byte b; int c; |