Пример #1
0
        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();
        }