summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/Content
AgeCommit message (Collapse)Author
2022-05-15reduce performance impact of deprecation warningsJesse Plamondon-Willard
Creating a stack is *very* slow, so it should be avoided if possible until after the duplicate-warning check.
2022-05-11rewrite asset operations to reduce allocationsJesse 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-08use records for asset edit operationsJesse Plamondon-Willard
2022-05-08only build AssetWithoutLocale when it's usedJesse Plamondon-Willard
2022-04-27add backwards compatibility for loading content assets with .xnb extensionJesse Plamondon-Willard
2022-04-23fix ReplaceWith not working for legacy IAssetEditor implementationsJesse Plamondon-Willard
2022-04-19fix null reference when adding new layers in a map patchJesse Plamondon-Willard
2022-04-19suppress some duplicate deprecation noticesJesse Plamondon-Willard
2022-04-19move deprecation code into namespaceJesse Plamondon-Willard
2022-04-17simplify ExtendMap usageJesse Plamondon-Willard
2022-04-16fix broken unit testsJesse Plamondon-Willard
2022-04-14track full mod & stack metadata in queued deprecation warningsJesse 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-13enable nullable annotations in SMAPI where no logic changes are needed (#837)Jesse Plamondon-Willard
2022-04-13enable nullable annotations in SMAPI where no changes are needed (#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-06simplify with newer pattern featuresJesse Plamondon-Willard
2022-04-06simplify 'is not' patternsJesse Plamondon-Willard
2022-04-06use target-typed newJesse Plamondon-Willard
2022-03-27split helper.Content API into game/mod content APIsJesse Plamondon-Willard
2022-03-26expand obsolete attributes (#766)Jesse Plamondon-Willard
2022-03-26add deprecation notices for SMAPI 4.0.0 (#766)Jesse Plamondon-Willard
2022-03-26add asset edit priority (#766)Jesse Plamondon-Willard
2022-03-26add NameWithoutLocale fields (#766)Jesse Plamondon-Willard
2022-03-25extend load conflict resolution into load priority (#766)Jesse Plamondon-Willard
2022-03-25add load conflict resolution option (#766)Jesse Plamondon-Willard
2022-03-25add content pack labels (#766)Jesse Plamondon-Willard
2022-03-22encapsulate & 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-20encapsulate 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-02-18add AssetName to encapsulate asset name handling (#766)Jesse Plamondon-Willard
2022-02-09Cleanup and performance/allocation improvement for AssetDataForImage.PatchImageAmeisen
2021-12-20auto-fix maps broken due to missing vanilla tilesheetJesse Plamondon-Willard
2021-11-28add map overlay patchesJesse Plamondon-Willard
2021-11-28update for asset name format changeJesse Plamondon-Willard
MonoGame uses Linux-style paths for assets on all platforms, which breaks the previous equivalence between path and asset name formats.
2021-11-28drop support for XNA FrameworkJesse Plamondon-Willard
Stardew Valley 1.5.5 migrates to MonoGame on all platforms.
2021-09-02drop support for unofficial 64-bit modeJesse Plamondon-Willard
2021-09-02prepare path utilities for the upcoming Stardew Valley 1.5.5Jesse Plamondon-Willard
The game will use Linux-style paths for assets on all platforms, which will break the current equivalence between path and asset name formats.
2021-07-30migrate to the new Harmony patch pattern used in my modsJesse Plamondon-Willard
That improves validation and error-handling.
2021-04-04standardize spelling of 'macOS'Jesse Plamondon-Willard
2021-04-02fix asset key normalization for 64-bit hack (#767)Jesse Plamondon-Willard
2021-03-21add Constants.GameFramework field (#767)Jesse Plamondon-Willard
2021-01-06rework vanilla tilesheet checking to avoid keeping a copy of the vanilla ↵Jesse Plamondon-Willard
maps in memory
2020-09-08rename PathUtilities.NormalizePathSeparator, add normalization for more casesJesse Plamondon-Willard
2020-08-30use inheritdocJesse Plamondon-Willard
2020-07-26use ordinal comparison/sorting instead of invariantJesse Plamondon-Willard
2020-04-24add map patching APIJesse Plamondon-Willard
Migrated from the Content Patcher code. I'm the main author, with tile property merging based on contributions by hatrat.
2020-02-20migrate to new method in SMAPI 3.3Jesse Plamondon-Willard