diff options
Diffstat (limited to 'boxes.cpp')
-rw-r--r-- | boxes.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -45,9 +45,12 @@ byte Scumm::getNumBoxes() { Box *Scumm::getBoxBaseAddr(int box) { byte *ptr = getResourceAddress(rtMatrix, 2); checkRange(ptr[0]-1, 0, box, "Illegal box %d"); - if(_features & GF_SMALL_HEADER) - return (Box*)(ptr + box*SIZEOF_BOX + 1); - else + if(_features & GF_SMALL_HEADER) { + if (_gameId == GID_ZAK256) + return (Box*)(ptr + box*(SIZEOF_BOX-2) + 1); + else + return (Box*)(ptr + box*SIZEOF_BOX + 1); + } else return (Box*)(ptr + box*SIZEOF_BOX + 2); } |