summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2023-03-26 13:28:53 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2023-04-02 15:43:50 -0400
commitd2134f0f70963d0673883f8c544267341d3ccc6c (patch)
tree03f8176188da05bce6165b27153f3fa94aac56fa
parentd13046edb6db5f87b215f6f3830c2a1c1933dbee (diff)
downloadSMAPI-d2134f0f70963d0673883f8c544267341d3ccc6c.tar.gz
SMAPI-d2134f0f70963d0673883f8c544267341d3ccc6c.tar.bz2
SMAPI-d2134f0f70963d0673883f8c544267341d3ccc6c.zip
update release notes & tweak recent changes
-rw-r--r--docs/release-notes.md7
-rw-r--r--src/SMAPI/Framework/ModLoading/ModResolver.cs14
-rw-r--r--src/SMAPI/Framework/SCore.cs2
3 files changed, 13 insertions, 10 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md
index a61d024c..558e9215 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -9,12 +9,15 @@
## Upcoming release
* For players:
- * Fixed `findstr` error in installer for some players.
- * Updated to [FluentHttpClient](https://github.com/Pathoschild/FluentHttpClient#readme) 4.3.0 (see [changes](https://github.com/Pathoschild/FluentHttpClient/blob/develop/RELEASE-NOTES.md#430)).
+ * Fixed `findstr` installer error for some players.
+ * Fixed installer error for some Linux users due to a non-portable shebang (thanks to freyacoded!).
+ * Fixed error using load order overrides when there are broken mods installed (thanks to atravita!).
* Removed `LargeAddressAware` flag on SMAPI (no longer needed since it's 64-bit now).
+ * Improved translations. Thganks to stylemate (updated Korean)!
* For mod authors:
* Added `IsActiveForScreen()` method to `PerScreen<T>`.
+ * Updated to [FluentHttpClient](https://github.com/Pathoschild/FluentHttpClient#readme) 4.3.0 (see [changes](https://github.com/Pathoschild/FluentHttpClient/blob/develop/RELEASE-NOTES.md#430)).
## 3.18.2
Released 09 January 2023 for Stardew Valley 1.5.6 or later.
diff --git a/src/SMAPI/Framework/ModLoading/ModResolver.cs b/src/SMAPI/Framework/ModLoading/ModResolver.cs
index 37aceb1b..607bb70d 100644
--- a/src/SMAPI/Framework/ModLoading/ModResolver.cs
+++ b/src/SMAPI/Framework/ModLoading/ModResolver.cs
@@ -182,14 +182,14 @@ namespace StardewModdingAPI.Framework.ModLoading
{
string? id = mod.Manifest?.UniqueID;
- if (id is null)
- return 0;
-
- if (modIdsToLoadEarly.TryGetValue(id, out string? actualId))
- return -int.MaxValue + Array.IndexOf(earlyArray, actualId);
+ if (id is not null)
+ {
+ if (modIdsToLoadEarly.TryGetValue(id, out string? actualId))
+ return -int.MaxValue + Array.IndexOf(earlyArray, actualId);
- if (modIdsToLoadLate.TryGetValue(id, out actualId))
- return int.MaxValue - Array.IndexOf(lateArray, actualId);
+ if (modIdsToLoadLate.TryGetValue(id, out actualId))
+ return int.MaxValue - Array.IndexOf(lateArray, actualId);
+ }
return 0;
})
diff --git a/src/SMAPI/Framework/SCore.cs b/src/SMAPI/Framework/SCore.cs
index 37ca1556..abba7f3b 100644
--- a/src/SMAPI/Framework/SCore.cs
+++ b/src/SMAPI/Framework/SCore.cs
@@ -433,7 +433,7 @@ namespace StardewModdingAPI.Framework
// apply load order customizations
if (this.Settings.ModsToLoadEarly.Any() || this.Settings.ModsToLoadLate.Any())
{
- HashSet<string> installedIds = new HashSet<string>(mods.Where(p => p.FailReason is null).Select(p => p.Manifest.UniqueID), StringComparer.OrdinalIgnoreCase);
+ HashSet<string> installedIds = new HashSet<string>(mods.Select(p => p.Manifest?.UniqueID).Where(p => p is not null), StringComparer.OrdinalIgnoreCase);
string[] missingEarlyMods = this.Settings.ModsToLoadEarly.Where(id => !installedIds.Contains(id)).OrderBy(p => p, StringComparer.OrdinalIgnoreCase).ToArray();
string[] missingLateMods = this.Settings.ModsToLoadLate.Where(id => !installedIds.Contains(id)).OrderBy(p => p, StringComparer.OrdinalIgnoreCase).ToArray();