diff --git a/Directory.Packages.props b/Directory.Packages.props
index 9136d9c3..6958aab9 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -45,25 +45,25 @@
17.9.0
- [0.43.3]
+ [0.44]
- [0.43.3]
+ [0.44]
- [0.43.3]
+ [0.44]
- [0.43.3]
+ [0.44]
- [0.43.3]
+ [0.44]
- [0.43.3]
+ [0.44]
- [0.43.3]
+ [0.44]
13.0.3
diff --git a/Mutagen.Bethesda.Synthesis/CLI/RunSynthesisMutagenPatcher.cs b/Mutagen.Bethesda.Synthesis/CLI/RunSynthesisMutagenPatcher.cs
index 807fc68a..96c9202a 100644
--- a/Mutagen.Bethesda.Synthesis/CLI/RunSynthesisMutagenPatcher.cs
+++ b/Mutagen.Bethesda.Synthesis/CLI/RunSynthesisMutagenPatcher.cs
@@ -1,5 +1,6 @@
using CommandLine;
using Mutagen.Bethesda.Strings;
+using Synthesis.Bethesda;
namespace Mutagen.Bethesda.Synthesis.CLI;
@@ -51,6 +52,12 @@ public class RunSynthesisMutagenPatcher
[Option("UseUtf8ForEmbeddedStrings", Required = false, HelpText = "Use UTF8 encoding when reading/writing localizable mod strings that are embedded")]
public bool UseUtf8ForEmbeddedStrings { get; set; }
+ [Option("HeaderVersionOverride", Required = false, HelpText = "Whether to override the header version when making a new mod object")]
+ public float? HeaderVersionOverride { get; set; }
+
+ [Option("FormIDRangeMode", Required = false, HelpText = "Whether to override the header version when making a new mod object")]
+ public FormIDRangeMode FormIDRangeMode { get; set; }
+
public override string ToString()
{
return $"{nameof(RunSynthesisMutagenPatcher)} => \n"
@@ -68,6 +75,8 @@ public override string ToString()
+ $" {nameof(TargetLanguage)} => {TargetLanguage}\n"
+ $" {nameof(Localize)} => {Localize}\n"
+ $" {nameof(ModKey)} => {ModKey}\n"
+ + $" {nameof(HeaderVersionOverride)} => {HeaderVersionOverride}\n"
+ + $" {nameof(FormIDRangeMode)} => {FormIDRangeMode}\n"
+ $" {nameof(UseUtf8ForEmbeddedStrings)} => {UseUtf8ForEmbeddedStrings}";
}
}
\ No newline at end of file
diff --git a/Mutagen.Bethesda.Synthesis/Pipeline/SynthesisPipeline.cs b/Mutagen.Bethesda.Synthesis/Pipeline/SynthesisPipeline.cs
index a29e8686..bd780416 100644
--- a/Mutagen.Bethesda.Synthesis/Pipeline/SynthesisPipeline.cs
+++ b/Mutagen.Bethesda.Synthesis/Pipeline/SynthesisPipeline.cs
@@ -786,7 +786,7 @@ public void Patch(
#endregion
private BinaryWriteParameters GetWriteParams(RunSynthesisMutagenPatcher args, IEnumerable loadOrder)
- {
+ {
return new BinaryWriteParameters()
{
ModKey = ModKeyOption.NoCheck,
@@ -794,7 +794,9 @@ private BinaryWriteParameters GetWriteParams(RunSynthesisMutagenPatcher args, IE
TargetLanguageOverride = args.TargetLanguage,
Encodings = args.UseUtf8ForEmbeddedStrings
? new EncodingBundle(NonTranslated: MutagenEncoding._1252, NonLocalized: MutagenEncoding._utf8)
- : null
+ : null,
+ LowerRangeDisallowedHandler = ALowerRangeDisallowedHandlerOption.AddPlaceholder(loadOrder),
+ MinimumFormID = AMinimumFormIdOption.Force(args.FormIDRangeMode.ToForceBool())
};
}
@@ -856,7 +858,9 @@ private static RunSynthesisMutagenPatcher GetDefaultRun(
InternalDataFolder = LocateInternalData(fileSystem),
TargetLanguage = extraParameters.TargetLanguage,
Localize = extraParameters.Localize,
- UseUtf8ForEmbeddedStrings = extraParameters.UseUtf8ForEmbeddedStrings
+ UseUtf8ForEmbeddedStrings = extraParameters.UseUtf8ForEmbeddedStrings,
+ FormIDRangeMode = extraParameters.FormIDRangeMode,
+ HeaderVersionOverride = extraParameters.HeaderVersionOverride,
};
}
diff --git a/Mutagen.Bethesda.Synthesis/Pipeline/TypicalOpenExtraParameters.cs b/Mutagen.Bethesda.Synthesis/Pipeline/TypicalOpenExtraParameters.cs
index 6d20d8ed..37434f48 100644
--- a/Mutagen.Bethesda.Synthesis/Pipeline/TypicalOpenExtraParameters.cs
+++ b/Mutagen.Bethesda.Synthesis/Pipeline/TypicalOpenExtraParameters.cs
@@ -1,5 +1,5 @@
-using System.IO.Abstractions;
using Mutagen.Bethesda.Strings;
+using Synthesis.Bethesda;
namespace Mutagen.Bethesda.Synthesis.Pipeline;
@@ -8,4 +8,6 @@ public record TypicalOpenExtraParameters
public Language TargetLanguage { get; init; } = Language.English;
public bool Localize { get; init; }
public bool UseUtf8ForEmbeddedStrings { get; init; }
+ public float? HeaderVersionOverride { get; init; }
+ public FormIDRangeMode FormIDRangeMode { get; init; }
}
\ No newline at end of file
diff --git a/Mutagen.Bethesda.Synthesis/States/DI/PatcherStateFactory.cs b/Mutagen.Bethesda.Synthesis/States/DI/PatcherStateFactory.cs
index 6dbcd576..f6a71980 100644
--- a/Mutagen.Bethesda.Synthesis/States/DI/PatcherStateFactory.cs
+++ b/Mutagen.Bethesda.Synthesis/States/DI/PatcherStateFactory.cs
@@ -1,4 +1,4 @@
-using System.IO.Abstractions;
+using System.IO.Abstractions;
using Mutagen.Bethesda.Plugins;
using Mutagen.Bethesda.Plugins.Allocators;
using Mutagen.Bethesda.Plugins.Cache;
@@ -8,6 +8,7 @@
using Mutagen.Bethesda.Strings;
using Mutagen.Bethesda.Strings.DI;
using Mutagen.Bethesda.Synthesis.CLI;
+using Synthesis.Bethesda;
namespace Mutagen.Bethesda.Synthesis.States.DI;
@@ -118,7 +119,26 @@ public SynthesisState ToState(Ru
{
if (settings.SourcePath == null)
{
- patchMod = ModInstantiator.Activator(exportKey, settings.GameRelease);
+ Console.WriteLine("Creating new mod:");
+ Console.WriteLine($" ModKey: {exportKey}");
+ Console.WriteLine($" GameRelease: {settings.GameRelease}");
+ if (settings.HeaderVersionOverride != null)
+ {
+ Console.WriteLine($" HeaderVersion: {settings.HeaderVersionOverride}");
+ }
+
+ var forceFormIdLowerRange = settings.FormIDRangeMode.ToForceBool();
+
+ if (forceFormIdLowerRange != null)
+ {
+ Console.WriteLine($" Force FormID Lower Range: {forceFormIdLowerRange}");
+ }
+ patchMod = ModInstantiator.Activator(
+ exportKey,
+ settings.GameRelease,
+ headerVersion: settings.HeaderVersionOverride,
+ forceUseLowerFormIDRanges: forceFormIdLowerRange);
+ Console.WriteLine($" Next FormID: {patchMod.NextFormID}");
}
else
{
diff --git a/Synthesis.Bethesda.CLI/RunPipeline/RunPatcherPipeline.cs b/Synthesis.Bethesda.CLI/RunPipeline/RunPatcherPipeline.cs
index d8caf262..dc7133e6 100644
--- a/Synthesis.Bethesda.CLI/RunPipeline/RunPatcherPipeline.cs
+++ b/Synthesis.Bethesda.CLI/RunPipeline/RunPatcherPipeline.cs
@@ -1,4 +1,4 @@
-using Synthesis.Bethesda.Execution.Commands;
+using Synthesis.Bethesda.Execution.Commands;
using Synthesis.Bethesda.Execution.Running.Runner;
using Synthesis.Bethesda.Execution.Settings;
@@ -40,6 +40,8 @@ await ExecuteRun
TargetLanguage: ProfileSettings.TargetLanguage,
Localize: ProfileSettings.Localize,
UseUtf8ForEmbeddedStrings: ProfileSettings.UseUtf8ForEmbeddedStrings,
+ HeaderVersionOverride: ProfileSettings.HeaderVersionOverride,
+ FormIDRangeMode: ProfileSettings.FormIDRangeMode,
PersistenceMode: Instructions.PersistenceMode ?? PersistenceMode.None,
PersistencePath: Instructions.PersistencePath)).ConfigureAwait(false);
}
diff --git a/Synthesis.Bethesda.Execution/Patchers/Running/Cli/GenericSettingsToMutagenSettings.cs b/Synthesis.Bethesda.Execution/Patchers/Running/Cli/GenericSettingsToMutagenSettings.cs
index 134968d5..9e4dd8c9 100644
--- a/Synthesis.Bethesda.Execution/Patchers/Running/Cli/GenericSettingsToMutagenSettings.cs
+++ b/Synthesis.Bethesda.Execution/Patchers/Running/Cli/GenericSettingsToMutagenSettings.cs
@@ -1,4 +1,4 @@
-using System.Diagnostics.CodeAnalysis;
+using System.Diagnostics.CodeAnalysis;
using Mutagen.Bethesda.Strings;
using Mutagen.Bethesda.Synthesis.CLI;
using Synthesis.Bethesda.Commands;
@@ -37,7 +37,9 @@ public RunSynthesisMutagenPatcher Convert(RunSynthesisPatcher settings)
Localize = settings.Localize,
TargetLanguage = Enum.Parse(settings.TargetLanguage),
ModKey = settings.ModKey,
- UseUtf8ForEmbeddedStrings = settings.UseUtf8ForEmbeddedStrings
+ UseUtf8ForEmbeddedStrings = settings.UseUtf8ForEmbeddedStrings,
+ FormIDRangeMode = settings.FormIDRangeMode,
+ HeaderVersionOverride = settings.HeaderVersionOverride,
};
}
}
\ No newline at end of file
diff --git a/Synthesis.Bethesda.Execution/Patchers/Running/Solution/ConstructSolutionPatcherRunArgs.cs b/Synthesis.Bethesda.Execution/Patchers/Running/Solution/ConstructSolutionPatcherRunArgs.cs
index d70af4b6..6493db7d 100644
--- a/Synthesis.Bethesda.Execution/Patchers/Running/Solution/ConstructSolutionPatcherRunArgs.cs
+++ b/Synthesis.Bethesda.Execution/Patchers/Running/Solution/ConstructSolutionPatcherRunArgs.cs
@@ -1,4 +1,4 @@
-using System.IO.Abstractions;
+using System.IO.Abstractions;
using Mutagen.Bethesda.Strings;
using Mutagen.Bethesda.Synthesis.CLI;
using Synthesis.Bethesda.Commands;
@@ -50,7 +50,9 @@ public RunSynthesisMutagenPatcher Construct(RunSynthesisPatcher settings)
TargetLanguage = Enum.Parse(settings.TargetLanguage),
Localize = settings.Localize,
ModKey = settings.ModKey,
- UseUtf8ForEmbeddedStrings = settings.UseUtf8ForEmbeddedStrings
+ UseUtf8ForEmbeddedStrings = settings.UseUtf8ForEmbeddedStrings,
+ HeaderVersionOverride = settings.HeaderVersionOverride,
+ FormIDRangeMode = settings.FormIDRangeMode,
};
}
}
\ No newline at end of file
diff --git a/Synthesis.Bethesda.Execution/Patchers/Running/Solution/SolutionPatcherPrep.cs b/Synthesis.Bethesda.Execution/Patchers/Running/Solution/SolutionPatcherPrep.cs
index e23fc485..56e2d315 100644
--- a/Synthesis.Bethesda.Execution/Patchers/Running/Solution/SolutionPatcherPrep.cs
+++ b/Synthesis.Bethesda.Execution/Patchers/Running/Solution/SolutionPatcherPrep.cs
@@ -1,4 +1,4 @@
-using Serilog;
+using Serilog;
using Synthesis.Bethesda.Execution.DotNet.Builder;
using Synthesis.Bethesda.Execution.Patchers.Solution;
@@ -33,7 +33,7 @@ public async Task Prep(CancellationToken cancel)
await Task.WhenAll(
Task.Run(async () =>
{
- _logger.Information("Compiling");
+ _logger.Information("Compiling solution {Path}", PathToProjProvider.Path);
try
{
var resp = await Build.Compile(PathToProjProvider.Path, cancel).ConfigureAwait(false);
@@ -41,11 +41,11 @@ await Task.WhenAll(
{
throw new SynthesisBuildFailure(resp.Reason);
}
- _logger.Information("Compiled");
+ _logger.Information("Compiled solution {Path}", PathToProjProvider.Path);
}
catch (Exception e)
{
- _logger.Error(e, "Failed to compile");
+ _logger.Error(e, $"Failed to compile solution {PathToProjProvider.Path}");
throw;
}
}),
diff --git a/Synthesis.Bethesda.Execution/Running/Runner/RunArgsConstructor.cs b/Synthesis.Bethesda.Execution/Running/Runner/RunArgsConstructor.cs
index f4447586..d7326770 100644
--- a/Synthesis.Bethesda.Execution/Running/Runner/RunArgsConstructor.cs
+++ b/Synthesis.Bethesda.Execution/Running/Runner/RunArgsConstructor.cs
@@ -1,4 +1,4 @@
-using Mutagen.Bethesda.Environments.DI;
+using Mutagen.Bethesda.Environments.DI;
using Noggog;
using Synthesis.Bethesda.Commands;
using Synthesis.Bethesda.Execution.Groups;
@@ -68,7 +68,9 @@ public RunSynthesisPatcher GetArgs(
PersistencePath = runParameters.PersistenceMode == PersistenceMode.None ? null : runParameters.PersistencePath,
PatcherName = fileName,
ModKey = groupRun.ModKey.FileName,
- UseUtf8ForEmbeddedStrings = runParameters.UseUtf8ForEmbeddedStrings
+ UseUtf8ForEmbeddedStrings = runParameters.UseUtf8ForEmbeddedStrings,
+ HeaderVersionOverride = runParameters.HeaderVersionOverride,
+ FormIDRangeMode = runParameters.FormIDRangeMode,
};
}
}
\ No newline at end of file
diff --git a/Synthesis.Bethesda.Execution/Running/Runner/RunParameters.cs b/Synthesis.Bethesda.Execution/Running/Runner/RunParameters.cs
index 65790541..5afdd956 100644
--- a/Synthesis.Bethesda.Execution/Running/Runner/RunParameters.cs
+++ b/Synthesis.Bethesda.Execution/Running/Runner/RunParameters.cs
@@ -1,4 +1,4 @@
-using Mutagen.Bethesda.Strings;
+using Mutagen.Bethesda.Strings;
using Synthesis.Bethesda.Execution.Settings;
namespace Synthesis.Bethesda.Execution.Running.Runner;
@@ -7,5 +7,7 @@ public record RunParameters(
Language TargetLanguage,
bool Localize,
bool UseUtf8ForEmbeddedStrings,
+ float? HeaderVersionOverride,
+ FormIDRangeMode FormIDRangeMode,
PersistenceMode PersistenceMode,
string? PersistencePath);
\ No newline at end of file
diff --git a/Synthesis.Bethesda.Execution/Settings/FormIDRangeMode.cs b/Synthesis.Bethesda.Execution/Settings/FormIDRangeMode.cs
new file mode 100644
index 00000000..4a9e684b
--- /dev/null
+++ b/Synthesis.Bethesda.Execution/Settings/FormIDRangeMode.cs
@@ -0,0 +1,6 @@
+public enum FormIDRangeMode
+{
+ Auto = 1,
+ Off = 2,
+ On = 3,
+}
diff --git a/Synthesis.Bethesda.Execution/Settings/ISynthesisProfileSettings.cs b/Synthesis.Bethesda.Execution/Settings/ISynthesisProfileSettings.cs
index d5c3d7f7..88484f38 100644
--- a/Synthesis.Bethesda.Execution/Settings/ISynthesisProfileSettings.cs
+++ b/Synthesis.Bethesda.Execution/Settings/ISynthesisProfileSettings.cs
@@ -1,4 +1,4 @@
-using Mutagen.Bethesda;
+using Mutagen.Bethesda;
using Mutagen.Bethesda.Strings;
using Synthesis.Bethesda.Execution.Profile;
using Synthesis.Bethesda.Execution.Settings.V2;
@@ -23,4 +23,6 @@ public interface ISynthesisProfileSettings : IProfileIdentifier
bool Localize { get; set; }
Language TargetLanguage { get; set; }
public bool UseUtf8ForEmbeddedStrings { get; set; }
+ public FormIDRangeMode FormIDRangeMode { get; set; }
+ public float? HeaderVersionOverride { get; set; }
}
\ No newline at end of file
diff --git a/Synthesis.Bethesda.Execution/Settings/V2/SynthesisProfile.cs b/Synthesis.Bethesda.Execution/Settings/V2/SynthesisProfile.cs
index 06a4118e..71220c71 100644
--- a/Synthesis.Bethesda.Execution/Settings/V2/SynthesisProfile.cs
+++ b/Synthesis.Bethesda.Execution/Settings/V2/SynthesisProfile.cs
@@ -26,4 +26,6 @@ public class SynthesisProfile : ISynthesisProfileSettings
GameRelease IGameReleaseContext.Release => TargetRelease;
public bool UseUtf8ForEmbeddedStrings { get; set; }
+ public FormIDRangeMode FormIDRangeMode { get; set; } = FormIDRangeMode.Auto;
+ public float? HeaderVersionOverride { get; set; }
}
\ No newline at end of file
diff --git a/Synthesis.Bethesda.GUI/Services/Main/ProfileFactory.cs b/Synthesis.Bethesda.GUI/Services/Main/ProfileFactory.cs
index 887a6ce9..35c67339 100644
--- a/Synthesis.Bethesda.GUI/Services/Main/ProfileFactory.cs
+++ b/Synthesis.Bethesda.GUI/Services/Main/ProfileFactory.cs
@@ -69,6 +69,8 @@ public ProfileVm Get(ISynthesisProfileSettings settings)
profile.TargetLanguage = settings.TargetLanguage;
profile.Localize = settings.Localize;
profile.UseUtf8InEmbedded = settings.UseUtf8ForEmbeddedStrings;
+ profile.FormIDRangeMode = settings.FormIDRangeMode;
+ profile.HeaderVersionOverride = settings.HeaderVersionOverride;
profile.Groups.AddRange(settings.Groups.Select(x => factory.Get(x)));
diff --git a/Synthesis.Bethesda.GUI/Services/Patchers/Git/CompilationProvider.cs b/Synthesis.Bethesda.GUI/Services/Patchers/Git/CompilationProvider.cs
index 049629d4..24776e3a 100644
--- a/Synthesis.Bethesda.GUI/Services/Patchers/Git/CompilationProvider.cs
+++ b/Synthesis.Bethesda.GUI/Services/Patchers/Git/CompilationProvider.cs
@@ -1,4 +1,4 @@
-using System.IO;
+using System.IO;
using System.Reactive.Linq;
using Noggog;
using ReactiveUI;
@@ -41,7 +41,7 @@ public CompilationProvider(
try
{
- logger.Information("Compiling");
+ logger.Information("Compiling {Target}", state.Item);
// Return early with the values, but mark not complete
observer.OnNext(new ConfigurationState(state.Item)
{
@@ -53,7 +53,7 @@ public CompilationProvider(
var compileResp = await build.Compile(state.Item, cancel).ConfigureAwait(false);
if (compileResp.Failed)
{
- logger.Information("Compiling failed: {Reason}", compileResp.Reason);
+ logger.Information("Compiling {Target} failed: {Reason}", state.Item, compileResp.Reason);
var errs = new List();
printErrorMessage.Print(compileResp.Reason,
$"{Path.GetDirectoryName(state.Item.Project.ProjPath)}\\", (s, _) =>
@@ -66,7 +66,7 @@ public CompilationProvider(
}
// Return things again, without error
- logger.Information("Finished compiling");
+ logger.Information("Finished compiling {Target}", state.Item);
observer.OnNext(state);
}
catch (Exception ex)
diff --git a/Synthesis.Bethesda.GUI/Services/Profile/Running/ExecuteGuiRun.cs b/Synthesis.Bethesda.GUI/Services/Profile/Running/ExecuteGuiRun.cs
index 4b4fcd06..641249fb 100644
--- a/Synthesis.Bethesda.GUI/Services/Profile/Running/ExecuteGuiRun.cs
+++ b/Synthesis.Bethesda.GUI/Services/Profile/Running/ExecuteGuiRun.cs
@@ -1,4 +1,4 @@
-using System.IO;
+using System.IO;
using Mutagen.Bethesda.Environments.DI;
using Mutagen.Bethesda.Strings;
using Synthesis.Bethesda.Execution.Groups;
@@ -15,6 +15,8 @@ Task Run(
PersistenceMode persistenceMode,
bool localize,
bool utf8InEmbeddedStrings,
+ float? headerVersionOverride,
+ FormIDRangeMode formIDRangeMode,
Language targetLanguage,
CancellationToken cancel);
}
@@ -40,6 +42,8 @@ public async Task Run(
PersistenceMode persistenceMode,
bool localize,
bool utf8InEmbeddedStrings,
+ float? headerVersionOverride,
+ FormIDRangeMode formIDRangeMode,
Language targetLanguage,
CancellationToken cancel)
{
@@ -52,6 +56,8 @@ await _executeRun.Run(
TargetLanguage: targetLanguage,
Localize: localize,
UseUtf8ForEmbeddedStrings: utf8InEmbeddedStrings,
+ FormIDRangeMode: formIDRangeMode,
+ HeaderVersionOverride: headerVersionOverride,
PersistenceMode: persistenceMode,
PersistencePath: Path.Combine(_profileDirectories.ProfileDirectory, "Persistence"))).ConfigureAwait(false);
}
diff --git a/Synthesis.Bethesda.GUI/ViewModels/Profiles/ProfileDisplayVm.cs b/Synthesis.Bethesda.GUI/ViewModels/Profiles/ProfileDisplayVm.cs
index 99d1d6a4..7000b7e1 100644
--- a/Synthesis.Bethesda.GUI/ViewModels/Profiles/ProfileDisplayVm.cs
+++ b/Synthesis.Bethesda.GUI/ViewModels/Profiles/ProfileDisplayVm.cs
@@ -35,6 +35,8 @@ public class ProfileDisplayVm : ViewModel
public ObservableCollectionExtended Languages { get; } = new(Enums.Values);
+ public ObservableCollectionExtended FormIDRangeModes { get; } = new(Enums.Values);
+
private readonly ObservableAsPropertyHelper _dataFolderWatermark;
public string DataFolderWatermark => _dataFolderWatermark.Value;
diff --git a/Synthesis.Bethesda.GUI/ViewModels/Profiles/ProfileVm.cs b/Synthesis.Bethesda.GUI/ViewModels/Profiles/ProfileVm.cs
index 7c5120da..997ee115 100644
--- a/Synthesis.Bethesda.GUI/ViewModels/Profiles/ProfileVm.cs
+++ b/Synthesis.Bethesda.GUI/ViewModels/Profiles/ProfileVm.cs
@@ -106,10 +106,16 @@ public class ProfileVm : ViewModel
[Reactive]
public Language TargetLanguage { get; set; }
-
+
[Reactive]
public bool UseUtf8InEmbedded { get; set; }
+ [Reactive]
+ public FormIDRangeMode FormIDRangeMode { get; set; } = FormIDRangeMode.Auto;
+
+ [Reactive]
+ public float? HeaderVersionOverride { get; set; }
+
public IEnvironmentErrorsVm EnvironmentErrors { get; }
public ProfileVm(
@@ -412,7 +418,9 @@ public SynthesisProfile Save()
IgnoreMissingMods = IgnoreMissingMods,
Localize = Localize,
TargetLanguage = TargetLanguage,
- UseUtf8ForEmbeddedStrings = UseUtf8InEmbedded
+ UseUtf8ForEmbeddedStrings = UseUtf8InEmbedded,
+ FormIDRangeMode = FormIDRangeMode,
+ HeaderVersionOverride = HeaderVersionOverride
};
}
diff --git a/Synthesis.Bethesda.GUI/ViewModels/Profiles/Running/RunVm.cs b/Synthesis.Bethesda.GUI/ViewModels/Profiles/Running/RunVm.cs
index a0eec0a8..b2182543 100644
--- a/Synthesis.Bethesda.GUI/ViewModels/Profiles/Running/RunVm.cs
+++ b/Synthesis.Bethesda.GUI/ViewModels/Profiles/Running/RunVm.cs
@@ -211,6 +211,8 @@ await _executeRun.Run(
persistenceMode: RunningProfile.SelectedPersistenceMode,
localize: RunningProfile.Localize,
utf8InEmbeddedStrings: RunningProfile.UseUtf8InEmbedded,
+ headerVersionOverride: RunningProfile.HeaderVersionOverride,
+ formIDRangeMode: RunningProfile.FormIDRangeMode,
targetLanguage: RunningProfile.TargetLanguage,
cancel: _cancel.Token).ConfigureAwait(false);
}
diff --git a/Synthesis.Bethesda.GUI/Views/Profiles/ProfileDetailView.xaml b/Synthesis.Bethesda.GUI/Views/Profiles/ProfileDetailView.xaml
index 6a76dfdf..e59979f0 100644
--- a/Synthesis.Bethesda.GUI/Views/Profiles/ProfileDetailView.xaml
+++ b/Synthesis.Bethesda.GUI/Views/Profiles/ProfileDetailView.xaml
@@ -10,6 +10,7 @@
xmlns:muta="clr-namespace:Mutagen.Bethesda;assembly=Mutagen.Bethesda.Kernel"
xmlns:wpf="clr-namespace:Noggog.WPF;assembly=Noggog.WPF"
xmlns:profiles="clr-namespace:Synthesis.Bethesda.GUI.ViewModels.Profiles"
+ xmlns:xwpf="http://schemas.xceed.com/wpf/xaml/toolkit"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
@@ -50,6 +51,7 @@
+
@@ -203,6 +205,44 @@
ToolTip="Location of your data folder. Default setting is to locate it automatically." />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -217,7 +257,7 @@
ItemsSource="{Binding PersistenceModes}"
ToolTip="What type of persistence system to use for keeping FormIDs in sync" />
-
+
@@ -243,7 +283,7 @@
Margin="10,8,0,0"
ToolTip="Use UTF8 encoding when reading/writing localizable mod strings that are embedded" />
-
+
@@ -258,7 +298,7 @@
Content="Ignore Missing Mods"
ToolTip="Whether to allow pipeline execution even if there are missing mods" />
-
-