示例#1
0
    public byte[] AlphaMap_UncompressedHalfRes(MemoryStream ADTtexstream)
    {
        StreamTools s = new StreamTools();
        int         currentArrayPos = 0;

        byte[] textureArray = new byte[4096];
        for (int ux = 0; ux < 2048; ux++)
        {
            byte onebyte = (byte)ADTtexstream.ReadByte();
            byte nibble1 = (byte)(onebyte & 0x0F);
            byte nibble2 = (byte)((onebyte & 0xF0) >> 4);
            int  first   = s.NormalizeHalfResAlphaPixel(nibble2);
            int  second  = s.NormalizeHalfResAlphaPixel(nibble1);
            textureArray[ux + currentArrayPos + 0] = (byte)first;
            textureArray[ux + currentArrayPos + 1] = (byte)second;
            currentArrayPos = currentArrayPos + 1;
        }
        currentArrayPos = 0;
        return(textureArray);
    }