Пример #1
0
        public void Load(string filename, VpkVersions.Versions version = VpkVersions.Versions.V1)
        {
            ArchivePath = filename;
            IsMultiPart = filename.EndsWith("_dir.vpk");
            if (IsMultiPart)
            {
                LoadParts(filename);
            }
            if (version == VpkVersions.Versions.V1)
            {
                _reader = new VpkReaderV1(filename);
            }
            else if (version == VpkVersions.Versions.V2)
            {
                _reader = new V2.VpkReaderV2(filename);
            }
            var hdr = _reader.ReadArchiveHeader();

            if (!hdr.Verify())
            {
                throw new ArchiveParsingException("Invalid archive header");
            }
            Directories.AddRange(_reader.ReadDirectories(this));
        }
Пример #2
0
        public void Load(string filename)
        {
            ArchivePath = filename;
            IsMultiPart = filename.EndsWith("dir.vpk");
            if (IsMultiPart)
            {
                LoadParts(filename);
            }
            reader = new VpkReaderV1(filename);
            var hdr = reader.ReadArchiveHeader();

            if (!hdr.Verify())
            {
                throw new ArchiveParsingException("Invalid archive header");
            }
            ArchiveOffset = hdr.CalculateDataOffset();
            Directories.AddRange(reader.ReadDirectories(this));
        }
Пример #3
0
        public void Load(string filename)
        {
            ArchivePath = filename;
            IsMultiPart = filename.EndsWith("_dir.vpk");
            if (IsMultiPart)
            {
                LoadParts(filename);
            }
            _reader = new VpkReaderV1(filename);
            Console.WriteLine("readed1");
            var hdr = _reader.ReadArchiveHeader();

            Console.WriteLine("readed2");
            if (!hdr.Verify())
            {
                Console.WriteLine("error");
                throw new ArchiveParsingException("Invalid archive header");
            }
            Directories.AddRange(_reader.ReadDirectories(this));
        }