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()); }
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()); } }