From 077d977834f00758d7484e2e146cad39b2e64a65 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Fri, 3 Sep 2004 00:22:31 +0000 Subject: Add fingolfin's suggested solution for bug #881132 svn-id: r14869 --- scumm/boxes.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'scumm') diff --git a/scumm/boxes.cpp b/scumm/boxes.cpp index 47fc8e3c6a..ca0ec60464 100644 --- a/scumm/boxes.cpp +++ b/scumm/boxes.cpp @@ -374,12 +374,10 @@ Box *ScummEngine::getBoxBaseAddr(int box) { // checking at all. All the problems so far have been cases where // the value was exactly one more than what we consider the maximum. // So it's very well possible that all of these are script errors. - if ((_gameId == GID_PASS) || ((_features & GF_OLD_BUNDLE) - && (_gameId == GID_INDY3 || _gameId == GID_ZAK))) { - checkRange(ptr[0], 0, box, "Illegal box %d"); - } else - checkRange(ptr[0] - 1, 0, box, "Illegal box %d"); + if (_version <= 4 && ptr[0] == box) + box--; + checkRange(ptr[0] - 1, 0, box, "Illegal box %d"); if (_version <= 2) return (Box *)(ptr + box * SIZEOF_BOX_V2 + 1); else if (_version == 3) -- cgit v1.2.3