aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2004-09-06 01:54:24 +0000
committerTravis Howell2004-09-06 01:54:24 +0000
commit4ace797f4eade4a9fac06363e0db9ecffbb56c4f (patch)
treec47f37a10782b4255d234d2cc0b88824f2c5aee9
parent42277f416f7db065822a7dcc8d3fe0ac566572e2 (diff)
downloadscummvm-rg350-4ace797f4eade4a9fac06363e0db9ecffbb56c4f.tar.gz
scummvm-rg350-4ace797f4eade4a9fac06363e0db9ecffbb56c4f.tar.bz2
scummvm-rg350-4ace797f4eade4a9fac06363e0db9ecffbb56c4f.zip
More stubs
svn-id: r14918
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_v72he.cpp8
-rw-r--r--scumm/script_v80he.cpp10
-rw-r--r--scumm/script_v90he.cpp10
4 files changed, 24 insertions, 5 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index d4dd598dbe..e60dd1d0f0 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -778,6 +778,7 @@ protected:
virtual const char *getOpcodeDesc(byte i);
/* HE version 80 script opcodes */
+ void o80_unknown49();
void o80_setState();
};
diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp
index cc09d1eed3..a09fe386d4 100644
--- a/scumm/script_v72he.cpp
+++ b/scumm/script_v72he.cpp
@@ -850,8 +850,14 @@ void ScummEngine_v72he::o72_actorOps() {
switch (b) {
case 21:
- // HE 7.3 (Pajama Sam onwards)
+ // HE 80 (Pajama Sam onwards)
k = getStackList(args, ARRAYSIZE(args));
+ debug(1,"o72_actorOps: case 21 (%d)", k);
+ break;
+ case 24:
+ // HE 80 (Pajama Sam onwards)
+ k = pop();
+ debug(1,"o72_actorOps: case 24 (%d)", k);
break;
case 64:
_actorClipOverride.bottom = pop();
diff --git a/scumm/script_v80he.cpp b/scumm/script_v80he.cpp
index 938a6867bf..e19c61588d 100644
--- a/scumm/script_v80he.cpp
+++ b/scumm/script_v80he.cpp
@@ -136,7 +136,7 @@ void ScummEngine_v80he::setupOpcodes() {
OPCODE(o72_wordArrayWrite),
/* 48 */
OPCODE(o6_invalid),
- OPCODE(o6_invalid),
+ OPCODE(o80_unknown49),
OPCODE(o6_invalid),
OPCODE(o72_wordArrayIndexedWrite),
/* 4C */
@@ -378,6 +378,14 @@ const char *ScummEngine_v80he::getOpcodeDesc(byte i) {
return _opcodesV80he[i].desc;
}
+void ScummEngine_v80he::o80_unknown49() {
+ int a = pop();
+ int b = pop();
+
+ push (0);
+ debug(1,"o80_unknown49 stub (%d, %d)", b, a);
+}
+
void ScummEngine_v80he::o80_setState() {
int state = pop();
int obj = pop();
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp
index 90b00f735c..c626e99631 100644
--- a/scumm/script_v90he.cpp
+++ b/scumm/script_v90he.cpp
@@ -136,7 +136,7 @@ void ScummEngine_v90he::setupOpcodes() {
OPCODE(o72_wordArrayWrite),
/* 48 */
OPCODE(o6_invalid),
- OPCODE(o6_invalid),
+ OPCODE(o80_unknown49),
OPCODE(o6_invalid),
OPCODE(o72_wordArrayIndexedWrite),
/* 4C */
@@ -185,7 +185,7 @@ void ScummEngine_v90he::setupOpcodes() {
OPCODE(o6_setClass),
OPCODE(o6_getState),
/* 70 */
- OPCODE(o6_setState),
+ OPCODE(o80_setState),
OPCODE(o6_setOwner),
OPCODE(o6_getOwner),
OPCODE(o6_jump),
@@ -439,7 +439,7 @@ void ScummEngine_v90he::o90_unknown25() {
}
push(0);
- debug(1,"o80_unknown25 stub (%d)", subOp);
+ debug(1,"o90_unknown25 stub (%d)", subOp);
}
void ScummEngine_v90he::o90_unknown26() {
@@ -447,6 +447,10 @@ void ScummEngine_v90he::o90_unknown26() {
int value = fetchScriptByte();
value -= 34;
+ if (value == 23) {
+ pop();
+ }
+
debug(1,"o90_unknown26 stub (%d)", value);
}