Commit Graph

3866 Commits

Author SHA1 Message Date
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
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 c8ad50dad1
Merge branch 'develop' into stable 2022-05-01 18:16:09 -04:00
Jesse Plamondon-Willard f78093bdb5
prepare for release 2022-05-01 17:39:57 -04:00
Jesse Plamondon-Willard 0e4aa65708
fix crossplatform build scripts 2022-05-01 17:33:41 -04:00
Jesse Plamondon-Willard ea9324586d
fix warnings for model-binding hack 2022-05-01 17:31:54 -04:00
Jesse Plamondon-Willard db43fc22a4
update Pintail to fix proxy type name conflict edge case 2022-05-01 01:34:44 -04:00
Jesse Plamondon-Willard 7bb7a7522f
omit stack trace for deprecated code not called directly by the mod 2022-04-30 12:57:28 -04:00
Jesse Plamondon-Willard ed337ab964
fix model binding for mod update-check API 2022-04-30 12:33:33 -04:00
Jesse Plamondon-Willard f507bd0f9c
set SMAPI version from main build script 2022-04-29 22:55:12 -04:00
Jesse Plamondon-Willard a340c8b8ce
enable some disabled steps in Windows build script
This simplifies preparing test Windows-only installers.
2022-04-29 22:46:37 -04:00
Jesse Plamondon-Willard d7d8cdaa5a
add backwards compatibility for loading content assets with .xnb extension 2022-04-27 20:09:43 -04:00
Jesse Plamondon-Willard 8425c82033
fix locale change for legacy IAssetEditor/Loader implementations 2022-04-26 23:54:48 -04:00
Jesse Plamondon-Willard 6a43171e92
re-enable Pintail by default 2022-04-26 23:38:16 -04:00
Jesse Plamondon-Willard 55c254deb8
fix null reference error when implicitly converting null translation to string 2022-04-25 00:15:31 -04:00
Jesse Plamondon-Willard 4a14792e4d
fix ReplaceWith not working for legacy IAssetEditor implementations 2022-04-23 16:47:24 -04:00