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_unknownFB();
void o7_quitPauseRestart();
void o7_getActorRoom();
void o7_pickupObject();
void o7_startSound();
};

View File

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

View File

@ -226,7 +226,7 @@ void ScummEngine_v7he::setupOpcodes() {
OPCODE(o6_getActorMoving),
OPCODE(o6_isScriptRunning),
/* 8C */
OPCODE(o6_getActorRoom),
OPCODE(o7_getActorRoom),
OPCODE(o6_getObjectX),
OPCODE(o6_getObjectY),
OPCODE(o6_getObjectOldDir),
@ -243,7 +243,7 @@ void ScummEngine_v7he::setupOpcodes() {
/* 98 */
OPCODE(o6_isSoundRunning),
OPCODE(o6_setBoxFlags),
OPCODE(o6_createBoxMatrix),
OPCODE(o6_invalid),
OPCODE(o6_resourceRoutines),
/* 9C */
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() {
byte op;
op = fetchScriptByte();