public override void Deserialize(CRioArchive arc) { Version = arc.ReadInt32(); m_width = arc.ReadUInt16(); m_height = arc.ReadUInt16(); m_x = arc.ReadUInt16(); m_y = arc.ReadUInt16(); m_w = arc.ReadUInt16(); m_h = arc.ReadUInt16(); m_flags = arc.ReadInt32(); CompressInfo = arc.ReadBytes(7); if (arc.GetObjectSchema() >= 2) { field_4C = arc.ReadRioReference("CSbm"); } int size = arc.ReadInt32(); arc.ReadInt32(); // field_3C var data = arc.ReadBytes(size); m_pixels = Uncompress(data); Format = HasAlpha ? PixelFormats.Bgra32 : PixelFormats.Bgr32; }
public override void Deserialize(CRioArchive arc) { field_10 = arc.ReadRioReference("CFrameBuffer"); }
void ReadRelic(CRioArchive arc) { Version = arc.ReadInt32(); if (Version >= 0x24) { field_24 = arc.ReadRioReference("CDatabaseBase"); // UnivUI field_28 = arc.ReadRioReference("CDatabaseBase"); field_10 = arc.ReadRioReference("CBoxOcean"); // rvmm field_14 = arc.ReadRioReference("CObjectOcean"); // UnivUI field_18 = arc.ReadRioReference("CObjectOcean"); // UnivUI field_0C = arc.ReadRioReference("CProcessOcean"); // Vm60 if (Version >= 0x25) { field_30 = arc.ReadRioReference("CStdb"); // UnivUI } if (Version >= 0x26) { field_2C = arc.ReadRioReference("CRio"); // UnivUI } if (Version >= 0x27) { field_1C = arc.ReadRioReference("CRio"); } if (Version >= 0x29) { field_38 = arc.ReadRioReference("CRio"); } field_34.Deserialize(arc); if (Version >= 0x28) { field_08 = arc.ReadRioReference("CRio"); } } else if (Version >= 0x20) { field_0C = arc.ReadRioReference("CProcessOcean"); field_10 = arc.ReadRioReference("CBoxOcean"); field_14 = arc.ReadRioReference("CObjectOcean"); field_18 = arc.ReadRioReference("CObjectOcean"); field_1C = arc.ReadRioReference("CSoundManEx"); if (Version >= 0x23) { field_24 = arc.ReadRioReference("CDatabaseBase"); } if (Version >= 0x22) { field_28 = arc.ReadRioReference("CDatabaseBase"); } if (Version >= 0x21) { field_34.Deserialize(arc); } } else { throw new NotSupportedException(string.Format("rUGP schema {0} not supported", Version)); } }