diff options
Diffstat (limited to 'scumm/boxes.cpp')
-rw-r--r-- | scumm/boxes.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/scumm/boxes.cpp b/scumm/boxes.cpp index ec0d3ea3cd..ae7d0c2839 100644 --- a/scumm/boxes.cpp +++ b/scumm/boxes.cpp @@ -566,12 +566,22 @@ int Scumm::getPathToDestBox(byte from, byte to) { byte *boxm; byte i; int dest = -1; - + const int numOfBoxes = getNumBoxes(); + if (from == to) return to; + assert(from < numOfBoxes); + assert(to < numOfBoxes); + boxm = getBoxMatrixBaseAddr(); + if (_features & GF_AFTER_V2) { + i = boxm[from]; + boxm += numOfBoxes; + return boxm[to]; + } + i = 0; while (i != from) { while (*boxm != 0xFF) |