aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/gfx.h
diff options
context:
space:
mode:
authorMax Horn2011-05-11 14:02:21 +0200
committerMax Horn2011-05-13 11:47:07 +0200
commit068b4a5351a5574dbfac6acff5776a0071f3f2dd (patch)
treeb7f0cf1b0a946f84a34558eb44779e7551e662d9 /engines/scumm/gfx.h
parentc9cef5e9711a33c5e8a0a442b336175df5ebb3c2 (diff)
downloadscummvm-rg350-068b4a5351a5574dbfac6acff5776a0071f3f2dd.tar.gz
scummvm-rg350-068b4a5351a5574dbfac6acff5776a0071f3f2dd.tar.bz2
scummvm-rg350-068b4a5351a5574dbfac6acff5776a0071f3f2dd.zip
SCUMM: Move tmsk code into its own Gdi subclass
Diffstat (limited to 'engines/scumm/gfx.h')
-rw-r--r--engines/scumm/gfx.h29
1 files changed, 23 insertions, 6 deletions
diff --git a/engines/scumm/gfx.h b/engines/scumm/gfx.h
index 45ff8ce97a..6da07efd18 100644
--- a/engines/scumm/gfx.h
+++ b/engines/scumm/gfx.h
@@ -221,7 +221,6 @@ protected:
virtual void writeRoomColor(byte *dst, byte color) const;
/* Mask decompressors */
- void decompressTMSK(byte *dst, const byte *tmsk, const byte *src, int height) const;
void decompressMaskImgOr(byte *dst, const byte *src, int height) const;
void decompressMaskImg(byte *dst, const byte *src, int height) const;
@@ -234,7 +233,7 @@ protected:
virtual void decodeMask(int x, int y, const int width, const int height,
int stripnr, int numzbuf, const byte *zplane_list[9],
- bool transpStrip, byte flag, const byte *tmsk_ptr);
+ bool transpStrip, byte flag);
virtual void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
const int x, const int y, const int width, const int height,
@@ -270,6 +269,24 @@ public:
};
};
+class GdiHE : public Gdi {
+protected:
+ const byte *_tmskPtr;
+
+protected:
+ void decompressTMSK(byte *dst, const byte *tmsk, const byte *src, int height) const;
+
+ virtual void decodeMask(int x, int y, const int width, const int height,
+ int stripnr, int numzbuf, const byte *zplane_list[9],
+ bool transpStrip, byte flag);
+
+ virtual void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
+ const int x, const int y, const int width, const int height,
+ int stripnr, int numstrip);
+public:
+ GdiHE(ScummEngine *vm);
+};
+
class GdiNES : public Gdi {
protected:
struct {
@@ -293,7 +310,7 @@ protected:
virtual void decodeMask(int x, int y, const int width, const int height,
int stripnr, int numzbuf, const byte *zplane_list[9],
- bool transpStrip, byte flag, const byte *tmsk_ptr);
+ bool transpStrip, byte flag);
virtual void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
const int x, const int y, const int width, const int height,
@@ -336,7 +353,7 @@ protected:
virtual void decodeMask(int x, int y, const int width, const int height,
int stripnr, int numzbuf, const byte *zplane_list[9],
- bool transpStrip, byte flag, const byte *tmsk_ptr);
+ bool transpStrip, byte flag);
virtual void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
const int x, const int y, const int width, const int height,
@@ -373,7 +390,7 @@ protected:
virtual void decodeMask(int x, int y, const int width, const int height,
int stripnr, int numzbuf, const byte *zplane_list[9],
- bool transpStrip, byte flag, const byte *tmsk_ptr);
+ bool transpStrip, byte flag);
virtual void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
const int x, const int y, const int width, const int height,
@@ -399,7 +416,7 @@ protected:
virtual void decodeMask(int x, int y, const int width, const int height,
int stripnr, int numzbuf, const byte *zplane_list[9],
- bool transpStrip, byte flag, const byte *tmsk_ptr);
+ bool transpStrip, byte flag);
virtual void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
const int x, const int y, const int width, const int height,