diff options
author | Travis Howell | 2004-06-24 15:13:00 +0000 |
---|---|---|
committer | Travis Howell | 2004-06-24 15:13:00 +0000 |
commit | 08cebae47298a15895fc35e8755dd5bfa85ff6eb (patch) | |
tree | 2de67b58f8e84a40a797300a1d5b2ca0d0606289 | |
parent | d6cfe9a5e90ffc6697e8ac621e93e309ea0fa034 (diff) | |
download | scummvm-rg350-08cebae47298a15895fc35e8755dd5bfa85ff6eb.tar.gz scummvm-rg350-08cebae47298a15895fc35e8755dd5bfa85ff6eb.tar.bz2 scummvm-rg350-08cebae47298a15895fc35e8755dd5bfa85ff6eb.zip |
Add some more HE7 differences.
svn-id: r14032
-rw-r--r-- | scumm/intern.h | 1 | ||||
-rw-r--r-- | scumm/script_v6he.cpp | 5 | ||||
-rw-r--r-- | scumm/script_v7he.cpp | 14 |
3 files changed, 16 insertions, 4 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index 8f42802103..bf1ec6b350 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -635,6 +635,7 @@ protected: void o7_unknownFA(); void o7_unknownFB(); void o7_quitPauseRestart(); + void o7_getActorRoom(); void o7_pickupObject(); void o7_startSound(); }; diff --git a/scumm/script_v6he.cpp b/scumm/script_v6he.cpp index 971da452c7..3edc6b503c 100644 --- a/scumm/script_v6he.cpp +++ b/scumm/script_v6he.cpp @@ -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 diff --git a/scumm/script_v7he.cpp b/scumm/script_v7he.cpp index 7fb712c5a9..63cebc892d 100644 --- a/scumm/script_v7he.cpp +++ b/scumm/script_v7he.cpp @@ -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(); |