diff options
-rw-r--r-- | scumm/boxes.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/scumm/boxes.cpp b/scumm/boxes.cpp index 683a86bb6e..0e5c0b69b4 100644 --- a/scumm/boxes.cpp +++ b/scumm/boxes.cpp @@ -60,8 +60,8 @@ struct Box { /* Internal walkbox file format */ int32 urx, ury; int32 lrx, lry; int32 llx, lly; - uint32 mask; // FIXME - is 'mask' really here? - uint32 flags; // FIXME - is 'flags' really here? + uint32 mask; + uint32 flags; uint32 scaleSlot; uint32 scale; uint32 unk2; @@ -92,6 +92,11 @@ byte ScummEngine::getMaskFromBox(int box) { if (!ptr) return 0; + // WORKAROUND for bug #847827: This is a bug in the data files, as it also + // occurs with the original engine. We work around it here anyway. + if (_gameId == GID_INDY4 && _currentRoom == 225 && _roomResource == 94 && box == 8) + return 0; + if (_version == 8) return (byte) FROM_LE_32(ptr->v8.mask); else if (_version <= 2) |