Commit Graph

3308 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard 133aeab3fc
Merge pull request #882 from Shockah/mod-load-order
Add options to override mod load order

# Conflicts:
#	src/SMAPI/Framework/Models/SConfig.cs
2022-11-11 01:29:30 -05:00
Jesse Plamondon-Willard dbf7750f3e
only validate & apply custom load order if there is one 2022-11-11 01:22:46 -05:00
Jesse Plamondon-Willard 3059794622
adjust warning messages & log header when load order is edited 2022-11-11 01:22:46 -05:00
Jesse Plamondon-Willard 0629f19698
change new fields to hash sets & simplify sorting
This makes the mod IDs case-insensitive (like the 'SuppressUpdateChecks' field), fixes a build error in unit tests, and avoids re-scanning the mod list multiple times.
2022-11-11 01:22:45 -05:00
Jesse Plamondon-Willard eaacfd04b8
Merge pull request #881 from tylergibbs2/detailed-manifest-errors
Add detailed manifest validation errors at build time
2022-11-10 23:34:50 -05:00
Jesse Plamondon-Willard 867afdd96f
tweak new code 2022-11-10 23:27:38 -05:00
Jesse Plamondon-Willard 6ee0d2f93d
don't validate manifest if we're not deploying or zipping the mod
That would break cases like unit test projects, which don't have a manifest.json file.
2022-11-10 23:27:38 -05:00
Jesse Plamondon-Willard 346fddda67
move validation logic out of Manifest model
This avoids tightly coupling higher logic to the implementation class, since we can validate the interface.
2022-11-10 23:27:38 -05:00
Jesse Plamondon-Willard 2a8cb8c636
Merge pull request #878 from atravita-mods/develop
Rewrite asset name comparison to stop at the first mismatch
2022-11-10 21:52:00 -05:00
Jesse Plamondon-Willard 303b3924ae
fix case where prefix ends with a path separator 2022-11-10 21:50:01 -05:00
Jesse Plamondon-Willard 76e5588f02
add option to disable console input 2022-11-09 21:41:04 -05:00
Jesse Plamondon-Willard beb0b0aaf4
fix & improve split-screen column in log parser 2022-11-09 20:03:41 -05:00
Michał Dolaś 9fd8c35b46 Actually taking order into consideration 2022-11-09 20:26:50 +01:00
Michał Dolaś 42b4b6b6a4 Renamed first/last to early/late; ignoring mods declared as both and warning about those 2022-11-09 19:50:32 +01:00
Michał Dolaś bb2fde1829 Added ModsToLoadFirst/Last to SMAPI config, along with the implementation 2022-11-09 17:25:25 +01:00
Jesse Plamondon-Willard 8090b30c6e
prepare for release 2022-10-21 20:12:02 -04:00
Tyler 55eec58eaf
simplify ContentPackFor validation check 2022-10-19 10:21:19 -05:00
Tyler 61d6ec12da
add detailed manifest validation errors at build time 2022-10-18 20:03:28 -05:00
atravita-mods b99dbf53bd fix this case. 2022-10-18 18:58:41 -04:00
Jesse Plamondon-Willard 0e4dd8a7b4
prevent Steam vdf read errors from crashing the installer 2022-10-17 20:02:19 -04:00
atravita-mods 4dcc6904b9 fix issues with subfolders 2022-10-16 18:04:19 -04:00
Jesse Plamondon-Willard ff9a955c8b
Merge pull request #879 from atravita-mods/FixIndexingAgain
Fix image patching index math
2022-10-16 15:12:17 -04:00
Jesse Plamondon-Willard e31c96d5b8
add missing test adapter package 2022-10-16 15:08:39 -04:00
Jesse Plamondon-Willard 573f732c2a
reduce sequential bool checks a bit 2022-10-16 14:41:46 -04:00
Jesse Plamondon-Willard 5d30b47e1e
fix IsEquivalentTo no longer ignoring surrounding whitespace 2022-10-16 14:41:46 -04:00
Jesse Plamondon-Willard 4e3b2810e6
fix index-out-of-range error when StartsWith prefix is empty 2022-10-16 14:41:45 -04:00
Jesse Plamondon-Willard eed1deb3c7
apply conventions to asset part enumerator 2022-10-16 14:41:45 -04:00
Jesse Plamondon-Willard 70cde89480
tweak naming in new code 2022-10-16 14:41:45 -04:00
atravita-mods 72ee547e1e And fixing the indexing math again. 2022-10-15 11:03:39 -04:00
atravita-mods 0c191eb32c make asset name comparing lazy. 2022-10-15 08:36:24 -04:00
Jesse Plamondon-Willard 5739745b76
prepare for release 2022-10-10 20:03:01 -04:00
Jesse Plamondon-Willard 474c76183b
fix error when Steam .vdf file doesn't exist 2022-10-10 13:36:11 -04:00
Jesse Plamondon-Willard ee77efcc97
prepare for release 2022-10-09 19:42:24 -04:00
Jesse Plamondon-Willard 4d2ad379b4
fix package error 2022-10-09 19:29:18 -04:00
Jesse Plamondon-Willard 27856ebea2
drop UseRawImageLoading option
Raw image loading is now always enabled, except in PyTK compatibility mode.
2022-10-09 18:03:05 -04:00
Jesse Plamondon-Willard b78b269cf5
split PyTK raw-image-load check into a separate method so it can be patched by mods like SpriteMaster 2022-10-09 17:56:33 -04:00
Jesse Plamondon-Willard 037d7e357b
set texture name earlier to support mods like SpriteMaster 2022-10-09 17:39:11 -04:00
Jesse Plamondon-Willard 9a15da5a17
add 'strict mode' release with deprecated APIs stripped out 2022-10-09 16:59:05 -04:00
Jesse Plamondon-Willard 42ff20cd92
suppress Harmony debug mode by default 2022-10-09 15:01:25 -04:00
Jesse Plamondon-Willard d0704ef6f0
fix nullability warnings 2022-10-09 14:34:31 -04:00
Jesse Plamondon-Willard 8dc12fd01c
optimize string splits 2022-10-09 14:30:40 -04:00
Jesse Plamondon-Willard 3d10d08a1a
make deprecation warnings a bit stronger for the upcoming 4.0.0 release 2022-10-09 14:08:16 -04:00
Jesse Plamondon-Willard a220e14f2d
polish recent changes & update release notes 2022-10-09 13:50:24 -04:00
Jesse Plamondon-Willard fce1b1bd0b
Merge pull request #875 from pizzaoverhead/steamLibrarySupport
Find installs in alternate Steam library locations
2022-10-08 21:33:26 -04:00
Jesse Plamondon-Willard ab66266b4b
update installer for VdfConverter & rework avoid custom models 2022-10-08 21:32:10 -04:00
Jesse Plamondon-Willard 5ef726be92
Merge pull request #874 from KhloeLeclair/specific_apis
Add `IMod.GetApi(IManifest manifest)`
2022-10-08 20:45:49 -04:00
Jesse Plamondon-Willard 8d6670cfc8
pass mod info to GetApi instead 2022-10-08 20:33:01 -04:00
Jesse Plamondon-Willard a565ac9405
make GetApi methods mutually exclusive & improve docs 2022-10-08 19:59:21 -04:00
Jesse Plamondon-Willard 4323758c7c
Merge pull request #873 from atravita-mods/patch-1
Ignore more file extensions when scanning for mods
2022-10-08 18:14:32 -04:00
Jesse Plamondon-Willard 0cce2d701d
Merge pull request #872 from tylergibbs2/fix-comparablelistwatcher-memleak
Fix ComparableListWatcher not removing items in zero case
2022-10-08 18:13:13 -04:00
Jesse Plamondon-Willard 2e918823ba
Merge pull request #870 from atravita-mods/arraypooling
Use array pooling and various optimizations to reduce allocations
2022-10-08 18:03:14 -04:00
Jesse Plamondon-Willard 2e0bc5ddfe
tweak new code 2022-10-08 17:45:50 -04:00
Jesse Plamondon-Willard 40d5cd7c05
use try..finally to make sure rented arrays are returned 2022-10-08 17:42:32 -04:00
atravita-mods 48d0f70ffd
fix indexing math again. 2022-10-08 13:27:08 -04:00
atravita-mods 798a56bd2e
Avoid copying memory for contingous buffers. 2022-10-08 13:27:07 -04:00
atravita-mods 496c438be2
fix indexing again, because apparently I'm bad at math now? 2022-10-08 13:27:07 -04:00
atravita-mods a3b8546ec8
cleanup and comments 2022-10-08 13:27:07 -04:00
atravita-mods 09fd12ddfe
use startindex/endindex since I've already calculated those... 2022-10-08 13:27:07 -04:00
atravita-mods c1d5d19e43
Skip transparent rows at the start and end when doing a patch overlay. 2022-10-08 13:27:06 -04:00
atravita-mods ce63efa2f4
Avoid making copy if the source image is just taller than the sourceArea. 2022-10-08 13:27:06 -04:00
atravita-mods ff523c619a
fix fast-track array copying 2022-10-08 13:27:06 -04:00
atravita-mods d29c01b815
Partially revert "Favor record structs when there are four or fewer elements."
This reverts commit f5d49515c4eddfb415903a89d70654cf9b6de299.
2022-10-08 13:27:06 -04:00
atravita-mods 627100509c
hide throwhelper from stack trace in dotnet 6 2022-10-08 13:27:06 -04:00
atravita-mods 0a2a1a08de
Favor record structs when there are four or fewer elements. 2022-10-08 13:27:05 -04:00
atravita-mods 581763c363
Skip math if above is fully opaque. 2022-10-08 13:27:05 -04:00
atravita-mods 4a1055e573
arraypool in the modcontentmanager, a bit of fussing 2022-10-08 13:27:05 -04:00
atravita-mods 78643710ce
Use array pools in editing images. 2022-10-08 13:27:05 -04:00
atravita-mods 7c90385d8d
Pre-calculate the strings for log levels. 2022-10-08 13:27:04 -04:00
Jesse Plamondon-Willard a7f03abe25
change square brackets to round ones in manifest name 2022-10-08 13:16:38 -04:00
Jesse Plamondon-Willard 5a0d337fcf
update FluentHttpClient 2022-10-07 00:21:09 -04:00
Jesse Plamondon-Willard 2c25426578
fix issues with BundleExtraAssemblies 2022-10-07 00:16:00 -04:00
pizzaoverhead c6b3446e9c Added checking for alternative Steam library install locations when looking for the Stardew Valley install. 2022-09-29 13:33:45 +01:00
Jesse Plamondon-Willard c0e31d17a6
fix handling of GitHub prerelease versions marked as non-prerelease 2022-09-28 23:21:12 -04:00
Khloe Leclair e8da8fff51 Initial work on a way for mods to return specific API instances to specific mods. 2022-09-26 15:18:36 -04:00
atravita-mods 715b9b09ba
Update ModScanner.cs
Add a few more files to the ignored files like .7z
2022-09-18 12:05:46 -04:00
Tyler f0e52061e3
fix ComparableListWatcher not removing items in zero case 2022-09-05 13:11:36 -05:00
Jesse Plamondon-Willard 41e95642f0
prepare for release 2022-08-31 17:15:58 -04:00
Jesse Plamondon-Willard 5af87fc3be
remove compatibility section in the new app manifest
This apparently leads to NoSuitableGraphicsDeviceException errors when launching SMAPI for some players.
2022-08-31 17:08:30 -04:00
Jesse Plamondon-Willard 8b6c732d71
prepare for release 2022-08-29 18:18:21 -04:00
Jesse Plamondon-Willard 47a68fbb7b
deprecate PyTK compatibility mode 2022-08-29 18:17:53 -04:00
Jesse Plamondon-Willard 2bb8e8353b
update compatibility workaround for the recent PyTK update 2022-08-29 18:00:41 -04:00
Jesse Plamondon-Willard c2f474bf88
distinguish empty/XNB folders from invalid manifest for error-tracking 2022-08-24 17:49:17 -04:00
Jesse Plamondon-Willard 1d5017f119
fix broken mods with no ID listed as duplicate 2022-08-24 17:49:12 -04:00
Jesse Plamondon-Willard f3a79219e8
prepare for release 2022-08-20 17:01:07 -04:00
Jesse Plamondon-Willard f780d140f0
fix early mod load errors incorrectly suppressed 2022-08-20 16:36:15 -04:00
Jesse Plamondon-Willard 263130bafc
fix deprecation notices split into two messages unnecessarily 2022-08-20 16:15:29 -04:00
Jesse Plamondon-Willard b2103bbfa6
update schema for Content Patcher 1.28.0 2022-08-18 22:39:37 -04:00
Jesse Plamondon-Willard c51a593e93
fix log parser error if a mod logged a null character 2022-08-16 22:03:22 -04:00
Jesse Plamondon-Willard 5ab87efaa0
log error if mod files are detected directly under Mods folder 2022-08-16 22:03:21 -04:00
Jesse Plamondon-Willard d813c4e2c8
fix log parsing for invalid content packs (#860) 2022-08-08 22:27:07 -04:00
Jesse Plamondon-Willard e376386d25
set error code on exit (#868) 2022-08-08 21:43:46 -04:00
Jesse Plamondon-Willard 352fa4759e
fix error when a mod is both duplicated and missing the DLL 2022-08-08 19:54:07 -04:00
Jesse Plamondon-Willard f3ff334c08
Merge pull request #869 from atravita-mods/patch-1
Add error message for invalid PNG
2022-08-08 19:46:30 -04:00
Jesse Plamondon-Willard e7b93e2ec2
Merge pull request #867 from lanturnalis/develop
Add condition to DebugType to allow for overriding
2022-08-08 19:46:01 -04:00
Jesse Plamondon-Willard 08eafe7d89
tweak new error text 2022-08-08 19:42:40 -04:00
Jesse Plamondon-Willard 8c58bdae6f
remove DebugType build property
The 'portable' format is preferred in newer .NET versions, but it's set by default now so we don't need to override it anymore.
2022-08-08 19:32:58 -04:00
atravita-mods 7a3b0e180f
Adds an error message for an invaild png 2022-08-05 17:21:53 -04:00
Jesse Plamondon-Willard ab34b6142d
undo $@ to $* change per discussion 2022-07-28 21:47:21 -04:00
Jesse Plamondon-Willard 5371dc3fce
Merge pull request #865 from ishanjalan/unix-launcher-changes
Apply suggested fixes from Rider in Unix launcher

* [error] Argument mixes string and array. Use * or separate argument.
* [warn] Declare and assign separately to avoid masking return values.
* [warn] Quote to prevent word splitting.
* [hint] echo may not expand escape sequences. Use printf.
* [hint] read without -r will mangle backslashes.
* [hint] Double quote to prevent globbing and word splitting.
2022-07-28 21:28:41 -04:00
Jesse Plamondon-Willard 1095ce6682
Merge pull request #864 from KediDili/develop
Fix Turkish translation
2022-07-28 21:09:49 -04:00