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