Commit Graph

3748 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard fdb74df8a4
simplify repeated hash set creation 2022-06-06 21:28:57 -04:00
Jesse Plamondon-Willard e10147e7bd
Merge branch 'develop' into stable 2022-06-01 19:59:00 -04:00
Jesse Plamondon-Willard 1cded44f7a
prepare for release 2022-06-01 19:58:35 -04:00
Jesse Plamondon-Willard bf960ce283
add backwards compatibility for mods using now-unused dependencies 2022-05-31 21:23:44 -04:00
Jesse Plamondon-Willard 9992915f56
replace MemoryCache with custom cache
This was causing significant frame stutters for some players since the migration to .NET 5 in Stardew Valley 1.5.5.
2022-05-31 18:32:23 -04:00
Jesse Plamondon-Willard 9ef3f7edb1
remove `System.Reflection.Metadata.MetadataUpdater.IsSupported: false` in runtime config
This doesn't seem to be needed, and was probably added as part of the early experimenting with self-contained .NET.
2022-05-31 18:25:12 -04:00
Jesse Plamondon-Willard 0209e70695
Merge branch 'develop' into stable 2022-05-27 18:09:04 -04:00
Jesse Plamondon-Willard e4cd7c8eb0
prepare for release 2022-05-27 18:08:30 -04:00
Jesse Plamondon-Willard e8c6221d96
fix typo 2022-05-27 18:04:39 -04:00
Jesse Plamondon-Willard 064346594d
fix split-screen error when a mod provides a localized asset in one screen but not another 2022-05-24 18:12:06 -04:00
Jesse Plamondon-Willard 5083b65c87
fix readme headings for mod build package 2022-05-23 14:33:01 -04:00
Jesse Plamondon-Willard 5675f9fceb
add watcher names to simplify troubleshooting 2022-05-23 12:57:33 -04:00
Jesse Plamondon-Willard 87ac7fc403
fix nullable annotations in NetListWatcher 2022-05-23 12:57:33 -04:00
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