예제 #1
0
        public override void Serialise(MfcSerialiser archive)
        {
            base.Serialise(archive);

            archive.SerialiseUInt16(unknown01);
            archive.SerialiseUInt16(unknown02);
            archive.SerialiseUInt16(unknown03);
            archive.SerialiseUInt16(unknown04);

            archive.SerialiseUInt16(0);

            archive.SerialiseBytes(new byte[8]);
            archive.SerialiseBytes(new byte[8]);

            archive.SerialiseObjectNoHeader(new TrailingBytes());
        }
예제 #2
0
        public override void Serialise(MfcSerialiser archive)
        {
            base.Serialise(archive);

            archive.SerialiseUInt16(unknown01);
            archive.SerialiseUInt16(unknown02);
            archive.SerialiseUInt16(unknown03);
            archive.SerialiseUInt16(unknown04);

            archive.SerialiseUInt16(0);

            archive.SerialiseBytes(new byte[8]);
            archive.SerialiseBytes(new byte[8]);

            archive.SerialiseObjectNoHeader(new TrailingBytes());
        }
예제 #3
0
        public override void Serialise(MfcSerialiser archive)
        {
            base.Serialise(archive);

            archive.SerialiseUInt16((ushort)(HasTransparency ? 1 : 0));

            archive.SerialiseUInt16((ushort)Mipmaps.Count);
            foreach (var mipmap in Mipmaps)
            {
                archive.SerialiseUInt16((ushort)mipmap.ImageDimensions.Height);
                archive.SerialiseUInt16((ushort)mipmap.ImageDimensionsMinusOne.Height);
                archive.SerialiseUInt16((ushort)mipmap.ImageDimensions.Width);
                archive.SerialiseUInt16((ushort)mipmap.ImageDimensionsMinusOne.Width);

                archive.SerialiseUInt16((ushort)mipmap.Level);
                archive.SerialiseUInt32((uint)mipmap.ImageData.Length);
                archive.SerialiseBytes(mipmap.ImageData);

                var spanCounts = from s in mipmap.PixelSpans select s.Count;
                archive.SerialiseUInt32((uint)spanCounts.Sum());
                foreach (var spanList in mipmap.PixelSpans)
                {
                    archive.SerialiseUInt16((ushort)spanList.Count);
                    foreach (var pixelSpan in spanList)
                    {
                        archive.SerialiseUInt16(pixelSpan.StartIndex);
                        archive.SerialiseUInt16(pixelSpan.EndIndex);
                    }
                }

                archive.SerialiseObjectNoHeader(new TrailingBytes());
            }
        }