summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/release-notes.md1
-rw-r--r--src/SMAPI/Framework/ContentManagers/ModContentManager.cs8
2 files changed, 8 insertions, 1 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md
index 58114dde..abc08e16 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -40,6 +40,7 @@ These changes have not been released yet.
* The installer now recognises custom game paths stored in `stardewvalley.targets`, if any.
* Trace logs for a broken mod now list all detected issues (instead of the first one).
* Trace logs when loading mods are now more clear.
+ * Fixed custom maps loaded from `.xnb` files not having their tilesheet paths automatically adjusted.
* Fixed custom maps loaded from the mod folder with tilesheets in a subfolder not working crossplatform. All tilesheet paths are now normalised for the OS automatically.
* Removed all deprecated APIs.
* Removed the `Monitor.ExitGameImmediately` method.
diff --git a/src/SMAPI/Framework/ContentManagers/ModContentManager.cs b/src/SMAPI/Framework/ContentManagers/ModContentManager.cs
index de05e92d..d6eb28c8 100644
--- a/src/SMAPI/Framework/ContentManagers/ModContentManager.cs
+++ b/src/SMAPI/Framework/ContentManagers/ModContentManager.cs
@@ -118,7 +118,13 @@ namespace StardewModdingAPI.Framework.ContentManagers
// XNB file
case ".xnb":
{
- return this.RawLoad<T>(assetName, useCache: false);
+ T data = this.RawLoad<T>(assetName, useCache: false);
+ if (data is Map map)
+ {
+ this.FixCustomTilesheetPaths(map, relativeMapPath: assetName);
+ this.NormaliseTilesheetPaths(map);
+ }
+ return data;
}
// unpacked data