diff options
author | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2021-08-26 01:12:37 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2021-08-26 01:12:37 -0400 |
commit | 22a895d27c79f2f0cc04e02de89bf55f2448994e (patch) | |
tree | be9761c68cab23c8a83473054aaae0ea6881a36a | |
parent | c95de4e109203e45d07a35a448c21ee43eb976f3 (diff) | |
download | SMAPI-22a895d27c79f2f0cc04e02de89bf55f2448994e.tar.gz SMAPI-22a895d27c79f2f0cc04e02de89bf55f2448994e.tar.bz2 SMAPI-22a895d27c79f2f0cc04e02de89bf55f2448994e.zip |
only check 64-bit compatibility if an assembly fails to load
Apparently some 32-bit-only DLLs load successfully with the unofficial 64-bit version of the game.
-rw-r--r-- | docs/release-notes.md | 3 | ||||
-rw-r--r-- | src/SMAPI/Framework/SCore.cs | 14 |
2 files changed, 7 insertions, 10 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md index 3c9c0895..6a75b895 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -1,6 +1,9 @@ ← [README](README.md) # Release notes +## Upcoming release +* Fixed some mods in unofficial 64-bit mode no longer loading after SMAPI 3.12.3. + ## 3.12.4 Released 25 August 2021 for Stardew Valley 1.5.4 or later. diff --git a/src/SMAPI/Framework/SCore.cs b/src/SMAPI/Framework/SCore.cs index dff0fc55..c1aa3721 100644 --- a/src/SMAPI/Framework/SCore.cs +++ b/src/SMAPI/Framework/SCore.cs @@ -1708,16 +1708,6 @@ namespace StardewModdingAPI.Framework IManifest manifest = mod.Manifest; string assemblyPath = Path.Combine(mod.DirectoryPath, manifest.EntryDll); - // assert 64-bit -#if SMAPI_FOR_WINDOWS_64BIT_HACK - if (!EnvironmentUtility.Is64BitAssembly(assemblyPath)) - { - errorReasonPhrase = "it needs to be updated for 64-bit mode."; - failReason = ModFailReason.LoadFailed; - return false; - } -#endif - // load mod Assembly modAssembly; try @@ -1741,6 +1731,10 @@ namespace StardewModdingAPI.Framework catch (Exception ex) { errorReasonPhrase = "its DLL couldn't be loaded."; +#if SMAPI_FOR_WINDOWS_64BIT_HACK + if (!EnvironmentUtility.Is64BitAssembly(assemblyPath)) + errorReasonPhrase = "it needs to be updated for 64-bit mode."; +#endif errorDetails = $"Error: {ex.GetLogSummary()}"; failReason = ModFailReason.LoadFailed; return false; |