Jesse Plamondon-Willard
eb01aa275b
fix asset propagation for player sprite recolor masks
2022-05-10 18:51:37 -04:00
Jesse Plamondon-Willard
7a91cf1cd8
update schema for Content Patcher 1.26.0
2022-05-09 00:18:37 -04:00
Jesse Plamondon-Willard
cbe8b597cb
prepare for release
2022-05-08 20:11:02 -04:00
Jesse Plamondon-Willard
26f95bca63
optimize case where there's no legacy IAssetLoader/IAssetEditor instances
2022-05-08 18:22:35 -04:00
Jesse Plamondon-Willard
e286e5591b
enable case-insensitive file paths by default for Android/Linux players
2022-05-07 23:26:34 -04:00
Jesse Plamondon-Willard
3db0353126
simplify and rewrite case-insensitive file path feature
2022-05-07 23:12:33 -04:00
Jesse Plamondon-Willard
d4ff9f3f5c
log fake content packs created by mods
2022-05-07 21:53:18 -04:00
Jesse Plamondon-Willard
709638f197
fix assets loaded through fake content pack using parent mod's path info
2022-05-07 21:21:02 -04:00
Jesse Plamondon-Willard
b45f50b57e
prepare for release
2022-05-06 19:40:13 -04:00
Jesse Plamondon-Willard
a969828e93
cache asset operation instances created legacy interceptors
2022-05-06 18:26:35 -04:00
Jesse Plamondon-Willard
b834ed7ef5
fix errors reading empty JSON files
2022-05-06 18:06:47 -04:00
Jesse Plamondon-Willard
87d5288287
fix content managers' LoadBaseString not recognizing localized mod assets
2022-05-06 18:05:40 -04:00
Jesse Plamondon-Willard
295ad29b8d
remove aggressive memory optimizations option
2022-05-04 21:02:41 -04:00
Jesse Plamondon-Willard
c1342bd4cd
disable case-insensitive paths by default pending performance rework
2022-05-04 20:35:08 -04:00
Jesse Plamondon-Willard
42bf82d870
update compatibility list
2022-05-01 22:46:56 -04:00
Jesse Plamondon-Willard
f78093bdb5
prepare for release
2022-05-01 17:39:57 -04:00
Jesse Plamondon-Willard
6a43171e92
re-enable Pintail by default
2022-04-26 23:38:16 -04:00
Jesse Plamondon-Willard
d486d940ba
temporarily disable Pintail by default pending out parameter fix
2022-04-16 19:17:16 -04:00
Jesse Plamondon-Willard
e7fd95aafd
update release notes
2022-04-16 13:04:16 -04:00
Jesse Plamondon-Willard
9ba0670407
fix Nexus API key needed to launch web project locally
2022-04-16 11:21:44 -04:00
Jesse Plamondon-Willard
c0d0ad0282
show simplified stack trace for deprecation notices
2022-04-14 23:55:08 -04:00
Jesse Plamondon-Willard
3a777a511d
update release notes
2022-04-14 18:15:02 -04:00
Jesse Plamondon-Willard
045e4ddf2d
update release notes ( #837 )
2022-04-13 22:58:47 -04:00
Jesse Plamondon-Willard
1e61309d3d
add IAssetDataForMap.ExtendMap
2022-04-11 22:56:14 -04:00
Jesse Plamondon-Willard
85c769d2a2
update release notes
2022-04-09 16:57:41 -04:00
Jesse Plamondon-Willard
288ef5dc07
add environment variable form of new CLI args, update docs
2022-04-09 12:03:30 -04:00
Jesse Plamondon-Willard
3f9b412bed
expand & reorganize 3.14.0 release notes
2022-04-07 00:26:28 -04:00
Jesse Plamondon-Willard
d1a7194bf6
allow null values in ISemanticVersion compare methods ( #837 )
2022-04-06 23:47:12 -04:00
Jesse Plamondon-Willard
215a863945
drop update checks for Stardew64Installer
2022-04-06 18:34:58 -04:00
Jesse Plamondon-Willard
4e2d7f2550
make mod file paths case-insensitive in all SMAPI APIs
2022-04-01 23:42:37 -04:00
Jesse Plamondon-Willard
1d3c99cc25
split helper.Content API into game/mod content APIs
2022-03-27 13:42:14 -04:00
Jesse Plamondon-Willard
bacb851d7b
add IContentHelper.ParseAssetName ( #766 )
2022-03-26 17:44:48 -04:00
Jesse Plamondon-Willard
8d70415376
add deprecation notices for SMAPI 4.0.0 ( #766 )
2022-03-26 15:02:11 -04:00
Jesse Plamondon-Willard
4c64f9f644
rewrite content loading to allow handling locale variants ( #766 , #786 , #812 )
...
The game's content pipeline automatically loads localized variants if present. For example, it will try to load "Maps/cave.fr-FR", then "Maps/cave_international", then "Maps/cave". The old content API obfuscates this logic and treats them as interchangeable, which causes edge cases like bundle corruption (#812 ). This commit rewrites the loading logic to match the game logic when using the new content events, while maintaining the legacy behavior for the old IAssetLoader/IAssetEditor interfaces that'll be removed in SMAPI 4.0.0.
2022-03-26 14:07:16 -04:00
Jesse Plamondon-Willard
ad8912047b
add asset edit priority ( #766 )
2022-03-26 01:43:40 -04:00
Jesse Plamondon-Willard
021891ff0c
add load conflict resolution option ( #766 )
2022-03-25 22:49:14 -04:00
Jesse Plamondon-Willard
9025b0dcc5
fix asset load conflict always showing multiple-mod form
2022-03-25 22:16:49 -04:00
Jesse Plamondon-Willard
e1fc566e0a
add content pack labels ( #766 )
2022-03-25 21:46:37 -04:00
Jesse Plamondon-Willard
2b0ce2bb4d
add AssetInvalidated content event ( #766 )
2022-03-24 22:55:55 -04:00
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
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
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
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
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
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
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