Add some more HE7 differences.

svn-id: r14032
This commit is contained in:
Travis Howell 2004-06-24 15:13:00 +00:00
parent d6cfe9a5e9
commit 08cebae472
3 changed files with 16 additions and 4 deletions

View file

@ -635,6 +635,7 @@ protected:
void o7_unknownFA(); void o7_unknownFA();
void o7_unknownFB(); void o7_unknownFB();
void o7_quitPauseRestart(); void o7_quitPauseRestart();
void o7_getActorRoom();
void o7_pickupObject(); void o7_pickupObject();
void o7_startSound(); void o7_startSound();
}; };

View file

@ -243,7 +243,7 @@ void ScummEngine_v6he::setupOpcodes() {
/* 98 */ /* 98 */
OPCODE(o6_isSoundRunning), OPCODE(o6_isSoundRunning),
OPCODE(o6_setBoxFlags), OPCODE(o6_setBoxFlags),
OPCODE(o6_createBoxMatrix), OPCODE(o6_invalid),
OPCODE(o6_resourceRoutines), OPCODE(o6_resourceRoutines),
/* 9C */ /* 9C */
OPCODE(o6_roomOps), OPCODE(o6_roomOps),
@ -492,7 +492,8 @@ void ScummEngine_v6he::o6_roomOps() {
c = pop(); c = pop();
b = pop(); b = pop();
a = pop(); a = pop();
setupShadowPalette(a, b, c, d, e); if (_heversion == 60)
setupShadowPalette(a, b, c, d, e);
break; break;
case 184: // SO_SAVE_STRING case 184: // SO_SAVE_STRING

View file

@ -226,7 +226,7 @@ void ScummEngine_v7he::setupOpcodes() {
OPCODE(o6_getActorMoving), OPCODE(o6_getActorMoving),
OPCODE(o6_isScriptRunning), OPCODE(o6_isScriptRunning),
/* 8C */ /* 8C */
OPCODE(o6_getActorRoom), OPCODE(o7_getActorRoom),
OPCODE(o6_getObjectX), OPCODE(o6_getObjectX),
OPCODE(o6_getObjectY), OPCODE(o6_getObjectY),
OPCODE(o6_getObjectOldDir), OPCODE(o6_getObjectOldDir),
@ -243,7 +243,7 @@ void ScummEngine_v7he::setupOpcodes() {
/* 98 */ /* 98 */
OPCODE(o6_isSoundRunning), OPCODE(o6_isSoundRunning),
OPCODE(o6_setBoxFlags), OPCODE(o6_setBoxFlags),
OPCODE(o6_createBoxMatrix), OPCODE(o6_invalid),
OPCODE(o6_resourceRoutines), OPCODE(o6_resourceRoutines),
/* 9C */ /* 9C */
OPCODE(o6_roomOps), OPCODE(o6_roomOps),
@ -645,6 +645,16 @@ void ScummEngine_v7he::o7_pickupObject() {
} }
void ScummEngine_v7he::o7_getActorRoom() {
int act = pop();
if (act < _numActors) {
Actor *a = derefActor(act, "o7_getActorRoom");
push(a->room);
} else
push(getObjectRoom(act));
}
void ScummEngine_v7he::o7_startSound() { void ScummEngine_v7he::o7_startSound() {
byte op; byte op;
op = fetchScriptByte(); op = fetchScriptByte();