mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Rename Compiler/Installer to MO2Compiler/MO2Installer, other code cleanup as well
This commit is contained in:
parent
0c78680c09
commit
8d5843ecc6
@ -26,40 +26,35 @@ namespace Wabbajack.Lib
|
|||||||
|
|
||||||
protected StatusUpdateTracker UpdateTracker { get; private set; }
|
protected StatusUpdateTracker UpdateTracker { get; private set; }
|
||||||
|
|
||||||
private Subject<float> _percentCompleted { get; set; } = new Subject<float>();
|
private Subject<float> _percentCompleted { get; } = new Subject<float>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The current progress of the entire processing system on a scale of 0.0 to 1.0
|
/// The current progress of the entire processing system on a scale of 0.0 to 1.0
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public IObservable<float> PercentCompleted { get; }
|
public IObservable<float> PercentCompleted => _percentCompleted;
|
||||||
|
|
||||||
private Subject<string> _textStatus { get; set; } = new Subject<string>();
|
private Subject<string> _textStatus { get; } = new Subject<string>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The current status of the processor as a text string
|
/// The current status of the processor as a text string
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public IObservable<string> TextStatus { get; }
|
public IObservable<string> TextStatus => _textStatus;
|
||||||
|
|
||||||
private Subject<CPUStatus> _QueueStatus { get; set; } = new Subject<CPUStatus>();
|
private Subject<CPUStatus> _queueStatus { get; } = new Subject<CPUStatus>();
|
||||||
public IObservable<CPUStatus> QueueStatus { get; }
|
public IObservable<CPUStatus> QueueStatus => _queueStatus;
|
||||||
|
|
||||||
private Subject<bool> _IsRunning { get; set; } = new Subject<bool>();
|
private Subject<bool> _isRunning { get; } = new Subject<bool>();
|
||||||
public IObservable<bool> IsRunning { get; }
|
public IObservable<bool> IsRunning => _isRunning;
|
||||||
|
|
||||||
private Thread _processorThread { get; set; }
|
private Thread _processorThread { get; set; }
|
||||||
|
|
||||||
protected ABatchProcessor()
|
|
||||||
{
|
|
||||||
QueueStatus = _QueueStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void ConfigureProcessor(int steps, int threads = 0)
|
protected void ConfigureProcessor(int steps, int threads = 0)
|
||||||
{
|
{
|
||||||
if (_configured)
|
if (_configured)
|
||||||
throw new InvalidDataException("Can't configure a processor twice");
|
throw new InvalidDataException("Can't configure a processor twice");
|
||||||
Queue = new WorkQueue(threads);
|
Queue = new WorkQueue(threads);
|
||||||
UpdateTracker = new StatusUpdateTracker(steps);
|
UpdateTracker = new StatusUpdateTracker(steps);
|
||||||
Queue.Status.Subscribe(_QueueStatus);
|
Queue.Status.Subscribe(_queueStatus);
|
||||||
UpdateTracker.Progress.Subscribe(_percentCompleted);
|
UpdateTracker.Progress.Subscribe(_percentCompleted);
|
||||||
UpdateTracker.StepName.Subscribe(_textStatus);
|
UpdateTracker.StepName.Subscribe(_textStatus);
|
||||||
VFS = new Context(Queue) { UpdateTracker = UpdateTracker };
|
VFS = new Context(Queue) { UpdateTracker = UpdateTracker };
|
||||||
@ -69,7 +64,7 @@ namespace Wabbajack.Lib
|
|||||||
protected abstract bool _Begin();
|
protected abstract bool _Begin();
|
||||||
public Task<bool> Begin()
|
public Task<bool> Begin()
|
||||||
{
|
{
|
||||||
_IsRunning.OnNext(true);
|
_isRunning.OnNext(true);
|
||||||
var _tcs = new TaskCompletionSource<bool>();
|
var _tcs = new TaskCompletionSource<bool>();
|
||||||
if (_processorThread != null)
|
if (_processorThread != null)
|
||||||
{
|
{
|
||||||
@ -88,7 +83,7 @@ namespace Wabbajack.Lib
|
|||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
_IsRunning.OnNext(false);
|
_isRunning.OnNext(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
_processorThread.Priority = ThreadPriority.BelowNormal;
|
_processorThread.Priority = ThreadPriority.BelowNormal;
|
||||||
@ -100,7 +95,7 @@ namespace Wabbajack.Lib
|
|||||||
{
|
{
|
||||||
Queue?.Shutdown();
|
Queue?.Shutdown();
|
||||||
_processorThread?.Abort();
|
_processorThread?.Abort();
|
||||||
_IsRunning.OnNext(false);
|
_isRunning.OnNext(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,11 +13,11 @@ namespace Wabbajack.Lib.CompilationSteps
|
|||||||
private readonly IEnumerable<string> _include_directly;
|
private readonly IEnumerable<string> _include_directly;
|
||||||
private readonly List<ICompilationStep> _microstack;
|
private readonly List<ICompilationStep> _microstack;
|
||||||
private readonly List<ICompilationStep> _microstackWithInclude;
|
private readonly List<ICompilationStep> _microstackWithInclude;
|
||||||
private readonly Compiler _mo2Compiler;
|
private readonly MO2Compiler _mo2Compiler;
|
||||||
|
|
||||||
public DeconstructBSAs(ACompiler compiler) : base(compiler)
|
public DeconstructBSAs(ACompiler compiler) : base(compiler)
|
||||||
{
|
{
|
||||||
_mo2Compiler = (Compiler) compiler;
|
_mo2Compiler = (MO2Compiler) compiler;
|
||||||
_include_directly = _mo2Compiler.ModInis.Where(kv =>
|
_include_directly = _mo2Compiler.ModInis.Where(kv =>
|
||||||
{
|
{
|
||||||
var general = kv.Value.General;
|
var general = kv.Value.General;
|
||||||
|
@ -9,11 +9,11 @@ namespace Wabbajack.Lib.CompilationSteps
|
|||||||
public class IgnoreDisabledMods : ACompilationStep
|
public class IgnoreDisabledMods : ACompilationStep
|
||||||
{
|
{
|
||||||
private readonly IEnumerable<string> _allEnabledMods;
|
private readonly IEnumerable<string> _allEnabledMods;
|
||||||
private readonly Compiler _mo2Compiler;
|
private readonly MO2Compiler _mo2Compiler;
|
||||||
|
|
||||||
public IgnoreDisabledMods(ACompiler compiler) : base(compiler)
|
public IgnoreDisabledMods(ACompiler compiler) : base(compiler)
|
||||||
{
|
{
|
||||||
_mo2Compiler = (Compiler) compiler;
|
_mo2Compiler = (MO2Compiler) compiler;
|
||||||
var alwaysEnabled = _mo2Compiler.ModInis.Where(f => IsAlwaysEnabled(f.Value)).Select(f => f.Key).ToHashSet();
|
var alwaysEnabled = _mo2Compiler.ModInis.Where(f => IsAlwaysEnabled(f.Value)).Select(f => f.Key).ToHashSet();
|
||||||
|
|
||||||
_allEnabledMods = _mo2Compiler.SelectedProfiles
|
_allEnabledMods = _mo2Compiler.SelectedProfiles
|
||||||
|
@ -8,11 +8,11 @@ namespace Wabbajack.Lib.CompilationSteps
|
|||||||
public class IgnoreOtherProfiles : ACompilationStep
|
public class IgnoreOtherProfiles : ACompilationStep
|
||||||
{
|
{
|
||||||
private readonly IEnumerable<string> _profiles;
|
private readonly IEnumerable<string> _profiles;
|
||||||
private readonly Compiler _mo2Compiler;
|
private readonly MO2Compiler _mo2Compiler;
|
||||||
|
|
||||||
public IgnoreOtherProfiles(ACompiler compiler) : base(compiler)
|
public IgnoreOtherProfiles(ACompiler compiler) : base(compiler)
|
||||||
{
|
{
|
||||||
_mo2Compiler = (Compiler) compiler;
|
_mo2Compiler = (MO2Compiler) compiler;
|
||||||
|
|
||||||
_profiles = _mo2Compiler.SelectedProfiles
|
_profiles = _mo2Compiler.SelectedProfiles
|
||||||
.Select(p => Path.Combine("profiles", p) + "\\")
|
.Select(p => Path.Combine("profiles", p) + "\\")
|
||||||
|
@ -7,11 +7,11 @@ namespace Wabbajack.Lib.CompilationSteps
|
|||||||
{
|
{
|
||||||
public class IncludeStubbedConfigFiles : ACompilationStep
|
public class IncludeStubbedConfigFiles : ACompilationStep
|
||||||
{
|
{
|
||||||
private readonly Compiler _mo2Compiler;
|
private readonly MO2Compiler _mo2Compiler;
|
||||||
|
|
||||||
public IncludeStubbedConfigFiles(ACompiler compiler) : base(compiler)
|
public IncludeStubbedConfigFiles(ACompiler compiler) : base(compiler)
|
||||||
{
|
{
|
||||||
_mo2Compiler = (Compiler) compiler;
|
_mo2Compiler = (MO2Compiler) compiler;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Directive Run(RawSourceFile source)
|
public override Directive Run(RawSourceFile source)
|
||||||
|
@ -9,11 +9,11 @@ namespace Wabbajack.Lib.CompilationSteps
|
|||||||
{
|
{
|
||||||
private readonly IEnumerable<string> _includeDirectly;
|
private readonly IEnumerable<string> _includeDirectly;
|
||||||
private readonly string _tag;
|
private readonly string _tag;
|
||||||
private readonly Compiler _mo2Compiler;
|
private readonly MO2Compiler _mo2Compiler;
|
||||||
|
|
||||||
public IncludeTaggedMods(ACompiler compiler, string tag) : base(compiler)
|
public IncludeTaggedMods(ACompiler compiler, string tag) : base(compiler)
|
||||||
{
|
{
|
||||||
_mo2Compiler = (Compiler) compiler;
|
_mo2Compiler = (MO2Compiler) compiler;
|
||||||
_tag = tag;
|
_tag = tag;
|
||||||
_includeDirectly = _mo2Compiler.ModInis.Where(kv =>
|
_includeDirectly = _mo2Compiler.ModInis.Where(kv =>
|
||||||
{
|
{
|
||||||
|
@ -9,11 +9,11 @@ namespace Wabbajack.Lib.CompilationSteps
|
|||||||
public class IncludeThisProfile : ACompilationStep
|
public class IncludeThisProfile : ACompilationStep
|
||||||
{
|
{
|
||||||
private readonly IEnumerable<string> _correctProfiles;
|
private readonly IEnumerable<string> _correctProfiles;
|
||||||
private readonly Compiler _mo2Compiler;
|
private readonly MO2Compiler _mo2Compiler;
|
||||||
|
|
||||||
public IncludeThisProfile(ACompiler compiler) : base(compiler)
|
public IncludeThisProfile(ACompiler compiler) : base(compiler)
|
||||||
{
|
{
|
||||||
_mo2Compiler = (Compiler) compiler;
|
_mo2Compiler = (MO2Compiler) compiler;
|
||||||
_correctProfiles = _mo2Compiler.SelectedProfiles.Select(p => Path.Combine("profiles", p) + "\\").ToList();
|
_correctProfiles = _mo2Compiler.SelectedProfiles.Select(p => Path.Combine("profiles", p) + "\\").ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,11 +8,11 @@ namespace Wabbajack.Lib.CompilationSteps
|
|||||||
{
|
{
|
||||||
public class PatchStockESMs : ACompilationStep
|
public class PatchStockESMs : ACompilationStep
|
||||||
{
|
{
|
||||||
private readonly Compiler _mo2Compiler;
|
private readonly MO2Compiler _mo2Compiler;
|
||||||
|
|
||||||
public PatchStockESMs(ACompiler compiler) : base(compiler)
|
public PatchStockESMs(ACompiler compiler) : base(compiler)
|
||||||
{
|
{
|
||||||
_mo2Compiler = (Compiler) compiler;
|
_mo2Compiler = (MO2Compiler) compiler;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Directive Run(RawSourceFile source)
|
public override Directive Run(RawSourceFile source)
|
||||||
|
@ -16,18 +16,16 @@ using Path = Alphaleonis.Win32.Filesystem.Path;
|
|||||||
|
|
||||||
namespace Wabbajack.Lib
|
namespace Wabbajack.Lib
|
||||||
{
|
{
|
||||||
public class Compiler : ACompiler
|
public class MO2Compiler : ACompiler
|
||||||
{
|
{
|
||||||
|
|
||||||
private string _mo2DownloadsFolder;
|
private string _mo2DownloadsFolder;
|
||||||
|
|
||||||
public Dictionary<string, IEnumerable<IndexedFileMatch>> DirectMatchIndex;
|
|
||||||
|
|
||||||
public string MO2Folder;
|
public string MO2Folder;
|
||||||
|
|
||||||
public string MO2Profile;
|
public string MO2Profile;
|
||||||
|
|
||||||
public Compiler(string mo2_folder)
|
public MO2Compiler(string mo2_folder)
|
||||||
{
|
{
|
||||||
ModManager = ModManager.MO2;
|
ModManager = ModManager.MO2;
|
||||||
|
|
@ -15,9 +15,9 @@ using Path = Alphaleonis.Win32.Filesystem.Path;
|
|||||||
|
|
||||||
namespace Wabbajack.Lib
|
namespace Wabbajack.Lib
|
||||||
{
|
{
|
||||||
public class Installer : AInstaller
|
public class MO2Installer : AInstaller
|
||||||
{
|
{
|
||||||
public Installer(string archive, ModList mod_list, string output_folder)
|
public MO2Installer(string archive, ModList mod_list, string output_folder)
|
||||||
{
|
{
|
||||||
ModManager = ModManager.MO2;
|
ModManager = ModManager.MO2;
|
||||||
ModListArchive = archive;
|
ModListArchive = archive;
|
@ -46,9 +46,9 @@ namespace Wabbajack.Lib
|
|||||||
|
|
||||||
public void Build(ACompiler c, ModList lst)
|
public void Build(ACompiler c, ModList lst)
|
||||||
{
|
{
|
||||||
Compiler compiler = null;
|
MO2Compiler compiler = null;
|
||||||
if (lst.ModManager == ModManager.MO2)
|
if (lst.ModManager == ModManager.MO2)
|
||||||
compiler = (Compiler) c;
|
compiler = (MO2Compiler) c;
|
||||||
|
|
||||||
Text($"### {lst.Name} by {lst.Author} - Installation Summary");
|
Text($"### {lst.Name} by {lst.Author} - Installation Summary");
|
||||||
Text($"Build with Wabbajack Version {lst.WabbajackVersion}");
|
Text($"Build with Wabbajack Version {lst.WabbajackVersion}");
|
||||||
|
@ -111,7 +111,7 @@
|
|||||||
<Compile Include="CompilationSteps\IStackStep.cs" />
|
<Compile Include="CompilationSteps\IStackStep.cs" />
|
||||||
<Compile Include="CompilationSteps\PatchStockESMs.cs" />
|
<Compile Include="CompilationSteps\PatchStockESMs.cs" />
|
||||||
<Compile Include="CompilationSteps\Serialization.cs" />
|
<Compile Include="CompilationSteps\Serialization.cs" />
|
||||||
<Compile Include="Compiler.cs" />
|
<Compile Include="MO2Compiler.cs" />
|
||||||
<Compile Include="Data.cs" />
|
<Compile Include="Data.cs" />
|
||||||
<Compile Include="Downloaders\AbstractDownloadState.cs" />
|
<Compile Include="Downloaders\AbstractDownloadState.cs" />
|
||||||
<Compile Include="Downloaders\DownloadDispatcher.cs" />
|
<Compile Include="Downloaders\DownloadDispatcher.cs" />
|
||||||
@ -127,7 +127,7 @@
|
|||||||
<Compile Include="Downloaders\ModDBDownloader.cs" />
|
<Compile Include="Downloaders\ModDBDownloader.cs" />
|
||||||
<Compile Include="Downloaders\NexusDownloader.cs" />
|
<Compile Include="Downloaders\NexusDownloader.cs" />
|
||||||
<Compile Include="IBatchProcessor.cs" />
|
<Compile Include="IBatchProcessor.cs" />
|
||||||
<Compile Include="Installer.cs" />
|
<Compile Include="MO2Installer.cs" />
|
||||||
<Compile Include="ModListRegistry\ModListMetadata.cs" />
|
<Compile Include="ModListRegistry\ModListMetadata.cs" />
|
||||||
<Compile Include="NexusApi\Dtos.cs" />
|
<Compile Include="NexusApi\Dtos.cs" />
|
||||||
<Compile Include="NexusApi\NexusApi.cs" />
|
<Compile Include="NexusApi\NexusApi.cs" />
|
||||||
|
@ -14,11 +14,11 @@ namespace Wabbajack.Lib
|
|||||||
{
|
{
|
||||||
public class zEditIntegration
|
public class zEditIntegration
|
||||||
{
|
{
|
||||||
private static Compiler _mo2Compiler;
|
private static MO2Compiler _mo2Compiler;
|
||||||
|
|
||||||
public static string FindzEditPath(ACompiler compiler)
|
public static string FindzEditPath(ACompiler compiler)
|
||||||
{
|
{
|
||||||
_mo2Compiler = (Compiler) compiler;
|
_mo2Compiler = (MO2Compiler) compiler;
|
||||||
var executables = _mo2Compiler.MO2Ini.customExecutables;
|
var executables = _mo2Compiler.MO2Ini.customExecutables;
|
||||||
if (executables.size == null) return null;
|
if (executables.size == null) return null;
|
||||||
|
|
||||||
@ -141,7 +141,7 @@ namespace Wabbajack.Lib
|
|||||||
public string dataFolder;
|
public string dataFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VerifyMerges(Compiler compiler)
|
public static void VerifyMerges(MO2Compiler compiler)
|
||||||
{
|
{
|
||||||
var by_name = compiler.InstallDirectives.ToDictionary(f => f.To);
|
var by_name = compiler.InstallDirectives.ToDictionary(f => f.To);
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ namespace Wabbajack.Lib
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void GenerateMerges(Installer installer)
|
public static void GenerateMerges(MO2Installer installer)
|
||||||
{
|
{
|
||||||
installer.ModList
|
installer.ModList
|
||||||
.Directives
|
.Directives
|
||||||
|
@ -64,7 +64,7 @@ namespace Wabbajack.Test.ListValidation
|
|||||||
|
|
||||||
Log($"Loading {modlist_path}");
|
Log($"Loading {modlist_path}");
|
||||||
|
|
||||||
var installer = Installer.LoadFromFile(modlist_path);
|
var installer = MO2Installer.LoadFromFile(modlist_path);
|
||||||
|
|
||||||
Log($"{installer.Archives.Count} archives to validate");
|
Log($"{installer.Archives.Count} archives to validate");
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ namespace Wabbajack.Test
|
|||||||
utils.Dispose();
|
utils.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Compiler ConfigureAndRunCompiler(string profile)
|
protected MO2Compiler ConfigureAndRunCompiler(string profile)
|
||||||
{
|
{
|
||||||
var compiler = MakeCompiler();
|
var compiler = MakeCompiler();
|
||||||
compiler.MO2Profile = profile;
|
compiler.MO2Profile = profile;
|
||||||
@ -41,9 +41,9 @@ namespace Wabbajack.Test
|
|||||||
return compiler;
|
return compiler;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Compiler MakeCompiler()
|
protected MO2Compiler MakeCompiler()
|
||||||
{
|
{
|
||||||
var compiler = new Compiler(utils.MO2Folder);
|
var compiler = new MO2Compiler(utils.MO2Folder);
|
||||||
return compiler;
|
return compiler;
|
||||||
}
|
}
|
||||||
protected ModList CompileAndInstall(string profile)
|
protected ModList CompileAndInstall(string profile)
|
||||||
@ -53,10 +53,10 @@ namespace Wabbajack.Test
|
|||||||
return compiler.ModList;
|
return compiler.ModList;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void Install(Compiler compiler)
|
protected void Install(MO2Compiler compiler)
|
||||||
{
|
{
|
||||||
var modlist = Installer.LoadFromFile(compiler.ModListOutputFile);
|
var modlist = MO2Installer.LoadFromFile(compiler.ModListOutputFile);
|
||||||
var installer = new Installer(compiler.ModListOutputFile, modlist, utils.InstallFolder);
|
var installer = new MO2Installer(compiler.ModListOutputFile, modlist, utils.InstallFolder);
|
||||||
installer.DownloadFolder = utils.DownloadsFolder;
|
installer.DownloadFolder = utils.DownloadsFolder;
|
||||||
installer.GameFolder = utils.GameFolder;
|
installer.GameFolder = utils.GameFolder;
|
||||||
installer.Begin().Wait();
|
installer.Begin().Wait();
|
||||||
|
@ -60,8 +60,8 @@ namespace Wabbajack.Test
|
|||||||
|
|
||||||
protected void Install(VortexCompiler vortexCompiler)
|
protected void Install(VortexCompiler vortexCompiler)
|
||||||
{
|
{
|
||||||
var modList = Installer.LoadFromFile(vortexCompiler.ModListOutputFile);
|
var modList = MO2Installer.LoadFromFile(vortexCompiler.ModListOutputFile);
|
||||||
var installer = new Installer(vortexCompiler.ModListOutputFile, modList, utils.InstallFolder)
|
var installer = new MO2Installer(vortexCompiler.ModListOutputFile, modList, utils.InstallFolder)
|
||||||
{
|
{
|
||||||
DownloadFolder = utils.DownloadsFolder,
|
DownloadFolder = utils.DownloadsFolder,
|
||||||
GameFolder = utils.GameFolder,
|
GameFolder = utils.GameFolder,
|
||||||
|
@ -73,7 +73,7 @@ namespace Wabbajack.Test
|
|||||||
if (Directory.Exists(loot_folder))
|
if (Directory.Exists(loot_folder))
|
||||||
Directory.Delete(loot_folder, true);
|
Directory.Delete(loot_folder, true);
|
||||||
|
|
||||||
var compiler = new Compiler(utils.InstallFolder);
|
var compiler = new MO2Compiler(utils.InstallFolder);
|
||||||
compiler.MO2DownloadsFolder = Path.Combine(utils.DownloadsFolder);
|
compiler.MO2DownloadsFolder = Path.Combine(utils.DownloadsFolder);
|
||||||
compiler.MO2Profile = profile;
|
compiler.MO2Profile = profile;
|
||||||
compiler.ShowReportWhenFinished = false;
|
compiler.ShowReportWhenFinished = false;
|
||||||
@ -144,18 +144,18 @@ namespace Wabbajack.Test
|
|||||||
return compiler.ModList;
|
return compiler.ModList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Install(Compiler compiler)
|
private void Install(MO2Compiler compiler)
|
||||||
{
|
{
|
||||||
var modlist = Installer.LoadFromFile(compiler.ModListOutputFile);
|
var modlist = MO2Installer.LoadFromFile(compiler.ModListOutputFile);
|
||||||
var installer = new Installer(compiler.ModListOutputFile, modlist, utils.InstallFolder);
|
var installer = new MO2Installer(compiler.ModListOutputFile, modlist, utils.InstallFolder);
|
||||||
installer.DownloadFolder = utils.DownloadsFolder;
|
installer.DownloadFolder = utils.DownloadsFolder;
|
||||||
installer.GameFolder = utils.GameFolder;
|
installer.GameFolder = utils.GameFolder;
|
||||||
installer.Begin().Wait();
|
installer.Begin().Wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
private Compiler ConfigureAndRunCompiler(string profile)
|
private MO2Compiler ConfigureAndRunCompiler(string profile)
|
||||||
{
|
{
|
||||||
var compiler = new Compiler(utils.MO2Folder);
|
var compiler = new MO2Compiler(utils.MO2Folder);
|
||||||
compiler.MO2Profile = profile;
|
compiler.MO2Profile = profile;
|
||||||
compiler.ShowReportWhenFinished = false;
|
compiler.ShowReportWhenFinished = false;
|
||||||
Assert.IsTrue(compiler.Begin().Result);
|
Assert.IsTrue(compiler.Begin().Result);
|
||||||
|
@ -13,6 +13,7 @@ namespace Wabbajack
|
|||||||
{
|
{
|
||||||
IReactiveCommand BeginCommand { get; }
|
IReactiveCommand BeginCommand { get; }
|
||||||
bool Compiling { get; }
|
bool Compiling { get; }
|
||||||
|
|
||||||
ModlistSettingsEditorVM ModlistSettings { get; }
|
ModlistSettingsEditorVM ModlistSettings { get; }
|
||||||
StatusUpdateTracker StatusTracker { get;}
|
StatusUpdateTracker StatusTracker { get;}
|
||||||
void Unload();
|
void Unload();
|
||||||
|
@ -7,6 +7,7 @@ using System.Linq;
|
|||||||
using System.Reactive;
|
using System.Reactive;
|
||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
using System.Reactive.Linq;
|
using System.Reactive.Linq;
|
||||||
|
using System.Reactive.Subjects;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Wabbajack.Common;
|
using Wabbajack.Common;
|
||||||
@ -100,10 +101,10 @@ namespace Wabbajack
|
|||||||
.ObserveOnGuiThread(),
|
.ObserveOnGuiThread(),
|
||||||
execute: async () =>
|
execute: async () =>
|
||||||
{
|
{
|
||||||
Compiler compiler;
|
MO2Compiler compiler;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
compiler = new Compiler(this.Mo2Folder)
|
compiler = new MO2Compiler(this.Mo2Folder)
|
||||||
{
|
{
|
||||||
MO2Profile = this.MOProfile,
|
MO2Profile = this.MOProfile,
|
||||||
ModListName = this.ModlistSettings.ModListName,
|
ModListName = this.ModlistSettings.ModListName,
|
||||||
@ -113,6 +114,10 @@ namespace Wabbajack
|
|||||||
ModListWebsite = this.ModlistSettings.Website,
|
ModListWebsite = this.ModlistSettings.Website,
|
||||||
ModListReadme = this.ModlistSettings.ReadMeText.TargetPath,
|
ModListReadme = this.ModlistSettings.ReadMeText.TargetPath,
|
||||||
};
|
};
|
||||||
|
// TODO: USE RX HERE
|
||||||
|
compiler.TextStatus.Subscribe(Utils.Log);
|
||||||
|
// TODO: Where do we bind this?
|
||||||
|
//compiler.QueueStatus.Subscribe(_cpuStatus);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@ -120,22 +125,22 @@ namespace Wabbajack
|
|||||||
Utils.Log($"Compiler error: {ex.ExceptionToString()}");
|
Utils.Log($"Compiler error: {ex.ExceptionToString()}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await Task.Run(async () =>
|
|
||||||
|
try
|
||||||
{
|
{
|
||||||
try
|
await compiler.Begin();
|
||||||
{
|
}
|
||||||
await compiler.Begin();
|
catch (Exception ex)
|
||||||
}
|
{
|
||||||
catch (Exception ex)
|
while (ex.InnerException != null) ex = ex.InnerException;
|
||||||
{
|
Utils.Log($"Compiler error: {ex.ExceptionToString()}");
|
||||||
while (ex.InnerException != null) ex = ex.InnerException;
|
}
|
||||||
Utils.Log($"Compiler error: {ex.ExceptionToString()}");
|
finally
|
||||||
}
|
{
|
||||||
finally
|
this.StatusTracker = null;
|
||||||
{
|
compiler.Dispose();
|
||||||
this.StatusTracker = null;
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
this._Compiling = this.BeginCommand.IsExecuting
|
this._Compiling = this.BeginCommand.IsExecuting
|
||||||
.ToProperty(this, nameof(this.Compiling));
|
.ToProperty(this, nameof(this.Compiling));
|
||||||
@ -190,7 +195,7 @@ namespace Wabbajack
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var tmp_compiler = new Compiler(this.Mo2Folder);
|
var tmp_compiler = new MO2Compiler(this.Mo2Folder);
|
||||||
this.DownloadLocation.TargetPath = tmp_compiler.MO2DownloadsFolder;
|
this.DownloadLocation.TargetPath = tmp_compiler.MO2DownloadsFolder;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
@ -132,7 +132,7 @@ namespace Wabbajack
|
|||||||
.Select(modListPath =>
|
.Select(modListPath =>
|
||||||
{
|
{
|
||||||
if (modListPath == null) return default(ModListVM);
|
if (modListPath == null) return default(ModListVM);
|
||||||
var modList = Installer.LoadFromFile(modListPath);
|
var modList = MO2Installer.LoadFromFile(modListPath);
|
||||||
if (modList == null)
|
if (modList == null)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Invalid Modlist, or file not found.", "Invalid Modlist", MessageBoxButton.OK,
|
MessageBox.Show("Invalid Modlist, or file not found.", "Invalid Modlist", MessageBoxButton.OK,
|
||||||
@ -292,7 +292,7 @@ namespace Wabbajack
|
|||||||
{
|
{
|
||||||
this.Installing = true;
|
this.Installing = true;
|
||||||
this.InstallingMode = true;
|
this.InstallingMode = true;
|
||||||
var installer = new Installer(this.ModListPath, this.ModList.SourceModList, Location.TargetPath)
|
var installer = new MO2Installer(this.ModListPath, this.ModList.SourceModList, Location.TargetPath)
|
||||||
{
|
{
|
||||||
DownloadFolder = DownloadLocation.TargetPath
|
DownloadFolder = DownloadLocation.TargetPath
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user