From 8d92b708b714545f507c763dd821046554b43323 Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Fri, 6 Dec 2024 11:16:34 -0600 Subject: [PATCH] Missing override mask registrations for Fo4/Starfield --- .../Extensions/ModContextExt.cs | 16 ++++++++++++++++ .../Mutagen.Bethesda.Fallout4.csproj | 1 + .../Fallout4OverrideMaskRegistration.cs | 18 ++++++++++++++++++ .../Extensions/ModContextExt.cs | 16 ++++++++++++++++ .../Mutagen.Bethesda.Starfield.csproj | 1 + .../StarfieldOverrideMaskRegistration.cs | 18 ++++++++++++++++++ 6 files changed, 70 insertions(+) create mode 100644 Mutagen.Bethesda.Fallout4/Plugins/Cache/Internals/Fallout4OverrideMaskRegistration.cs create mode 100644 Mutagen.Bethesda.Starfield/Plugins/Cache/Internal/StarfieldOverrideMaskRegistration.cs diff --git a/Mutagen.Bethesda.Fallout4/Extensions/ModContextExt.cs b/Mutagen.Bethesda.Fallout4/Extensions/ModContextExt.cs index 36560fc11..2e17d6e7a 100644 --- a/Mutagen.Bethesda.Fallout4/Extensions/ModContextExt.cs +++ b/Mutagen.Bethesda.Fallout4/Extensions/ModContextExt.cs @@ -30,6 +30,22 @@ internal static class ModContextExt SubCellsTimestamp = false, }; + public static readonly Quest.TranslationMask QuestCopyMask = new(true) + { + Timestamp = false, + Unknown = false, + DialogBranches = false, + DialogConditions = false, + Scenes = false, + }; + + public static readonly DialogTopic.TranslationMask DialogTopicCopyMask = new(true) + { + Timestamp = false, + Unknown = false, + Responses = false + }; + public static readonly Landscape.TranslationMask? LandscapeCopyMask = null; private static readonly string CellObjectKey = diff --git a/Mutagen.Bethesda.Fallout4/Mutagen.Bethesda.Fallout4.csproj b/Mutagen.Bethesda.Fallout4/Mutagen.Bethesda.Fallout4.csproj index 8c0c405c1..c0c5c0e6c 100644 --- a/Mutagen.Bethesda.Fallout4/Mutagen.Bethesda.Fallout4.csproj +++ b/Mutagen.Bethesda.Fallout4/Mutagen.Bethesda.Fallout4.csproj @@ -74,6 +74,7 @@ Compile + ActivateParents.xml diff --git a/Mutagen.Bethesda.Fallout4/Plugins/Cache/Internals/Fallout4OverrideMaskRegistration.cs b/Mutagen.Bethesda.Fallout4/Plugins/Cache/Internals/Fallout4OverrideMaskRegistration.cs new file mode 100644 index 000000000..d1f5daff5 --- /dev/null +++ b/Mutagen.Bethesda.Fallout4/Plugins/Cache/Internals/Fallout4OverrideMaskRegistration.cs @@ -0,0 +1,18 @@ +using Loqui; +using Mutagen.Bethesda.Plugins.Cache.Internals; + +namespace Mutagen.Bethesda.Fallout4; + +internal class Fallout4OverrideMaskRegistration : IOverrideMaskRegistration +{ + public IEnumerable<(ILoquiRegistration, object)> Masks + { + get + { + yield return (Cell_Registration.Instance, ModContextExt.CellCopyMask); + yield return (Worldspace_Registration.Instance, ModContextExt.WorldspaceCopyMask); + yield return (Quest_Registration.Instance, ModContextExt.QuestCopyMask); + yield return (DialogTopic_Registration.Instance, ModContextExt.DialogTopicCopyMask); + } + } +} \ No newline at end of file diff --git a/Mutagen.Bethesda.Starfield/Extensions/ModContextExt.cs b/Mutagen.Bethesda.Starfield/Extensions/ModContextExt.cs index 6973c4521..e8b556b7e 100644 --- a/Mutagen.Bethesda.Starfield/Extensions/ModContextExt.cs +++ b/Mutagen.Bethesda.Starfield/Extensions/ModContextExt.cs @@ -29,6 +29,22 @@ internal static class ModContextExt SubCellsTimestamp = false, }; + public static readonly Quest.TranslationMask QuestCopyMask = new(true) + { + Timestamp = false, + Unknown = false, + DialogBranches = false, + DialogConditions = false, + Scenes = false, + }; + + public static readonly DialogTopic.TranslationMask DialogTopicCopyMask = new(true) + { + Timestamp = false, + Unknown = false, + Responses = false + }; + private static readonly string CellObjectKey = LoquiRegistration.StaticRegister.GetRegister(typeof(ICell)).FullName; diff --git a/Mutagen.Bethesda.Starfield/Mutagen.Bethesda.Starfield.csproj b/Mutagen.Bethesda.Starfield/Mutagen.Bethesda.Starfield.csproj index ef6cbfb3c..06fa3b2f5 100644 --- a/Mutagen.Bethesda.Starfield/Mutagen.Bethesda.Starfield.csproj +++ b/Mutagen.Bethesda.Starfield/Mutagen.Bethesda.Starfield.csproj @@ -167,6 +167,7 @@ + Component.xml diff --git a/Mutagen.Bethesda.Starfield/Plugins/Cache/Internal/StarfieldOverrideMaskRegistration.cs b/Mutagen.Bethesda.Starfield/Plugins/Cache/Internal/StarfieldOverrideMaskRegistration.cs new file mode 100644 index 000000000..226022bec --- /dev/null +++ b/Mutagen.Bethesda.Starfield/Plugins/Cache/Internal/StarfieldOverrideMaskRegistration.cs @@ -0,0 +1,18 @@ +using Loqui; +using Mutagen.Bethesda.Plugins.Cache.Internals; + +namespace Mutagen.Bethesda.Starfield; + +internal class SkyrimOverrideMaskRegistration : IOverrideMaskRegistration +{ + public IEnumerable<(ILoquiRegistration, object)> Masks + { + get + { + yield return (Cell_Registration.Instance, ModContextExt.CellCopyMask); + yield return (Worldspace_Registration.Instance, ModContextExt.WorldspaceCopyMask); + yield return (Quest_Registration.Instance, ModContextExt.QuestCopyMask); + yield return (DialogTopic_Registration.Instance, ModContextExt.DialogTopicCopyMask); + } + } +} \ No newline at end of file