Add/correct opcode

svn-id: r15377
This commit is contained in:
Travis Howell 2004-10-01 23:56:39 +00:00
parent bb44270c85
commit 09cfed33f2
4 changed files with 29 additions and 10 deletions

View file

@ -896,6 +896,7 @@ protected:
void o90_unknown3A();
void o90_unknown94();
void o90_unknown9E();
void o90_unknownA5();
void o90_getActorAnimProgress();
void o90_unknownCF();
};

View file

@ -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;

View file

@ -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));
}

View file

@ -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,