aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/boxes.cpp9
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)