diff options
author | Johannes Schickel | 2006-09-15 16:04:32 +0000 |
---|---|---|
committer | Johannes Schickel | 2006-09-15 16:04:32 +0000 |
commit | 75fd84e85a166b5871c3a30677daadef18201e00 (patch) | |
tree | 3af222b5995e256e8484a42efb9dbce336fbcb5d /engines/kyra/screen.h | |
parent | 0cd1f0fbf91589eab48b92bdb82d36c6646223a3 (diff) | |
download | scummvm-rg350-75fd84e85a166b5871c3a30677daadef18201e00.tar.gz scummvm-rg350-75fd84e85a166b5871c3a30677daadef18201e00.tar.bz2 scummvm-rg350-75fd84e85a166b5871c3a30677daadef18201e00.zip |
- adds dirty rect handling to the kyra engine (needs some more tests before I commit it to branch though)
- initializes an uninitiliazied variable which caused crashes from time to time
svn-id: r23878
Diffstat (limited to 'engines/kyra/screen.h')
-rw-r--r-- | engines/kyra/screen.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/engines/kyra/screen.h b/engines/kyra/screen.h index b3568ba22f..813ccb9908 100644 --- a/engines/kyra/screen.h +++ b/engines/kyra/screen.h @@ -115,7 +115,7 @@ public: void copyCurPageBlock(int x, int y, int w, int h, uint8 *dst); void shuffleScreen(int sx, int sy, int w, int h, int srcPage, int dstPage, int ticks, bool transparent); void fillRect(int x1, int y1, int x2, int y2, uint8 color, int pageNum = -1); - void drawLine(bool horizontal, int x, int y, int length, int color); + void drawLine(bool vertical, int x, int y, int length, int color); void drawClippedLine(int x1, int y1, int x2, int y2, int color); void drawShadedBox(int x1, int y1, int x2, int y2, int color1, int color2); void drawBox(int x1, int y1, int x2, int y2, int color); @@ -203,7 +203,7 @@ private: int16 encodeShapeAndCalculateSize(uint8 *from, uint8 *to, int size); void restoreMouseRect(); void copyMouseToScreen(); - void copyScreenFromRect(int x, int y, int w, int h, uint8 *ptr); + void copyScreenFromRect(int x, int y, int w, int h, const uint8 *ptr); void copyScreenToRect(int x, int y, int w, int h, uint8 *ptr); uint8 *_pagePtrs[16]; @@ -221,6 +221,16 @@ private: Rect *_bitBlitRects; int _bitBlitNum; uint8 *_unkPtr1, *_unkPtr2; + + enum { + kMaxDirtyRects = 50 + }; + + bool _forceFullUpdate; + int _numDirtyRects; + Rect *_dirtyRects; + + void addDirtyRect(int x, int y, int w, int h); OSystem *_system; KyraEngine *_vm; |