aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he/wiz_he.h
diff options
context:
space:
mode:
authorEugene Sandulenko2016-04-30 14:35:11 +0200
committerEugene Sandulenko2016-04-30 14:35:11 +0200
commit00480bc7e0facea6eeeac639c0b40837a8f2606b (patch)
treeb35849f88c7edb900283ad1d61577b4475289f27 /engines/scumm/he/wiz_he.h
parent25ccf4f4795feb9ba774ff4b5a429a83b20feec1 (diff)
downloadscummvm-rg350-00480bc7e0facea6eeeac639c0b40837a8f2606b.tar.gz
scummvm-rg350-00480bc7e0facea6eeeac639c0b40837a8f2606b.tar.bz2
scummvm-rg350-00480bc7e0facea6eeeac639c0b40837a8f2606b.zip
SCUMM HE: Implemented Composite Wiz images
Diffstat (limited to 'engines/scumm/he/wiz_he.h')
-rw-r--r--engines/scumm/he/wiz_he.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/engines/scumm/he/wiz_he.h b/engines/scumm/he/wiz_he.h
index 1fa4e83280..dd1da8b46d 100644
--- a/engines/scumm/he/wiz_he.h
+++ b/engines/scumm/he/wiz_he.h
@@ -145,6 +145,29 @@ enum WizProcessFlags {
kWPFZBuffer = 0x200000
};
+enum WizCompositeFlags {
+ kWCFConditionBits = 0x01,
+ kWCFSubState = 0x02,
+ kWCFXDelta = 0x04,
+ kWCFYDelta = 0x08,
+ kWCFDrawFlags = 0x10,
+ kWCFSubConditionBits = 0x20
+};
+
+enum WizSpcConditionTypes {
+ kWSPCCTBits = 0xc0000000,
+ kWSPCCTOr = 0x00000000,
+ kWSPCCTAnd = 0x40000000,
+ kWSPCCTNot = 0x80000000
+};
+
+enum WizMoonSystemBits {
+ kWMSBRopMask = 0xff,
+ kWMSBRopParamMask = 0xff00,
+ kWMSBReservedBits = (kWMSBRopMask | kWMSBRopParamMask),
+ kWMSBRopParamRShift = 8
+};
+
enum {
kWizXMap = 0,
kWizRMap,
@@ -225,6 +248,10 @@ public:
static void copyMaskWizImage(uint8 *dst, const uint8 *src, const uint8 *mask, int dstPitch, int dstType, int dstw, int dsth, int srcx, int srcy, int srcw, int srch, const Common::Rect *rect, int flags, const uint8 *palPtr);
#endif
+ void copyCompositeWizImage(uint8 *dst, uint8 *wizPtr, uint8 *wizd, uint8 *maskPtr, int dstPitch, int dstType,
+ int dstw, int dsth, int srcx, int srcy, int srcw, int srch, int state, const Common::Rect *clipBox,
+ int flags, const uint8 *palPtr, int transColor, uint8 bitDepth, const uint8 *xmapPtr, uint16 conditionBits);
+
static void copyAuxImage(uint8 *dst1, uint8 *dst2, const uint8 *src, int dstw, int dsth, int srcx, int srcy, int srcw, int srch, uint8 bitdepth);
static void copyWizImageWithMask(uint8 *dst, const uint8 *src, int dstPitch, int dstw, int dsth, int srcx, int srcy, int srcw, int srch, const Common::Rect *rect, int maskT, int maskP);
static void copyWizImage(uint8 *dst, const uint8 *src, int dstPitch, int dstType, int dstw, int dsth, int srcx, int srcy, int srcw, int srch, const Common::Rect *rect, int flags, const uint8 *palPtr, const uint8 *xmapPtr, uint8 bitdepth);