/* * Enumerator for pack at given file path. */ public PackFileEnumerator(string path) { filepath = path; reader = new BinaryReader(File.OpenRead(path)); header = PackFileCodec.ReadHeader(reader); startPosition = reader.BaseStream.Position; Reset(); }
public PackLoadOrder(ICollection <string> files) { foreach (string file in files) { try { PFHeader header = PackFileCodec.ReadHeader(file); nameToHeader.Add(file, header); nameToPath.Add(Path.GetFileName(file), file); } catch { } // couldn't read header probably; just ignore the file } }
/* * Query if a pack file is provided by CA. */ public static bool IsDbCaPack(string filename) { foreach (string exclude in EXCLUDE_PREFIXES) { if (Path.GetFileName(filename).StartsWith(exclude)) { return(true); } } bool result = false; try { PFHeader pack = PackFileCodec.ReadHeader(filename); result = (pack.Type != PackType.Patch) && (pack.Type != PackType.Release); } catch {} // not a valid pack: not a CA pack return(result); }