public override void Read(BinaryReader br, List <RvDat> parentDirDats) { base.Read(br, parentDirDats); FileFlags fFlags = (FileFlags)br.ReadUInt16(); Size = (fFlags & FileFlags.Size) > 0 ? (ulong?)br.ReadUInt64() : null; CRC = (fFlags & FileFlags.CRC) > 0 ? ArrByte.Read(br) : null; SHA1 = (fFlags & FileFlags.SHA1) > 0 ? ArrByte.Read(br) : null; MD5 = (fFlags & FileFlags.MD5) > 0 ? ArrByte.Read(br) : null; SHA1CHD = (fFlags & FileFlags.SHA1CHD) > 0 ? ArrByte.Read(br) : null; MD5CHD = (fFlags & FileFlags.MD5CHD) > 0 ? ArrByte.Read(br) : null; Merge = (fFlags & FileFlags.Merge) > 0 ? br.ReadString() : null; Status = (fFlags & FileFlags.Status) > 0 ? br.ReadString() : null; ZipFileIndex = (fFlags & FileFlags.ZipFileIndex) > 0 ? br.ReadInt32() : -1; ZipFileHeaderPosition = (fFlags & FileFlags.ZipFileHeader) > 0 ? (ulong?)br.ReadUInt64() : null; CHDVersion = (fFlags & FileFlags.CHDVersion) > 0 ? (uint?)br.ReadInt32() : null; _fileStatus = (FileStatus)br.ReadUInt32(); }