Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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]);
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 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]);
 }
Ejemplo n.º 5
0
 public PaletteNotImplementedException(SceGxmTextureFormat format) : base()
 {
     this.Format = format;
 }