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)); }
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)); }
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)); }