Commit Graph

3985 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard 9933acad35
use <inheritdoc/> in watchers 2022-05-23 12:57:33 -04:00
Jesse Plamondon-Willard 62665649bd
shortcut common cases in hot code paths 2022-05-23 12:19:06 -04:00
Jesse Plamondon-Willard 2ab2182645
Merge branch 'develop' into stable 2022-05-22 14:38:57 -04:00
Jesse Plamondon-Willard 336cc1cc0f
prepare for release 2022-05-22 14:38:33 -04:00
Jesse Plamondon-Willard 7e7ac459a5
fix error when mod localizes an unlocalizable asset and then stops doing so 2022-05-21 18:06:23 -04:00
Jesse Plamondon-Willard e6ef71bae1
add tick cache to asset propagation 2022-05-20 17:39:05 -04:00
Jesse Plamondon-Willard 7332879351
defer asset reload during propagation when possible 2022-05-19 21:04:32 -04:00
Jesse Plamondon-Willard 0a050622f6
tweak asset propagator to avoid assumption that assets must be reloaded 2022-05-19 21:04:32 -04:00
Jesse Plamondon-Willard 1ddf70697e
simplify asset propagation a bit to prepare for the upcoming SDV 1.6 2022-05-18 20:13:09 -04:00
Jesse Plamondon-Willard f8b62e271e
fix asset type when checking if a mod asset exists 2022-05-18 20:04:51 -04:00
Jesse Plamondon-Willard cb11f1e2ca
re-add internal content manager for asset propagation
This will be used by the new asset propagation in SMAPI 4.0 & Stardew Valley 1.6.
2022-05-18 20:02:12 -04:00
Jesse Plamondon-Willard 3a161a30a7
update for the new CurseForge API 2022-05-18 19:23:26 -04:00
Jesse Plamondon-Willard 5731b015a0
Merge branch 'develop' into stable 2022-05-15 19:14:40 -04:00
Jesse Plamondon-Willard cd843dc10b
prepare for release 2022-05-15 19:14:28 -04:00
Jesse Plamondon-Willard 3253797cba
fix wiki client not being disposed 2022-05-15 19:13:32 -04:00
Jesse Plamondon-Willard 8505f4ae4d
fix typo 2022-05-15 15:07:52 -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 a9cadc7f32
Merge branch 'develop' into stable 2022-05-12 00:21:52 -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 42a797a012
don't raise events that have no listeners
This mainly avoids allocating event arg objects unnecessarily.
2022-05-11 19:56:45 -04:00
Jesse Plamondon-Willard 077c897d53
replace event.HasListeners() with property 2022-05-11 19:29:57 -04:00
Jesse Plamondon-Willard 05b39b7cd9
cache verbose flag in main update method 2022-05-11 19:26:28 -04:00
Jesse Plamondon-Willard cae1063ad9
move filtering only used in one place out of managed event 2022-05-11 19:15:22 -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 e14916f962
add error code to SContentLoadException 2022-05-11 17:12:58 -04:00
Jesse Plamondon-Willard 8c8ec6a457
remove unused IsPerformanceCritical event field 2022-05-10 23:05:24 -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 09f69d986f
Merge branch 'develop' into stable 2022-05-08 20:18:06 -04:00
Jesse Plamondon-Willard cbe8b597cb
prepare for release 2022-05-08 20:11:02 -04:00
Jesse Plamondon-Willard f8f8b23799
use records for asset edit operations 2022-05-08 18:50:07 -04:00
Jesse Plamondon-Willard 5f2e83969a
only build AssetWithoutLocale when it's used 2022-05-08 18:37:23 -04:00
Jesse Plamondon-Willard e2a3fc4f99
avoid [Obsolete] without message for clarity 2022-05-08 18:28: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 b924fbae4b
fix default settings 2022-05-08 12:24:52 -04:00
Jesse Plamondon-Willard 37617e9c26
tweak default settings logic 2022-05-07 23:34:30 -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 ecdda9b077
update filenames for case-insensitive path rewrite 2022-05-07 23:13:59 -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 f973b4c518
move CreateFakeContentPack into its own method 2022-05-07 21:18:09 -04:00
Jesse Plamondon-Willard e7e6327b3c
Merge branch 'develop' into stable 2022-05-06 20:58:19 -04:00
Jesse Plamondon-Willard b45f50b57e
prepare for release 2022-05-06 19:40:13 -04:00
Jesse Plamondon-Willard 09c52fb3f5
cache legacy asset operations by target type 2022-05-06 19:39:51 -04:00
Jesse Plamondon-Willard a969828e93
cache asset operation instances created legacy interceptors 2022-05-06 18:26:35 -04:00