Commit Graph

2737 Commits

Author SHA1 Message Date
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
Jesse Plamondon-Willard 9174e17f53
mark field readonly 2021-04-17 22:10:51 -04:00
Jesse Plamondon-Willard f961a376ee
log Stardew64Installer patch version if applicable (#767) 2021-04-15 21:17:19 -04:00
Jesse Plamondon-Willard bca1e63c3e
fix error when mod edits bundle data while a split-screen player is joining 2021-04-04 12:11:06 -04:00
Jesse Plamondon-Willard c7db35818b
fix Context.IsMainPlayer incorrectly true when split-screen player is joining 2021-04-04 12:09:07 -04:00
Jesse Plamondon-Willard 2b1b3b19a5
improve error-handling during asset propagation 2021-04-04 11:40:08 -04:00
Jesse Plamondon-Willard 222183c651
standardize spelling of 'macOS' 2021-04-04 11:37:11 -04:00
Jesse Plamondon-Willard 2d8f916053
log failed root dependencies in their own group 2021-04-03 11:39:58 -04:00
Jesse Plamondon-Willard 60b563267e
fix asset key normalization for 64-bit hack (#767) 2021-04-02 21:30:55 -04:00
Jesse Plamondon-Willard 3fa0433c98
add initial support for 64-bit Windows hack (#767) 2021-04-02 21:30:55 -04:00
Jesse Plamondon-Willard 62c1f11109
remove unneeded compile switch (#767)
This was originally added to reduce antivirus false positives, but they do it anyway at this point.
2021-04-02 21:30:55 -04:00
Jesse Plamondon-Willard 1a4cdd71a5
fix asset propagation for localized movie data 2021-04-02 21:18:18 -04:00
Jesse Plamondon-Willard 3dc344054a
don't overwrite .bin.osx file unnecessarily to avoid resetting file permissions (#768) 2021-04-02 20:35:02 -04:00
Jesse Plamondon-Willard 0d5b4e9983
update resource clump logic for SDV 1.5 (#770) 2021-04-02 20:13:23 -04:00
Jesse Plamondon-Willard 58dde207af
prepare for release 2021-03-30 20:11:49 -04:00
Jesse Plamondon-Willard 551153bb00
prepare mod build package for 64-bit SMAPI (#767) 2021-03-30 20:10:55 -04:00
Jesse Plamondon-Willard 74215e844a
prepare for release 2021-03-21 16:37:43 -04:00
Jesse Plamondon-Willard b93e3cf522
Drop hardcoded 32-bit restrictions on most SMAPI assemblies (#767)
SMAPI itself needs to be 32-bit to avoid errors trying to load the 32-bit game.
2021-03-21 16:07:09 -04:00
Jesse Plamondon-Willard ca67dcc920
add Constants.GameFramework field (#767) 2021-03-21 16:06:52 -04:00
Jesse Plamondon-Willard 73321eceb9
split compile flag into separate Windows + XNA flags (#767) 2021-03-21 16:05:15 -04:00
Jesse Plamondon-Willard fdfb060795
remove unused code (#767) 2021-03-21 16:04:48 -04:00
Jesse Plamondon-Willard d61bb78b2a
simplify creating keybind list for single key 2021-03-21 15:18:30 -04:00
Jesse Plamondon-Willard c070e34c2f
fix double-localization issue in regenerated bundles 2021-03-21 00:44:42 -04:00
Jesse Plamondon-Willard c39b2b1766
update NPC pathfinding cache when map warps change 2021-03-19 20:16:13 -04:00
Jesse Plamondon-Willard bb88e42f54
add console command to regenerate bundles 2021-03-16 19:20:37 -04:00
Jesse Plamondon-Willard 749f0321f0
avoid asset propagation into the world if it's unloaded
Propagating changes into world locations has no effect at this point (since they'll just be recreated when a save is loaded), and can noticeably impact performance.
2021-03-16 18:56:56 -04:00
Jesse Plamondon-Willard 6805c90e2c
add asset propagation for interior door sprites 2021-03-14 14:17:09 -04:00
Jesse Plamondon-Willard 04388fe7e3
fix some assets not reapplied correctly when playing in non-English and returning to title 2021-03-14 04:43:28 -04:00
Jesse Plamondon-Willard 77629a528a
disable aggressive memory optimizations by default 2021-03-13 23:51:55 -05:00
Jesse Plamondon-Willard b8309e9017
prepare for release 2021-03-08 00:08:15 -05:00
Jesse Plamondon-Willard 35ba5cc585
fix installer error when Mods folder doesn't exist in 3.9.3 (#764) 2021-03-08 00:05:58 -05:00
Jesse Plamondon-Willard 00969f3b48
update the JSON schema for Content Patcher 1.21 2021-03-07 21:43:23 -05:00
Jesse Plamondon-Willard a571f459f5
prepare for release 2021-03-07 20:02:25 -05:00
Jesse Plamondon-Willard 7914734375
get patcher names automatically if needed 2021-03-07 19:48:47 -05:00
Jesse Plamondon-Willard 0ed46c0910
add descriptive error for PathTooLongException which crashes SMAPI or the installer 2021-03-07 18:04:48 -05:00
Jesse Plamondon-Willard 36cb8e8fcb
keep window open when installer crashes 2021-03-07 17:42:55 -05:00
Jesse Plamondon-Willard 5a2258f419
fix RewriteMods option ignored when rewriting mod for OS 2021-03-04 21:59:49 -05:00
Jesse Plamondon-Willard 699a07ecf7
fix broken references to LoadStage enum in previously compiled mods 2021-02-28 20:12:39 -05:00
Jesse Plamondon-Willard 5ce096c89a
fix edge case for non-English farmhands where content coordinator handled return to title too late 2021-02-28 14:22:30 -05:00
Jesse Plamondon-Willard b2d47e29ff
add ReturningToTitle stage 2021-02-28 14:17:41 -05:00
Jesse Plamondon-Willard 403616b07c
fix mods with suppressed warnings counted for showing the log section 2021-02-28 12:39:37 -05:00
Jesse Plamondon-Willard 944c03737e
add load stages immediately after game adds initial locations 2021-02-28 12:01:11 -05:00
Jesse Plamondon-Willard 9c4c10d2d2
prepare for release 2021-02-21 21:58:37 -05:00
Jesse Plamondon-Willard 27accf55a5
update ambient light when setting game time 2021-02-21 18:29:14 -05:00
Jesse Plamondon-Willard 033b385641
add detailed error message when Stardew Valley.exe can't be loaded 2021-02-21 17:33:37 -05:00
Jesse Plamondon-Willard ad80f8b078
use inheritdoc, minor cleanup 2021-02-21 13:50:08 -05:00
Jesse Plamondon-Willard 79aee3fba7
reduce performance impact of new cache fix 2021-02-21 13:45:10 -05:00
Jesse Plamondon-Willard 50d7e95920
fix errors parsing the mod compatibility list on the new wiki 2021-02-19 22:54:01 -05:00
Jesse Plamondon-Willard b1876dec7a
fix asset propagation for map seats 2021-02-13 16:54:57 -05:00
Jesse Plamondon-Willard fa3305e1d8
add error details when an event command fails 2021-02-08 19:32:48 -05:00
Jesse Plamondon-Willard 5173ddf535
fix compat list error if mod has no name field due to wiki rendering issues 2021-02-08 18:07:38 -05:00
Jesse Plamondon-Willard 67c52af72d
add early detection of disposed assets in error handler mod 2021-02-06 21:12:01 -05:00
Jesse Plamondon-Willard 97d3501e20
improve ErrorHandler's error handling if it can't access log manager 2021-02-06 20:47:04 -05:00
Jesse Plamondon-Willard 5ea871fee5
update schema for Content Patcher 1.20 2021-02-06 19:46:34 -05:00
Jesse Plamondon-Willard efec870657
fix edge case in non-English asset cache after returning to title screen 2021-02-06 13:03:37 -05:00
Jesse Plamondon-Willard 54e7b5b846
enable aggressive memory optimizations by default (#757)
The new approach should be safe, and no errors were reported so far by alpha testers.
2021-02-03 20:24:25 -05:00
Jesse Plamondon-Willard e81e07594c
extend aggressive memory optimization to a few more common textures (#757) 2021-01-31 22:12:36 -05:00
Jesse Plamondon-Willard 423f2352af
rework aggressive memory optimization to minimize mod impact (#757) 2021-01-31 22:08:03 -05:00
Jesse Plamondon-Willard 7e8f451876
add experimental 'aggressive memory optimization' flag (#757) 2021-01-31 15:37:00 -05:00
Jesse Plamondon-Willard b2a6933efb
fix mod type defaulted incorrectly in SMAPI toolkit 2021-01-28 21:21:18 -05:00
Jesse Plamondon-Willard 822cc71619
fix error running 'install on Windows.bat' for one user 2021-01-28 19:51:30 -05:00
Jesse Plamondon-Willard 0820280169
prepare for release 2021-01-25 21:52:51 -05:00
Jesse Plamondon-Willard 0058267c36
minor cleanup 2021-01-24 01:05:40 -05:00
Jesse Plamondon-Willard 5129c361c9
fix interior door errors when reloading maps 2021-01-24 00:32:26 -05:00
Jesse Plamondon-Willard 4c0272c0aa
remove unused AlternativeUrl field in metadata model 2021-01-23 12:01:46 -05:00
Jesse Plamondon-Willard 66017a39d9
disable 'patched game code' warning for ErrorHandler
It doesn't really make sense for SMAPI to show a warning about itself.
2021-01-23 11:59:36 -05:00
Jesse Plamondon-Willard 733750fdc4
prepare for release 2021-01-22 21:04:48 -05:00
Jesse Plamondon-Willard 4b5dd0f2c9
rename TrainerCommand to ConsoleCommand to match the rest of the code 2021-01-22 20:29:08 -05:00
Jesse Plamondon-Willard cea8e557ef
remove inf options for player_sethealth/money/stamina 2021-01-22 20:24:13 -05:00
Jesse Plamondon-Willard 8fd2a6fd3a
update for new map override logic in SDV 1.5.4
Special thanks to the Stardew Valley developers for making the requested changes!
2021-01-22 20:17:01 -05:00
Jesse Plamondon-Willard 546012da8c
add clearer error for empty Vortex folders to reduce confusion 2021-01-21 19:04:34 -05:00
Jesse Plamondon-Willard 7fc7a45102
fix some broken mods incorrectly listed as XNB mods 2021-01-21 19:01:57 -05:00
Jesse Plamondon-Willard ebc8cd4c7f
add ErrorHandler to bundled mod list 2021-01-20 23:28:48 -05:00
Jesse Plamondon-Willard 342fc80394
rewrite C# 9 code not supported in Linux build tools yet 2021-01-20 23:22:24 -05:00
Jesse Plamondon-Willard 49666ac5bc
fix SDV 1.5 compatibility with content packs that still load XNB maps 2021-01-20 22:13:12 -05:00
Jesse Plamondon-Willard 4d95030ee9
correct links 2021-01-20 09:31:18 -05:00
Jesse Plamondon-Willard 48f6857892
fix null handling in keybind list parsing (#744) 2021-01-20 01:22:29 -05:00
Jesse Plamondon-Willard 587d60495e
add unit tests for KeybindList (#744) 2021-01-20 01:02:49 -05:00
Jesse Plamondon-Willard e40483aab1
add method to suppress active keybindings (#744) 2021-01-19 23:50:46 -05:00
Jesse Plamondon-Willard f251f0d06c
make buttonState.IsDown() extension public (#744) 2021-01-19 23:14:03 -05:00
Jesse Plamondon-Willard 7e90b1c60a
add shortcut method to create a keybind list for a single default keybind (#744) 2021-01-19 21:47:31 -05:00
Jesse Plamondon-Willard 7e280a066d
add Input.ButtonsChanged event (#744) 2021-01-19 21:47:05 -05:00
Jesse Plamondon-Willard ff16a6567b
add multi-key binding API (#744) 2021-01-19 21:20:25 -05:00
Jesse Plamondon-Willard 5676d94fe6
reset some missed map cache fields (#751) 2021-01-19 01:05:15 -05:00
Jesse Plamondon-Willard 00e545715d
reset map overrides when reloading a map (#751) 2021-01-18 23:19:34 -05:00
Jesse Plamondon-Willard 9fb6d67417
add asset propagation for Strings\StringsFromCSFiles 2021-01-18 18:52:31 -05:00
Jesse Plamondon-Willard 47df90f67c
merge sections in asset propagator 2021-01-18 18:19:46 -05:00
Jesse Plamondon-Willard bc71f994ec
improve game path detection 2021-01-17 15:11:45 -05:00
Jesse Plamondon-Willard cfe2c3975f
prefer GOG/Steam registry paths when scanning for game folder 2021-01-17 15:06:04 -05:00
Jesse Plamondon-Willard 516b2fc010
don't send multiplayer broadcasts to players without SMAPI 2021-01-17 14:57:41 -05:00
Jesse Plamondon-Willard b58d432a22
subclass chatbox to log game errors 2021-01-17 12:21:33 -05:00
Jesse Plamondon-Willard a5ba931770
improve JSON validator schema for manifest update keys 2021-01-15 21:18:15 -05:00
Jesse Plamondon-Willard 1b52adb4fb
fix build order for new ErrorHandler project 2021-01-15 18:48:32 -05:00
Jesse Plamondon-Willard 56ca0f5e81
add split-screen info to multiplayer peer 2021-01-15 18:48:32 -05:00
Jesse Plamondon-Willard 812251e7ae
allow getting all active values from a PerScreen<T> field 2021-01-15 18:48:31 -05:00
Jesse Plamondon-Willard a9b99c1206
allow resetting a PerScreen<T> field 2021-01-15 18:48:31 -05:00
Jesse Plamondon-Willard 95ad954fa4
allow get/setting PerScreen<T> values by screen ID 2021-01-15 18:48:30 -05:00
Jesse Plamondon-Willard 70edec6567
add detailed message for game error when parsing an item text description 2021-01-15 18:48:30 -05:00
Jesse Plamondon-Willard 666f7ad8f9
tweak recent changes, update release notes 2021-01-15 18:48:29 -05:00
David Camp f945349ed4
(feat) Disable Mod rewrites if requested 2021-01-15 18:48:29 -05:00
Jesse Plamondon-Willard 8a475b3579
move error-handling Harmony patches into a new Error Handler bundled mod 2021-01-15 18:48:29 -05:00
Jesse Plamondon-Willard 415047bf8e
prepare for release 2021-01-15 18:33:52 -05:00