private CASCEngine(CASCConfig config) { Config = config; Log.Write("CASC: Loading indexes..."); CDNIndex = CDNIndexHandler.Initialize(config); Log.Write("CASC: Loaded {0} indexes", CDNIndex.Count); if (!Program.Settings.UseRemote) { CDNIndexHandler.Cache.Enabled = false; Log.Write("CASC: Loading indexes from local storage..."); LocalIndex = LocalIndexHandler.Initialize(config); Log.Write("CASC: Loaded {0} indexes from local storage", LocalIndex.Count); } EventManager.Trigger_LoadStepDone(); Log.Write("CASC: Loading encoding data..."); using (var stream = OpenEncodingFile(this)) EncodingHandler = new EncodingHandler(stream); Log.Write("CASC: Loaded {0} encoding data entries", EncodingHandler.Count); if ((CASCConfig.LoadFlags & LoadFlags.Download) != 0) { Log.Write("CASC: Loading download data..."); using (var stream = OpenDownloadFile(EncodingHandler, this)) DownloadHandler = new DownloadHandler(stream); Log.Write("CASC: Loaded {0} download data entries", EncodingHandler.Count); } EventManager.Trigger_LoadStepDone(); Log.Write("CASC: Loading root data..."); using (var stream = OpenRootFile(EncodingHandler, this)) RootHandler = new RootHandler(stream); Log.Write("CASC: Loaded {0} root data entries", RootHandler.Count); if ((CASCConfig.LoadFlags & LoadFlags.Install) != 0) { Log.Write("CASC: Loading install data..."); using (var stream = OpenInstallFile(EncodingHandler, this)) InstallHandler = new InstallHandler(stream); Log.Write("CASC: Loaded {0} install data entries", InstallHandler.Count); } EventManager.Trigger_LoadStepDone(); }
private BinaryReader OpenInstallationFile(EncodingHandler encoding, CASCEngine engine, MD5Hash hash, string errorName) { EncodingEntry entry; if (!encoding.GetEntry(hash, out entry)) { throw new FileNotFoundException(string.Format("Installation missing {0} file!", errorName)); } return(new BinaryReader(engine.OpenFile(entry.Key))); }
private BinaryReader OpenInstallationFile(EncodingHandler encoding, CASCEngine engine, MD5Hash hash, string errorName) { EncodingEntry entry; if (!encoding.GetEntry(hash, out entry)) throw new FileNotFoundException(string.Format("Installation missing {0} file!", errorName)); return new BinaryReader(engine.OpenFile(entry.Key)); }
private BinaryReader OpenRootFile(EncodingHandler encoding, CASCEngine casc) { return OpenInstallationFile(encoding, casc, casc.Config.RootMD5, "root"); }
private BinaryReader OpenDownloadFile(EncodingHandler encoding, CASCEngine casc) { return OpenInstallationFile(encoding, casc, casc.Config.DownloadMD5, "download"); }
private BinaryReader OpenInstallFile(EncodingHandler encoding, CASCEngine casc) { return OpenInstallationFile(encoding, casc, casc.Config.InstallMD5, "install"); }
private BinaryReader OpenRootFile(EncodingHandler encoding, CASCEngine casc) { return(OpenInstallationFile(encoding, casc, casc.Config.RootMD5, "root")); }
private BinaryReader OpenDownloadFile(EncodingHandler encoding, CASCEngine casc) { return(OpenInstallationFile(encoding, casc, casc.Config.DownloadMD5, "download")); }
private BinaryReader OpenInstallFile(EncodingHandler encoding, CASCEngine casc) { return(OpenInstallationFile(encoding, casc, casc.Config.InstallMD5, "install")); }