diff --git a/docs/release-notes.md b/docs/release-notes.md index ea1c296b..cbd64a95 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -2,6 +2,9 @@ # Release notes ## Upcoming release +* For players: + * Improved content load performance for non-English players. + * For the web UI: * Improved JSON parser: * You can now hover/click braces to highlight matching pairs. diff --git a/src/SMAPI/Framework/ContentManagers/BaseContentManager.cs b/src/SMAPI/Framework/ContentManagers/BaseContentManager.cs index 699d24f9..37d93275 100644 --- a/src/SMAPI/Framework/ContentManagers/BaseContentManager.cs +++ b/src/SMAPI/Framework/ContentManagers/BaseContentManager.cs @@ -161,26 +161,22 @@ internal abstract class BaseContentManager : LocalizedContentManager, IContentMa string localeCode = this.GetLocale(language); IAssetName localizedName = new AssetName(baseName: assetName.BaseName, localeCode: localeCode, languageCode: language); - try + if (this.DoesAssetExist(localizedName)) { T data = this.LoadExact(localizedName, useCache: useCache); localizedAssetNames[assetName.Name] = localizedName.Name; return data; } - catch (ContentLoadException) + + localizedName = new AssetName(assetName.BaseName + "_international", null, null); + if (this.DoesAssetExist(localizedName)) { - localizedName = new AssetName(assetName.BaseName + "_international", null, null); - try - { - T data = this.LoadExact(localizedName, useCache: useCache); - localizedAssetNames[assetName.Name] = localizedName.Name; - return data; - } - catch (ContentLoadException) - { - localizedAssetNames[assetName.Name] = assetName.Name; - } + T data = this.LoadExact(localizedName, useCache: useCache); + localizedAssetNames[assetName.Name] = localizedName.Name; + return data; } + + localizedAssetNames[assetName.Name] = assetName.Name; } // use cached key