public void DebugStuff() { string directory = @"E:\World of Warcraft 0.6.0"; var options = new Options() { ParseMode = ParseMode.Both, IncludeUnsupportedAndInvalidFiles = true, }; //options.IgnoredFormats.Add(SupportedFormats.ADT); //options.IgnoredDirectories.Add("World\\Maps"); WoWFormatParser parser = new WoWFormatParser(directory, WoWBuild.Parse("0.6.0.3592"), options); //var localfiles = parser.EnumerateDirectory("*.txt"); //var mpqs = parser.GetArchives(); //var archivednames = parser.GetListFile("*.lit"); //var localnames = parser.GetLocalFiles(); //var t = parser.EnumerateArchives("*.m2").ToArray() // .Where(x => x.Is<Structures.M2.M2>()) // .Cast<Structures.M2.M2>() // .Where(x => x.Particles != null) // .Where(x => x.Particles.Any(y => y.TailUVAnimRepeat != 0)).ToArray(); var t = parser.EnumerateArchives <Structures.WMO.WMO>("*GoldshireInn.wmo").ToArray(); var t2 = parser.EnumerateArchives <Structures.WMO.WMO>("*.wmo") .Where(x => x.Lights != null) .Where(x => x.Lights.Any(y => y.Unknown_0x18 != null && (y.Unknown_0x18[0] != 0 || y.Unknown_0x18[1] != 0))).ToArray(); //var json = test.ToJson(); }
public MPQReader(Options options, WoWBuild build, IEnumerable <string> patchArchives) { _options = options; _build = build; _fileReader = new FileReader(_build, _options); _patchArchives = patchArchives.ToArray(); _archiveLocks = new ConcurrentDictionary <string, MpqArchive>(); }
public DirectoryReader(string directory, Options options, WoWBuild build) { _directory = directory; _options = options; _build = build; }