Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-05-18 | fix asset type when checking if a mod asset exists | Jesse Plamondon-Willard | |
2022-05-15 | reduce performance impact of deprecation warnings | Jesse Plamondon-Willard | |
Creating a stack is *very* slow, so it should be avoided if possible until after the duplicate-warning check. | |||
2022-05-11 | rewrite asset operations to reduce allocations | Jesse Plamondon-Willard | |
• When raising AssetRequested, SMAPI now creates a single event args model and reuses it for each handler. • There's now a single AssetOperationGroup per asset, which tracks the loaders/editors registered by every mod for that asset. • The operation group's loader/editor lists are now used directly instead of querying them. | |||
2022-05-04 | remove aggressive memory optimizations option | Jesse Plamondon-Willard | |
2022-04-19 | move deprecation code into namespace | Jesse Plamondon-Willard | |
2022-04-13 | enable nullable annotations in SMAPI where no logic changes are needed (#837) | Jesse Plamondon-Willard | |
2022-04-11 | add IAssetDataForMap.ExtendMap | Jesse Plamondon-Willard | |
2022-04-06 | enable 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-06 | simplify 'is not' patterns | Jesse Plamondon-Willard | |
2022-03-27 | add asset type to AssetRequested event (#766) | Jesse Plamondon-Willard | |
2022-03-26 | update asset propagation for new content API (#766) | Jesse Plamondon-Willard | |
2022-03-26 | rewrite 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-26 | add asset edit priority (#766) | Jesse Plamondon-Willard | |
2022-03-25 | extend load conflict resolution into load priority (#766) | Jesse Plamondon-Willard | |
2022-03-25 | add load conflict resolution option (#766) | Jesse Plamondon-Willard | |
2022-03-25 | add content pack label to more logs (#766) | Jesse Plamondon-Willard | |
2022-03-25 | fix asset load conflict always showing multiple-mod form | Jesse Plamondon-Willard | |
2022-03-25 | add content pack labels (#766) | Jesse Plamondon-Willard | |
2022-03-25 | add AssetReady content event (#766) | Jesse Plamondon-Willard | |
2022-03-22 | encapsulate & cache asset operation groups (#766) | Jesse Plamondon-Willard | |
This is needed for the upcoming Stardew Valley 1.6 to avoid duplicate checks between DoesAssetExist and Load calls, and to make sure the answer doesn't change between them. | |||
2022-03-20 | encapsulate editor/loader operations (#766) | Jesse Plamondon-Willard | |
These will be used by the new content API, and allow handling the old one the same way. | |||
2022-03-05 | handle vanilla assets in DoesAssetExist (#766) | Jesse Plamondon-Willard | |
2022-03-05 | add DoesAssetExist to support the upcoming Stardew Valley 1.6 (#766) | Jesse Plamondon-Willard | |
2022-03-05 | migrate more internal code to IAssetName (#766) | Jesse Plamondon-Willard | |
2022-02-18 | add AssetName to encapsulate asset name handling (#766) | Jesse Plamondon-Willard | |
2021-12-20 | auto-fix maps broken due to missing vanilla tilesheet | Jesse Plamondon-Willard | |
2021-11-28 | update for custom languages | Jesse Plamondon-Willard | |
2021-09-18 | add simpler error when an asset isn't found | Jesse Plamondon-Willard | |
2021-07-30 | migrate to the new Harmony patch pattern used in my mods | Jesse Plamondon-Willard | |
That improves validation and error-handling. | |||
2021-03-14 | fix some assets not reapplied correctly when playing in non-English and ↵ | Jesse Plamondon-Willard | |
returning to title | |||
2021-02-21 | use inheritdoc, minor cleanup | Jesse Plamondon-Willard | |
2021-02-21 | reduce performance impact of new cache fix | Jesse Plamondon-Willard | |
2021-01-31 | add experimental 'aggressive memory optimization' flag (#757) | Jesse Plamondon-Willard | |
2021-01-20 | correct links | Jesse Plamondon-Willard | |
2021-01-06 | simplify tilesheet order warning | Jesse Plamondon-Willard | |
2021-01-06 | rework vanilla tilesheet checking to avoid keeping a copy of the vanilla ↵ | Jesse Plamondon-Willard | |
maps in memory | |||
2021-01-02 | detect and block map replacements that would crash the game due to tilesheet ↵ | Jesse Plamondon-Willard | |
changes | |||
2020-12-26 | fix 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-12-20 | update for localized asset changes | Jesse Plamondon-Willard | |
2020-07-26 | use ordinal comparison/sorting instead of invariant | Jesse Plamondon-Willard | |
2020-02-19 | call IAssetEditor with actual type if applicable | Jesse Plamondon-Willard | |
2020-01-30 | rework asset editor/loader tracking so they're affected by load order | Jesse Plamondon-Willard | |
2019-12-14 | refactor cache invalidation & propagation to allow for future optimizations | Jesse Plamondon-Willard | |
2019-12-14 | don't keep a reference to uncached assets | Jesse Plamondon-Willard | |
2019-09-14 | fix asset changes not affecting cached asset loads in a specific case | Jesse Plamondon-Willard | |
2019-09-14 | fix typos and inconsistent spelling | Jesse Plamondon-Willard | |
2019-09-14 | fix error when loading a mod asset through a translated content manager (#647) | Jesse Plamondon-Willard | |
2019-09-14 | disable 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-14 | ignore root content managers when handling managed asset keys (#644) | Jesse Plamondon-Willard | |
2019-09-14 | fix cache misses for non-English players | Jesse Plamondon-Willard | |