Example #1
0
        public static PICATextureFormat ToPICATextureFormat(this GFTextureFormat Format)
        {
            switch (Format)
            {
            case GFTextureFormat.RGB565:   return(PICATextureFormat.RGB565);

            case GFTextureFormat.RGB8:     return(PICATextureFormat.RGB8);

            case GFTextureFormat.RGBA8:    return(PICATextureFormat.RGBA8);

            case GFTextureFormat.RGBA4:    return(PICATextureFormat.RGBA4);

            case GFTextureFormat.RGBA5551: return(PICATextureFormat.RGBA5551);

            case GFTextureFormat.LA8:      return(PICATextureFormat.LA8);

            case GFTextureFormat.HiLo8:    return(PICATextureFormat.HiLo8);

            case GFTextureFormat.L8:       return(PICATextureFormat.L8);

            case GFTextureFormat.A8:       return(PICATextureFormat.A8);

            case GFTextureFormat.LA4:      return(PICATextureFormat.LA4);

            case GFTextureFormat.L4:       return(PICATextureFormat.L4);

            case GFTextureFormat.A4:       return(PICATextureFormat.A4);

            case GFTextureFormat.ETC1:     return(PICATextureFormat.ETC1);

            case GFTextureFormat.ETC1A4:   return(PICATextureFormat.ETC1A4);

            default: throw new ArgumentException("Invalid format!");
            }
        }
Example #2
0
 public GFTexture(H3DTexture tex)
 {
     Name       = tex.Name;
     RawBuffer  = tex.RawBuffer;
     Width      = (ushort)tex.Width;
     Height     = (ushort)tex.Height;
     Format     = H3DTextureFormatExtensions.ToGFTextureFormat(tex.Format);
     MipmapSize = tex.MipmapSize;
 }
Example #3
0
        public GFTexture(BinaryReader Reader)
        {
            uint MagicNumber  = Reader.ReadUInt32();
            uint TextureCount = Reader.ReadUInt32();

            GFSection TextureSection = new GFSection(Reader);

            uint TextureLength = Reader.ReadUInt32();

            Reader.BaseStream.Seek(0xc, SeekOrigin.Current); //Padding? Always zero it seems

            Name = Reader.ReadPaddedString(0x40);

            Width      = Reader.ReadUInt16();
            Height     = Reader.ReadUInt16();
            Format     = (GFTextureFormat)Reader.ReadUInt16();
            MipmapSize = Reader.ReadUInt16();

            Reader.BaseStream.Seek(0x10, SeekOrigin.Current); //Padding

            RawBuffer = Reader.ReadBytes((int)TextureLength);
        }