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