Commit Graph

1149 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard 584725bb8e
add initial AssetRequested content event (#766) 2022-03-23 01:06:11 -04:00
Jesse Plamondon-Willard b07d2340a9
encapsulate & cache asset operation groups (#766)
This is needed for the upcoming Stardew Valley 1.6 to avoid duplicate checks between DoesAssetExist and Load calls, and to make sure the answer doesn't change between them.
2022-03-22 23:00:18 -04:00
Jesse Plamondon-Willard d96cec88e4
fix set_farm_type not updating warps 2022-03-10 23:24:01 -05:00
Jesse Plamondon-Willard 2216e37726
rework launch script argument parsing (#832)
This commit...

* replaces the internal `--no-reopen-terminal` arg with a documented `--use-current-shell` arg that works on Linux too;
* replaces the new SKIP_TERMINAL environment variable with the existing SMAPI_NO_TERMINAL one;
* moves argument parsing out of the 'initial setup' section (so it's easier for players to edit if needed);
* simplfies argument parsing (no need to support short opt names or add arguments for the default behavior);
* fixes arguments not parsed after the first unrecognized argument, so `--unknown --no-terminal` would still open a terminal.
2022-03-06 19:55:32 -05:00
Jesse Plamondon-Willard 8429485e69
update schema for Content Patcher 1.25.0 2022-02-27 20:40:49 -05:00
Jesse Plamondon-Willard f36b4e06ef
update release notes 2022-02-25 23:50:52 -05:00
Jesse Plamondon-Willard 3c29ae6a1e
add Constants.ContentPath 2022-02-19 11:26:24 -05:00
Jesse Plamondon-Willard 2d52681b10
add Constants.GamePath & deprecate Constants.ExecutionPath 2022-02-19 11:07:26 -05:00
Jesse Plamondon-Willard a2190df08c
add AssetName to encapsulate asset name handling (#766) 2022-02-18 15:39:49 -05:00
Jesse Plamondon-Willard 065859408f
Fix support for custom locale codes in asset names (#766) 2022-02-18 12:31:14 -05:00
Jesse Plamondon-Willard b0cc403098
add data-* attributes to log parser for external tools 2022-02-12 12:07:13 -05:00
Jesse Plamondon-Willard 4a1174cd50
fix thumbstick input overrides 2022-02-11 20:56:25 -05:00
Jesse Plamondon-Willard 25a9f54ecf
fix manifest JSON schema's update key pattern 2022-01-29 20:43:45 -05:00
Jesse Plamondon-Willard 3431f486a2
normalize season names in SDate constructor 2022-01-29 18:15:42 -05:00
Jesse Plamondon-Willard 6dd4a8a12b
fix item repo's handling of Journal Scraps and Secret Notes 2022-01-29 17:46:45 -05:00
Jesse Plamondon-Willard 53ed5f4faa
update release notes 2022-01-24 21:55:30 -05:00
Jesse Plamondon-Willard dbed0289d7
prepare for release 2022-01-16 22:57:40 -05:00
Jesse Plamondon-Willard 95f4513727
rewrite fallback assembly resolution
* SMAPI now also searches the root game folder for unresolved assemblies. This fixes an issue resolving the game DLL when the player's DLL version doesn't match the one used to compile SMAPI.
* The DLL search folders are now scanned once and cached to avoid repeated iterations on startup.
2022-01-16 22:56:48 -05:00
Jesse Plamondon-Willard 85f8631bee
fix typo 2022-01-16 18:54:00 -05:00
Jesse Plamondon-Willard ad0e6b315d
prepare for release 2022-01-16 17:13:28 -05:00
Jesse Plamondon-Willard 230f119205
merge field rewriters to reduce rewrite iterations 2022-01-16 17:08:08 -05:00
Jesse Plamondon-Willard 00bd9d19a1
bump min game version to 1.5.6
That avoids error reports on mods when pirated players have an older 1.5.5 build that break mods, and ensures that the new build number shown in the SMAPI log is available.
2022-01-16 00:15:03 -05:00
Jesse Plamondon-Willard 7e8d11ca3a
add Xbox app log instructions, redesign UI to fit 2022-01-15 23:41:01 -05:00
Jesse Plamondon-Willard 6f05580191
add detection for Xbox app game folders 2022-01-15 20:39:32 -05:00
Jesse Plamondon-Willard d029dd652f
fix JSON validator not recognizing manifest update subkeys 2022-01-15 18:04:33 -05:00
Jesse Plamondon-Willard 4cffd6c2c0
add save recovery for missing custom farm type 2022-01-15 17:21:11 -05:00
Jesse Plamondon-Willard 8ebb9ce8d4
fix backspaces ignored on Linux/macOS in SDV 1.5.5+ 2022-01-15 13:27:23 -05:00
Jesse Plamondon-Willard a8985e122e
fix suppressed console output not suppressing newlines 2022-01-15 12:21:22 -05:00
Jesse Plamondon-Willard e30e427628
add download option to log view 2022-01-02 19:59:38 -05:00
Jesse Plamondon-Willard 1fab386ab1
add Ukrainian translations (#823) 2022-01-02 13:57:14 -05:00
Jesse Plamondon-Willard 92f35837ad
fix syntax, update release notes 2022-01-02 13:48:53 -05:00
Jesse Plamondon-Willard aad77242f0
fix uninstaller not removing StardewModdingAPI.deps.json file 2021-12-23 23:08:49 -05:00
Jesse Plamondon-Willard 52f4df3f30
add new game build number to the SMAPI log 2021-12-21 20:33:08 -05:00
Jesse Plamondon-Willard 0d7d447600
auto-fix maps broken due to missing vanilla tilesheet 2021-12-20 22:18:09 -05:00
Jesse Plamondon-Willard 95f658014e
simplify running SMAPI without a terminal on Linux/macOS 2021-12-18 23:07:33 -05:00
Jesse Plamondon-Willard beb1acd4f8
update Steam error message 2021-12-18 22:21:31 -05:00
Jesse Plamondon-Willard aa5d1d4a20
update compatibility list 2021-12-09 19:57:57 -05:00
Jesse Plamondon-Willard 4e17716fa2
fix log parser handling when multiple mods have the exact same name 2021-12-09 19:56:46 -05:00
Jesse Plamondon-Willard 5b5dd47c22
prepare for release 2021-12-05 19:10:28 -05:00
Jesse Plamondon-Willard f4ca7dd228
add Windows build process to fix application icon until .NET bug is fixed 2021-12-05 18:55:10 -05:00
Jesse Plamondon-Willard c05fdf65cf
mark UI Info Suite incompatible 2021-12-05 18:39:08 -05:00
Jesse Plamondon-Willard 6a45640dd7
add known issue to release notes for missing pufferchick icon 2021-12-05 02:19:17 -05:00
Jesse Plamondon-Willard 98d01d522d
improve error when installer is pointed at a compatibility-branch game folder 2021-12-05 00:51:24 -05:00
Jesse Plamondon-Willard cb9d6ae5ad
improve error when installer is pointed at a SDV 1.5.4 folder 2021-12-04 23:47:27 -05:00
Jesse Plamondon-Willard 0f37c0f92d
update JSON validator for Content Patcher's new .fnt support 2021-12-04 22:41:59 -05:00
Jesse Plamondon-Willard c80d07fddf
migrate SMAPI to self-contained install
This removes the need to have .NET 5 installed to run SMAPI. Note that there's no need to actually bundle the .NET files, since they're already bundled into the game folder.
2021-12-04 15:55:29 -05:00
Jesse Plamondon-Willard 6df3b0b814
update for Stardew Valley 1.5.5 hotfix 2021-12-03 19:53:22 -05:00
Jesse Plamondon-Willard e4416925f9
add build script to set the release version 2021-12-03 02:16:27 -05:00
Jesse Plamondon-Willard 181508084b
make installer self-contained
This lets players run the installer without manually installing .NET 5, which was causing a lot of support requests.
2021-12-03 00:26:46 -05:00
Jesse Plamondon-Willard bf5a9b8762
switch to scripted release package process 2021-12-02 20:48:00 -05:00
Jesse Plamondon-Willard c10685b035
update mod build package release notes 2021-12-01 17:19:21 -05:00
Jesse Plamondon-Willard 25ebcc1ea7
prepare for release 2021-11-30 21:54:29 -05:00
Jesse Plamondon-Willard 05b06e7a9f
improve installer's .NET 5 validation to explain how to fix it 2021-11-30 21:53:09 -05:00
Jesse Plamondon-Willard f5a0dd1578
fix error running installer from folder paths containing parentheses 2021-11-30 20:18:17 -05:00
Jesse Plamondon-Willard b294ac1203
prepare for release 2021-11-30 17:13:53 -05:00
Jesse Plamondon-Willard d1d09ae1df
add support for loading BmFont files for custom languages 2021-11-28 00:01:52 -05:00
Jesse Plamondon-Willard fe675540b5
add map overlay patches 2021-11-28 00:01:51 -05:00
Jesse Plamondon-Willard cb378a1c55
keep installer window open if it crashes 2021-11-28 00:01:51 -05:00
Jesse Plamondon-Willard f5807e22be
add BundleExtraAssemblies package option for new .NET 5 reference model 2021-11-28 00:01:49 -05:00
Jesse Plamondon-Willard bf10aeef0a
remove GameFramework build property from package 2021-11-28 00:01:48 -05:00
Jesse Plamondon-Willard 4a26c96fbe
remove GameExecutableName build property from package 2021-11-28 00:01:48 -05:00
Jesse Plamondon-Willard 217cc7af21
add IgnoreModFilePaths option to package 2021-11-28 00:01:48 -05:00
Jesse Plamondon-Willard 1ab0420b6d
update compatibility list 2021-11-28 00:01:46 -05:00
Jesse Plamondon-Willard 727d75ae72
update to .NET 5 and official 64-bit 2021-11-28 00:01:41 -05:00
Jesse Plamondon-Willard 6efaa651cb
drop support for XNA Framework
Stardew Valley 1.5.5 migrates to MonoGame on all platforms.
2021-11-28 00:01:40 -05:00
Jesse Plamondon-Willard 96db1d9315
update Content Patcher schema for 1.24.0 2021-10-31 14:14:21 -04:00
Jesse Plamondon-Willard e89de6316d
add set_farm_type console command 2021-10-30 19:53:28 -04:00
Jesse Plamondon-Willard 68c58a4777
move release note 2021-10-18 17:17:54 -04:00
Jesse Plamondon-Willard f8c9a2929b
prepare for release 2021-10-17 19:53:24 -04:00
Jesse Plamondon-Willard 6bb156b318
update release process to use Windows 11 WSL instead of a Linux VM 2021-10-17 19:50:39 -04:00
Jesse Plamondon-Willard 6268abed37
update translation docs 2021-10-17 19:01:01 -04:00
Jesse Plamondon-Willard 50fdc7bb34
update translation docs 2021-10-09 21:06:32 -04:00
Jesse Plamondon-Willard 8263a4406b
add key to duplicate-dictionary-key exceptions 2021-10-07 18:46:41 -04:00
Jesse Plamondon-Willard 2a0a7191a7
fix barn/coop map edits resetting the exit warp 2021-10-06 23:37:48 -04:00
Jesse Plamondon-Willard b5c88d87d2
add support for unified mod data overrides on the wiki 2021-10-02 16:40:23 -04:00
Jesse Plamondon-Willard 0888f71a5c
show separate beta stats in mod compatibility list 2021-09-29 20:48:51 -04:00
Jesse Plamondon-Willard ab8599583e
fix SMAPI's display device not hooked correctly in split-screen mode 2021-09-27 17:06:15 -04:00
Jesse Plamondon-Willard 31e31538f1
fix farmhouse edits shifting player down one tile 2021-09-25 20:22:26 -04:00
Jesse Plamondon-Willard 6643da4574
prepare for release 2021-09-18 13:06:50 -04:00
Jesse Plamondon-Willard 6ac5ca090d
simplify exception logs 2021-09-18 12:43:31 -04:00
Jesse Plamondon-Willard 8a11774460
add simpler error when an asset isn't found 2021-09-18 11:48:20 -04:00
Jesse Plamondon-Willard 54a7c1f9bd
add more visible log output for players during early startup 2021-09-18 11:07:06 -04:00
Jesse Plamondon-Willard 4a7eb97306
add asset propagation for giftbox texture 2021-09-13 18:48:22 -04:00
Jesse Plamondon-Willard f6f4470d95
enable beta info on the mod compatibility list by default 2021-09-13 18:30:59 -04:00
Jesse Plamondon-Willard a40ef854f3
fix JSON validator line numbers sometimes incorrect 2021-09-13 18:20:36 -04:00
Jesse Plamondon-Willard 4fccaa3570
add nullable support in JSON converters 2021-09-13 00:01:14 -04:00
Jesse Plamondon-Willard a9fcbc686d
fix error when loading corrupted translation files 2021-09-08 19:01:40 -04:00
Jesse Plamondon-Willard 6d4ea7f0bd
prepare for release 2021-09-03 18:36:12 -04:00
Jesse Plamondon-Willard 9f1c454934
remove asset propagation for Data/Bundles 2021-09-03 18:35:23 -04:00
Jesse Plamondon-Willard bbaa260007
drop support for unofficial 64-bit mode 2021-09-02 23:01:40 -04:00
Jesse Plamondon-Willard 8789b7efa8
prepare path utilities for the upcoming Stardew Valley 1.5.5
The game will use Linux-style paths for assets on all platforms, which will break the current equivalence between path and asset name formats.
2021-09-02 18:54:56 -04:00
Jesse Plamondon-Willard 5848a355ba
add friendly errors when using SMAPI 3.12.x with Stardew Valley 1.5.5+ 2021-09-01 21:48:08 -04:00
Jesse Plamondon-Willard cf1d800b58
add Big Silo to compatibility list 2021-09-01 21:03:02 -04:00
Jesse Plamondon-Willard 1240cb2102
fix translations not initialized for temporary content packs 2021-09-01 20:58:21 -04:00
Jesse Plamondon-Willard 8bfab94213
reduce unneeded operations when scanning/rewriting mod DLLs 2021-09-01 20:02:58 -04:00
Jesse Plamondon-Willard c6cc1513c5
update release notes 2021-09-01 19:57:24 -04:00
Jesse Plamondon-Willard 9316fe3038
add hurry_all console command 2021-09-01 19:32:23 -04:00
Jesse Plamondon-Willard c065675604
prepare for release 2021-08-26 01:13:24 -04:00
Jesse Plamondon-Willard 22a895d27c
only check 64-bit compatibility if an assembly fails to load
Apparently some 32-bit-only DLLs load successfully with the unofficial 64-bit version of the game.
2021-08-26 01:12:37 -04:00
Jesse Plamondon-Willard 69b1c229de
prepare for release 2021-08-25 23:57:13 -04:00
Jesse Plamondon-Willard fd7f81ac9c
fix assembly resolver not tracking loaded mods correctly 2021-08-25 23:19:47 -04:00
Jesse Plamondon-Willard 31ac964a8b
prepare for release 2021-08-25 21:53:45 -04:00
Jesse Plamondon-Willard 8f77c1d1ef
update release notes 2021-08-25 20:46:57 -04:00
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 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 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 5e16ed0eea
prevent weird null reference exception in error-handling 2021-08-05 14:28:29 -04:00
Jesse Plamondon-Willard 94d41cd67a
correct release date 2021-08-05 12:21:18 -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 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 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 c15d43049a
fix map reload not correctly reloading interior doors 2021-07-31 19:22:14 -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 880cd7b8ba
fix handling of Unicode characters in console 2021-07-28 21:20:44 -04:00
Jesse Plamondon-Willard 6a6c484b98
add accessed key to dictionary KeyNotFoundException message 2021-07-28 00:49:54 -04:00
Jesse Plamondon-Willard e3010f7c41
refactor new code a bit 2021-07-28 00:36:34 -04:00
bladeoflight16 428f0c5880 world_clear: Adding 'removeable' option that includes everything except permanent bushes 2021-07-27 17:23:54 -04:00
Jesse Plamondon-Willard 163511e68e
merge release note sections 2021-07-21 23:08: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 8df578edb6
migrate to Harmony 2.1 (#711) 2021-07-13 09:14:07 -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
Jesse Plamondon-Willard be93327a80
update release notes 2021-05-26 20:11:01 -04: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