From e3010f7c41028c3420df06e025f9af594b866c2b Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Wed, 28 Jul 2021 00:36:34 -0400 Subject: refactor new code a bit --- src/SMAPI.sln.DotSettings | 1 + 1 file changed, 1 insertion(+) (limited to 'src/SMAPI.sln.DotSettings') diff --git a/src/SMAPI.sln.DotSettings b/src/SMAPI.sln.DotSettings index 29d4ade5..305b1c7d 100644 --- a/src/SMAPI.sln.DotSettings +++ b/src/SMAPI.sln.DotSettings @@ -36,6 +36,7 @@ True True True + True True True True -- cgit From c15d43049a08e73090d77cc150ac48476011a68c Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sat, 31 Jul 2021 19:22:14 -0400 Subject: fix map reload not correctly reloading interior doors --- docs/release-notes.md | 1 + src/SMAPI.sln.DotSettings | 1 + src/SMAPI/Metadata/CoreAssetPropagator.cs | 16 ++++++++-------- 3 files changed, 10 insertions(+), 8 deletions(-) (limited to 'src/SMAPI.sln.DotSettings') diff --git a/docs/release-notes.md b/docs/release-notes.md index 9e26a974..4f874e38 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -15,6 +15,7 @@ * Updated Harmony 1.2.0.1 to 2.1.0 (see [_migrate to Harmony 2.0_](https://stardewvalleywiki.com/Modding:Migrate_to_Harmony_2.0) for more info). * SMAPI now intercepts `KeyNotFoundException` dictionary errors and adds the key to the error message to simplify troubleshooting. (Due to Harmony limitations, this only works for the dictionary types used by the game.) * Fixed error loading `.xnb` files from the local mod folder since SMAPI 3.0. + * Fixed reloading a map not correctly reapplying interior doors. ## 3.11.0 Released 09 July 2021 for Stardew Valley 1.5.4 or later. See [release highlights](https://www.patreon.com/posts/53514295). diff --git a/src/SMAPI.sln.DotSettings b/src/SMAPI.sln.DotSettings index 305b1c7d..9a6cad37 100644 --- a/src/SMAPI.sln.DotSettings +++ b/src/SMAPI.sln.DotSettings @@ -49,6 +49,7 @@ True True True + True True True True diff --git a/src/SMAPI/Metadata/CoreAssetPropagator.cs b/src/SMAPI/Metadata/CoreAssetPropagator.cs index 9273864e..a8686ca4 100644 --- a/src/SMAPI/Metadata/CoreAssetPropagator.cs +++ b/src/SMAPI/Metadata/CoreAssetPropagator.cs @@ -5,7 +5,6 @@ using System.IO; using System.Linq; using Microsoft.Xna.Framework.Graphics; using Netcode; -using StardewModdingAPI.Framework; using StardewModdingAPI.Framework.ContentManagers; using StardewModdingAPI.Framework.Reflection; using StardewModdingAPI.Internal; @@ -939,16 +938,17 @@ namespace StardewModdingAPI.Metadata // 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); - // update interior doors + // reload interior doors location.interiorDoors.Clear(); - foreach (var entry in new InteriorDoorDictionary(location)) - location.interiorDoors.Add(entry); + location.interiorDoors.ResetSharedState(); // load doors from map properties + location.interiorDoors.ResetLocalState(); // reapply door tiles - // update doors - location.doors.Clear(); + // reapply map changes (after reloading doors so they apply theirs too) + location.MakeMapModifications(force: true); + + // update for changes + location.updateWarps(); location.updateDoors(); } -- cgit