public override void Deserialize(CRioArchive arc) { if (arc.IsEncrypted) { var data = arc.ReadEncrypted(RioKey); using (var input = new BinMemoryStream(data)) { var prev_source = arc.SetSource(input); try { ReadRelic(arc); } finally { arc.SetSource(prev_source); } } } else { ReadRelic(arc); } }
public CrelicUnitedGameProject DeserializeRelic() { if (!m_read_toc) { m_read_toc = true; m_relic = m_arc.DeserializeRoot() as CrelicUnitedGameProject; if (m_toc != m_input) { m_toc.Dispose(); m_toc = m_input; m_arc.SetSource(m_input); } } return(m_relic); }