Commit Graph

2738 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard cfdf783c2d
split older release notes into a separate file 2020-11-21 14:04:58 -05:00
Jesse Plamondon-Willard 8a66532e74
update to TMXTile 1.5.8 2020-11-21 12:40:44 -05:00
Jesse Plamondon-Willard 91289de74f
update internal dependencies 2020-11-17 19:09:55 -05:00
Jesse Plamondon-Willard 03506fc72a
update to TMXTile 1.5.7 2020-11-17 19:09:00 -05:00
Jesse Plamondon-Willard 947d4545b1
fix 'collection was modified' error when using 'harmony summary' command in rare cases 2020-11-10 20:11:52 -05:00
Jesse Plamondon-Willard ec84ba07cc
apply fish pond rules for roe spawning 2020-10-30 20:46:46 -04:00
Jesse Plamondon-Willard 2831b1e75a
add SearchableItem copy constructor
This is for convenience in mods which copy this code; SMAPI itself doesn't use it.
2020-10-28 18:21:33 -04:00
Jesse Plamondon-Willard 295c34d5cd
fix a captured loop variable 2020-10-28 18:20:41 -04:00
Jesse Plamondon-Willard f9f3db7db0
add character-customization-only shirts to item repo 2020-10-24 18:28:43 -04:00
Jesse Plamondon-Willard 7c652b0924
update item repo to allow creating instances later 2020-10-24 18:26:41 -04:00
Jesse Plamondon-Willard 70cf63c907
use update URL from server instead of hardcoding it 2020-10-18 15:33:27 -04:00
Jesse Plamondon-Willard 1cac389284
fix error in heuristic rewriting 2020-10-17 22:03:43 -04:00
Jesse Plamondon-Willard 4aecc2aaba
prepare for release 2020-10-16 20:09:03 -04:00
Jesse Plamondon-Willard 534142009d
reapply the game's town map changes in asset propagation 2020-10-16 17:42:13 -04:00
Jesse Plamondon-Willard 68e9733a85
prepare for release 2020-10-03 20:27:29 -04:00
Jesse Plamondon-Willard d8f5e0bdf2
update dependencies 2020-10-03 20:24:54 -04:00
Jesse Plamondon-Willard 6e7ebc0097
fix typo in CP schema 2020-10-03 10:55:00 -04:00
Jesse Plamondon-Willard 5c733af747
fix update-check error for Chucklefish mods due to site change 2020-09-27 13:23:48 -04:00
Jesse Plamondon-Willard 4eff88fe73
fix error in case-insensitive content pack code when mod passes in a null path 2020-09-24 19:41:36 -04:00
Jesse Plamondon-Willard 9edd3b901a
prepare mod build package for release 2020-09-23 20:38:01 -04:00
Jesse Plamondon-Willard 947d9c87e0
add SMAPI-ModTranslationClassBuilder files to mod build config ignore list 2020-09-23 20:33:38 -04:00
Jesse Plamondon-Willard 819b796e8d
streamline mod build config package creation 2020-09-23 20:32:21 -04:00
Jesse Plamondon-Willard 05727acb9b
fix reference to nonexistent field
It's not really needed anyway, since managed threads will end when SMAPI exits.
2020-09-22 18:40:07 -04:00
Jesse Plamondon-Willard b5573a9331
update release notes, format code 2020-09-22 18:27:08 -04:00
Marcos Miller Dantas d5c98bf2df Performance tuning
on an old laptop i've noticed that the thread was consuming alot of resources.
2020-09-22 19:07:40 -03:00
Jesse Plamondon-Willard e0b3f97f9e
fix asset propagation for Data\MoviesReactions 2020-09-19 12:46:32 -04:00
Jesse Plamondon-Willard 01c2824b5c
update JSON schema for Content Patcher 1.18 2020-09-18 21:16:22 -04:00
David daa6ad3b95
Allow for negative values in Rectangle 2020-09-17 23:50:30 +02:00
Jesse Plamondon-Willard 59974c18a6
prepare for release 2020-09-16 21:32:45 -04:00
Jesse Plamondon-Willard 5a10cf3506
fix error when a mod rewrite adds instructions that break a short jump 2020-09-16 18:03:25 -04:00
Jesse Plamondon-Willard f06b4dd610
fix conflict with PyTK's map display device 2020-09-16 17:35:25 -04:00
Jesse Plamondon-Willard 436eb95a86
fix typo in error messages 2020-09-16 17:26:20 -04:00
Jesse Plamondon-Willard 57bc71c7eb
make IContentPack file paths case-insensitive 2020-09-15 17:34:14 -04:00
Jesse Plamondon-Willard 4189e2f3fa
add support for renewing uploaded JSON/log files 2020-09-13 11:59:17 -04:00
Jesse Plamondon-Willard 39b9f363db
prepare for release 2020-09-11 17:38:04 -04:00
Jesse Plamondon-Willard 0b6b9b3766
fix default mods folder path in build package 2020-09-11 17:36:02 -04:00
Jesse Plamondon-Willard 1abc76a224
improve logging in mod build package 2020-09-11 17:25:38 -04:00
Jesse Plamondon-Willard d53e033163
prepare for release 2020-09-08 18:16:41 -04:00
Jesse Plamondon-Willard 8a319e94c8
delete redundant unit tests 2020-09-08 18:14:04 -04:00
Jesse Plamondon-Willard 7580f87029
rename PathUtilities.NormalizePathSeparator, add normalization for more cases 2020-09-08 18:12:57 -04:00
Jesse Plamondon-Willard 1b5e7da184
prepare for release 2020-09-08 00:15:27 -04:00
Jesse Plamondon-Willard 398c7d66cb
fix input handling issues in SMAPI 3.7
This commit reverses one of the input handling changes in 3.7 to fix...

* input being handled twice in some cases (e.g. a left-click to drop a shop item with Better Shop Menu would instantly sell it);
* an issue where Harvest With Scythe would cause the player to skid forward more than usual when scything crops;
* possibly other reported issues including gamepad input lag.
2020-09-08 00:10:24 -04:00
Jesse Plamondon-Willard 2022836b81
prepare for release 2020-09-06 20:59:19 -04:00
Jesse Plamondon-Willard 0b21357e37
fix asset propagation for title menu buttons 2020-09-06 16:40:32 -04:00
Jesse Plamondon-Willard a627453309
move title menu asset propagation into method 2020-09-06 16:39:47 -04:00
Jesse Plamondon-Willard d7209e438d
fix code docs 2020-09-05 20:08:01 -04:00
Jesse Plamondon-Willard 55cd31f4f7
minor cleanup 2020-09-05 15:41:21 -04:00
Jesse Plamondon-Willard 4f3d7eaafc
make PathUtilities available to mods 2020-09-05 15:00:38 -04:00
Jesse Plamondon-Willard be1df8e705
simplify path separator normalization
It no longer tries to clean up the path (e.g. "path/to///file/" => "path/to/file"), which means it can more intuitively handle cases like this:
     asset.AssetName.StartsWith(PathUtilities.NormalizePathSeparators("Characters/Dialogue/"))
2020-09-05 14:51:52 -04:00
Jesse Plamondon-Willard 5d1c77884f
add unit tests for PathUtilities, fix some edge cases 2020-09-05 13:37:40 -04:00
Jesse Plamondon-Willard 220f3bc578
set max game version to prepare for upcoming SDV 1.5 update 2020-09-05 00:51:32 -04:00
Jesse Plamondon-Willard 4ce572fca6
add mod build package option to change the Mods path 2020-09-05 00:14:13 -04:00
Jesse Plamondon-Willard 4088f4cb2b
simplify error shown for duplicate mods 2020-09-04 22:02:59 -04:00
Jesse Plamondon-Willard f57feb7319
extend game's input logic instead of replacing it 2020-09-04 20:56:27 -04:00
Jesse Plamondon-Willard 685d56894f
switch SGame back to callbacks
Callbacks are simpler and more efficient in this case.
2020-08-31 20:43:03 -04:00
Jesse Plamondon-Willard 828be405e1
use inheritdoc 2020-08-30 22:53:19 -04:00
Jesse Plamondon-Willard 3a4606164c
tweaks to reduce differences in Android port 2020-08-29 23:06:52 -04:00
Jesse Plamondon-Willard a13c994e8b
format code 2020-08-29 23:06:08 -04:00
Jesse Plamondon-Willard 097df9076d
fix build error on Linux/Mac 2020-08-29 23:04:25 -04:00
Jesse Plamondon-Willard a1e1b7d103
fix map tile rotation broken when you return to title 2020-08-28 20:03:12 -04:00
Jesse Plamondon-Willard e57fc0eb15
fix old comment 2020-08-26 23:27:32 -04:00
Jesse Plamondon-Willard 0bf692addc
add heuristic rewrite for field => const changes 2020-08-26 23:11:41 -04:00
Jesse Plamondon-Willard 54e7fb7a0b
fix some broken field references not detected 2020-08-26 22:32:59 -04:00
Jesse Plamondon-Willard d3c5fe0764
rename new heuristic rewriters for clarity 2020-08-26 22:14:25 -04:00
Jesse Plamondon-Willard 16161a214f
remove now-unused instruction replace callback 2020-08-26 21:55:08 -04:00
Jesse Plamondon-Willard fd6835555c
fix InvalidProgramException when replacing CIL instructions in some cases 2020-08-26 21:55:04 -04:00
Jesse Plamondon-Willard a4938fc465
tweak locale init so it doesn't depend on the game's internal load order 2020-08-25 23:13:55 -04:00
Jesse Plamondon-Willard ec4b81819a
use inheritdoc in rewriters 2020-08-25 22:59:08 -04:00
Jesse Plamondon-Willard abfe40bf69
fix some method references only partially rewritten
Thanks to Bepis on Discord for helping find the issue!
2020-08-25 22:49:00 -04:00
Jesse Plamondon-Willard b9a9fe36bb
fix missing-parameter rewriter not loading default values onto stack 2020-08-25 22:05:27 -04:00
Jesse Plamondon-Willard 915e6d22f1
minor tweaks 2020-08-24 22:23:02 -04:00
Jesse Plamondon-Willard 3a89040876
add rewriter for method references with missing optional parameters 2020-08-24 22:16:48 -04:00
Jesse Plamondon-Willard 1bd67baae1
support mapping fields to a different type in FieldReplaceRewriter 2020-08-24 21:39:50 -04:00
Jesse Plamondon-Willard 94b8262692
add heuristic field-to-property rewriter 2020-08-24 20:11:56 -04:00
Jesse Plamondon-Willard 046deb2d56
simplify console interception flow
The console interceptor now uses a marker in the string (instead of a state field) to track whether the message should intercepted. This makes each write more atomic, so it's less affected by multithreading in some cases.
2020-08-24 19:25:57 -04:00
Jesse Plamondon-Willard 46d63e11cc
switch to ILSpy for decompiled code 2020-08-24 18:35:51 -04:00
Jesse Plamondon-Willard 7f35e74ca1
fix object-disposed error 2020-08-23 22:11:11 -04:00
Jesse Plamondon-Willard c37280222d
minor cleanup 2020-08-23 20:53:09 -04:00
Jesse Plamondon-Willard 1ff4a0774e
remove unneeded access modifier 2020-08-23 19:00:46 -04:00
Jesse Plamondon-Willard 76c926c396
add EarlyConstants for constants needed before external DLLs are loaded 2020-08-23 18:51:01 -04:00
Jesse Plamondon-Willard 625c41c0ea
move file for upcoming change 2020-08-23 18:45:54 -04:00
Jesse Plamondon-Willard fd3bc77d81
centralise core SMAPI logic, decouple from Game1 where possible 2020-08-23 17:24:08 -04:00
Jesse Plamondon-Willard ad1b9a870b
move some console/logging logic out of SCore into a new LogManager 2020-08-23 14:22:27 -04:00
Jesse Plamondon-Willard cb37644291
move assembly attributes to match convention 2020-08-22 21:47:37 -04:00
spacechase0 f012dae872 Fix harmony attributes not workign cross-platform 2020-08-17 20:28:51 -04:00
Jesse Plamondon-Willard 6afb80676b
fix CP validation for new 'Update' field 2020-08-16 23:01:19 -04:00
Jesse Plamondon-Willard d6dc1364be
update schema for Content Patcher 1.17 2020-08-16 11:28:13 -04:00
Jesse Plamondon-Willard 497192fab2
tweak update alert rules 2020-08-15 13:17:42 -04:00
Jesse Plamondon-Willard d6a830f7e8
fix broken URL in update alerts for unofficial versions 2020-08-15 13:05:32 -04:00
Jesse Plamondon-Willard 544919ad13
remove experimental RewriteInParallel option 2020-08-13 20:01:22 -04:00
Jesse Plamondon-Willard 48eb5e6be0
add support for read/writing SDate to JSON 2020-08-09 19:10:54 -04:00
Jesse Plamondon-Willard 066f1857a1
fix error when mods add/remove events asynchronously 2020-08-09 11:56:40 -04:00
Jesse Plamondon-Willard e54a5d0569
update Content Patcher schema for 1.16 2020-08-03 22:35:51 -04:00
Jesse Plamondon-Willard b96bcb2189
prepare for release 2020-08-02 16:38:02 -04:00
Jesse Plamondon-Willard 1cd55c34f0
fix compile error on Linux/Mac 2020-08-02 16:28:53 -04:00
Jesse Plamondon-Willard 849c6da9ca
update dependencies 2020-08-02 16:18:11 -04:00
Jesse Plamondon-Willard e96f4fb797
format new code, update release notes 2020-07-29 22:42:47 -04:00
Alena Messmer 1994eac81a avoid expanding arguments into quoted strings 2020-07-28 21:41:06 -07:00
Jesse Plamondon-Willard 7900a84bd6
use ordinal comparison/sorting instead of invariant 2020-07-26 02:50:20 -04:00
Jesse Plamondon-Willard ee4c88f601
log GPU info to simplify troubleshooting 2020-07-25 15:50:36 -04:00
Jesse Plamondon-Willard 6f9a1f1525
fix error when a mod adds/remove an event handler while handling the event 2020-07-21 13:57:28 -04:00
Jesse Plamondon-Willard 4b07e10520
ignore more content file types when detecting mods 2020-07-21 13:51:11 -04:00
Jesse Plamondon-Willard 4590b75bc3
add item repository fixes from CJB Cheats Menu code 2020-07-17 12:09:07 -04:00
Jesse Plamondon-Willard 16a37fc89f
fix other missing quotes 2020-07-05 19:38:51 -04:00
Ellen 02a9084301
Update smapi.targets so 0Harmony, MonoGame refs appear only when intended. 2020-07-05 03:15:14 -04:00
Jesse Plamondon-Willard 623684a3ad
update Content Patcher format version in schema 2020-07-04 12:59:03 -04:00
Jackson Law d561768246
Update unix-launcher.sh
$LAUNCHER does not evaluate when enclosed in single quotes. Changed to double quotes to run properly.
2020-06-22 22:36:59 -07:00
Jesse Plamondon-Willard 4f73fb5c33
prepare for release 2020-06-21 11:39:23 -04:00
Jesse Plamondon-Willard c8f7269966
fix event priority sorting 2020-06-21 11:36:35 -04:00
Jesse Plamondon-Willard cb9ff70199
prepare for release 2020-06-20 12:42:31 -04:00
Jesse Plamondon-Willard e9b8df4618
fix reload_i18n not reloading content pack translations 2020-06-20 12:29:08 -04:00
Jesse Plamondon-Willard 74defbfec6
remove special handling for SMAPI 3.6 beta 2020-06-20 12:08:57 -04:00
Jesse Plamondon-Willard ed3309e7bb
remember selected schema when editing a file 2020-06-20 11:36:22 -04:00
Jesse Plamondon-Willard d02a40de99
change default JSON validator schema to none 2020-06-20 11:31:01 -04:00
Jesse Plamondon-Willard b32cad4046
add i18n schema to JSON validator 2020-06-20 11:13:23 -04:00
Jesse Plamondon-Willard 067163da02
make parallel rewriting optional 2020-06-20 00:50:23 -04:00
Jesse Plamondon-Willard a7cf886b71
switch to custom build of Harmony 1.2.0.1 2020-06-20 00:13:23 -04:00
Jesse Plamondon-Willard aeab19f4ac
backport harmony_summary command to Harmony 1.x (#711) 2020-06-19 21:28:44 -04:00
Jesse Plamondon-Willard c41b92f721
improve new event code
This commit...
* debounces the has-custom-priorities check;
* fixes collection-modified-during-enumeration errors if an event handler is added or removed while the event is being raised;
* fixes Remove(handler) removing all instances of the handler instead of the last one.
2020-06-16 20:14:27 -04:00
Jesse Plamondon-Willard f63f14c703
fix typo 2020-06-16 18:53:29 -04:00
Jesse Plamondon-Willard dcd2c647a2
temporarily restore Harmony 1.x support with compile flag (#711) 2020-06-15 22:17:32 -04:00
Jesse Plamondon-Willard 6d1cd7d9b8
fix merge, update release notes 2020-06-15 22:14:17 -04:00
Jesse Plamondon-Willard e759332135
Merge pull request #723 from spacechase0/event-priority
Implement event priority attribute
2020-06-15 21:34:46 -04:00
Jesse Plamondon-Willard 02e7318d2b
merge inconsistent event raise methods 2020-06-15 19:08:02 -04:00
Jesse Plamondon-Willard da95a906bf
increase event priority range
This can be used in cases where more granular priority is needed.
2020-06-15 18:59:05 -04:00
Jesse Plamondon-Willard fc29fe918a
refactor & optimize event code a bit, drop old support for unknown event handlers 2020-06-15 18:58:05 -04:00
Chase W b395e92faa Implemented event priority attribute 2020-06-15 15:33:28 -04:00
Jesse Plamondon-Willard ff7b9a0251
update TMXTile 2020-06-14 23:30:35 -04:00
Jesse Plamondon-Willard 2d19095169
add support for using a custom Harmony build (#711) 2020-06-14 11:29:07 -04:00
Jesse Plamondon-Willard 79181012ee
tweak build files 2020-06-14 10:55:52 -04:00
Jesse Plamondon-Willard 8036bcdf00
improve premultiplication performance 2020-06-07 12:33:48 -04:00
Jesse Plamondon-Willard 868eefb9a7
fix thread safety issue in new parallel rewriting 2020-06-04 21:08:12 -04:00
Jesse Plamondon-Willard 92aaf3fb8a
simplify parallel rewriting logic 2020-06-04 19:00:48 -04:00
ZaneYork 2c9c4fbc65 Bug fix: Provide seed to Aggregate op(for Sequence contains no elements exception, all type was filtered by Where(type => type.BaseType != null) op) 2020-06-04 18:29:27 +08:00
Jesse Plamondon-Willard 43a9ee42aa
don't prevent mods from accessing game methods/properties extended by SMAPI 2020-06-03 19:02:24 -04:00
Jesse Plamondon-Willard 80f882baf3
stop rewriting module at first error 2020-06-03 18:58:04 -04:00
Jesse Plamondon-Willard 8c4edc2765
tweak new code, add release note (#718) 2020-06-03 18:52:16 -04:00
ZaneYork 9b41397a01 Remove take while op(does not return first none matched item) 2020-06-03 11:43:13 +08:00
ZaneYork 6b4e52febb Parallel exception aggregate fix 2020-06-03 10:56:31 +08:00
Jesse Plamondon-Willard 73e3735dcd
undo parallel loop (#716)
This caused errors during rewriting to be obfuscated with null reference exceptions.
2020-06-02 22:05:00 -04:00
ZaneYork 4fad1f8c0c 1.Multithread rewrite 2020-06-02 18:53:09 +08:00
Jesse Plamondon-Willard 10367a3eae
update TMXTile to fix void map issue on Android 2020-05-31 17:41:17 -04:00
Jesse Plamondon-Willard 7bbbef7687
simplify harmony_search output, tweak SMAPI's Harmony ID 2020-05-30 22:45:43 -04:00
ZaneYork f817039a3a Bug fix: make it possible for multi patch(When one patch replace an instruction, another patch didn't aware it due to the variable capture) 2020-05-29 14:25:01 +08:00
Jesse Plamondon-Willard 01b6e4ac32
fix BadImageFormatException error handling
Thanks to mouse for pointing it out!
2020-05-27 00:44:26 -04:00
Jesse Plamondon-Willard d9c2d242b9
add update key overrides 2020-05-24 16:39:56 -04:00
Jesse Plamondon-Willard ea96fdf541
update ModDrop URLs 2020-05-24 14:35:16 -04:00
Jesse Plamondon-Willard bb9cde8f2e
ignore MacOS files starting with ._ 2020-05-24 00:31:15 -04:00
Jesse Plamondon-Willard d97b11060c
add update subkeys 2020-05-24 00:21:51 -04:00
Jesse Plamondon-Willard 786077340f
refactor update check API
This simplifies the logic for individual clients, centralises common logic, and prepares for upcoming features.
2020-05-23 21:55:11 -04:00
Jesse Plamondon-Willard d7add89441
drop MongoDB code
MongoDB support unnecessarily complicated the code and there's no need to run distributed servers in the foreseeable future. This keeps the abstract storage interface so we can wrap a distributed cache in the future.
2020-05-23 19:25:34 -04:00
Jesse Plamondon-Willard 9aba50451b
keep verb when redirecting api.smapi.io 2020-05-22 23:40:22 -04:00
Jesse Plamondon-Willard b074eb279a
add harmony_summary command 2020-05-22 20:00:33 -04:00
Jesse Plamondon-Willard 163eebd92e
move internal commands out of SCore 2020-05-22 19:57:22 -04:00
Jesse Plamondon-Willard 33da29b3e5
rewrite Harmony.Patch method to allow non-implemented virtual methods (#711) 2020-05-21 23:50:34 -04:00
Jesse Plamondon-Willard db0a46cb68
rewrite HarmonyMethod to allow null (#711) 2020-05-21 23:29:23 -04:00
Jesse Plamondon-Willard f52370f6fa
rename facade classes 2020-05-21 22:29:42 -04:00
Jesse Plamondon-Willard 4468f39098
improve facade annotations 2020-05-21 22:25:09 -04:00
Jesse Plamondon-Willard 7fdc3a2ab2
fix AccessTools facade constructor logic (#711) 2020-05-21 22:21:24 -04:00
Jesse Plamondon-Willard f8e0600672
load .pdb file when mod is loaded from bytes (#711) 2020-05-21 21:59:45 -04:00
Jesse Plamondon-Willard 1beee07a35
rewrite method overrides (#711) 2020-05-21 20:32:02 -04:00
Jesse Plamondon-Willard 310eb1fe9a
Merge branch 'mod/harmony-2.0' into develop
# Conflicts:
#	docs/release-notes.md
#	src/SMAPI/Framework/ModLoading/AssemblyLoader.cs
2020-05-20 19:38:08 -04:00
Jesse Plamondon-Willard c5c30189e4
fix error-handling when patch is called with a null target method (#711) 2020-05-20 02:14:30 -04:00
Jesse Plamondon-Willard 518bf7e3f1
rewrite renamed 'prioritiy' field (#711) 2020-05-20 02:00:16 -04:00
Jesse Plamondon-Willard b38b7af054
rewrite base types & interfaces (#711) 2020-05-20 00:56:28 -04:00
Jesse Plamondon-Willard 136a548fbb
rewrite methods without a body (#711) 2020-05-20 00:54:28 -04:00
Jesse Plamondon-Willard 71a11337d6
ignore special types (#711) 2020-05-20 00:53:46 -04:00
Jesse Plamondon-Willard b54d892abf
fix rewriting declaring type for a generic method (#711) 2020-05-19 22:50:33 -04:00
Jesse Plamondon-Willard 1838842bbc
rewrite assembly rewriting, merge Harmony rewriters (#711)
This reduces duplication, decouples it from the assembly loader, and makes it more flexible to handle Harmony rewriting.
2020-05-19 20:57:50 -04:00
Jesse Plamondon-Willard f96dde00f9
fix some type references not being rewritten (#711) 2020-05-18 23:11:17 -04:00
Jesse Plamondon-Willard d1bf3d5235
move facade namespace (#711) 2020-05-18 22:44:06 -04:00
Jesse Plamondon-Willard 21303a4e98
remove workaround no longer needed with Harmony 2.0.2 (#711) 2020-05-18 17:26:47 -04:00
Jesse Plamondon-Willard b34d7470e2
simplify patch facade (#711)
Thanks to 0x0ade for the suggestion!
2020-05-18 17:24:16 -04:00
Jesse Plamondon-Willard aa5cc2c9be
fix GitHub license images not using HTTPS 2020-05-16 20:03:08 -04:00
Jesse Plamondon-Willard 9d86f20ca7
migrate subdomain redirects to Azure 2020-05-16 20:01:52 -04:00
Jesse Plamondon-Willard 5e6f1640dc
simplify single-instance deployment and make MongoDB server optional 2020-05-16 14:30:07 -04:00
Jesse Plamondon-Willard a2cfb71d89
minor cleanup 2020-05-16 11:34:00 -04:00
Jesse Plamondon-Willard c776f6053b
update deprecated code 2020-05-16 11:33:17 -04:00
Jesse Plamondon-Willard a090b6c21c
use newer C# features 2020-05-16 11:29:40 -04:00
Jesse Plamondon-Willard 896f531f4f
fix broken action links after update to .NET Core 3.0 2020-05-14 19:25:51 -04:00
Jesse Plamondon-Willard e626e5817e
tweak Harmony patch error (#711) 2020-05-13 20:52:09 -04:00
Jesse Plamondon-Willard 2b9703f98f
fix Harmony issue when assembly is loaded from memory (#711) 2020-05-11 01:40:46 -04:00
Jesse Plamondon-Willard 10531e537f
rewrite AccessTools methods which changed in Harmony 2.0 (#711) 2020-05-10 11:50:35 -04:00
Jesse Plamondon-Willard b2334fda16
update compatibility list for SMAPI 3.6 & Harmony 2.0 tracking (#711) 2020-05-09 21:42:52 -04:00
Jesse Plamondon-Willard 0b5fa6bf86
add new 'unknown' compatibility status (#711) 2020-05-09 21:30:28 -04:00
Jesse Plamondon-Willard 1ff0968590
fixed generic types in method references not rewritten (#711) 2020-05-09 20:45:45 -04:00
Jesse Plamondon-Willard df84df5ff1
add GitHub licenses to mod compatibility list, update release notes 2020-05-09 14:06:10 -04:00
Jesse Plamondon-Willard f82a8e3c2d
update web scripts 2020-05-09 13:06:21 -04:00
Jesse Plamondon-Willard 719831c15a
sort mod warning lists 2020-05-09 10:58:10 -04:00
Jesse Plamondon-Willard d8d8cac2d8
simplify logged paranoid warnings 2020-05-09 10:43:05 -04:00
Jesse Plamondon-Willard 19397a89ff
log detailed error for rewritten patch failures (#711) 2020-05-09 09:23:27 -04:00
Jesse Plamondon-Willard 3110339649
add attribute type rewriting (#711) 2020-05-09 00:51:56 -04:00
Jesse Plamondon-Willard a500812e88
update web project to .NET Core 3.1 2020-05-07 22:41:37 -04:00
Jesse Plamondon-Willard c58d01d0cf
update packages 2020-05-07 21:15:29 -04:00
Jesse Plamondon-Willard f9eebff332
update Content Patcher format in schema 2020-05-06 21:43:20 -04:00
Jesse Plamondon-Willard f16e477fc2
add base instruction handler (#711) 2020-05-06 00:02:10 -04:00
Jesse Plamondon-Willard cfc07c1ee5
fix reference to old Harmony namespace (#711) 2020-05-05 23:31:06 -04:00
Jesse Plamondon-Willard 7a60e6d2a1
migrate to Harmony 2.0 finalizers (#711) 2020-05-05 22:15:38 -04:00
Jesse Plamondon-Willard 499cd8ab31
combine Harmony 1.x rewrite logs (#711) 2020-05-05 21:45:53 -04:00
Jesse Plamondon-Willard f4192663d7
add Harmony 2.0 rewriters (#711) 2020-05-05 21:02:33 -04:00
Jesse Plamondon-Willard 2d37fe6819
rename files for upcoming change (#711) 2020-05-05 20:54:25 -04:00
Jesse Plamondon-Willard e08979acd3
migrate to Harmony 2.0 (#711) 2020-05-05 20:49:05 -04:00
Jesse Plamondon-Willard 9728fe3f34
add Multiplayer.PeerConnected event 2020-05-04 17:53:48 -04:00
Jesse Plamondon-Willard 4eb68e96ed
fix asset propagation for Gil's portraits 2020-05-04 17:41:45 -04:00
Jesse Plamondon-Willard f44151dbb4
prepare for release, tweak readme 2020-04-27 16:30:20 -04:00
Jesse Plamondon-Willard cf7bba5453
fix asset propagation for maps loaded through a temporary content manager 2020-04-25 20:05:15 -04:00
Jesse Plamondon-Willard beccea7efd
add support for getting a patch helper for arbitrary data 2020-04-24 17:53:58 -04:00
Jesse Plamondon-Willard 4fae0158ed
add map patching API
Migrated from the Content Patcher code. I'm the main author, with tile property merging based on contributions by hatrat.
2020-04-24 17:49:25 -04:00
Jesse Plamondon-Willard 06e2cb2e59
support lowercase season names in date translations 2020-04-17 17:23:24 -04:00
Jesse Plamondon-Willard 841f85a743
use better short date translations 2020-04-17 17:21:34 -04:00
Jesse Plamondon-Willard de4d4e0bcb
update unit test 2020-04-15 19:21:30 -04:00
Jesse Plamondon-Willard 3a247fa75c
tweak new code, update release notes 2020-04-15 19:20:53 -04:00
Jesse Plamondon-Willard 01b970c84a
Merge pull request #709 from kdau/develop
SDate: Add WorldDate conversions and features
2020-04-15 18:36:45 -04:00
Jesse Plamondon-Willard 97821362da
prevent object.loadDisplayName errors due to invalid/missing item data 2020-04-15 18:06:37 -04:00
Kevin Daughtridge 421bcfcd3e SDateTests: cover new field and methods 2020-04-14 00:31:47 -07:00
Kevin Daughtridge 7a60dc4ee9 SDate: fixes to new methods
- FromWorldDate: replace with explicit operator SDate
- ToWorldDate: replace with explicit operator WorldDate
- ToLocaleString: use Utility.getDateStringFor directly
- FromDaysSinceStart: reinterpret exception to an appropriate one
2020-04-14 00:19:20 -07:00
Kevin Daughtridge 49c2ee517d SDate: Add WorldDate conversions and features
- SeasonIndex
- FromWorldDate()
- FromDaysSinceStart()
- ToLocaleString()
- ToWorldDate()
2020-04-13 15:42:00 -07:00
Jesse Plamondon-Willard 5f73d47fb9
add config option to disable console colors (#707) 2020-04-12 12:35:34 -04:00
Kevin Daughtridge e370b08483 use SDate to set DaysPlayed 2020-04-11 13:25:12 -07:00
Kevin Daughtridge b363e0b6b7 set daysPlayed in world_set{day,season,year} commands 2020-04-10 12:41:35 -07:00
Jesse Plamondon-Willard c9b6b04a75
fix rare intermittent "CGI application encountered an error" errors 2020-04-05 13:38:59 -04:00
Jesse Plamondon-Willard 96ec4de727
fix marriage dialogue left in invalid state after dialogue propagation 2020-04-01 20:09:44 -04:00
Jesse Plamondon-Willard 6f8fb2a68b
fix AutoQualityPatch version in compatibility list 2020-03-29 14:40:17 -04:00
Jesse Plamondon-Willard 3e54ac8857
fix path segmenting on Linux/Mac in asset propagation 2020-03-29 12:08:56 -04:00
Jesse Plamondon-Willard cecd17ec3c
update schema for Content Patcher 1.13 2020-03-27 21:03:47 -04:00
Jesse Plamondon-Willard 31db04f4a0
prepare for release 2020-03-24 21:02:05 -04:00
Jesse Plamondon-Willard 68def4aa8a
fix mouse input suppression broken in SMAPI 3.4 (#705) 2020-03-24 19:16:51 -04:00
Jesse Plamondon-Willard 93475bab7f
fix asset changes not propagating to NPCs in an event 2020-03-23 22:32:57 -04:00
Jesse Plamondon-Willard 6d1494a56c
prepare for release 2020-03-22 19:36:49 -04:00
Jesse Plamondon-Willard 737e31b531
remove invalid-location check now handled by the game 2020-03-22 19:27:08 -04:00
Jesse Plamondon-Willard 107232ae43
update packages 2020-03-22 19:26:09 -04:00
Jesse Plamondon-Willard a50e78efd8
add monitor.LogOnce method 2020-03-22 17:40:31 -04:00
Jesse Plamondon-Willard 8d88ce8a16
fix player_add error if the player has broken XNB mods 2020-03-22 14:22:16 -04:00
Jesse Plamondon-Willard dfb1235133
fix semi-transparency issues on Linux/Mac
Apparently Mono no longer premultiplies loaded PNGs by default.
2020-03-14 18:47:19 -04:00
Jesse Plamondon-Willard e80b7712f7
encapsulate logic for each input type 2020-03-08 14:53:41 -04:00
Jesse Plamondon-Willard e39b9e0d69
fix log parse issues 2020-03-08 14:38:24 -04:00
Jesse Plamondon-Willard 5ba53cb390
optimize log parser for very long multi-line messages 2020-03-08 14:07:42 -04:00
Jesse Plamondon-Willard 29fdf9ae4a
rework input handling to allow sending custom input to the game/mods
That will let Virtual Keyboard on Android work with the future multi-key binding API, and with mods that check input state directly (e.g. Pathoschild/StardewMods#520). It might also be useful as a public API in future versions.
2020-03-08 11:45:55 -04:00
Jesse Plamondon-Willard 1b282f950a
update translation docs 2020-03-07 13:03:06 -05:00
Jesse Plamondon-Willard eec3f93434
Merge pull request #701 from Annosz/develop
Add Hungarian translations
2020-03-07 13:01:37 -05:00
Jesse Plamondon-Willard db4254513e
add support for flipped and rotated map tiles 2020-03-07 12:56:48 -05:00
Jesse Plamondon-Willard c6947682b0
update packages 2020-03-06 21:41:20 -05:00
Tóth Ádám 7adcc2fc21 Add Hungarian translations 2020-03-06 18:50:32 +01:00
Jesse Plamondon-Willard 7329d75ec8
enable detailed errors by default to simplify diagnosing issues 2020-03-02 20:24:56 -05:00
Jesse Plamondon-Willard a6b1103596
add file pickers to web UI for mobile users 2020-02-24 20:29:03 -05:00
Jesse Plamondon-Willard d03f77dd35
prepare for release 2020-02-22 23:03:18 -05:00
Jesse Plamondon-Willard 02a96b54b5
fix mods receiving their own broadcasts 2020-02-22 23:01:43 -05:00
Jesse Plamondon-Willard f9ffde9a34
prepare for release 2020-02-22 17:54:37 -05:00
Jesse Plamondon-Willard e8bb80af26
fix errors loading spouse room content packs in SMAPI 3.3
The new logic for loading map tilesheets incorrectly changed vanilla tilesheets like "townInterior" to "Maps/townInterior". While the game itself handled that, mods like Content Patcher which compared tilesheet paths would incorrectly decide that "townInterior" and "Maps/townInterior" were different files, and add a new tilesheet for it; that in turn would cause errors when patching spouse rooms, since it doesn't copy tilesheets.
2020-02-22 17:53:22 -05:00
Jesse Plamondon-Willard 585b23797e
prepare for release 2020-02-22 12:03:09 -05:00
Jesse Plamondon-Willard b8636fdf2f
update draw logic for recent game updates 2020-02-22 11:59:10 -05:00
Jesse Plamondon-Willard d3ec98fec8
update packages 2020-02-22 11:26:05 -05:00
Jesse Plamondon-Willard 03c3ab3711
update SMAPI/game version mapping, add older versions 2020-02-22 10:39:54 -05:00
Jesse Plamondon-Willard dd27b3bf35
fix parsing four-part versions from the update-check API 2020-02-20 21:32:55 -05:00
Jesse Plamondon-Willard 6a9bf10a81
migrate to new method in SMAPI 3.3 2020-02-20 21:12:00 -05:00
Jesse Plamondon-Willard eff29d94fb
don't premultiply fully opaque pixels 2020-02-20 19:52:52 -05:00
Jesse Plamondon-Willard 2cc786907b
call IAssetEditor with actual type if applicable 2020-02-19 23:42:44 -05:00
Jesse Plamondon-Willard ab90e2c890
rename InputStatus to SButtonState for consistency 2020-02-19 23:28:37 -05:00
Jesse Plamondon-Willard 2e9807a034
rework tilesheet loading to improve errors, allow future validation, and drop support for legacy content files 2020-02-19 23:20:55 -05:00
Jesse Plamondon-Willard 82d1e92d97
update TMXL name in metadata 2020-02-19 20:06:27 -05:00
Jesse Plamondon-Willard 7f63e06591
fix anchor position for new sticky header 2020-02-18 00:31:36 -05:00
Jesse Plamondon-Willard 4ce2747567
update compatibility list 2020-02-18 00:12:24 -05:00
Jesse Plamondon-Willard 2319c8e19e
make compatibility list header sticky 2020-02-17 23:55:28 -05:00
Jesse Plamondon-Willard 383ebab1af
add overrides for SMAPI on Android 2020-02-17 23:49:35 -05:00
Jesse Plamondon-Willard da49c7c13b
move hardcoded SMAPI update check logic into config 2020-02-17 23:48:57 -05:00
Jesse Plamondon-Willard 6294b27317
fix update-check error for SMAPI on Android with four-part versions 2020-02-13 21:03:04 -05:00
Jesse Plamondon-Willard c649572db8
fix dialogue propagation clearing marriage dialogue 2020-02-10 19:37:59 -05:00
Jesse Plamondon-Willard 801eaa7087
improve save backup logic 2020-02-10 19:14:06 -05:00
Jesse Plamondon-Willard 136773678e
add helper.Input.GetStatus method 2020-02-09 01:04:55 -05:00
Jesse Plamondon-Willard f3acc0b07c
add Italian translations 2020-02-08 23:34:43 -05:00
Jesse Plamondon-Willard 65180f86d8
update CP schema for .tmx support 2020-02-03 19:12:39 -05:00
Jesse Plamondon-Willard 4991b4d6af
prefix OS name in log on Android 2020-02-02 15:01:03 -05:00
Jesse Plamondon-Willard 0a2b15d3c3
add support for self-broadcasts, optimize network messages 2020-02-02 14:20:41 -05:00
Jesse Plamondon-Willard 17a9193fd2
update packages 2020-02-01 16:06:12 -05:00
Jesse Plamondon-Willard 56b1b8d4d2
fix save folder filter in Save Backup 2020-02-01 15:33:40 -05:00
Jesse Plamondon-Willard aeb72586fd
prepare for release 2020-02-01 11:11:44 -05:00
Jesse Plamondon-Willard d0885831c3
ignore Harmony DLL in mod build package 2020-02-01 11:09:21 -05:00
Jesse Plamondon-Willard 70a1334f2c
add JSON converter for Vector2 2020-02-01 01:08:29 -05:00
Jesse Plamondon-Willard c8191449a0
add support for *.tmx map files 2020-02-01 00:27:53 -05:00
Jesse Plamondon-Willard 125b38c6e6
improve Save Backup compatibility on Android 2020-02-01 00:18:56 -05:00
Jesse Plamondon-Willard 3f1d7b1d22
rework build settings a bit 2020-01-31 22:27:12 -05:00
Jesse Plamondon-Willard 1a2af714aa
fix error message 2020-01-31 22:15:37 -05:00
Jesse Plamondon-Willard e5d8acf240
rework asset editor/loader tracking so they're affected by load order 2020-01-30 22:10:16 -05:00
Jesse Plamondon-Willard 7cbf298bd4
Merge pull request #690 from Drachenkaetzchen/performance-counter
Performance counters
2020-01-26 20:45:27 -05:00
Jesse Plamondon-Willard 860b30443e
simplify performance details output 2020-01-26 20:42:28 -05:00
Jesse Plamondon-Willard 805d857e6e
show warning when using commands while disabled, simplify some commands a bit 2020-01-26 20:28:58 -05:00
Jesse Plamondon-Willard 910b4a2c43
tweak namespace 2020-01-26 19:52:31 -05:00
Jesse Plamondon-Willard 22a0a32b6d
refactor performance counter code
This commit performs some general refactoring, including...
- avoid manually duplicating the event list;
- rework the 'is important' event flag;
- remove the new packages (Cyotek.Collections can be replaced with built-in types, and System.ValueTuple won't work in the Mono version used on Linux/Mac);
- improve performance;
- minor cleanup.
2020-01-26 19:49:17 -05:00
Jesse Plamondon-Willard a96bfea205
back up config.user.json when installing (#693) 2020-01-25 18:37:17 -05:00
Jesse Plamondon-Willard fc0b98be45
add user settings that override defaults (#693) 2020-01-25 18:22:50 -05:00
Jesse Plamondon-Willard 7a6dab7548
fix dialogue asset propagation 2020-01-25 15:21:40 -05:00
Jesse Plamondon-Willard 04d3f9b589
add internal method for Content Patcher 2020-01-25 15:19:47 -05:00
Jesse Plamondon-Willard 4db7ca28f6
fix error building/demolishing buildings for some players 2020-01-25 11:05:36 -05:00
Jesse Plamondon-Willard e33386abcc
prevent load crashes due to invalid building types 2020-01-25 11:00:37 -05:00
Jesse Plamondon-Willard d1935e686c
add full internal support for non-standard four-part versions 2020-01-23 00:31:26 -05:00
Jesse Plamondon-Willard 381de5eba9
add test_input console command 2020-01-22 20:36:24 -05:00
Jesse Plamondon-Willard 1670a2f3a6
fix global data stored in saves folder 2020-01-22 19:06:33 -05:00
Drachenkaetzchen 1b905205a3 Added commands to enable and disable performance counters. Peak is now using the default interval 2020-01-21 12:20:06 +01:00
Jesse Plamondon-Willard 25a22f5d7c
update community links 2020-01-18 16:21:16 -05:00
Drachenkaetzchen 84973ce572 Added peak execution time over the last 60 seconds 2020-01-15 19:08:50 +01:00
Drachenkaetzchen 238b5db4f7 Added "trigger dump" command to dump the configured triggers as commands for copy'n'paste 2020-01-15 17:50:12 +01:00
Drachenkaetzchen fce5814bcb Added documentation for all commands. Renamed the "monitor" command to "trigger". Method name refactoring to be more consistent. 2020-01-15 17:43:41 +01:00
Drachenkaetzchen 1d58a525fa Added optional right-align for the table output 2020-01-15 17:42:46 +01:00
Drachenkaetzchen 694cca4b21 Added documentation for all performance counter methods and members. Refactored the naming of several members and methods to reflect their actual intention. 2020-01-15 16:01:35 +01:00
Jesse Plamondon-Willard abe1fa1442
Merge pull request #691 from danvolchek/develop
[SMAPI] Fix update marker file not being created
2020-01-12 20:41:57 -05:00
Jesse Plamondon-Willard d68e4f9766
drop pre-3.0 update-check support 2020-01-12 19:41:14 -05:00
danvolchek 734c727bc3 set updateFound based on the suggested update response 2020-01-12 15:24:57 -08:00
Jesse Plamondon-Willard 8b1fd90c6e
remove invalid-schedule error which can have false positives (e.g. when NPC is married to a player) 2020-01-12 15:53:59 -05:00
Jesse Plamondon-Willard 5518e4cf24
fix asset propagation for player sprites not affecting other players or recolor maps 2020-01-12 15:45:54 -05:00
Jesse Plamondon-Willard 351f5ad5e0
fix recursive lock error 2020-01-12 14:33:07 -05:00
Jesse Plamondon-Willard 2b68be4ebb
add version mappings from the wiki to API data 2020-01-11 20:33:01 -05:00
Jesse Plamondon-Willard bffc7f28e9
fix update-check error for Chucklefish pages with no version 2020-01-11 19:16:46 -05:00
Jesse Plamondon-Willard 609ceedaba
update for compatibility list change 2020-01-11 16:53:58 -05:00
Jesse Plamondon-Willard 219696275d
fix errors due to async threads creating content managers 2020-01-11 13:20:37 -05:00
Drachenkaetzchen 280dc91183 Reworked the console implementation, added monitoring. Some internal refactoring. 2020-01-11 15:45:45 +01:00
Drachenkaetzchen 8a77373b18 Added reset functionality 2020-01-10 14:16:00 +01:00
Drachenkaetzchen 47f626cc99 Moved most PerformanceCounter logic out of SCore into the new PerformanceCounterManager, some namespace refactoring 2020-01-10 14:08:25 +01:00
Drachenkaetzchen a751252c4e Initial commit of the performance counters 2020-01-10 01:27:56 +01:00
Jesse Plamondon-Willard ceff27c9a8
update min game version
1.4.1 is needed due to the new gamepad option, which SMAPI 3.1 added support for.
2020-01-07 21:29:49 -05:00
Jesse Plamondon-Willard 18c69c5587
intercept schedule errors 2020-01-07 21:26:58 -05:00
kchapelier b8a566a060
Add french translation 2020-01-06 19:59:32 -05:00
Jesse Plamondon-Willard 372eb72233
streamline front page design 2020-01-05 23:08:17 -05:00
Jesse Plamondon-Willard 48959375b9
prepare for release 2020-01-04 22:57:38 -05:00
Jesse Plamondon-Willard d804526d52
remove DumpMetadata option 2020-01-04 22:32:23 -05:00
Jesse Plamondon-Willard 93459a5e37
fix new asset invalidation code not correctly handling interceptors which both load and edit 2020-01-04 22:08:01 -05:00
Jesse Plamondon-Willard aef2550d23
add Japanese translations, update translation docs 2020-01-02 23:11:01 -05:00
Jesse Plamondon-Willard e64a1220e3
unify item diff logic for players & chests 2020-01-01 18:52:24 -05:00
Jesse Plamondon-Willard 6766fcd0fd
fix NetList watcher not handling array replacement and conflicting changes correctly 2020-01-01 00:48:44 -05:00
Jesse Plamondon-Willard c5cfcc6c9f
fix location snapshot not updated for removed chests 2020-01-01 00:22:29 -05:00
Jesse Plamondon-Willard 844efa32d4
optimize chest watchers using net events 2020-01-01 00:13:59 -05:00
Jesse Plamondon-Willard 6bf99f0f81
minor refactoring 2019-12-31 17:32:46 -05:00
wartech0 0411dcf3db
Finished chest events 2019-12-31 16:26:14 -05:00
wartech0 2894b43223
reworking chest event handler 2019-12-31 16:25:51 -05:00
Jesse Plamondon-Willard 1286a90ec2
minor refactoring
This commit...
- removes key fields added to non-keyed types like NetListWatcher and SnapshotListDiff;
- fixes existing chests not being watched;
- fixes diffs not correctly updated for added/removed chests;
- performs minor cleanup, adds missing docs, etc.
2019-12-31 16:19:50 -05:00
wartech0 aef1b8ac28
Added the new ChestItemChanged event. 2019-12-31 16:19:43 -05:00
Jesse Plamondon-Willard dca60f42b2
fix XNA keeping loaded assets alive forever (#685) 2019-12-31 16:18:11 -05:00
Jesse Plamondon-Willard d9a9cef172
fix ObservableCollection watcher not handling list reset (#685) 2019-12-30 11:27:25 -05:00
Jesse Plamondon-Willard 3818d53752
fix main sidebar link pointing to wiki instead of home page 2019-12-30 10:33:07 -05:00
Dan Volchek 360a982336 fix log parser content pack list entry pattern, remove unneeded ternary in content pack logging 2019-12-26 20:34:39 -08:00
Jesse Plamondon-Willard 9ea2599356
Merge pull request #683 from danvolchek/fixtypo
[JSON Validator] Change 'log' to 'JSON file' on the JSON validator page
2019-12-26 00:13:19 -05:00
Dan Volchek 63f2eacb47 display JSON file instead of log on the JSON validator page 2019-12-25 20:51:46 -08:00
Jesse Plamondon-Willard 76fa96591e
Merge pull request #682 from L30Bola/adding-portuguese-translation
Add portuguese translation
2019-12-25 12:19:11 -05:00
Leonardo Godoy 5ca5dc6f88 Add portuguese translation 2019-12-25 05:34:59 -03:00
Jesse Plamondon-Willard 2833ad9a62
fix log parser & JSON validator showing relative share URL 2019-12-24 13:59:11 -05:00
Jesse Plamondon-Willard d932a11f51
list broken dependencies first in 'skipped mods' list 2019-12-24 13:51:21 -05:00
Jesse Plamondon-Willard 4c471ea215
fix CP schema not requiring Default field if AllowBlank is omitted 2019-12-22 18:46:03 -05:00
Jesse Plamondon-Willard d6901ed496
add asset propagation for winter flooring (#679) 2019-12-22 12:52:34 -05:00
Jesse Plamondon-Willard d6ef6f627a
configure MongoDB connection string directly 2019-12-22 12:08:01 -05:00
Jesse Plamondon-Willard 139e267aaa
update item spawning code, detect ring type automatically to support custom rings, minor refactor 2019-12-22 12:04:40 -05:00
Jesse Plamondon-Willard 05d237400c
Merge pull request #681 from Mizzion/develop
Fixed the ring issue and flooring
2019-12-22 10:58:05 -05:00