From 78cbed0cc8748bcefaf891d24bb80e1797bf9d7f Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Sun, 30 Aug 2009 16:57:21 +0000 Subject: Added the ColorMask ARGB3444 for Gamecube/Wii svn-id: r43828 --- graphics/colormasks.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'graphics/colormasks.h') diff --git a/graphics/colormasks.h b/graphics/colormasks.h index 3b5a84a03e..c8f21d3564 100644 --- a/graphics/colormasks.h +++ b/graphics/colormasks.h @@ -238,6 +238,33 @@ struct ColorMasks<8888> { }; }; +#ifdef __WII__ +/* Gamecube/Wii specific ColorMask ARGB3444 */ +template<> +struct ColorMasks<3444> { + enum { + kBytesPerPixel = 2, + + kAlphaBits = 3, + kRedBits = 4, + kGreenBits = 4, + kBlueBits = 4, + + kBlueShift = 0, + kGreenShift = kBlueBits, + kRedShift = kGreenBits+kBlueBits, + kAlphaShift = kGreenBits+kBlueBits+kRedBits, + + kAlphaMask = ((1 << kAlphaBits) - 1) << kAlphaShift, + kRedMask = ((1 << kRedBits) - 1) << kRedShift, + kGreenMask = ((1 << kGreenBits) - 1) << kGreenShift, + kBlueMask = ((1 << kBlueBits) - 1) << kBlueShift, + + kRedBlueMask = kRedMask | kBlueMask + }; +}; +#endif + template uint32 RGBToColor(uint8 r, uint8 g, uint8 b) { return T::kAlphaMask | -- cgit v1.2.3