aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/screen.h
diff options
context:
space:
mode:
authorJohannes Schickel2006-09-15 16:04:32 +0000
committerJohannes Schickel2006-09-15 16:04:32 +0000
commit75fd84e85a166b5871c3a30677daadef18201e00 (patch)
tree3af222b5995e256e8484a42efb9dbce336fbcb5d /engines/kyra/screen.h
parent0cd1f0fbf91589eab48b92bdb82d36c6646223a3 (diff)
downloadscummvm-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.h14
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;