aboutsummaryrefslogtreecommitdiff
path: root/scumm/scumm.h
diff options
context:
space:
mode:
authorJames Brown2003-01-14 10:06:56 +0000
committerJames Brown2003-01-14 10:06:56 +0000
commit5bf741f96076fa5fcdc077d5fe0a6f4557bd1dcc (patch)
tree980a4f529c01bfd637470130a024f690adaa87c1 /scumm/scumm.h
parent639cb13da189d269f53a9f895fc6109cd926c211 (diff)
downloadscummvm-rg350-5bf741f96076fa5fcdc077d5fe0a6f4557bd1dcc.tar.gz
scummvm-rg350-5bf741f96076fa5fcdc077d5fe0a6f4557bd1dcc.tar.bz2
scummvm-rg350-5bf741f96076fa5fcdc077d5fe0a6f4557bd1dcc.zip
Patch 667613: Extend gfxUsageBits[]
svn-id: r6453
Diffstat (limited to 'scumm/scumm.h')
-rw-r--r--scumm/scumm.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/scumm/scumm.h b/scumm/scumm.h
index ab791d0f95..69c524774d 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -748,7 +748,7 @@ public:
void useBompCursor(byte *im, int w, int h);
- void updateDirtyRect(int virt, int left, int right, int top, int bottom, uint32 dirtybits);
+ void updateDirtyRect(int virt, int left, int right, int top, int bottom, int dirtybit);
void setDirtyRange(int slot, int a, int height);
void drawDirtyScreenParts();
void updateDirtyScreen(int slot);
@@ -810,12 +810,18 @@ public:
byte *_palManipPalette;
byte *_palManipIntermediatePal;
- /* For each screen strip, gfxUsageBits contains a bitmask.
- * The lower 30 bits each correspond to one actor and signify if any part
- * of that actor is currently contained in that strip.
- * If the left most bit is set, the strip (background) is dirty needs to be redrawn.
+ /* For each of the 410 screen strips, gfxUsageBits contains a
+ * bitmask. The lower 80 bits each correspond to one actor and
+ * signify if any part of that actor is currently contained in
+ * that strip.
+ *
+ * If the leftmost bit is set, the strip (background) is dirty
+ * needs to be redrawn.
+ *
+ * The second leftmost bit is set by removeBlastObject() and
+ * restoreBG(), but I'm not yet sure why.
*/
- uint32 gfxUsageBits[410];
+ uint32 gfxUsageBits[410 * 3];
byte *_shadowPalette;
int _shadowPaletteSize;
@@ -924,6 +930,13 @@ public:
uint32 fileReadDword() { return _fileHandle.readUint32BE(); }
#endif
+ void upgradeGfxUsageBits();
+ void setGfxUsageBit(int strip, int bit);
+ void clearGfxUsageBit(int strip, int bit);
+ bool testGfxUsageBit(int strip, int bit);
+ bool testGfxAnyUsageBits(int strip);
+ bool testGfxOtherUsageBits(int strip, int bit);
+
/* Scumm Vars */
byte VAR_KEYPRESS;
byte VAR_EGO;