Beispiel #1
0
        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);
        }
Beispiel #2
0
        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
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        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");
            }
        }
Beispiel #5
0
        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");
            }
        }
Beispiel #6
0
        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);
        }