summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/ContentManagers/BaseContentManager.cs
AgeCommit message (Collapse)Author
2022-05-24fix split-screen error when a mod provides a localized asset in one screen ↵Jesse Plamondon-Willard
but not another
2022-05-18simplify asset propagation a bit to prepare for the upcoming SDV 1.6Jesse Plamondon-Willard
2022-05-11add error code to SContentLoadExceptionJesse Plamondon-Willard
2022-05-06fix content managers' LoadBaseString not recognizing localized mod assetsJesse Plamondon-Willard
2022-05-04remove aggressive memory optimizations optionJesse Plamondon-Willard
2022-04-16use specified nullability in reflection API (#837)Jesse Plamondon-Willard
2022-04-13remove reflection no longer needed after migration to MonoGameJesse Plamondon-Willard
2022-04-13enable nullable annotations in the rest of SMAPI core (#837)Jesse Plamondon-Willard
2022-04-11add IAssetDataForMap.ExtendMapJesse Plamondon-Willard
2022-04-06enable nullable annotations by default (#837)Jesse Plamondon-Willard
This adds `#nullable disable` to all existing code (except where null is impossible like enum files), so it can be migrated incrementally.
2022-04-06remove some unused/redundant codeJesse Plamondon-Willard
2022-04-01fix local file path asset name parsing locale codes in rare cases (#766)Jesse Plamondon-Willard
Mod file paths can't be localized through the content pipeline. Normally the locale would be ignored anyway due to the file extension, but it'd be incorrectly parsed if the file name ended with a locale and no file extension (like "assets/example.fr-FR").
2022-04-01keep old XNB file extension behavior for backwards compatibility (#766)Jesse Plamondon-Willard
2022-03-27add asset type to AssetRequested event (#766)Jesse Plamondon-Willard
2022-03-26update asset propagation for new content API (#766)Jesse Plamondon-Willard
2022-03-26rewrite content loading to allow handling locale variants (#766, #786, #812)Jesse Plamondon-Willard
The game's content pipeline automatically loads localized variants if present. For example, it will try to load "Maps/cave.fr-FR", then "Maps/cave_international", then "Maps/cave". The old content API obfuscates this logic and treats them as interchangeable, which causes edge cases like bundle corruption (#812). This commit rewrites the loading logic to match the game logic when using the new content events, while maintaining the legacy behavior for the old IAssetLoader/IAssetEditor interfaces that'll be removed in SMAPI 4.0.0.
2022-03-05add DoesAssetExist to support the upcoming Stardew Valley 1.6 (#766)Jesse Plamondon-Willard
2022-03-05migrate more internal code to IAssetName (#766)Jesse Plamondon-Willard
2022-02-19add Constants.GamePath & deprecate Constants.ExecutionPathJesse Plamondon-Willard
2022-02-18add AssetName to encapsulate asset name handling (#766)Jesse Plamondon-Willard
2021-11-28update for custom languagesJesse Plamondon-Willard
2021-03-14fix some assets not reapplied correctly when playing in non-English and ↵Jesse Plamondon-Willard
returning to title
2021-02-21use inheritdoc, minor cleanupJesse Plamondon-Willard
2021-02-21reduce performance impact of new cache fixJesse Plamondon-Willard
2021-01-31add experimental 'aggressive memory optimization' flag (#757)Jesse Plamondon-Willard
2020-12-26fix SMAPI using a cached translation when the game asks for an untranslated ↵Jesse Plamondon-Willard
asset This mainly affects community center bundles in Stardew Valley 1.5,
2020-08-23minor cleanupJesse Plamondon-Willard
2020-07-26use ordinal comparison/sorting instead of invariantJesse Plamondon-Willard
2019-12-31fix XNA keeping loaded assets alive forever (#685)Jesse Plamondon-Willard
2019-12-14refactor cache invalidation & propagation to allow for future optimizationsJesse Plamondon-Willard
2019-12-14don't keep a reference to uncached assetsJesse Plamondon-Willard
2019-12-12fix assets not being disposed when a content manager is disposedJesse Plamondon-Willard
2019-09-14track texture asset keys, fix NPC portrait propagationJesse Plamondon-Willard
2019-09-14fix typos and inconsistent spellingJesse Plamondon-Willard
2019-09-14disable mod-level asset caching (#644)Jesse Plamondon-Willard
This fixes an issue where some asset references could be shared between content managers, causing changes to propagate unintentionally.
2019-09-14ignore root content managers when handling managed asset keys (#644)Jesse Plamondon-Willard
2019-09-14fix cache miss when not playing in English (#634)Jesse Plamondon-Willard
2019-09-14fix translatable assets not updated when switching language (#586)Jesse Plamondon-Willard
2018-12-27tweak comment header conventionJesse Plamondon-Willard
2018-11-28fix some map tilesheets not editable if not playing in EnglishJesse Plamondon-Willard
2018-11-25add support for propagating map asset changesJesse Plamondon-Willard
2018-05-30fix game content managers not cloning assets from IAssetLoaderJesse Plamondon-Willard
2018-05-22refactor content API to fix load errors with decentralised cache (#524)Jesse Plamondon-Willard