aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_v6.cpp11
-rw-r--r--scumm/script_v8.cpp15
3 files changed, 12 insertions, 15 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 3cfb92acba..63399b1303 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -682,7 +682,6 @@ protected:
void o8_blastText();
void o8_cursorCommand();
- void o8_createBoxMatrix();
void o8_resourceRoutines();
void o8_roomOps();
void o8_actorOps();
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index b18e4af726..9242f0eada 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -1465,7 +1465,18 @@ void ScummEngine_v6::o6_setBoxFlags() {
}
void ScummEngine_v6::o6_createBoxMatrix() {
+ int i;
+ Actor *a;
+
createBoxMatrix();
+
+ if ((_gameId == GID_DIG) || (_gameId == GID_CMI)) {
+ for (i = 1; i < _numActors; i++) {
+ a = &_actors[i];
+ if (a && a->isInCurrentRoom())
+ a->putActor(a->_pos.x, a->_pos.y, _currentRoom);
+ }
+ }
}
void ScummEngine_v6::o6_resourceRoutines() {
diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp
index 3a3b4a8fb6..27f2cc0093 100644
--- a/scumm/script_v8.cpp
+++ b/scumm/script_v8.cpp
@@ -251,7 +251,7 @@ void ScummEngine_v8::setupOpcodes() {
OPCODE(o6_pickupObject),
OPCODE(o6_setBoxFlags),
/* A8 */
- OPCODE(o8_createBoxMatrix),
+ OPCODE(o6_createBoxMatrix),
OPCODE(o6_invalid),
OPCODE(o8_resourceRoutines),
OPCODE(o8_roomOps),
@@ -779,19 +779,6 @@ void ScummEngine_v8::o8_cursorCommand() {
VAR(VAR_USERPUT) = _userPut;
}
-void ScummEngine_v8::o8_createBoxMatrix() {
- int i;
- Actor *a;
-
- createBoxMatrix();
-
- for (i = 1; i < _numActors; i++) {
- a = &_actors[i];
- if (a && a->isInCurrentRoom())
- a->adjustActorPos();
- }
-}
-
void ScummEngine_v8::o8_resourceRoutines() {
byte subOp = fetchScriptByte();
int resid = pop();