Commit Graph

3621 Commits

Author SHA1 Message Date
Ishan Jalan da1eca3696 Moving Sidebar GIF to SVG 2022-07-17 09:53:52 +05:30
Jesse Plamondon-Willard 830d2c57cc
update log parser for new update alert format 2022-07-09 01:06:32 -04:00
Ishan Jalan 6d9dcdc2f8
Update pufferchick-cool.svg 2022-07-09 00:58:26 -04:00
Jesse Plamondon-Willard 521129ad21
raise deprecation levels 2022-07-09 00:53:11 -04:00
Jesse Plamondon-Willard 477ecbab6e
bypass browser cache & delete unused images 2022-07-08 19:36:32 -04:00
Ishan Jalan 5da690cbef
Update pufferchick-cool.svg 2022-07-08 19:31:44 -04:00
Ishan Jalan a52f24307b
pufferchick-cool updated [2] 2022-07-08 19:31:41 -04:00
Ishan Jalan 173bc4f517
Updated pufferchick cool 2022-07-08 19:31:37 -04:00
Ishan Jalan 8eeda8b4c4
SVGs for pufferchick and pufferchick-cool
SVG > PNG
2022-07-08 19:31:28 -04:00
Jesse Plamondon-Willard 4850e80e56
Merge pull request #855 from spacechase0/appmanifest
Add app.manifest, fixing DPI awareness
2022-07-08 19:15:33 -04:00
Jesse Plamondon-Willard 0c787de2df
match settings used by the game 2022-07-08 19:13:45 -04:00
Jesse Plamondon-Willard bc71665c1c
apply editorconfig 2022-07-08 19:11:40 -04:00
Jesse Plamondon-Willard 795e808063
Merge pull request #852 from TehPers/TehPers/search-local-deps
Search assembly directory for dependencies
2022-07-08 19:03:59 -04:00
Jesse Plamondon-Willard 1b3a1a48d0
refactor assembly resolver to avoid repeatedly copying search directory list 2022-07-08 19:02:33 -04:00
Jesse Plamondon-Willard 1b25710cf2
fix installer partly applying color theme before it's selected 2022-07-08 17:48:01 -04:00
Jesse Plamondon-Willard dcb3a97727
add log parser warning for PyTK compatibility mode 2022-07-08 17:44:27 -04:00
Jesse Plamondon-Willard bcb9e25d86
prepare for release 2022-07-06 22:25:45 -04:00
Jesse Plamondon-Willard 9c9552531f
fix build warnings 2022-07-06 19:25:15 -04:00
Jesse Plamondon-Willard 4d9fd63d9e
update code annotations 2022-07-06 19:24:49 -04:00
Jesse Plamondon-Willard 2347644a1f
update compatibility list for broken CFAutomate unofficial update 2022-07-06 18:36:29 -04:00
Jesse Plamondon-Willard ed1705d4d7
Merge pull request #854 from ishanjalan/develop
Current version in mod check
2022-07-05 23:23:26 -04:00
Jesse Plamondon-Willard 543e45f9bd
remove artifacts, tweak text 2022-07-05 23:21:51 -04:00
Jesse Plamondon-Willard 454f3a45ba
fix trace logs not tracking reloaded map tilesheets as asset propagation 2022-07-05 23:19:53 -04:00
Jesse Plamondon-Willard 42099f24ee
improve log parser's 'suggested fixes' styles 2022-07-05 22:36:02 -04:00
Jesse Plamondon-Willard 0ba4fd1785
detect missing/outdated Error Handler for 'suggested fixes' section 2022-07-05 22:09:46 -04:00
Jesse Plamondon-Willard f3a4b316b7
fix PyTK compatibility mode not handling some edge cases 2022-07-05 19:01:28 -04:00
Chase Warrington f44a2fbfcf Add app.manifest, fixing DPI awareness 2022-07-04 20:42:27 -04:00
Ishan Jalan d717e246b6 Current version in mod check
Added "(You have x.x.x)" to the mod update check.
2022-07-02 08:42:35 +05:30
Jesse Plamondon-Willard bd88727948
remove obsolete override
SMAPI no longer raises UsesDynamic warnings.
2022-06-28 20:48:58 -04:00
Jesse Plamondon-Willard 6b411d1dee
fix deprecation check 2022-06-28 20:48:28 -04:00
TehPers 0c0f7898f4 Search assembly directory for dependencies 2022-06-28 16:37:58 -07:00
Jesse Plamondon-Willard 6d11c41fac
migrate update checks to FluentHttpClient
WebClient isn't needed for compatibility with macOS after the .NET 5 update in Stardew Valley 1.5.5, and causes noticeable lag for some players even when running on a background thread.
2022-06-28 18:17:27 -04:00
Jesse Plamondon-Willard 5e1212e99a
update schema for Content Patcher 1.27.0 2022-06-28 01:13:11 -04:00
Jesse Plamondon-Willard bbc476a2cf
split local deploy into its own targets file 2022-06-26 14:41:35 -04:00
Jesse Plamondon-Willard ca9efad7a7
avoid cancellation token for tracking exit state
This apparently causes noticeable lag for a minority of players.
2022-06-24 17:00:39 -04:00
Jesse Plamondon-Willard 525ca7c9c9
fix config.user.json overrides no longer applied 2022-06-24 02:06:25 -04:00
Jesse Plamondon-Willard 1021c32910
update fluent HTTP client 2022-06-22 20:15:25 -04:00
Jesse Plamondon-Willard be086cf005
avoid unneeded overhead of ConcurrentQueue 2022-06-22 01:53:37 -04:00
Jesse Plamondon-Willard c91fbc82f8
deprecate support for updating ancient versions of SMAPI 2022-06-20 18:02:41 -04:00
Jesse Plamondon-Willard dab1ef6acc
add flag to disable deprecated code 2022-06-20 18:01:48 -04:00
Jesse Plamondon-Willard e0ef8a20a5
fix mod count in log parser metadata 2022-06-19 17:21:53 -04:00
Jesse Plamondon-Willard 011aa4c9d0
prepare for release 2022-06-16 22:14:09 -04:00
Jesse Plamondon-Willard 525351e905
fix case-sensitive mod ID check 2022-06-16 19:21:38 -04:00
Jesse Plamondon-Willard e8bcbf7e5a
update compatibility list 2022-06-12 20:29:56 -04:00
Jesse Plamondon-Willard 15f829e48c
patch PyTK temporarily to fix scale-up compatibility in SMAPI 3.15 2022-06-12 12:26:51 -04:00
Jesse Plamondon-Willard 0189b282f4
add image compatibility mode for PyTK 2022-06-10 22:14:28 -04:00
Jesse Plamondon-Willard 11a497c1f6
update Pintail 2022-06-10 00:05:23 -04:00
Jesse Plamondon-Willard 0bb9fc4293
update Newtonsoft.Json 2022-06-10 00:05:22 -04:00
Jesse Plamondon-Willard b6d15ec57f
update unit test & web dependencies 2022-06-10 00:04:27 -04:00
Jesse Plamondon-Willard 62328e4384
tweak new code, update release notes 2022-06-10 00:04:26 -04:00
Ameisen 03897776e0
Cleaning up and optimizing `ContentCache.cs` 2022-06-10 00:04:26 -04:00
Jesse Plamondon-Willard 43e9e2cfe2
fix accidental case-sensitivity change 2022-06-10 00:04:26 -04:00
Jesse Plamondon-Willard 565677c18c
use IRawTextureData instead of intermediate tuple 2022-06-10 00:04:26 -04:00
Jesse Plamondon-Willard ba7f5701de
simplify asset type validaiton 2022-06-10 00:04:25 -04:00
Jesse Plamondon-Willard 87c7095e8d
apply style conventions 2022-06-10 00:04:25 -04:00
Ameisen 5585f5e876
Refactored ModContentManager.cs so it actually fit on my 1440p screens.
Changed LocalTilesheetExtensions into an array.
Marked 'CreateTemporary' as 'Obsolete' which is conventional for methods that only throw.
Moved the type validation logic into its own method as it's largely shared for each loader.
Changed allocators to use `GC.AllocateUninitializedArray`, as the data does not need to be initialized.
Changed `LoadRawImageData` to use a `ValueTuple` return instead of returning with multiple `out`s, which is bad practice.
Preferred rethrowing handlers rather than exception filters (which generate bizarre and _very difficult to patch_ code).
Marked GetLoadError as debugger step through and hidden, as it's just an exception generator.
Marked PremultiplyTransparency, GetContentKeyForTilesheetImageSource, and LoadRawImageData as static as they have no dependency on instance data (nor should they).
Fixed `.xnb` extension search to properly use OrdinalIgnoreCase.
2022-06-10 00:04:25 -04:00
Jesse Plamondon-Willard 9d21e0bbec
simplify pixel conversion loop 2022-06-10 00:04:25 -04:00
Jesse Plamondon-Willard 4f6965eef3
encapsulate loading the raw image data for mod patching 2022-06-10 00:04:24 -04:00
Jesse Plamondon-Willard 5ffa260e02
add validation error when loading XNB file as IRawTextureData 2022-06-10 00:04:24 -04:00
Jesse Plamondon-Willard b6a8dcdd46
update to Harmony 2.2.1 2022-06-10 00:04:24 -04:00
Jesse Plamondon-Willard db578c389e
drop support for pre-Pintail proxying 2022-06-10 00:04:23 -04:00
Jesse Plamondon-Willard 769475166a
enable raw image loading by default, rename setting 2022-06-10 00:04:23 -04:00
Jesse Plamondon-Willard 4708385f69
add IRawTextureData asset type 2022-06-10 00:04:23 -04:00
Jesse Plamondon-Willard a546fd113f
add experimental image load rewrite 2022-06-10 00:04:22 -04:00
Jesse Plamondon-Willard cb6fcb0450
rework VerboseLogging option to allow enabling for specific mods 2022-06-10 00:04:22 -04:00
Jesse Plamondon-Willard 8713914a1a
avoid NPC pathfinding rebuild if reachable locations didn't change 2022-06-08 23:33:09 -04:00
Jesse Plamondon-Willard fdb74df8a4
simplify repeated hash set creation 2022-06-06 21:28:57 -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 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 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 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 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 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 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 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 f78093bdb5
prepare for release 2022-05-01 17:39:57 -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 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
Jesse Plamondon-Willard 4fa414c2bd
set page/perPage URL args together
Since there's no UI to set the page size, this makes the argument more discoverable.
2022-04-21 20:59:35 -04:00
Jesse Plamondon-Willard c055056460
update Pintail to fix out parameter issue 2022-04-19 22:11:43 -04:00
Jesse Plamondon-Willard f0645c5993
fix null reference when adding new layers in a map patch 2022-04-19 22:08:34 -04:00
Jesse Plamondon-Willard d4d378bff3
don't add default pagination values to log URL 2022-04-19 19:25:10 -04:00
Jesse Plamondon-Willard 5c819662f8
suppress some duplicate deprecation notices 2022-04-19 19:14:53 -04:00
Jesse Plamondon-Willard e6c696fa6b
add immutable stack trace to cache stack info 2022-04-19 19:11:58 -04:00
Jesse Plamondon-Willard 889004f1eb
move deprecation code into namespace 2022-04-19 19:03:47 -04:00
Jesse Plamondon-Willard a8a4d314df
simplify ExtendMap usage 2022-04-17 22:12:17 -04:00
Jesse Plamondon-Willard b25e30a896
fix model binding error 2022-04-17 01:07:18 -04:00
Jesse Plamondon-Willard 7b79703de6
tweak code style 2022-04-16 21:07:34 -04:00
Jesse Plamondon-Willard 36af2cf8ac
Merge pull request #841 from KhloeLeclair/safe-regex
[Website] Improve regex safety for the log viewer
2022-04-16 20:15:24 -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 0a69cb4bf7
allow switching between Pintail & original API proxying 2022-04-16 19:15:50 -04:00
Jesse Plamondon-Willard 7dec519234
fix broken unit tests 2022-04-16 18:29:52 -04:00
Jesse Plamondon-Willard 20224d293d
add unit test for proxied out parameters 2022-04-16 16:59:53 -04:00
Jesse Plamondon-Willard 559d763756
remove unused subfolder manifest scanning
This isn't needed anymore with the current is-mod-folder scanning.
2022-04-16 14:34:52 -04:00
Jesse Plamondon-Willard f93c41f55c
make manifest.json filename case-insensitive 2022-04-16 14:28:20 -04:00
Jesse Plamondon-Willard 95d7ba8935
move case-insensitive path lookup into toolkit for reuse 2022-04-16 14:07:09 -04:00
Khloe Leclair 446205c7bd Add regex error checking, and display a message to the user when their regular expression has a syntax error. Additionally, use a non-capturing group to surround the user input when `Match whole word` is enabled in case alternates are being used. Finally, add a safety check to highlighting to avoid an infinite loop when zero-length matches happen. 2022-04-16 13:55:54 -04:00
Jesse Plamondon-Willard 1974324c43
make EntryDll manifest field case-insensitive 2022-04-16 13:41:37 -04:00
Jesse Plamondon-Willard c3f6983009
Merge pull request #840 from KhloeLeclair/log-cleanup
[Website] Cleanup log filtering a bit more, save state to URL
2022-04-16 12:59:21 -04:00
Jesse Plamondon-Willard 64b9da560f
minor refactoring & code style 2022-04-16 12:56:38 -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 2dc20be5f7
use specified nullability in reflection API (#837) 2022-04-16 11:10:13 -04:00
Jesse Plamondon-Willard c0d0ad0282
show simplified stack trace for deprecation notices 2022-04-14 23:55:08 -04:00
Jesse Plamondon-Willard fd136d34c5
track full mod & stack metadata in queued deprecation warnings 2022-04-14 23:11:41 -04:00
Jesse Plamondon-Willard 1a3befa93e
track mod metadata reference in APIs for upcoming deprecation changes 2022-04-14 23:00:30 -04:00
Jesse Plamondon-Willard 43c875c4c2
prepare mod build package 4.0.1 for release 2022-04-14 19:21:18 -04:00
Jesse Plamondon-Willard eb125f1994
fix assembly version conflict error in mod build package 2022-04-14 18:14:08 -04:00
Jesse Plamondon-Willard 4de18b516f
fix nullable annotation (#837) 2022-04-14 18:13:27 -04:00
Jesse Plamondon-Willard 66272cbe46
fix false-positive deprecation notice (#837) 2022-04-13 23:40:47 -04:00
Jesse Plamondon-Willard ff1b4cd323
remove reflection no longer needed after migration to MonoGame 2022-04-13 22:19:45 -04:00
Jesse Plamondon-Willard 3078ae2a8e
fix typos in recent changes (#837) 2022-04-13 22:17:26 -04:00
Jesse Plamondon-Willard 2765e3f9b3
enable nullable annotations in bundled mods (#837) 2022-04-13 22:06:07 -04:00
Jesse Plamondon-Willard aa7b0caf46
fix helpers not disposed if the mod is finalized 2022-04-13 21:08:07 -04:00
Jesse Plamondon-Willard 7c411b29bb
fix spelling warnings 2022-04-13 21:07:58 -04:00
Jesse Plamondon-Willard 4adf861113
enable nullable annotations in the rest of SMAPI core (#837) 2022-04-13 21:07:43 -04:00
Jesse Plamondon-Willard 5b24fff477
remove unused code (#837) 2022-04-13 20:41:34 -04:00
Jesse Plamondon-Willard f39da383a1
enable nullable annotations in SMAPI where no logic changes are needed (#837) 2022-04-13 20:24:14 -04:00
Jesse Plamondon-Willard 6e9e8aef1e
enable nullable annotations in SMAPI where no changes are needed (#837) 2022-04-13 19:00:24 -04:00
Jesse Plamondon-Willard 40aebb74c6
enable nullable annotations in installer (#837) 2022-04-12 21:01:13 -04:00
Jesse Plamondon-Willard 5f7a92a745
enable nullable annotations in unit tests (#837) 2022-04-12 20:52:01 -04:00
Jesse Plamondon-Willard c3851ae2e6
enable nullable annotations in shared projects (#837) 2022-04-12 19:56:52 -04:00
Jesse Plamondon-Willard 4e0e928c94
remove `#nullable disable` in mod build package (#837)
Since it targets .NET Standard 2.0, they're not available anyway.
2022-04-12 19:19:37 -04:00
Jesse Plamondon-Willard 0b48c1748b
enable nullable annotations in the web project & related code (#837) 2022-04-12 19:15:39 -04:00
Khloe Leclair 4f54f517ce Use an optional section for rendering quick navigation links on the mod viewer, containing them within the #sidebar element. 2022-04-12 13:50:51 -04:00
Khloe Leclair 0b92275649 Make horizontal scrolling with the quick navigation links less bad. Probably need to move them into the actual sidebar element though for proper sorting. 2022-04-12 02:18:51 -04:00
Khloe Leclair a21d24f4b7 Replace bitfields for state and just use comma-separated strings. Add a note that numbers may be inaccurate if filtering is used when sections are collapsed. Add quick navigation links. 2022-04-12 02:07:21 -04:00
Jesse Plamondon-Willard 9fbed0fa1f
Merge pull request #839 from nuztalgia/develop
Ignore dot-prefixed files when scanning for mods
2022-04-11 23:20:20 -04:00
Jesse Plamondon-Willard 1e61309d3d
add IAssetDataForMap.ExtendMap 2022-04-11 22:56:14 -04:00
Khloe Leclair 94b8507a47 Add more documentation strings. Use shallow equality checking to decide whether to include a filter in the URL or not to avoid unnecessarily large URLs. 2022-04-11 15:01:59 -04:00
Khloe Leclair 0babc3e446 Cleanup log filtering a bit, with a clearer string for the number of total messages. Additionally, save and restore filter state from the URL for better linking. 2022-04-11 14:29:33 -04:00
Nuz / Lovegood 25e0b4b8ad Make IsRelevant return false for any files starting with "." 2022-04-10 23:34:50 -07:00
Nuz / Lovegood 2a05e28782 Revert "Make ModScanner ignore .gitignore files."
This reverts commit c92efc65ce.
2022-04-10 23:33:32 -07:00
Jesse Plamondon-Willard 761f2d952b
enable nullable annotations in mod data models (#837) 2022-04-10 21:34:18 -04:00
Nuz / Lovegood c92efc65ce Make ModScanner ignore .gitignore files.
This is helpful for cases like this: https://cdn.discordapp.com/attachments/156109690059751424/962879339739885578/unknown.png
2022-04-10 18:20:11 -07:00
Jesse Plamondon-Willard 0336fb2524
add temporary cachebusting queries for log parser 2022-04-09 17:04:39 -04:00
Jesse Plamondon-Willard 376dadd341
fix misplaced attribute (#837) 2022-04-09 16:58:52 -04:00
Jesse Plamondon-Willard 0971a10ea4
Merge pull request #838 from KhloeLeclair/clientlog
Improve log parser
2022-04-09 16:52:57 -04:00
Jesse Plamondon-Willard ae7567674d
restore data element unloading 2022-04-09 16:05:34 -04:00
Jesse Plamondon-Willard 07d07c79e0
load raw data from JSON per discussion
This avoids loading the data synchronously as a JavaScript snippet, which improves performance when opening the page.
2022-04-09 16:01:32 -04:00
Jesse Plamondon-Willard 26d29a1070
minor refactoring 2022-04-09 15:44:17 -04:00
Jesse Plamondon-Willard 650af7ef1a
enable nullable annotations in log parser (#837) 2022-04-09 13:59:56 -04:00
Jesse Plamondon-Willard ad4d065fe7
simplify code with generic Enum.GetValues 2022-04-09 13:10:54 -04:00
Jesse Plamondon-Willard ccf760452d
pass data directly to script instead of serializing & deserializing it 2022-04-09 13:08:38 -04:00
Jesse Plamondon-Willard 260dbbf205
standardize quote style 2022-04-09 13:02:25 -04:00
Jesse Plamondon-Willard b3519f3cc1
rename 'data' to 'state' for upcoming changes 2022-04-09 12:59:21 -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 283e7d1132
Merge pull request #836 from Tondorian/feature/CommandLineArgs
Add command-line arguments to toggle developer mode

# Conflicts:
#	src/SMAPI/Program.cs
2022-04-09 11:56:48 -04:00
Jesse Plamondon-Willard 6161cc9129
fix config.user.json overriding new CLI arguments 2022-04-09 11:54:23 -04:00
Jesse Plamondon-Willard 092f0aa4ea
simplify format for new CLI arguments 2022-04-09 11:52:20 -04:00
Jesse Plamondon-Willard 5ae87fbc01
fix deprecation warning when a mod uses LoadFromModFile 2022-04-09 11:42:49 -04:00
Khloe Leclair 631d0375c3 Simplify visible section checking by abusing Vue behavior, since the proper way is being buggy. 2022-04-08 15:26:35 -04:00
Khloe Leclair 0beff189d1 Implement client-side log rendering, better filtering, and pagination to improve performance and enhance the user experience with using the log parser. 2022-04-08 14:59:52 -04:00
Jesse Plamondon-Willard 238045ba9c
reverse mod build package migration to .NET 5 (#837)
The migrated package didn't work consistently in VIsual Studio, so this suppresses nullable annotations in .NET Standard instead.
2022-04-07 22:19:48 -04:00
Jesse Plamondon-Willard df955c0d3e
enable asset caching for GameContentHelper 2022-04-07 18:46:29 -04:00
Jesse Plamondon-Willard d706a25053
enable nullable annotations for most of the SMAPI toolkit (#837) 2022-04-07 02:33:23 -04:00
Jesse Plamondon-Willard 6b05296e71
migrate mod build package to .NET 5 to allow full nullable annotations (#837) 2022-04-07 01:51:50 -04:00
Jesse Plamondon-Willard e58e8a2283
enable nullable annotations for manifests (#837) 2022-04-07 01:38:02 -04:00
Jesse Plamondon-Willard ab6cf45b03
enable nullable annotations for semantic versions (#837) 2022-04-07 00:56:00 -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 b4e979cc99
fix all warnings to simplify migration to nullable annotations (#837) 2022-04-06 22:46:19 -04:00
Jesse Plamondon-Willard 2e7c233f6c
enable nullable annotations by default (#837)
This adds `#nullable disable` to all existing code (except where null is impossible like enum files), so it can be migrated incrementally.
2022-04-06 21:48:55 -04:00
Jesse Plamondon-Willard 215a863945
drop update checks for Stardew64Installer 2022-04-06 18:34:58 -04:00
Jesse Plamondon-Willard 077d8e4f40
remove some unused/redundant code 2022-04-06 18:25:00 -04:00
Jesse Plamondon-Willard 0539bb8f37
simplify with newer pattern features 2022-04-06 18:25:00 -04:00
Jesse Plamondon-Willard b6c8cfc28b
simplify 'is not' patterns 2022-04-06 18:24:59 -04:00
Jesse Plamondon-Willard a593eda30f
use target-typed new 2022-04-06 18:24:59 -04:00
Jesse Plamondon-Willard 29f909a8d5
fix asset name truncation when loading XNB mod file without file extension 2022-04-06 00:37:10 -04:00
Jesse Plamondon-Willard a20413664b
split mod content load method, make error-handling more consistent 2022-04-03 21:17:40 -04:00
Jesse Plamondon-Willard c9af1c452a
fix incorrect deprecation warnings for helper.Content 2022-04-03 15:44:26 -04:00
Jesse Plamondon-Willard 627472c506
add temporary hack to fix compatibility between old & new APIs for some mods 2022-04-02 21:43:56 -04:00
Jesse Plamondon-Willard 546b58778c
switch to 'processing tick' for tick caching
This is incremented on each low-level tick (whether it's a game update, synchronized async operation, etc). That mainly avoids the cache persisting across the entire save loading process while it's being synchronized.
2022-04-02 19:13:27 -04:00
Jesse Plamondon-Willard f58cdde981
fix errors due to null asset names in asset propagation 2022-04-02 15:12:05 -04:00
Jesse Plamondon-Willard 6292b21f22
fix tick cache using game ticks instead of SMAPI ticks
The game ticks aren't incremented consistently in some cases (e.g. while loading a save), which leads to the cache values being kept too long.
2022-04-02 14:59:09 -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 bac1f34f65
fix local file path asset name parsing locale codes in rare cases (#766)
Mod file paths can't be localized through the content pipeline. Normally the locale would be ignored anyway due to the file extension, but it'd be incorrectly parsed if the file name ended with a locale and no file extension (like "assets/example.fr-FR").
2022-04-01 22:59:50 -04:00
Patrick Müssig 61d857c41f
Added support for `--developer-mode true|false`
Minimal changes required to enable/disable developer mode  via command
line argument. This commit does not include any error handling for
invalid values how ever they will be ignored and not crash the game.
2022-04-02 04:08:49 +02:00
Jesse Plamondon-Willard 6ad8ca932e
keep old XNB file extension behavior for backwards compatibility (#766) 2022-04-01 00:33:35 -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 d864f2ed77
add asset type to AssetRequested event (#766) 2022-03-27 12:16:28 -04:00
Jesse Plamondon-Willard 03efea2667
add LocaleChanged content event (#766) 2022-03-26 19:08:25 -04:00
Jesse Plamondon-Willard eebd8d54dc
expand obsolete attributes (#766) 2022-03-26 18:34:49 -04:00
Jesse Plamondon-Willard 5683bc9c7d
give Content Patcher internals access
This makes some of its low-level logic safer by avoiding unvalidated reflection.
2022-03-26 17:46:10 -04:00
Jesse Plamondon-Willard bacb851d7b
add IContentHelper.ParseAssetName (#766) 2022-03-26 17:44:48 -04:00
Jesse Plamondon-Willard 3a9ea66a20
update asset propagation for new content API (#766) 2022-03-26 17:37:01 -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 e40907ab8b
add NameWithoutLocale fields (#766) 2022-03-26 01:19:44 -04:00
Jesse Plamondon-Willard 4da38e1317
add missing [Obsolete] tag 2022-03-26 00:52:04 -04:00
Jesse Plamondon-Willard 3707f481a5
extend load conflict resolution into load priority (#766) 2022-03-25 23:53:30 -04:00
Jesse Plamondon-Willard 021891ff0c
add load conflict resolution option (#766) 2022-03-25 22:49:14 -04:00
Jesse Plamondon-Willard 0e0c135604
add content pack label to more logs (#766) 2022-03-25 22:42:22 -04:00