From 4c0272c0aaec58fbd457e87650f66a067efc2fee Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sat, 23 Jan 2021 12:01:46 -0500 Subject: remove unused AlternativeUrl field in metadata model --- src/SMAPI/Framework/ModLoading/ModResolver.cs | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/SMAPI') diff --git a/src/SMAPI/Framework/ModLoading/ModResolver.cs b/src/SMAPI/Framework/ModLoading/ModResolver.cs index af7d90f6..c70820e4 100644 --- a/src/SMAPI/Framework/ModLoading/ModResolver.cs +++ b/src/SMAPI/Framework/ModLoading/ModResolver.cs @@ -88,8 +88,6 @@ namespace StardewModdingAPI.Framework.ModLoading if (url != null) updateUrls.Add(url); } - if (mod.DataRecord.AlternativeUrl != null) - updateUrls.Add(mod.DataRecord.AlternativeUrl); // default update URL updateUrls.Add("https://smapi.io/mods"); -- cgit From 5129c361c94bd2f4e2e9ef8d39235dc6159a849d Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 24 Jan 2021 00:32:26 -0500 Subject: fix interior door errors when reloading maps --- docs/release-notes.md | 5 +++-- src/SMAPI/Metadata/CoreAssetPropagator.cs | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/SMAPI') diff --git a/docs/release-notes.md b/docs/release-notes.md index 6407ff2d..1e7558ff 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -8,8 +8,9 @@ --> ## Upcoming release -* For the Error Handler mod: - * Disabled 'patched game code' warning. +* For players: + * Fixed _tile contains an invalid TileSheet reference_ errors when mods change certain maps. + * Fixed _patched game code_ issue shown for the bundled ErrorHandler mod. ## 3.9 Released 22 January 2021 for Stardew Valley 1.5.4 or later. See [release highlights](https://www.patreon.com/posts/46553874). diff --git a/src/SMAPI/Metadata/CoreAssetPropagator.cs b/src/SMAPI/Metadata/CoreAssetPropagator.cs index 4b911a83..f486321e 100644 --- a/src/SMAPI/Metadata/CoreAssetPropagator.cs +++ b/src/SMAPI/Metadata/CoreAssetPropagator.cs @@ -785,6 +785,7 @@ namespace StardewModdingAPI.Metadata private void ReloadMap(GameLocation location) { // reload map + location.interiorDoors.Clear(); // prevent errors when doors try to update tiles which no longer exist location.reloadMap(); location.updateWarps(); location.MakeMapModifications(force: true); -- cgit From 0058267c36dbc11326a7a1839540809421ea82da Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 24 Jan 2021 01:05:40 -0500 Subject: minor cleanup --- src/SMAPI/Framework/ContentCoordinator.cs | 24 ++++++++++++++++++++++-- src/SMAPI/Metadata/CoreAssetPropagator.cs | 7 ++++--- 2 files changed, 26 insertions(+), 5 deletions(-) (limited to 'src/SMAPI') diff --git a/src/SMAPI/Framework/ContentCoordinator.cs b/src/SMAPI/Framework/ContentCoordinator.cs index 27fb3dbb..77dd6c72 100644 --- a/src/SMAPI/Framework/ContentCoordinator.cs +++ b/src/SMAPI/Framework/ContentCoordinator.cs @@ -99,7 +99,17 @@ namespace StardewModdingAPI.Framework this.OnLoadingFirstAsset = onLoadingFirstAsset; this.FullRootDirectory = Path.Combine(Constants.ExecutionPath, rootDirectory); this.ContentManagers.Add( - this.MainContentManager = new GameContentManager("Game1.content", serviceProvider, rootDirectory, currentCulture, this, monitor, reflection, this.OnDisposing, onLoadingFirstAsset) + this.MainContentManager = new GameContentManager( + name: "Game1.content", + serviceProvider: serviceProvider, + rootDirectory: rootDirectory, + currentCulture: currentCulture, + coordinator: this, + monitor: monitor, + reflection: reflection, + onDisposing: this.OnDisposing, + onLoadingFirstAsset: onLoadingFirstAsset + ) ); this.VanillaContentManager = new LocalizedContentManager(serviceProvider, rootDirectory); this.CoreAssets = new CoreAssetPropagator(this.MainContentManager.AssertAndNormalizeAssetName, reflection); @@ -111,7 +121,17 @@ namespace StardewModdingAPI.Framework { return this.ContentManagerLock.InWriteLock(() => { - GameContentManager manager = new GameContentManager(name, this.MainContentManager.ServiceProvider, this.MainContentManager.RootDirectory, this.MainContentManager.CurrentCulture, this, this.Monitor, this.Reflection, this.OnDisposing, this.OnLoadingFirstAsset); + GameContentManager manager = new GameContentManager( + name: name, + serviceProvider: this.MainContentManager.ServiceProvider, + rootDirectory: this.MainContentManager.RootDirectory, + currentCulture: this.MainContentManager.CurrentCulture, + coordinator: this, + monitor: this.Monitor, + reflection: this.Reflection, + onDisposing: this.OnDisposing, + onLoadingFirstAsset: this.OnLoadingFirstAsset + ); this.ContentManagers.Add(manager); return manager; }); diff --git a/src/SMAPI/Metadata/CoreAssetPropagator.cs b/src/SMAPI/Metadata/CoreAssetPropagator.cs index f486321e..063804e0 100644 --- a/src/SMAPI/Metadata/CoreAssetPropagator.cs +++ b/src/SMAPI/Metadata/CoreAssetPropagator.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; using Microsoft.Xna.Framework.Graphics; @@ -79,7 +80,7 @@ namespace StardewModdingAPI.Metadata }); // reload assets - IDictionary propagated = assets.ToDictionary(p => p.Key, p => false, StringComparer.OrdinalIgnoreCase); + IDictionary propagated = assets.ToDictionary(p => p.Key, _ => false, StringComparer.OrdinalIgnoreCase); foreach (var bucket in buckets) { switch (bucket.Key) @@ -110,6 +111,7 @@ namespace StardewModdingAPI.Metadata /// The asset key to reload. /// The asset type to reload. /// Returns whether an asset was loaded. The return value may be true or false, or a non-null value for true. + [SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "These deliberately match the asset names.")] private bool PropagateOther(LocalizedContentManager content, string key, Type type) { key = this.AssertAndNormalizeAssetName(key); @@ -492,8 +494,7 @@ namespace StardewModdingAPI.Metadata return true; case "terrainfeatures\\grass": // from Grass - this.ReloadGrassTextures(content, key); - return true; + return this.ReloadGrassTextures(content, key); case "terrainfeatures\\hoedirt": // from HoeDirt HoeDirt.lightTexture = content.Load(key); -- cgit From 082028016993606e8deec84027c781d77e062caa Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Mon, 25 Jan 2021 21:52:51 -0500 Subject: prepare for release --- build/common.targets | 2 +- docs/release-notes.md | 8 +++++--- src/SMAPI.Mods.ConsoleCommands/manifest.json | 4 ++-- src/SMAPI.Mods.ErrorHandler/manifest.json | 4 ++-- src/SMAPI.Mods.SaveBackup/manifest.json | 4 ++-- src/SMAPI/Constants.cs | 2 +- 6 files changed, 13 insertions(+), 11 deletions(-) (limited to 'src/SMAPI') diff --git a/build/common.targets b/build/common.targets index 30c059a3..a38f15a6 100644 --- a/build/common.targets +++ b/build/common.targets @@ -4,7 +4,7 @@ - 3.9.0 + 3.9.1 SMAPI latest diff --git a/docs/release-notes.md b/docs/release-notes.md index 1e7558ff..dabdada1 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -7,10 +7,12 @@ * Migrated to Harmony 2.0 (see [_migrate to Harmony 2.0_](https://stardewvalleywiki.com/Modding:Migrate_to_Harmony_2.0) for more info). --> -## Upcoming release +## 3.9.1 +Released 25 January 2021 for Stardew Valley 1.5.4 or later. + * For players: - * Fixed _tile contains an invalid TileSheet reference_ errors when mods change certain maps. - * Fixed _patched game code_ issue shown for the bundled ErrorHandler mod. + * Fixed _tile contains an invalid TileSheet reference_ crash after mods change certain maps. + * Fixed _patched game code_ issue shown for the bundled Error Handler mod. ## 3.9 Released 22 January 2021 for Stardew Valley 1.5.4 or later. See [release highlights](https://www.patreon.com/posts/46553874). diff --git a/src/SMAPI.Mods.ConsoleCommands/manifest.json b/src/SMAPI.Mods.ConsoleCommands/manifest.json index f2340638..10611e08 100644 --- a/src/SMAPI.Mods.ConsoleCommands/manifest.json +++ b/src/SMAPI.Mods.ConsoleCommands/manifest.json @@ -1,9 +1,9 @@ { "Name": "Console Commands", "Author": "SMAPI", - "Version": "3.9.0", + "Version": "3.9.1", "Description": "Adds SMAPI console commands that let you manipulate the game.", "UniqueID": "SMAPI.ConsoleCommands", "EntryDll": "ConsoleCommands.dll", - "MinimumApiVersion": "3.9.0" + "MinimumApiVersion": "3.9.1" } diff --git a/src/SMAPI.Mods.ErrorHandler/manifest.json b/src/SMAPI.Mods.ErrorHandler/manifest.json index bc0a7294..bb9942d1 100644 --- a/src/SMAPI.Mods.ErrorHandler/manifest.json +++ b/src/SMAPI.Mods.ErrorHandler/manifest.json @@ -1,9 +1,9 @@ { "Name": "Error Handler", "Author": "SMAPI", - "Version": "3.9.0", + "Version": "3.9.1", "Description": "Handles some common vanilla errors to log more useful info or avoid breaking the game.", "UniqueID": "SMAPI.ErrorHandler", "EntryDll": "ErrorHandler.dll", - "MinimumApiVersion": "3.9.0" + "MinimumApiVersion": "3.9.1" } diff --git a/src/SMAPI.Mods.SaveBackup/manifest.json b/src/SMAPI.Mods.SaveBackup/manifest.json index 79727fad..95ee5144 100644 --- a/src/SMAPI.Mods.SaveBackup/manifest.json +++ b/src/SMAPI.Mods.SaveBackup/manifest.json @@ -1,9 +1,9 @@ { "Name": "Save Backup", "Author": "SMAPI", - "Version": "3.9.0", + "Version": "3.9.1", "Description": "Automatically backs up all your saves once per day into its folder.", "UniqueID": "SMAPI.SaveBackup", "EntryDll": "SaveBackup.dll", - "MinimumApiVersion": "3.9.0" + "MinimumApiVersion": "3.9.1" } diff --git a/src/SMAPI/Constants.cs b/src/SMAPI/Constants.cs index 2adafbbf..57c40bbf 100644 --- a/src/SMAPI/Constants.cs +++ b/src/SMAPI/Constants.cs @@ -54,7 +54,7 @@ namespace StardewModdingAPI ** Public ****/ /// SMAPI's current semantic version. - public static ISemanticVersion ApiVersion { get; } = new Toolkit.SemanticVersion("3.9.0"); + public static ISemanticVersion ApiVersion { get; } = new Toolkit.SemanticVersion("3.9.1"); /// The minimum supported version of Stardew Valley. public static ISemanticVersion MinimumGameVersion { get; } = new GameVersion("1.5.4"); -- cgit