public static Color[] FetchPalette(SceGxmTextureFormat textureFormat, uint[] paletteData) { if (paletteData == null) { return(null); } Color[] palette; switch (textureFormat) { case SceGxmTextureFormat.P8_ABGR: palette = CreatePalette(paletteData, ((a, b, g, r) => { return(Color.FromArgb(a, b, g, r)); })); break; case SceGxmTextureFormat.P8_ARGB: palette = CreatePalette(paletteData, ((a, b, g, r) => { return(Color.FromArgb(a, r, g, b)); })); break; case SceGxmTextureFormat.P8_RGBA: palette = CreatePalette(paletteData, ((a, b, g, r) => { return(Color.FromArgb(r, g, b, a)); })); break; case SceGxmTextureFormat.P8_BGRA: palette = CreatePalette(paletteData, ((a, b, g, r) => { return(Color.FromArgb(b, g, r, a)); })); break; case SceGxmTextureFormat.P8_1BGR: palette = CreatePalette(paletteData, ((a, b, g, r) => { return(Color.FromArgb(0xFF, b, g, r)); })); break; case SceGxmTextureFormat.P8_1RGB: palette = CreatePalette(paletteData, ((a, b, g, r) => { return(Color.FromArgb(0xFF, r, g, b)); })); break; case SceGxmTextureFormat.P8_RGB1: palette = CreatePalette(paletteData, ((a, b, g, r) => { return(Color.FromArgb(r, g, b, 0xFF)); })); break; case SceGxmTextureFormat.P8_BGR1: palette = CreatePalette(paletteData, ((a, b, g, r) => { return(Color.FromArgb(b, g, r, 0xFF)); })); break; default: throw new GXTConvert.Exceptions.PaletteNotImplementedException(textureFormat); } return(palette); }
public static PixelDataFormat GetPaletteFormat(SceGxmTextureFormat paletteFormat) { if (!formatMap.ContainsKey(paletteFormat)) { throw new Exception(string.Format("No matching palette format known for {0}", paletteFormat)); } return(paletteFormatMap[paletteFormat]); }
private Color[] FetchPalette(SceGxmTextureFormat textureFormat, int paletteIndex) { if (paletteIndex == -1 || (paletteIndex >= P4Palettes.Length && paletteIndex >= P8Palettes.Length)) { return(null); } Color[] palette; switch (textureFormat) { case SceGxmTextureFormat.P4_ABGR: palette = CreatePalette(P4Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(a, b, g, r)); })); break; case SceGxmTextureFormat.P4_ARGB: palette = CreatePalette(P4Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(a, r, g, b)); })); break; case SceGxmTextureFormat.P4_RGBA: palette = CreatePalette(P4Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(r, g, b, a)); })); break; case SceGxmTextureFormat.P4_BGRA: palette = CreatePalette(P4Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(b, g, r, a)); })); break; case SceGxmTextureFormat.P4_1BGR: palette = CreatePalette(P4Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(0xFF, b, g, r)); })); break; case SceGxmTextureFormat.P4_1RGB: palette = CreatePalette(P4Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(0xFF, r, g, b)); })); break; case SceGxmTextureFormat.P4_RGB1: palette = CreatePalette(P4Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(r, g, b, 0xFF)); })); break; case SceGxmTextureFormat.P4_BGR1: palette = CreatePalette(P4Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(b, g, r, 0xFF)); })); break; case SceGxmTextureFormat.P8_ABGR: palette = CreatePalette(P8Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(a, b, g, r)); })); break; case SceGxmTextureFormat.P8_ARGB: palette = CreatePalette(P8Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(a, r, g, b)); })); break; case SceGxmTextureFormat.P8_RGBA: palette = CreatePalette(P8Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(r, g, b, a)); })); break; case SceGxmTextureFormat.P8_BGRA: palette = CreatePalette(P8Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(b, g, r, a)); })); break; case SceGxmTextureFormat.P8_1BGR: palette = CreatePalette(P8Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(0xFF, b, g, r)); })); break; case SceGxmTextureFormat.P8_1RGB: palette = CreatePalette(P8Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(0xFF, r, g, b)); })); break; case SceGxmTextureFormat.P8_RGB1: palette = CreatePalette(P8Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(r, g, b, 0xFF)); })); break; case SceGxmTextureFormat.P8_BGR1: palette = CreatePalette(P8Palettes[paletteIndex], ((a, b, g, r) => { return(Color.FromArgb(b, g, r, 0xFF)); })); break; default: throw new PaletteNotImplementedException(textureFormat); } return(palette); }
public static PixelDataFormat GetPixelDataFormat(SceGxmTextureFormat pixelFormat) { /*ulong[] t = new ulong[10]; * t[0] = (ulong)PixelDataFormat.MaskBpp; * t[1] = (ulong)PixelDataFormat.MaskChannels; * t[2] = (ulong)PixelDataFormat.MaskRedBits; * t[3] = (ulong)PixelDataFormat.MaskGreenBits; * t[4] = (ulong)PixelDataFormat.MaskBlueBits; * t[5] = (ulong)PixelDataFormat.MaskAlphaBits; * t[6] = (ulong)PixelDataFormat.MaskSpecial; * t[7] = (ulong)PixelDataFormat.MaskPixelOrdering; * t[8] = (ulong)PixelDataFormat.MaskFilter; * t[9] = (ulong)PixelDataFormat.MaskReserved; * * for (int i = 0; i < t.Length; i++) * Console.WriteLine("{0}: {1:X16}", i, t[i]); */ if (!formatMap.ContainsKey(pixelFormat)) { throw new Exception(string.Format("No matching pixel data format known for {0}", pixelFormat)); } return(formatMap[pixelFormat]); }
public PaletteNotImplementedException(SceGxmTextureFormat format) : base() { this.Format = format; }