diff options
author | Travis Howell | 2004-09-06 01:19:38 +0000 |
---|---|---|
committer | Travis Howell | 2004-09-06 01:19:38 +0000 |
commit | 42277f416f7db065822a7dcc8d3fe0ac566572e2 (patch) | |
tree | 3578fc85cd6b1f9a2109799d4e3ad2b27107e025 /scumm | |
parent | c797a781774a63fcd3c2360191266025d7d4087b (diff) | |
download | scummvm-rg350-42277f416f7db065822a7dcc8d3fe0ac566572e2.tar.gz scummvm-rg350-42277f416f7db065822a7dcc8d3fe0ac566572e2.tar.bz2 scummvm-rg350-42277f416f7db065822a7dcc8d3fe0ac566572e2.zip |
Add back stub, in right place this time.
svn-id: r14917
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/intern.h | 1 | ||||
-rw-r--r-- | scumm/script_v72he.cpp | 2 | ||||
-rw-r--r-- | scumm/script_v90he.cpp | 51 |
3 files changed, 51 insertions, 3 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index 316347a812..d4dd598dbe 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -801,6 +801,7 @@ protected: /* HE version 90 script opcodes */ void o90_unknown1C(); + void o90_unknown25(); void o90_unknown26(); }; diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index dd1f9bef88..cc09d1eed3 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -706,7 +706,7 @@ void ScummEngine_v72he::o72_setTimer() { void ScummEngine_v72he::o72_unknown5A() { int value = pop(); push(4); - warning("o72_unknown5A stub (%d)", value); + debug(1,"o72_unknown5A stub (%d)", value); } void ScummEngine_v72he::o72_wordArrayDec() { diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp index 2856af612e..90b00f735c 100644 --- a/scumm/script_v90he.cpp +++ b/scumm/script_v90he.cpp @@ -91,7 +91,7 @@ void ScummEngine_v90he::setupOpcodes() { OPCODE(o6_invalid), /* 24 */ OPCODE(o6_invalid), - OPCODE(o6_invalid), + OPCODE(o90_unknown25), OPCODE(o90_unknown26), OPCODE(o6_invalid), /* 28 */ @@ -395,12 +395,59 @@ void ScummEngine_v90he::o90_unknown1C() { warning("o90_unknown1C stub (%d)", value); } +void ScummEngine_v90he::o90_unknown25() { + int args[16]; + int subOp = fetchScriptByte(); + switch (subOp) { + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + case 39: + case 43: + case 52: + case 63: + case 68: + case 82: + case 92: + case 97: + case 98: + case 124: + pop(); + break; + case 42: + case 198: + pop(); + pop(); + break; + case 45: + pop(); + pop(); + pop(); + break; + case 125: + getStackList(args, ARRAYSIZE(args)); + pop(); + break; + default: + error("o90_unknown25: Unknown case %d", subOp); + } + push(0); + + debug(1,"o80_unknown25 stub (%d)", subOp); +} + void ScummEngine_v90he::o90_unknown26() { // Incomplete int value = fetchScriptByte(); value -= 34; - warning("o90_unknown26 stub (%d)", value); + debug(1,"o90_unknown26 stub (%d)", value); } } // End of namespace Scumm |