private void InitMpq() { var version = FileVersionInfo.GetVersionInfo(Path.Combine(DataPath, "Wow.exe")); if (version.FilePrivatePart > 13000 || version.FilePrivatePart < 9000) { throw new NotImplementedException("MPQ is only implemented for WOTLK (builds 9000 - 13000)"); } Files.Terrain.AdtFactory.Instance.Version = FileDataVersion.Lichking; Files.Models.ModelFactory.Instance.Version = FileDataVersion.Lichking; Files.Sky.SkyManager.InitVersion(FileDataVersion.Lichking); Version = FileDataVersion.Lichking; var mgr = new MPQ.FileManager(); mgr.LoadComplete += () => { Storage.DbcStorage.Initialize(); Storage.DbcStorage.BuildCache(); if (LoadComplete != null) { LoadComplete(); } }; Provider = mgr; mgr.InitFromPath(DataPath); }
public void InitFromPath() { if (string.IsNullOrEmpty(DataPath)) { throw new InvalidOperationException("Cannot initialize file system without a path"); } if (File.Exists(Path.Combine(DataPath, ".build.info"))) { Files.Terrain.AdtFactory.Instance.Version = FileDataVersion.Warlords; Files.Models.ModelFactory.Instance.Version = FileDataVersion.Warlords; Files.Sky.SkyManager.InitVersion(FileDataVersion.Warlords); Version = FileDataVersion.Warlords; var mgr = new CASC.FileManager(); mgr.LoadComplete += () => { Storage.DbcStorage.Initialize(); Storage.DbcStorage.BuildCache(); if (LoadComplete != null) { LoadComplete(); } }; Provider = mgr; mgr.Initialize(DataPath); } else { InitMpq(); } UI.ThumbnailCache.Reload(); //Load thumbnails of models }
public void InitFromPath() { if(string.IsNullOrEmpty(DataPath)) throw new InvalidOperationException("Cannot initialize file system without a path"); if (File.Exists(Path.Combine(DataPath, ".build.info"))) { Files.Terrain.AdtFactory.Instance.Version = FileDataVersion.Warlords; Files.Models.ModelFactory.Instance.Version = FileDataVersion.Warlords; Files.Sky.SkyManager.InitVersion(FileDataVersion.Warlords); Version = FileDataVersion.Warlords; var mgr = new CASC.FileManager(); mgr.LoadComplete += () => { Initialized = true; if (LoadComplete != null) LoadComplete(); }; Provider = mgr; mgr.Initialize(DataPath); } else InitMpq(); }
public static void InitVersion(FileDataVersion version) { switch (version) { case FileDataVersion.Warlords: Instance = new WoD.LightManager(); break; case FileDataVersion.Lichking: Instance = new Wotlk.LightManager(); break; default: throw new NotSupportedException("Sorry, version not supported yet"); } }
public static void InitVersion(FileDataVersion version) { switch(version) { case FileDataVersion.Warlords: Instance = new WoD.LightManager(); break; case FileDataVersion.Lichking: Instance = new Wotlk.LightManager(); break; default: throw new NotSupportedException("Sorry, version not supported yet"); } }
private void InitMpq() { var version = FileVersionInfo.GetVersionInfo(Path.Combine(DataPath, "Wow.exe")); if (version.FilePrivatePart > 13000 || version.FilePrivatePart < 9000) throw new NotImplementedException("MPQ is only implemented for WOTLK (builds 9000 - 13000)"); Files.Terrain.AdtFactory.Instance.Version = FileDataVersion.Lichking; Files.Models.ModelFactory.Instance.Version = FileDataVersion.Lichking; Files.Sky.SkyManager.InitVersion(FileDataVersion.Lichking); Version = FileDataVersion.Lichking; var mgr = new MPQ.FileManager(); mgr.LoadComplete += () => { Initialized = true; if (LoadComplete != null) LoadComplete(); }; Provider = mgr; mgr.InitFromPath(DataPath); }