private void BSDIFFParse()
{
using (MemoryStream ms = RLEUnpack())
using (BinaryReader br = new BinaryReader(ms))
{
BSDIFF40 m_BSDIFF40 = br.ReadStruct<BSDIFF40>();
Debug.Assert(m_BSDIFF40.m_magic.FourCC() == "BSDIFF40");
Debug.Assert(m_BSDIFF40.m_ctrlBlockSize > 0 && m_BSDIFF40.m_diffBlockSize > 0);
Debug.Assert(m_BSDIFF40.m_sizeAfter == m_PTCH.m_sizeAfter);
m_ctrlBlock = br.ReadBytes((int)m_BSDIFF40.m_ctrlBlockSize).ToBinaryReader();
m_diffBlock = new MemoryStream(br.ReadBytes((int)m_BSDIFF40.m_diffBlockSize));
m_extraBlock = new MemoryStream(br.ReadRemaining());
}
}