예제 #1
0
        internal override int Read(System.IO.BinaryReader br, IVoxLoader loader)
        {
            int readSize = base.Read(br, loader);

            byte[,] palette = new byte[256, 4];
            for (int i = 0; i <= 254; i++)
            {
                byte r = br.ReadByte();
                byte g = br.ReadByte();
                byte b = br.ReadByte();
                byte a = br.ReadByte();

                palette[i, 0] = r;
                palette[i, 1] = g;
                palette[i, 2] = b;
                palette[i, 3] = a;
                readSize     += 4;
            }

            br.ReadBytes(4);
            readSize += 4;

            loader.LoadPalette(palette);
            return(readSize);
        }
예제 #2
0
        internal override int Read(System.IO.BinaryReader br, IVoxLoader loader)
        {
            int readSize = base.Read(br, loader);

            UInt32[] palette = new UInt32[256];
            for (int i = 0; i <= 254; i++)
            {
                byte r = br.ReadByte();
                byte g = br.ReadByte();
                byte b = br.ReadByte();
                byte a = br.ReadByte();

                palette[i + 1] = BitConverter.ToUInt32(new byte[] { b, g, r, a }, 0);
                readSize      += 4;
            }

            br.ReadBytes(4);
            readSize += 4;

            loader.LoadPalette(palette);
            return(readSize);
        }