SCUMM HE: Stub for Wiz T14 compression

This commit is contained in:
Eugene Sandulenko 2016-04-30 15:54:06 +02:00
parent 00480bc7e0
commit 832961808a
2 changed files with 46 additions and 1 deletions

View File

@ -1634,6 +1634,9 @@ void Wiz::drawWizImageEx(uint8 *dst, uint8 *dataPtr, uint8 *maskPtr, int dstPitc
case 5:
copy16BitWizImage(dst, wizd, dstPitch, dstType, dstw, dsth, srcx, srcy, srcw, srch, rect, flags, xmapPtr);
break;
case 9:
copyT14WizImage(dst, wizd, dstPitch, dstType, dstw, dsth, srcx, srcy, rect, conditionBits);
break;
#endif
default:
error("drawWizImageEx: Unhandled wiz compression type %d", comp);
@ -1759,6 +1762,46 @@ void Wiz::copyCompositeWizImage(uint8 *dst, uint8 *wizPtr, uint8 *compositeInfoB
}
}
void Wiz::copyT14WizImage(uint8 *dst, uint8 *wizd, int dstPitch, int dstType,
int dstw, int dsth, int srcx, int srcy, const Common::Rect *clipBox, uint16 conditionBits) {
int rawROP = conditionBits & kWMSBRopMask;
int nROPParam = (conditionBits & kWMSBReservedBits) >> kWMSBRopParamRShift;
switch (rawROP) {
default:
case 1:
warning("T14: MMX_PREMUL_ALPHA_COPY");
break;
case 2:
warning("T14: MMX_ADDITIVE");
break;
case 3:
warning("T14: MMX_SUBTRACTIVE");
break;
case 4:
warning("T14: MMX_CONSTANT_ALPHA");
break;
case 5:
warning("T14: MMX_CHEAP_50_50");
break;
case 6:
warning("T14: COPY");
break;
case 7:
warning("T14: CHEAP_50_50");
break;
}
warning("T14: params %d", nROPParam);
}
struct PolygonDrawData {
struct PolygonArea {
int32 xmin;

View File

@ -246,11 +246,13 @@ public:
#ifdef USE_RGB_COLOR
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);
void copyT14WizImage(uint8 *dst, uint8 *wizd, int dstPitch, int dstType,
int dstw, int dsth, int srcx, int srcy, const Common::Rect *clipBox, uint16 conditionBits);
#endif
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);