From 2bb8e8353ba35c2db96f88a052400997232d25f8 Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Mon, 29 Aug 2022 18:00:41 -0400 Subject: update compatibility workaround for the recent PyTK update --- src/SMAPI/Framework/SCore.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/SMAPI/Framework/SCore.cs') diff --git a/src/SMAPI/Framework/SCore.cs b/src/SMAPI/Framework/SCore.cs index 0f86ed6b..a5e51bdf 100644 --- a/src/SMAPI/Framework/SCore.cs +++ b/src/SMAPI/Framework/SCore.cs @@ -1673,11 +1673,11 @@ namespace StardewModdingAPI.Framework this.ReloadTranslations(loaded); // set temporary PyTK compatibility mode - // This is part of a three-part fix for PyTK 1.23.0 and earlier. When removing this, + // This is part of a three-part fix for PyTK 1.23.* and earlier. When removing this, // search 'Platonymous.Toolkit' to find the other part in SMAPI and Content Patcher. { IModInfo? pyTk = this.ModRegistry.Get("Platonymous.Toolkit"); - ModContentManager.EnablePyTkLegacyMode = pyTk is not null && pyTk.Manifest.Version.IsOlderThan("1.23.1"); + ModContentManager.EnablePyTkLegacyMode = pyTk is not null && pyTk.Manifest.Version.IsOlderThan("1.24.0"); } // initialize loaded non-content-pack mods -- cgit From 47a68fbb7bb6afc9ecaa3a13b450ddc865754de8 Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Mon, 29 Aug 2022 18:17:53 -0400 Subject: deprecate PyTK compatibility mode --- src/SMAPI.Mods.ErrorHandler/ModEntry.cs | 8 ++++++-- src/SMAPI.Mods.ErrorHandler/ModPatches/PyTkPatcher.cs | 2 ++ src/SMAPI/Framework/ContentManagers/ModContentManager.cs | 6 +++++- src/SMAPI/Framework/SCore.cs | 2 ++ 4 files changed, 15 insertions(+), 3 deletions(-) (limited to 'src/SMAPI/Framework/SCore.cs') diff --git a/src/SMAPI.Mods.ErrorHandler/ModEntry.cs b/src/SMAPI.Mods.ErrorHandler/ModEntry.cs index 22e68421..25056b5e 100644 --- a/src/SMAPI.Mods.ErrorHandler/ModEntry.cs +++ b/src/SMAPI.Mods.ErrorHandler/ModEntry.cs @@ -2,7 +2,9 @@ using System; using System.Reflection; using StardewModdingAPI.Events; using StardewModdingAPI.Internal.Patching; +#if SMAPI_DEPRECATED using StardewModdingAPI.Mods.ErrorHandler.ModPatches; +#endif using StardewModdingAPI.Mods.ErrorHandler.Patches; using StardewValley; @@ -39,10 +41,12 @@ namespace StardewModdingAPI.Mods.ErrorHandler new ObjectPatcher(), new SaveGamePatcher(this.Monitor, this.OnSaveContentRemoved), new SpriteBatchPatcher(), - new UtilityPatcher(), + new UtilityPatcher() +#if SMAPI_DEPRECATED // mod patches - new PyTkPatcher(helper.ModRegistry) + , new PyTkPatcher(helper.ModRegistry) +#endif ); // hook events diff --git a/src/SMAPI.Mods.ErrorHandler/ModPatches/PyTkPatcher.cs b/src/SMAPI.Mods.ErrorHandler/ModPatches/PyTkPatcher.cs index 83cd42b9..f084902a 100644 --- a/src/SMAPI.Mods.ErrorHandler/ModPatches/PyTkPatcher.cs +++ b/src/SMAPI.Mods.ErrorHandler/ModPatches/PyTkPatcher.cs @@ -1,3 +1,4 @@ +#if SMAPI_DEPRECATED using System; using System.Diagnostics.CodeAnalysis; using System.Reflection; @@ -77,3 +78,4 @@ namespace StardewModdingAPI.Mods.ErrorHandler.ModPatches } } } +#endif diff --git a/src/SMAPI/Framework/ContentManagers/ModContentManager.cs b/src/SMAPI/Framework/ContentManagers/ModContentManager.cs index 6a36ab48..cc6f8372 100644 --- a/src/SMAPI/Framework/ContentManagers/ModContentManager.cs +++ b/src/SMAPI/Framework/ContentManagers/ModContentManager.cs @@ -50,8 +50,10 @@ namespace StardewModdingAPI.Framework.ContentManagers /********* ** Accessors *********/ +#if SMAPI_DEPRECATED /// Whether to enable legacy compatibility mode for PyTK scale-up textures. internal static bool EnablePyTkLegacyMode; +#endif /********* @@ -202,6 +204,7 @@ namespace StardewModdingAPI.Framework.ContentManagers bool expectsRawData = typeof(T).IsAssignableTo(typeof(IRawTextureData)); bool asRawData = expectsRawData || this.UseRawImageLoading; +#if SMAPI_DEPRECATED // disable raw data if PyTK will rescale the image (until it supports raw data) if (asRawData && !expectsRawData) { @@ -212,9 +215,10 @@ namespace StardewModdingAPI.Framework.ContentManagers // current file has a '.pytk.json' rescale file though, since PyTK may still // rescale it if the original asset or another edit gets rescaled. asRawData = false; - this.Monitor.LogOnce("Enabled compatibility mode for PyTK 1.23.* or earlier. This won't cause any issues, but may impact performance.", LogLevel.Warn); + this.Monitor.LogOnce("Enabled compatibility mode for PyTK 1.23.* or earlier. This won't cause any issues, but may impact performance. This will no longer be supported in the upcoming SMAPI 4.0.0.", LogLevel.Warn); } } +#endif // load if (asRawData) diff --git a/src/SMAPI/Framework/SCore.cs b/src/SMAPI/Framework/SCore.cs index a5e51bdf..16ff2537 100644 --- a/src/SMAPI/Framework/SCore.cs +++ b/src/SMAPI/Framework/SCore.cs @@ -1672,6 +1672,7 @@ namespace StardewModdingAPI.Framework // initialize translations this.ReloadTranslations(loaded); +#if SMAPI_DEPRECATED // set temporary PyTK compatibility mode // This is part of a three-part fix for PyTK 1.23.* and earlier. When removing this, // search 'Platonymous.Toolkit' to find the other part in SMAPI and Content Patcher. @@ -1679,6 +1680,7 @@ namespace StardewModdingAPI.Framework IModInfo? pyTk = this.ModRegistry.Get("Platonymous.Toolkit"); ModContentManager.EnablePyTkLegacyMode = pyTk is not null && pyTk.Manifest.Version.IsOlderThan("1.24.0"); } +#endif // initialize loaded non-content-pack mods this.Monitor.Log("Launching mods...", LogLevel.Debug); -- cgit