Commit Graph

2738 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard 911843e1be
fix console encoding issues (#798) 2021-08-25 18:26:02 -04:00
Jesse Plamondon-Willard f8c76bde39
add 64-bit compatibility check before loading mods
That reduces time spent trying to rewrite them (which won't work anyway), and shows a more informative message than the default 'DLL couldn't be loaded' error.
2021-08-25 18:25:17 -04:00
Jesse Plamondon-Willard e1d8838587
fix update checks not recommending prerelease mod versions for SMAPI beta 2021-08-25 18:21:42 -04:00
Jesse Plamondon-Willard 3804ae6284
fix some installer errors not showing info header 2021-08-25 18:21:26 -04:00
Jesse Plamondon-Willard 26a629f41b
fix prerelease update alerts shown for non-prerelease players 2021-08-25 18:20:15 -04:00
Jesse Plamondon-Willard 596a4616b3
no longer abort input thread when exiting
`thread.Abort` is unimplemented in .NET 5, but it's not needed anyway since all threads will be aborted when the game exits.
2021-08-25 18:19:24 -04:00
Jesse Plamondon-Willard 68e629f17c
fix data helper's WriteJsonFile not deleting file if data is null (#799) 2021-08-25 18:18:37 -04:00
Jesse Plamondon-Willard c20fcec169
expand data helper docs (#799) 2021-08-25 18:17:45 -04:00
Jesse Plamondon-Willard 6cf7c49f34
add GetInAllLocales to translation API 2021-08-25 18:17:09 -04:00
Jesse Plamondon-Willard a4c6c61684
enable parallel analyzer execution 2021-08-08 00:32:19 -04:00
Jesse Plamondon-Willard 976c66537c
fix edge case where Netcode references aren't rewritten correctly 2021-08-08 00:24:20 -04:00
Jesse Plamondon-Willard 885808fb66
move assembly resolver setup into Constants to centralize hardcoded logic 2021-08-08 00:21:28 -04:00
Jesse Plamondon-Willard 5e16ed0eea
prevent weird null reference exception in error-handling 2021-08-05 14:28:29 -04:00
Jesse Plamondon-Willard b6e058c322
prepare for release 2021-08-04 18:34:29 -04:00
Jesse Plamondon-Willard b6f3ecc143
fix error when error-handling invalid ReflectionTypeLoadException errors 2021-08-04 18:05:05 -04:00
Jesse Plamondon-Willard 807dcfec77
undo Constants.Save* changes in 3.12.1 2021-08-04 18:02:15 -04:00
Jesse Plamondon-Willard 1bb51b2c41
prepare for release 2021-08-03 19:11:26 -04:00
Jesse Plamondon-Willard e73f5a10c7
add PlatoTK to compatibility list 2021-08-03 19:04:15 -04:00
Jesse Plamondon-Willard 6b0d13be7c
fix Mono.Cecil failing to resolve references to SMAPI in some edge cases 2021-08-03 19:03:51 -04:00
Jesse Plamondon-Willard ef1eff669d
update compatibility list 2021-08-03 13:05:48 -04:00
Jesse Plamondon-Willard cf261ff36e
increase software conflict message to warning level to simplify troubleshooting 2021-08-03 12:00:15 -04:00
Jesse Plamondon-Willard 848460a34e
update compatibility list 2021-08-02 21:30:59 -04:00
Jesse Plamondon-Willard 5256b738b4
use more reliable method to get save folder name
SMAPI now tracks the actual folder name being loaded to avoid edge cases where the folder name doesn't match the save ID.
2021-08-02 21:14:22 -04:00
Jesse Plamondon-Willard d688cdf8c3
prepare for release 2021-08-01 13:11:27 -04:00
Jesse Plamondon-Willard edfb3c9929
Merge pull request #794 from bladeoflight16/monoandprojectfixes
Fix Mono build error and duplicate targets import
2021-08-01 13:10:36 -04:00
Jesse Plamondon-Willard c15d43049a
fix map reload not correctly reloading interior doors 2021-07-31 19:22:14 -04:00
bladeoflight16 db06291fdb Removing duplicate import of common.targets, eliminates several warnings 2021-07-31 15:30:27 -04:00
bladeoflight16 f7f49aa8df Target typed constructors are not yet supported by Mono. Adding explicit class name to resolve build error. 2021-07-31 15:28:22 -04:00
Jesse Plamondon-Willard 80d5672cdb
fix crash when farm name contains invalid-in-file-path characters (#791) 2021-07-31 01:50:31 -04:00
Jesse Plamondon-Willard dc78d944e8
recover save when mods leave null objects in the world 2021-07-30 01:48:22 -04:00
Jesse Plamondon-Willard 940bf92241
refactor save game patcher to minimize repeated iterations 2021-07-30 01:40:43 -04:00
Jesse Plamondon-Willard 10b7758bd2
fix build error on Linux 2021-07-30 00:56:37 -04:00
Jesse Plamondon-Willard 948c800a98
migrate to the new Harmony patch pattern used in my mods
That improves validation and error-handling.
2021-07-30 00:54:15 -04:00
Jesse Plamondon-Willard 4074f697d7
rename patch classes for consistency 2021-07-30 00:40:12 -04:00
Jesse Plamondon-Willard aa65b2e2f6
split patch classes which target multiple types 2021-07-30 00:34:53 -04:00
Jesse Plamondon-Willard 737a434ad6
reduce ErrorHandler's direct references to internal SMAPI code
That will allow removing the InternalsVisibleTo attribute to avoid namespace conflicts in an upcoming commit.
2021-07-29 22:50:50 -04:00
Jesse Plamondon-Willard 880cd7b8ba
fix handling of Unicode characters in console 2021-07-28 21:20:44 -04:00
Jesse Plamondon-Willard e8ad5d0a24
fix Data\Movies error regression when patching dictionary (#711) 2021-07-28 18:03:49 -04:00
Jesse Plamondon-Willard b4f307e1ba
fix rewritten Harmony 1.x code not raising 'detected game patch' flag (#711) 2021-07-28 00:51:45 -04:00
Jesse Plamondon-Willard 6a6c484b98
add accessed key to dictionary KeyNotFoundException message 2021-07-28 00:49:54 -04:00
Jesse Plamondon-Willard b2a1a51dea
Merge pull request #793 from bladeoflight16/clearremoveable
Add an option to world_clear that leaves permanent objects alone
2021-07-28 00:38:26 -04:00
Jesse Plamondon-Willard e3010f7c41
refactor new code a bit 2021-07-28 00:36:34 -04:00
Jesse Plamondon-Willard 507154bf34
Merge pull request #792 from bladeoflight16/monofix
Fix build error in MonoDevelop
2021-07-28 00:28:23 -04:00
bladeoflight16 428f0c5880 world_clear: Adding 'removeable' option that includes everything except permanent bushes 2021-07-27 17:23:54 -04:00
bladeoflight16 ec7af3e2ee world_clear: Lining up parameter descriptions 2021-07-27 17:23:54 -04:00
bladeoflight16 97710d6f47 Fixing mono incompatibility (case exception type statement without variable) 2021-07-27 17:17:56 -04:00
Jesse Plamondon-Willard bdae52c9ae
fix rewriting for Harmony ExceptionBlock type (#711) 2021-07-26 22:28:32 -04:00
Jesse Plamondon-Willard 175eaad683
remove now-unneeded Mono.Cecil aliases (#711) 2021-07-23 20:37:26 -04:00
Jesse Plamondon-Willard 167d5831d1
use unmerged Harmony assembly (#711)
Harmony merges Mono.Cecil and MonoMod.Common into its DLL, and keeps some (but not all) of the merged types public. That causes type conflicts in SMAPI's code since it uses both Harmony and Mono.Cecil, and extern aliases break on Linux due to IDE/compiler limitations. This commit uses a custom build of Harmony without the assembly merging, so SMAPI can use and manage Mono.Cecil itself.
2021-07-23 20:29:44 -04:00
Jesse Plamondon-Willard 88be0cee94
fix new validation checks 2021-07-21 23:28:18 -04:00
Jesse Plamondon-Willard 92bcb8405c
Merge branch 'harmony-2' into develop 2021-07-21 22:49:53 -04:00
Jesse Plamondon-Willard 7e5d77fb8c
add error if some SMAPI DLLs have mismatched versions 2021-07-21 00:43:43 -04:00
Jesse Plamondon-Willard c74702b027
fix error loading .xnb files from the local mod folder since SMAPI 3.0 2021-07-20 22:18:57 -04:00
Jesse Plamondon-Willard defa1b9a95
fix concurrency issue in interface proxying 2021-07-20 18:43:56 -04:00
Jesse Plamondon-Willard 735893c1d5
add error if player manually installs wrong SMAPI bitness 2021-07-17 18:52:06 -04:00
Jesse Plamondon-Willard 72b3c9d143
add workaround for Harmony 2.x breaking XNA content pipeline for some assets (#711, #722) 2021-07-14 18:02:13 -04:00
Jesse Plamondon-Willard 8df578edb6
migrate to Harmony 2.1 (#711) 2021-07-13 09:14:07 -04:00
Jesse Plamondon-Willard bd20c2e137
alias Mono.Cecil references (#711)
This is needed to migrate to Harmony 2.0 because it uses MonoMod, which has a copy of Mono.Cecil merged into its assembly, which leads to "type X exists in both 0Harmony.dll and Mono.Cecil.dll" errors. We can't use the version bundled with MonoMod since only some of the types are publicly accessible.
2021-07-11 01:44:02 -04:00
Jesse Plamondon-Willard 60af28760a
prepare for release 2021-07-09 22:29:43 -04:00
Jesse Plamondon-Willard 40a4992170
update launch script on macOS for 1.4.5 multiplayer hotfix (#789)
Thanks to Mr. Podunkian for his help investigating this on macOS!
2021-07-07 13:10:55 -04:00
Jesse Plamondon-Willard 7b097c4f6f
update launch script on Linux for 1.4.5 multiplayer hotfix (#789) 2021-07-02 20:52:22 -04:00
Jesse Plamondon-Willard 5e3a1abbd4
improve error if SMAPI fails to dispose on exit 2021-06-26 11:16:12 -04:00
Jesse Plamondon-Willard 66f8920c29
log trace message if conflicting software is detected 2021-06-24 20:17:34 -04:00
Jesse Plamondon-Willard 4df8f4a656
fix edge case where save constants aren't set correctly 2021-06-11 19:14:59 -04:00
Jesse Plamondon-Willard c212ff15d2
fix installer error for some Windows players 2021-06-11 18:39:38 -04:00
Jesse Plamondon-Willard dfa3beb6a6
fix i18n schema requiring wrong $schema value 2021-05-28 20:24:29 -04:00
Jesse Plamondon-Willard 03f8777afd
add asset propagation for paint masks 2021-05-27 22:59:06 -04:00
DiscipleOfEris 9d7b31afc4 Update FurnitureListChangedEventArgs.cs
Prune unnecessary `using` statements
2021-05-26 11:57:52 -07:00
DiscipleOfEris b149e11338 Add `World.FurnitureListChanged` event
Create a new event available to SMAPI mods to track furniture changes. To facilitate the event, a `FurnitureListChangedEventArgs` class is added as well.

Fixes #778
2021-05-26 11:50:49 -07:00
Jesse Plamondon-Willard 112b505118
update schema for Content Patcher 1.23 2021-05-25 17:42:24 -04:00
Jesse Plamondon-Willard 38a76b5108
allow comments and trailing commas in schemas for VSCode
The `allowComments` and `allowTrailingCommas` fields are VSCode-specific extensions to JSON Schema.
2021-05-22 11:24:34 -04:00
Jesse Plamondon-Willard c310875f90
fix 'loaded with custom settings' message shown with default settings 2021-05-19 23:38:10 -04:00
Jesse Plamondon-Willard 75d7c10144
add support for filtering the item repo
This isn't used by SMAPI itself, but is used by some mods like Lookup Anything that copy this code.
2021-05-17 20:52:01 -04:00
Jesse Plamondon-Willard fe25a122f4
fix some vanilla shirts not returned by item repo 2021-05-17 20:45:46 -04:00
Jesse Plamondon-Willard 9b09941bd5
set script path in Windows launch script (#777) 2021-05-10 22:40:13 -04:00
Jesse Plamondon-Willard 4ac04ee3ac
fix error if a mod has a 'Dependencies' entry with no ID 2021-05-09 12:19:30 -04:00
Jesse Plamondon-Willard 7c76c5cad2
add validation for the manifest 'Dependencies' field 2021-05-09 12:13:39 -04:00
Jesse Plamondon-Willard 4b391d631c
normalize manifest array fields 2021-05-09 12:12:03 -04:00
Jesse Plamondon-Willard d9c001a39f
fix version zero validation 2021-05-09 12:06:18 -04:00
Jesse Plamondon-Willard 6b1c4589e9
prepare for release 2021-05-03 19:49:44 -04:00
Jesse Plamondon-Willard 8d9d8341cd
fix installer leaving unneeded StardewModdingAPI-x64.exe file in installer 2021-05-03 19:42:30 -04:00
Jesse Plamondon-Willard 3447e2f575
prepare for release 2021-05-03 18:11:06 -04:00
Jesse Plamondon-Willard 2cc5509e98
add verbose logs for map tilesheet changes 2021-05-02 18:35:34 -04:00
Jesse Plamondon-Willard eef6a9c2e8
add support for dot-ignoring local map tilesheet files (#732) 2021-05-02 18:34:26 -04:00
Jesse Plamondon-Willard 0f27d6f4c1
fix new executable check in Linux launcher, update release notes (#775) 2021-05-02 18:26:02 -04:00
Jesse Plamondon-Willard b8b120b759
rename variables in Linux launcher for clarity 2021-05-02 18:11:58 -04:00
Jesse Plamondon-Willard bc9b5a84f0
use POSIX command directly in Linux launcher 2021-05-02 18:07:05 -04:00
Jesse Plamondon-Willard 7516acfadd
Merge pull request #776 from kuesji/patch-1
Fix strict Linux sandbox support in launcher
2021-05-02 14:35:21 -04:00
Jesse Plamondon-Willard f067b33ee4
let user install to a custom path even if a game folder was detected 2021-05-02 12:11:28 -04:00
kuesji koesnu ec9914efad
launcher strict sandbox fix on linux
i added a check for is found terminal is executable.
game will launch with standart exec if found terminal is not exist or executable.

( fix for issue #775 )
2021-05-02 17:37:08 +03:00
Jesse Plamondon-Willard 28c5cb79d4
add error-handling for seasonal tilesheet crash 2021-05-01 17:39:34 -04:00
Jesse Plamondon-Willard 99f70f9634
match tilesheets without extension to .png files automatically if possible 2021-05-01 12:33:09 -04:00
Jesse Plamondon-Willard 621b989c24
update web and unit test packages 2021-04-30 19:16:52 -04:00
Jesse Plamondon-Willard 3de9858c9b
fix update subkeys for Nexus mods marked as adult content 2021-04-30 18:52:19 -04:00
Jesse Plamondon-Willard 9e8a7fa986
ignore *.ico files when scanning for mods (#773) 2021-04-24 11:10:53 -04:00
Jesse Plamondon-Willard fa72198d1d
add [64-bit] tag to window titles (#767) 2021-04-23 22:12:41 -04:00
Jesse Plamondon-Willard 47a806533b
add 64-bit support to the SMAPI installer (#767) 2021-04-23 02:05:14 -04:00
Jesse Plamondon-Willard 665c6806d3
add update alerts for Stardew64Installer (#767) 2021-04-22 21:52:09 -04:00
Jesse Plamondon-Willard 13a3c8fbdd
add SMAPI version and bitness to console title earlier 2021-04-22 18:13:45 -04:00
Jesse Plamondon-Willard ed47c2a0ce
update schema for Content Patcher 1.22 2021-04-17 22:11:21 -04:00