aboutsummaryrefslogtreecommitdiff
path: root/scumm/gfx.h
diff options
context:
space:
mode:
authorMax Horn2003-06-04 21:45:29 +0000
committerMax Horn2003-06-04 21:45:29 +0000
commitffef453d1a34bc29604fd4339db0b8a317c267d4 (patch)
tree87a7cf6263e06933f0b747150e7e56b356d9e90c /scumm/gfx.h
parent55abd7d5ec9bf279464dd5f7f9b3935050335b6f (diff)
downloadscummvm-rg350-ffef453d1a34bc29604fd4339db0b8a317c267d4.tar.gz
scummvm-rg350-ffef453d1a34bc29604fd4339db0b8a317c267d4.tar.bz2
scummvm-rg350-ffef453d1a34bc29604fd4339db0b8a317c267d4.zip
cache room strip offsets (this should help performance on PalmOS)
svn-id: r8300
Diffstat (limited to 'scumm/gfx.h')
-rw-r--r--scumm/gfx.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/scumm/gfx.h b/scumm/gfx.h
index fc56a6789a..ac41f6368c 100644
--- a/scumm/gfx.h
+++ b/scumm/gfx.h
@@ -96,6 +96,12 @@ struct BompDrawData {
BompDrawData() { memset(this, 0, sizeof(*this)); }
};
+struct StripTable {
+ int offsets[160];
+ int zoffsets[120]; // FIXME: Why only 120 here?
+ int zrun[120]; // FIXME: Why only 120 here?
+};
+
class Gdi {
friend class Scumm; // Mostly for the code in saveload.cpp ...
public:
@@ -142,7 +148,8 @@ protected:
public:
void drawBitmap(const byte *ptr, VirtScreen *vs, int x, int y, const int width, const int height,
- int stripnr, int numstrip, byte flag);
+ int stripnr, int numstrip, byte flag, StripTable *table = 0);
+ StripTable *generateStripTable(const byte *src, int width, int height, StripTable *table);
void clearCharsetMask();
void disableZBuffer() { _zbufferDisabled = true; }