aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2004-10-01 23:56:39 +0000
committerTravis Howell2004-10-01 23:56:39 +0000
commit09cfed33f2cbd8c91d349ae85203d9f02cbb99eb (patch)
treece1d8c5be8445ed94bfdad2c160ee6f73f8f227c
parentbb44270c850b2b1ee7d16ab3f7bc3969a012ecfb (diff)
downloadscummvm-rg350-09cfed33f2cbd8c91d349ae85203d9f02cbb99eb.tar.gz
scummvm-rg350-09cfed33f2cbd8c91d349ae85203d9f02cbb99eb.tar.bz2
scummvm-rg350-09cfed33f2cbd8c91d349ae85203d9f02cbb99eb.zip
Add/correct opcode
svn-id: r15377
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_v80he.cpp9
-rw-r--r--scumm/script_v90he.cpp28
-rw-r--r--scumm/scumm.cpp1
4 files changed, 29 insertions, 10 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 5aa22cded5..d28876db6a 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -896,6 +896,7 @@ protected:
void o90_unknown3A();
void o90_unknown94();
void o90_unknown9E();
+ void o90_unknownA5();
void o90_getActorAnimProgress();
void o90_unknownCF();
};
diff --git a/scumm/script_v80he.cpp b/scumm/script_v80he.cpp
index 909d1378e1..53751ca675 100644
--- a/scumm/script_v80he.cpp
+++ b/scumm/script_v80he.cpp
@@ -33,7 +33,6 @@
#include "scumm/resource_v7he.h"
#include "scumm/scumm.h"
#include "scumm/sound.h"
-#include "scumm/verbs.h"
#include "sound/mididrv.h"
#include "sound/mixer.h"
@@ -230,7 +229,7 @@ void ScummEngine_v80he::setupOpcodes() {
OPCODE(o6_findInventory),
OPCODE(o6_getInventoryCount),
/* 94 */
- OPCODE(o6_getVerbFromXY),
+ OPCODE(o6_invalid),
OPCODE(o6_beginOverride),
OPCODE(o6_endOverride),
OPCODE(o6_setObjectName),
@@ -242,7 +241,7 @@ void ScummEngine_v80he::setupOpcodes() {
/* 9C */
OPCODE(o72_roomOps),
OPCODE(o72_actorOps),
- OPCODE(o72_verbOps),
+ OPCODE(o6_invalid),
OPCODE(o6_getActorFromXY),
/* A0 */
OPCODE(o72_findObject),
@@ -251,7 +250,7 @@ void ScummEngine_v80he::setupOpcodes() {
OPCODE(o6_getVerbEntrypoint),
/* A4 */
OPCODE(o72_arrayOps),
- OPCODE(o6_saveRestoreVerbs),
+ OPCODE(o6_invalid),
OPCODE(o6_drawBox),
OPCODE(o6_pop),
/* A8 */
@@ -514,11 +513,9 @@ void ScummEngine_v80he::o80_cursorCommand() {
break;
case 0x90: // SO_CURSOR_ON Turn cursor on
_cursor.state = 1;
- verbMouseOver(0);
break;
case 0x91: // SO_CURSOR_OFF Turn cursor off
_cursor.state = 0;
- verbMouseOver(0);
break;
case 0x92: // SO_USERPUT_ON
_userPut = 1;
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp
index 7d1cf16881..2d3c703d48 100644
--- a/scumm/script_v90he.cpp
+++ b/scumm/script_v90he.cpp
@@ -33,7 +33,6 @@
#include "scumm/resource_v7he.h"
#include "scumm/scumm.h"
#include "scumm/sound.h"
-#include "scumm/verbs.h"
#include "sound/mididrv.h"
#include "sound/mixer.h"
@@ -251,7 +250,7 @@ void ScummEngine_v90he::setupOpcodes() {
OPCODE(o6_getVerbEntrypoint),
/* A4 */
OPCODE(o72_arrayOps),
- OPCODE(o6_saveRestoreVerbs),
+ OPCODE(o90_unknownA5),
OPCODE(o6_drawBox),
OPCODE(o6_pop),
/* A8 */
@@ -1163,15 +1162,38 @@ void ScummEngine_v90he::o90_unknown9E() {
debug(1,"o90_unknown9E stub (%d)", subOp);
}
+
+
+void ScummEngine_v90he::o90_unknownA5() {
+ int subOp = fetchScriptByte();
+
+ switch (subOp) {
+ case 42:
+ if (pop() - 1 == 0)
+ pop();
+ break;
+ case 57:
+ break;
+ default:
+ error("o90_unknownA5: Unknown case %d", subOp);
+ }
+
+ push(0);
+ debug(1,"o90_unknownA5 stub (%d)", subOp);
+}
+
void ScummEngine_v90he::o90_getActorAnimProgress() {
Actor *a = derefActor(pop(), "o90_getActorAnimProgress");
push(a->getAnimProgress());
}
void ScummEngine_v90he::o90_unknownCF() {
- byte name[256];
+ byte name[255];
copyScriptString(name);
+ writeVar(0, 0);
+ defineArray(0, kStringArray, 0, 0, 0, 0);
+ writeArray(0, 0, 0, 0);
push(readVar(0));
}
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index f629e231e7..ceba06170f 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -245,7 +245,6 @@ static const ScummGameSettings scumm_settings[] = {
{"jungle", "Let's Explore the Jungle with Buzzy", GID_HEGAME, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
- // There is also a Scummsys.90 version of puttzoo
{"puttzoo", "Putt-Putt Saves the Zoo", GID_HEGAME, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"zoodemo", "Putt-Putt Saves the Zoo (Demo)", GID_HEGAME, 6, 72, MDT_NONE,