Commit Graph

3950 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard 42bcd3068f
add unit test for assumption about HashSet<T> order
This will let us detect if the behavior ever changes in a future version of .NET, so we need to change the new ModsToLoadEarly/Late config fields.
2022-11-11 02:33:28 -05:00
Jesse Plamondon-Willard 28ba3408bc
raise all deprecation messages to the final level 2022-11-11 01:47:12 -05:00
Jesse Plamondon-Willard cefd9e23b0
set max game version 2022-11-11 01:38:45 -05:00
Jesse Plamondon-Willard e44562c9c5
update release notes 2022-11-11 01:35:42 -05:00
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 9ae69245b3
Merge branch 'develop' into stable 2022-10-21 20:12:18 -04: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 4e91174b3e
update release notes 2022-10-16 15:17:03 -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 ce00f8ff87
Merge branch 'develop' into stable 2022-10-10 20:03:16 -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 93a748996c
Merge branch 'develop' into stable 2022-10-09 20:11:34 -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 d143ab1077
update to Harmony 2.2.2 2022-10-09 14:45:50 -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