mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Fixes for Wildlander
This commit is contained in:
parent
e28536513c
commit
c62a2a9979
@ -45,6 +45,7 @@ public class ResourceMonitor : IDisposable
|
|||||||
.DisposeWith(_compositeDisposable);
|
.DisposeWith(_compositeDisposable);
|
||||||
|
|
||||||
_tasks.Connect()
|
_tasks.Connect()
|
||||||
|
.Filter(x => x.IsWorking)
|
||||||
.Bind(out _tasksFiltered)
|
.Bind(out _tasksFiltered)
|
||||||
.Subscribe()
|
.Subscribe()
|
||||||
.DisposeWith(_compositeDisposable);
|
.DisposeWith(_compositeDisposable);
|
||||||
@ -64,7 +65,7 @@ public class ResourceMonitor : IDisposable
|
|||||||
var used = new HashSet<ulong>();
|
var used = new HashSet<ulong>();
|
||||||
foreach (var resource in _resources)
|
foreach (var resource in _resources)
|
||||||
{
|
{
|
||||||
foreach (var job in resource.Jobs)
|
foreach (var job in resource.Jobs.Where(j => j.Current > 0))
|
||||||
{
|
{
|
||||||
used.Add(job.ID);
|
used.Add(job.ID);
|
||||||
var tsk = l.Lookup(job.ID);
|
var tsk = l.Lookup(job.ID);
|
||||||
|
@ -270,10 +270,15 @@ namespace Wabbajack
|
|||||||
}
|
}
|
||||||
_logger.LogInformation("Compiler Finished");
|
_logger.LogInformation("Compiler Finished");
|
||||||
|
|
||||||
StatusText = "Compilation Completed";
|
RxApp.MainThreadScheduler.Schedule(_logger, (_, _) =>
|
||||||
StatusProgress = Percent.Zero;
|
{
|
||||||
|
StatusText = "Compilation Completed";
|
||||||
|
StatusProgress = Percent.Zero;
|
||||||
|
State = CompilerState.Completed;
|
||||||
|
return Disposable.Empty;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
State = CompilerState.Completed;
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -64,10 +64,14 @@ public class CompilerSettingsInferencer
|
|||||||
cs.Downloads = cs.Source.Combine("downloads");
|
cs.Downloads = cs.Source.Combine("downloads");
|
||||||
|
|
||||||
cs.NoMatchInclude = Array.Empty<RelativePath>();
|
cs.NoMatchInclude = Array.Empty<RelativePath>();
|
||||||
|
cs.Include = Array.Empty<RelativePath>();
|
||||||
foreach (var file in mo2Folder.EnumerateFiles())
|
foreach (var file in mo2Folder.EnumerateFiles())
|
||||||
{
|
{
|
||||||
if (file.FileName == Consts.WABBAJACK_NOMATCH_INCLUDE_FILES)
|
if (file.FileName == Consts.WABBAJACK_NOMATCH_INCLUDE_FILES)
|
||||||
cs.NoMatchInclude = cs.NoMatchInclude.Add(file.Parent.RelativeTo(mo2Folder));
|
cs.NoMatchInclude = cs.NoMatchInclude.Add(file.Parent.RelativeTo(mo2Folder));
|
||||||
|
|
||||||
|
if (file.FileName.WithoutExtension().ToString() == Consts.WABBAJACK_INCLUDE)
|
||||||
|
cs.Include = cs.Include.Add(file.Parent.RelativeTo(mo2Folder));
|
||||||
}
|
}
|
||||||
|
|
||||||
_logger.LogInformation("Finding Always Enabled mods");
|
_logger.LogInformation("Finding Always Enabled mods");
|
||||||
|
@ -105,6 +105,7 @@ public class ImageLoader
|
|||||||
DXGI_FORMAT.BC4_UNORM => CompressionFormat.Bc4,
|
DXGI_FORMAT.BC4_UNORM => CompressionFormat.Bc4,
|
||||||
DXGI_FORMAT.BC5_UNORM => CompressionFormat.Bc5,
|
DXGI_FORMAT.BC5_UNORM => CompressionFormat.Bc5,
|
||||||
DXGI_FORMAT.BC7_UNORM => CompressionFormat.Bc7,
|
DXGI_FORMAT.BC7_UNORM => CompressionFormat.Bc7,
|
||||||
|
DXGI_FORMAT.B8G8R8A8_UNORM => CompressionFormat.Bgra,
|
||||||
_ => throw new Exception($"Cannot re-encode texture with {dx} format, encoding not supported")
|
_ => throw new Exception($"Cannot re-encode texture with {dx} format, encoding not supported")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -486,23 +486,24 @@ public abstract class AInstaller<T>
|
|||||||
var savePath = (RelativePath) "saves";
|
var savePath = (RelativePath) "saves";
|
||||||
|
|
||||||
NextStep(Consts.StepPreparing, "Looking for files to delete", 0);
|
NextStep(Consts.StepPreparing, "Looking for files to delete", 0);
|
||||||
foreach (var f in _configuration.Install.EnumerateFiles())
|
await _configuration.Install.EnumerateFiles()
|
||||||
{
|
.PDoAll(_limiter, async f =>
|
||||||
var relativeTo = f.RelativeTo(_configuration.Install);
|
{
|
||||||
if (indexed.ContainsKey(relativeTo) || f.InFolder(_configuration.Downloads))
|
var relativeTo = f.RelativeTo(_configuration.Install);
|
||||||
return;
|
if (indexed.ContainsKey(relativeTo) || f.InFolder(_configuration.Downloads))
|
||||||
|
return ;
|
||||||
|
|
||||||
if (f.InFolder(profileFolder) && f.Parent.FileName == savePath) return;
|
if (f.InFolder(profileFolder) && f.Parent.FileName == savePath) return;
|
||||||
|
|
||||||
if (NoDeleteRegex.IsMatch(f.ToString()))
|
if (NoDeleteRegex.IsMatch(f.ToString()))
|
||||||
return;
|
return ;
|
||||||
|
|
||||||
if (bsaPathsToNotBuild.Contains(f))
|
if (bsaPathsToNotBuild.Contains(f))
|
||||||
return;
|
return ;
|
||||||
|
|
||||||
_logger.LogInformation("Deleting {RelativePath} it's not part of this ModList", relativeTo);
|
_logger.LogInformation("Deleting {RelativePath} it's not part of this ModList", relativeTo);
|
||||||
f.Delete();
|
f.Delete();
|
||||||
}
|
});
|
||||||
|
|
||||||
_logger.LogInformation("Cleaning empty folders");
|
_logger.LogInformation("Cleaning empty folders");
|
||||||
var expectedFolders = indexed.Keys
|
var expectedFolders = indexed.Keys
|
||||||
|
Loading…
x
Reference in New Issue
Block a user