public bool? Run(IInstallStatusUpdate status, CancellationToken token) { if (!_prompts.BuildFOMODsPrompt()) return false; //+1 (opt) status.ItemsTotal++; status.CurrentOperation = "Building FOMODs"; var fomodStatus = new InstallStatus(_installer.ProgressMinorOperation, _installer.Token); _fomod.BuildAll(fomodStatus, _installer.DirTTWMain, _installer.DirTTWOptional, _prompts.TTWSavePath); return true; }
public bool?Run(IInstallStatusUpdate status, CancellationToken token) { foreach (var kvp in Game.BuildableBSAs) { if (token.IsCancellationRequested) { return(false); } //inBSA - KVP.Key //outBSA - KVP.Value var outBSA = kvp.Value; string outBSAFile = Path.ChangeExtension(kvp.Value, ".bsa"); string outBSAPath = Path.Combine(_installer.DirTTWMain, outBSAFile); var inBSA = kvp.Key; string inBSAFile = Path.ChangeExtension(kvp.Key, ".bsa"); string inBSAPath = Path.Combine(_installer.DirFO3Data, inBSAFile); ErrorPromptResult buildResult; try { status.CurrentOperation = string.Format("Building {0}", outBSA); if (!_prompts.BuildPrompt(outBSA, outBSAPath)) { continue; } var bsaInstaller = DependencyRegistry.Container.GetInstance <BsaInstaller>(); do { buildResult = bsaInstaller.Patch(bsaInstaller.GetOptionsOrDefault(inBSA), inBSAFile, inBSAPath, outBSAPath); } while (!token.IsCancellationRequested && buildResult == ErrorPromptResult.Retry); } finally { status.Step(); } if (buildResult == ErrorPromptResult.Abort) { return(null); } } return(true); }
public bool?Run(IInstallStatusUpdate status, CancellationToken token) { status.CurrentOperation = Localization.CheckingRequiredFiles; if (CheckFiles()) { Log.File("All files found."); Log.Display("All files found. Proceeding with installation."); return(true); } else { Log.File("Missing files detected. Aborting install."); Log.Display("The above files were not found. Make sure your Fallout 3 location is accurate and try again.\nInstallation failed."); return(false); } }
public bool? Run(IInstallStatusUpdate status, CancellationToken token) { status.CurrentOperation = Localization.CheckingRequiredFiles; if (CheckFiles()) { Log.File("All files found."); Log.Display("All files found. Proceeding with installation."); return true; } else { Log.File("Missing files detected. Aborting install."); Log.Display("The above files were not found. Make sure your Fallout 3 location is accurate and try again.\nInstallation failed."); return false; } }
public bool?Run(IInstallStatusUpdate status, CancellationToken token) { if (!_prompts.BuildFOMODsPrompt()) { return(false); } //+1 (opt) status.ItemsTotal++; status.CurrentOperation = "Building FOMODs"; var fomodStatus = new InstallStatus(_installer.ProgressMinorOperation, _installer.Token); _fomod.BuildAll(fomodStatus, _installer.DirTTWMain, _installer.DirTTWOptional, _prompts.TTWSavePath); return(true); }
public bool? Run(IInstallStatusUpdate status, CancellationToken token) { foreach (var kvp in Game.BuildableBSAs) { if (token.IsCancellationRequested) return false; //inBSA - KVP.Key //outBSA - KVP.Value var outBSA = kvp.Value; string outBSAFile = Path.ChangeExtension(kvp.Value, ".bsa"); string outBSAPath = Path.Combine(_installer.DirTTWMain, outBSAFile); var inBSA = kvp.Key; string inBSAFile = Path.ChangeExtension(kvp.Key, ".bsa"); string inBSAPath = Path.Combine(_installer.DirFO3Data, inBSAFile); ErrorPromptResult buildResult; try { status.CurrentOperation = string.Format("Building {0}", outBSA); if (!_prompts.BuildPrompt(outBSA, outBSAPath)) continue; var bsaInstaller = DependencyRegistry.Container.GetInstance<BsaInstaller>(); do { buildResult = bsaInstaller.Patch(bsaInstaller.GetOptionsOrDefault(inBSA), inBSAFile, inBSAPath, outBSAPath); } while (!token.IsCancellationRequested && buildResult == ErrorPromptResult.Retry); } finally { status.Step(); } if (buildResult == ErrorPromptResult.Abort) return null; } return true; }