This pull request updates all mods for compatibility with SMAPI 1.15.2 and 2.0.
Note: these require SMAPI 1.15.2, and SMAPI 1.15.2 marks older versions of these mods as incompatible. So we should release these updates at the same time as SMAPI 1.15.2.
Updates
Rewrote EF's content registry using SMAPI's content API. This fixes an issue where EF broke SMAPI's content API by replacing its content manager. This commit replaces EF's SmartContentManager with an equivalent SmartContentInterceptor, and uses SMAPI's cache invalidation to ensure that new content handlers can process already-loaded assets. Mostly it should work just like before, except for the following two changes.
First, SMAPI only calls asset loaders once per asset and then caches the result. Entoarox Framework previously reloaded the asset every time Load<T> was called. For current mods that shouldn't be an issue, but we could probably reimplement the previous logic using some hacks if needed.
Second, the FileLoadMethod<T> delegate passed into contentRegistry.RegisterContentHandler no longer includes a base.Load<T> argument since that's not currently supported by SMAPI's content API. It doesn't seem like any mods were using this.
Migrated Advanced Location Loader to SMAPI's translation API, which adds support for i18n files.
This pull request updates all mods for compatibility with SMAPI 1.15.2 and 2.0.
Note: these require SMAPI 1.15.2, and SMAPI 1.15.2 marks older versions of these mods as incompatible. So we should release these updates at the same time as SMAPI 1.15.2.
Updates
Rewrote EF's content registry using SMAPI's content API.
This fixes an issue where EF broke SMAPI's content API by replacing its content manager. This commit replaces EF's
SmartContentManager
with an equivalentSmartContentInterceptor
, and uses SMAPI's cache invalidation to ensure that new content handlers can process already-loaded assets. Mostly it should work just like before, except for the following two changes.First, SMAPI only calls asset loaders once per asset and then caches the result. Entoarox Framework previously reloaded the asset every time
Load<T>
was called. For current mods that shouldn't be an issue, but we could probably reimplement the previous logic using some hacks if needed.Second, the
FileLoadMethod<T>
delegate passed intocontentRegistry.RegisterContentHandler
no longer includes abase.Load<T>
argument since that's not currently supported by SMAPI's content API. It doesn't seem like any mods were using this.i18n
files.Initialize
,LoadContent
,FirstUpdateTick
,DayOfMonthChanged
,SeasonOfYearChanged
).Other changes
_release
zips to the.gitignore
.