diff options
author | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2021-09-01 19:56:33 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2021-09-01 19:56:33 -0400 |
commit | 9153ebf5e910588ca1df519cd643fc195626a6bb (patch) | |
tree | a9acece75f6eebad02f366ba76c015c6402469bc /src/SMAPI/Framework/ModLoading/Rewriters | |
parent | 9316fe303827cb31f38f4a5bb068f8fa0190ac5e (diff) | |
parent | 789b62bcd6af0f87ab8d71ff5190fdb9163d9bef (diff) | |
download | SMAPI-9153ebf5e910588ca1df519cd643fc195626a6bb.tar.gz SMAPI-9153ebf5e910588ca1df519cd643fc195626a6bb.tar.bz2 SMAPI-9153ebf5e910588ca1df519cd643fc195626a6bb.zip |
Merge branch 'rewrite-x86-flag' into develop
Diffstat (limited to 'src/SMAPI/Framework/ModLoading/Rewriters')
-rw-r--r-- | src/SMAPI/Framework/ModLoading/Rewriters/ArchitectureAssemblyRewriter.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/SMAPI/Framework/ModLoading/Rewriters/ArchitectureAssemblyRewriter.cs b/src/SMAPI/Framework/ModLoading/Rewriters/ArchitectureAssemblyRewriter.cs new file mode 100644 index 00000000..cc830216 --- /dev/null +++ b/src/SMAPI/Framework/ModLoading/Rewriters/ArchitectureAssemblyRewriter.cs @@ -0,0 +1,31 @@ +using Mono.Cecil; +using StardewModdingAPI.Framework.ModLoading.Framework; + +namespace StardewModdingAPI.Framework.ModLoading.Rewriters +{ + /// <summary>Removes the 32-bit-only from loaded assemblies.</summary> + internal class ArchitectureAssemblyRewriter : BaseInstructionHandler + { + /********* + ** Public methods + *********/ + /// <summary>Construct an instance.</summary> + public ArchitectureAssemblyRewriter() + : base(defaultPhrase: "32-bit architecture") { } + + + /// <inheritdoc /> + public override bool Handle(ModuleDefinition module) + { + if (module.Attributes.HasFlag(ModuleAttributes.Required32Bit)) + { + module.Attributes &= ~ModuleAttributes.Required32Bit; + this.MarkRewritten(); + return true; + } + + return false; + } + + } +} |