Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions MutagenMerger.CLI/MutagenMerger.CLI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

<ItemGroup>
<PackageReference Include="CommandLineParser" Version="2.8.0" />
<PackageReference Include="Mutagen.Bethesda" Version="0.41" />
<PackageReference Include="Noggog.Autofac" Version="2.50.1" />
<PackageReference Include="Mutagen.Bethesda" Version="0.43.3" />
<PackageReference Include="Noggog.Autofac" Version="2.64.0" />
</ItemGroup>

<ItemGroup>
Expand Down
11 changes: 6 additions & 5 deletions MutagenMerger.Lib/DI/CopyRecordProcessor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ public class CopyRecordProcessor<TMod, TModGetter>
where TModGetter : class, IModGetter, IContextGetterMod<TMod, TModGetter>
where TMod : class, IMod, IContextMod<TMod, TModGetter>, TModGetter
{
private readonly Dictionary<ObjectKey, ICopyOverride<TMod, TModGetter>> _copyOverrides;
private readonly Dictionary<ProtocolKey, ICopyOverride<TMod, TModGetter>> _copyOverrides;

public CopyRecordProcessor(ICopyOverride<TMod, TModGetter>[] copyOverrides)
{
_copyOverrides = copyOverrides
// .GroupBy(x => x.ObjectKey)
// .GroupBy(x => x.ProtocolKey)
// .ToDictionary(x => x.Key, x => x.First());
.ToDictionary(x => x.ObjectKey, x => x);
.ToDictionary(x => x.ProtocolKey, x => x);
}

public void CopyRecords(
Expand All @@ -34,7 +34,7 @@ public void CopyRecords(
.WinningOverrideContexts<TMod, TModGetter, IMajorRecord, IMajorRecordGetter>(mergeState
.LinkCache))
{
if (_copyOverrides.TryGetValue(rec.Record.Registration.ObjectKey, out var copyOverride))
if (_copyOverrides.TryGetValue(rec.Record.Registration.ProtocolKey, out var copyOverride))
{
copyOverride.HandleCopyFor(mergeState, rec);
}
Expand Down Expand Up @@ -66,12 +66,12 @@ private void DuplicateAsNewRecord(
Console.WriteLine(" Renumbering Record [" + rec.Record.FormKey.ModKey.Name + "] " +
rec.Record.FormKey.IDString() + " to [" + mergeState.OutgoingMod.ModKey.Name + "] " +
duplicated.FormKey.IDString());
mergeState.Mapping.Add(rec.Record.FormKey, duplicated.FormKey);
}
else {
Console.WriteLine(" Copying Record [" + rec.Record.FormKey.ModKey.Name + "] " +
rec.Record.FormKey.IDString());
}
mergeState.Mapping.Add(rec.Record.FormKey, duplicated.FormKey);
}

private static MajorRecord DuplicateAndRenumber(MergeState<TMod, TModGetter> mergeState, IModContext<TMod, TModGetter, IMajorRecord, IMajorRecordGetter> rec)
Expand All @@ -86,6 +86,7 @@ private static MajorRecord DuplicateAndRenumber(MergeState<TMod, TModGetter> mer
type = typeof(SkyrimRecord.Global);
}
var group = mergeState.OutgoingMod.GetTopLevelGroup(type);
Console.WriteLine(group.ToString());
group.AddUntyped(duplicated);
return duplicated;
}
Expand Down
4 changes: 2 additions & 2 deletions MutagenMerger.Lib/DI/GameSpecifications/ICopyOverride.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public interface ICopyOverride<TMod, TModGetter>
where TModGetter : class, IModGetter, IContextGetterMod<TMod, TModGetter>
where TMod : class, IMod, IContextMod<TMod, TModGetter>, TModGetter
{
ObjectKey ObjectKey { get; }
ProtocolKey ProtocolKey { get; }
public void HandleCopyFor(
MergeState<TMod, TModGetter> state,
IModContext<TMod, TModGetter, IMajorRecord, IMajorRecordGetter> context);
Expand All @@ -21,7 +21,7 @@ public abstract class ACopyOverride<TMod, TModGetter, TMajorRecord, TMajorRecord
where TMajorRecord : class, IMajorRecord, TMajorRecordGetter
where TMajorRecordGetter : class, IMajorRecordGetter
{
public ObjectKey ObjectKey { get; } = LoquiRegistration.StaticRegister.GetRegister(typeof(TMajorRecord)).ObjectKey;
public ProtocolKey ProtocolKey { get; } = LoquiRegistration.StaticRegister.GetRegister(typeof(TMajorRecord)).ProtocolKey;

public void HandleCopyFor(
MergeState<TMod, TModGetter> state,
Expand Down
2 changes: 1 addition & 1 deletion MutagenMerger.Lib/MutagenMerger.Lib.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<PackageReference Include="System.Json" Version="4.7.1" />
<TextTemplate Include="**\*.tt" />
<Generated Include="**\*.Generated.cs" />
<PackageReference Include="Mutagen.Bethesda" Version="0.41" />
<PackageReference Include="Mutagen.Bethesda" Version="0.43.3" />
</ItemGroup>

<Target Name="TextTemplateTransform" BeforeTargets="BeforeBuild">
Expand Down
2 changes: 1 addition & 1 deletion MutagenMerger.Lib/Utils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public static class Utils
MasterFlag = MasterFlagOption.ChangeToMatchModKey,
ModKey = ModKeyOption.CorrectToPath,
RecordCount = RecordCountOption.Iterate,
LightMasterLimit = LightMasterLimitOption.ExceptionOnOverflow,
LightLimit = LightLimitOption.ExceptionOnOverflow,
MastersListContent = MastersListContentOption.Iterate,
FormIDUniqueness = FormIDUniquenessOption.Iterate,
NextFormID = NextFormIDOption.Iterate,
Expand Down
2 changes: 1 addition & 1 deletion merge.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#/bin/bash
project="MutagenMerger.CLI/MutagenMerger.CLI.csproj"
project="Synthesis.Bethesda.CLI/Synthesis.Bethesda.CLI.csproj"

files=$(echo "$_data"$(cat "$MO2_Instance/profiles/$profile/modlist.txt" | tac | grep -ve '^-' -ve '^#' -ve '^\*' | sed 's#^\+#'"$MO2_Instance"'/mods/#' | sed 's/.*/:&/g' | tr -d "\n\r"));
cp "$MO2_Instance/profiles/$profile/plugins.txt" "$LocalAppData/$game/Plugins.txt"
Expand Down