Esempio n. 1
0
        public Bitmap ShowTexture()
        {
            byte[] tmpArray = null;
            switch (bytePerPixel)
            {
            case 32:
                tmpArray = rawData;
                break;

            case 16:
                tmpArray = CTextureManager.ConvertByteArrayToRGBA(rawData, CGeneric.Compression.trueColor16Bits);
                break;

            case 8:
                tmpArray = CTextureManager.ConvertByteArrayToRGBA(rawData, CGeneric.Compression.max256Colors, palette, true);
                break;
            }

            return(CTextureManager.ConvertRGBAByteArrayToBitmap(tmpArray, sizeX, sizeY));
        }
Esempio n. 2
0
        public void DecompressTexture()
        {
            Byte[] compressedTex;
            compressedTex = new Byte[rawData.Length - 35 + headerBFF2.nameLength];

            Byte[] decompressedTex;

            //if texture is compressed, decompress it.
            if (headerBFF2.isCompressedTexture)
            {
                decompressedTex = CTextureDecompress.DecompressTexture(headerBFF2);
            }
            else
            {
                decompressedTex = headerBFF2.dataCompressed;
            }

            //convert all textures to 32 bit RGBA for display to user.
            decompressedTex = CTextureManager.ConvertByteArrayToRGBA(decompressedTex, (CGeneric.Compression)headerBFF2.textureType, headerBFF2.palette);

            headerBFF2.dataUncompressed = decompressedTex;
        }