Commit Graph

2400 Commits

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