public void ExportFolders() { WowRootHandler wowRoot = CASC.Root as WowRootHandler; using (StreamWriter sw = new StreamWriter("dirs.txt")) { HashSet <string> dirData = new HashSet <string>(StringComparer.OrdinalIgnoreCase); foreach (var file in CASCFile.Files.OrderBy(f => f.Value.FullName, StringComparer.OrdinalIgnoreCase)) { if (CASC.FileExists(file.Key) && (wowRoot == null || !wowRoot.IsUnknownFile(file.Key))) { ulong fileHash = file.Key; int dirSepIndex = file.Value.FullName.LastIndexOf('\\'); if (dirSepIndex >= 0) { string dir = file.Value.FullName.Substring(0, dirSepIndex); dirData.Add(dir); } } } foreach (var dir in dirData) { sw.WriteLine(dir); } } }
public void ExportListFile() { WowRootHandler wowRoot = CASC.Root as WowRootHandler; using (StreamWriter sw = new StreamWriter("listfile_export.txt")) { foreach (var file in CASCFile.Files.OrderBy(f => f.Value.FullName, StringComparer.OrdinalIgnoreCase)) { if (CASC.FileExists(file.Key) && (wowRoot == null || !wowRoot.IsUnknownFile(file.Key))) { sw.WriteLine(file.Value.FullName); } } //var wr = CASC.Root as WowRootHandler; //SortedDictionary<int, string> fids = new SortedDictionary<int, string>(); //foreach (var file in CASCFile.FileNames) //{ // var id = wr.GetFileDataIdByName(file.Value); // if (id > 0) // { // fids[id] = file.Value; // } //} //foreach (var file in fids) //{ // sw.WriteLine("{0} {1}", file.Key, file.Value); //} } }