public void Write(IoWriter io) { using (var sprStream = new MemoryStream()) { var sprIO = IoWriter.FromStream(sprStream, ByteOrder.LITTLE_ENDIAN); sprIO.WriteUInt16((ushort)Width); sprIO.WriteUInt16((ushort)Height); sprIO.WriteUInt32(Flags); sprIO.WriteUInt16(PaletteID); sprIO.WriteUInt16(TransparentColorIndex); sprIO.WriteUInt16((ushort)Position.Y); sprIO.WriteUInt16((ushort)Position.X); SPR2FrameEncoder.WriteFrame(this, sprIO); var data = sprStream.ToArray(); io.WriteUInt32(1001); io.WriteUInt32((uint)data.Length + 8); io.WriteBytes(data); } }