Commit Graph

999 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard cd843dc10b
prepare for release 2022-05-15 19:14:28 -04:00
Jesse Plamondon-Willard 048f41244f
reduce performance impact of deprecation warnings
Creating a stack is *very* slow, so it should be avoided if possible until after the duplicate-warning check.
2022-05-15 01:54:01 -04:00
Jesse Plamondon-Willard 3a4758dfa6
remove warning for mods which use `dynamic` 2022-05-14 13:32:13 -04:00
Jesse Plamondon-Willard e943ae8413
prepare for release 2022-05-12 00:21:46 -04:00
Jesse Plamondon-Willard 5a7422b312
log time change in verbose mode 2022-05-11 22:32:33 -04:00
Jesse Plamondon-Willard bbe5983acd
rewrite asset operations to reduce allocations
• 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-11 21:36:45 -04:00
Jesse Plamondon-Willard 45f6743034
optimize raising events for the most common cases 2022-05-11 17:59:44 -04:00
Jesse Plamondon-Willard d097825c84
fix error when mod loads XNB mod file without extension 2022-05-11 17:25:06 -04:00
Jesse Plamondon-Willard eb01aa275b
fix asset propagation for player sprite recolor masks 2022-05-10 18:51:37 -04:00
Jesse Plamondon-Willard 7a91cf1cd8
update schema for Content Patcher 1.26.0 2022-05-09 00:18:37 -04:00
Jesse Plamondon-Willard cbe8b597cb
prepare for release 2022-05-08 20:11:02 -04:00
Jesse Plamondon-Willard 26f95bca63
optimize case where there's no legacy IAssetLoader/IAssetEditor instances 2022-05-08 18:22:35 -04:00
Jesse Plamondon-Willard e286e5591b
enable case-insensitive file paths by default for Android/Linux players 2022-05-07 23:26:34 -04:00
Jesse Plamondon-Willard 3db0353126
simplify and rewrite case-insensitive file path feature 2022-05-07 23:12:33 -04:00
Jesse Plamondon-Willard d4ff9f3f5c
log fake content packs created by mods 2022-05-07 21:53:18 -04:00
Jesse Plamondon-Willard 709638f197
fix assets loaded through fake content pack using parent mod's path info 2022-05-07 21:21:02 -04:00
Jesse Plamondon-Willard b45f50b57e
prepare for release 2022-05-06 19:40:13 -04:00
Jesse Plamondon-Willard a969828e93
cache asset operation instances created legacy interceptors 2022-05-06 18:26:35 -04:00
Jesse Plamondon-Willard b834ed7ef5
fix errors reading empty JSON files 2022-05-06 18:06:47 -04:00
Jesse Plamondon-Willard 87d5288287
fix content managers' LoadBaseString not recognizing localized mod assets 2022-05-06 18:05:40 -04:00
Jesse Plamondon-Willard 295ad29b8d
remove aggressive memory optimizations option 2022-05-04 21:02:41 -04:00
Jesse Plamondon-Willard c1342bd4cd
disable case-insensitive paths by default pending performance rework 2022-05-04 20:35:08 -04:00
Jesse Plamondon-Willard 42bf82d870
update compatibility list 2022-05-01 22:46:56 -04:00
Jesse Plamondon-Willard f78093bdb5
prepare for release 2022-05-01 17:39:57 -04:00
Jesse Plamondon-Willard 6a43171e92
re-enable Pintail by default 2022-04-26 23:38:16 -04:00
Jesse Plamondon-Willard d486d940ba
temporarily disable Pintail by default pending out parameter fix 2022-04-16 19:17:16 -04:00
Jesse Plamondon-Willard e7fd95aafd
update release notes 2022-04-16 13:04:16 -04:00
Jesse Plamondon-Willard 9ba0670407
fix Nexus API key needed to launch web project locally 2022-04-16 11:21:44 -04:00
Jesse Plamondon-Willard c0d0ad0282
show simplified stack trace for deprecation notices 2022-04-14 23:55:08 -04:00
Jesse Plamondon-Willard 3a777a511d
update release notes 2022-04-14 18:15:02 -04:00
Jesse Plamondon-Willard 045e4ddf2d
update release notes (#837) 2022-04-13 22:58:47 -04:00
Jesse Plamondon-Willard 1e61309d3d
add IAssetDataForMap.ExtendMap 2022-04-11 22:56:14 -04:00
Jesse Plamondon-Willard 85c769d2a2
update release notes 2022-04-09 16:57:41 -04:00
Jesse Plamondon-Willard 288ef5dc07
add environment variable form of new CLI args, update docs 2022-04-09 12:03:30 -04:00
Jesse Plamondon-Willard 3f9b412bed
expand & reorganize 3.14.0 release notes 2022-04-07 00:26:28 -04:00
Jesse Plamondon-Willard d1a7194bf6
allow null values in ISemanticVersion compare methods (#837) 2022-04-06 23:47:12 -04:00
Jesse Plamondon-Willard 215a863945
drop update checks for Stardew64Installer 2022-04-06 18:34:58 -04:00
Jesse Plamondon-Willard 4e2d7f2550
make mod file paths case-insensitive in all SMAPI APIs 2022-04-01 23:42:37 -04:00
Jesse Plamondon-Willard 1d3c99cc25
split helper.Content API into game/mod content APIs 2022-03-27 13:42:14 -04:00
Jesse Plamondon-Willard bacb851d7b
add IContentHelper.ParseAssetName (#766) 2022-03-26 17:44:48 -04:00
Jesse Plamondon-Willard 8d70415376
add deprecation notices for SMAPI 4.0.0 (#766) 2022-03-26 15:02:11 -04:00
Jesse Plamondon-Willard 4c64f9f644
rewrite content loading to allow handling locale variants (#766, #786, #812)
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 14:07:16 -04:00
Jesse Plamondon-Willard ad8912047b
add asset edit priority (#766) 2022-03-26 01:43:40 -04:00
Jesse Plamondon-Willard 021891ff0c
add load conflict resolution option (#766) 2022-03-25 22:49:14 -04:00
Jesse Plamondon-Willard 9025b0dcc5
fix asset load conflict always showing multiple-mod form 2022-03-25 22:16:49 -04:00
Jesse Plamondon-Willard e1fc566e0a
add content pack labels (#766) 2022-03-25 21:46:37 -04:00
Jesse Plamondon-Willard 2b0ce2bb4d
add AssetInvalidated content event (#766) 2022-03-24 22:55:55 -04:00
Jesse Plamondon-Willard 584725bb8e
add initial AssetRequested content event (#766) 2022-03-23 01:06:11 -04:00
Jesse Plamondon-Willard b07d2340a9
encapsulate & cache asset operation groups (#766)
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-22 23:00:18 -04:00
Jesse Plamondon-Willard d96cec88e4
fix set_farm_type not updating warps 2022-03-10 23:24:01 -05:00