update release notes & tweak recent changes

This commit is contained in:
Jesse Plamondon-Willard 2023-03-26 13:28:53 -04:00
parent d13046edb6
commit d2134f0f70
No known key found for this signature in database
GPG Key ID: CF8B1456B3E29F49
3 changed files with 13 additions and 10 deletions

View File

@ -9,12 +9,15 @@
## Upcoming release ## Upcoming release
* For players: * For players:
* Fixed `findstr` error in installer for some players. * Fixed `findstr` installer error 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 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). * Removed `LargeAddressAware` flag on SMAPI (no longer needed since it's 64-bit now).
* Improved translations. Thganks to stylemate (updated Korean)!
* For mod authors: * For mod authors:
* Added `IsActiveForScreen()` method to `PerScreen<T>`. * 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 ## 3.18.2
Released 09 January 2023 for Stardew Valley 1.5.6 or later. Released 09 January 2023 for Stardew Valley 1.5.6 or later.

View File

@ -182,14 +182,14 @@ namespace StardewModdingAPI.Framework.ModLoading
{ {
string? id = mod.Manifest?.UniqueID; string? id = mod.Manifest?.UniqueID;
if (id is null) if (id is not null)
return 0; {
if (modIdsToLoadEarly.TryGetValue(id, out string? actualId))
return -int.MaxValue + Array.IndexOf(earlyArray, actualId);
if (modIdsToLoadEarly.TryGetValue(id, out string? actualId)) if (modIdsToLoadLate.TryGetValue(id, out actualId))
return -int.MaxValue + Array.IndexOf(earlyArray, actualId); return int.MaxValue - Array.IndexOf(lateArray, actualId);
}
if (modIdsToLoadLate.TryGetValue(id, out actualId))
return int.MaxValue - Array.IndexOf(lateArray, actualId);
return 0; return 0;
}) })

View File

@ -433,7 +433,7 @@ namespace StardewModdingAPI.Framework
// apply load order customizations // apply load order customizations
if (this.Settings.ModsToLoadEarly.Any() || this.Settings.ModsToLoadLate.Any()) 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[] 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(); string[] missingLateMods = this.Settings.ModsToLoadLate.Where(id => !installedIds.Contains(id)).OrderBy(p => p, StringComparer.OrdinalIgnoreCase).ToArray();