Commit Graph

2537 Commits

Author SHA1 Message Date
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