Commit Graph

167 Commits

Author SHA1 Message Date
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 de789fb3e8
fix semantic version comparison returning wrong value in rare cases 2021-01-15 18:21:28 -05:00
Jesse Plamondon-Willard 0fdb09f5f9
fix network messages not using same JSON serializer settings (#745) 2021-01-01 11:51:57 -05:00
Jesse Plamondon-Willard 06c7e4e2b9
show details in TRACE logs when a mod is blocked by compatibility list 2020-12-29 23:58:54 -05:00
Jesse Plamondon-Willard 1c70736c00
clarify not-a-mod error when SMAPI installer is in mods folder 2020-12-08 08:23:16 -05:00
Jesse Plamondon-Willard c627348c25
let players specify game path by running the installer from within it 2020-11-23 18:20:52 -05:00
Jesse Plamondon-Willard 91289de74f
update internal dependencies 2020-11-17 19:09:55 -05:00
Jesse Plamondon-Willard 7580f87029
rename PathUtilities.NormalizePathSeparator, add normalization for more cases 2020-09-08 18:12:57 -04:00
Jesse Plamondon-Willard be1df8e705
simplify path separator normalization
It no longer tries to clean up the path (e.g. "path/to///file/" => "path/to/file"), which means it can more intuitively handle cases like this:
     asset.AssetName.StartsWith(PathUtilities.NormalizePathSeparators("Characters/Dialogue/"))
2020-09-05 14:51:52 -04:00
Jesse Plamondon-Willard 5d1c77884f
add unit tests for PathUtilities, fix some edge cases 2020-09-05 13:37:40 -04:00
Jesse Plamondon-Willard 828be405e1
use inheritdoc 2020-08-30 22:53:19 -04:00
Jesse Plamondon-Willard 76c926c396
add EarlyConstants for constants needed before external DLLs are loaded 2020-08-23 18:51:01 -04:00
Jesse Plamondon-Willard 625c41c0ea
move file for upcoming change 2020-08-23 18:45:54 -04:00
Jesse Plamondon-Willard 849c6da9ca
update dependencies 2020-08-02 16:18:11 -04:00
Jesse Plamondon-Willard 7900a84bd6
use ordinal comparison/sorting instead of invariant 2020-07-26 02:50:20 -04:00
Jesse Plamondon-Willard 4b07e10520
ignore more content file types when detecting mods 2020-07-21 13:51:11 -04:00
Jesse Plamondon-Willard 79181012ee
tweak build files 2020-06-14 10:55:52 -04:00
Jesse Plamondon-Willard d9c2d242b9
add update key overrides 2020-05-24 16:39:56 -04:00
Jesse Plamondon-Willard bb9cde8f2e
ignore MacOS files starting with ._ 2020-05-24 00:31:15 -04:00
Jesse Plamondon-Willard d97b11060c
add update subkeys 2020-05-24 00:21:51 -04:00
Jesse Plamondon-Willard 786077340f
refactor update check API
This simplifies the logic for individual clients, centralises common logic, and prepares for upcoming features.
2020-05-23 21:55:11 -04:00
Jesse Plamondon-Willard a090b6c21c
use newer C# features 2020-05-16 11:29:40 -04:00
Jesse Plamondon-Willard 0b5fa6bf86
add new 'unknown' compatibility status (#711) 2020-05-09 21:30:28 -04:00
Jesse Plamondon-Willard c58d01d0cf
update packages 2020-05-07 21:15:29 -04:00
Jesse Plamondon-Willard 107232ae43
update packages 2020-03-22 19:26:09 -04:00
Jesse Plamondon-Willard c6947682b0
update packages 2020-03-06 21:41:20 -05:00
Jesse Plamondon-Willard e8bb80af26
fix errors loading spouse room content packs in SMAPI 3.3
The new logic for loading map tilesheets incorrectly changed vanilla tilesheets like "townInterior" to "Maps/townInterior". While the game itself handled that, mods like Content Patcher which compared tilesheet paths would incorrectly decide that "townInterior" and "Maps/townInterior" were different files, and add a new tilesheet for it; that in turn would cause errors when patching spouse rooms, since it doesn't copy tilesheets.
2020-02-22 17:53:22 -05:00
Jesse Plamondon-Willard d3ec98fec8
update packages 2020-02-22 11:26:05 -05:00
Jesse Plamondon-Willard dd27b3bf35
fix parsing four-part versions from the update-check API 2020-02-20 21:32:55 -05:00
Jesse Plamondon-Willard 4991b4d6af
prefix OS name in log on Android 2020-02-02 15:01:03 -05:00
Jesse Plamondon-Willard 17a9193fd2
update packages 2020-02-01 16:06:12 -05:00
Jesse Plamondon-Willard 3f1d7b1d22
rework build settings a bit 2020-01-31 22:27:12 -05:00
Jesse Plamondon-Willard d1935e686c
add full internal support for non-standard four-part versions 2020-01-23 00:31:26 -05:00
Jesse Plamondon-Willard d68e4f9766
drop pre-3.0 update-check support 2020-01-12 19:41:14 -05:00
Jesse Plamondon-Willard 2b68be4ebb
add version mappings from the wiki to API data 2020-01-11 20:33:01 -05:00
Jesse Plamondon-Willard 609ceedaba
update for compatibility list change 2020-01-11 16:53:58 -05:00
Jesse Plamondon-Willard 0a00c70397
add console warning in paranoid mode 2019-12-20 20:27:21 -05:00
Jesse Plamondon-Willard 9018750eb3
fix Linux systems with libhybris-utils installed incorrectly detected as Android (#668) 2019-12-15 11:27:46 -05:00
Jesse Plamondon-Willard abf5f27454
add support for semver 2.0 build metadata, update for SDV 1.4.0.1 2019-12-02 22:37:03 -05:00
Jesse Plamondon-Willard f0f348bd5f
update packages 2019-11-24 12:13:34 -05:00
Jesse Plamondon-Willard fd6a719b02
overhaul update checks
This commit moves the core update-check logic serverside, and adds support for community-defined version mappings. For example, that means false update alerts can now be solved by the community for all players.
2019-11-09 21:18:06 -05:00
Jesse Plamondon-Willard 0aac0717bf
add CurseForge to mod metadata (#605) 2019-11-08 13:44:49 -05:00
Jesse Plamondon-Willard 8b09a2776d
add support for CurseForge update keys (#605) 2019-11-07 13:51:45 -05:00
Jesse Plamondon-Willard 88dce820d5
no longer omit zero patch numbers when formatting versions 2019-11-04 16:50:00 -05:00
Jesse Plamondon-Willard 2f9884c47b
update packages 2019-09-14 19:19:34 -04:00
Jesse Plamondon-Willard 8cb190de08
add Android detection 2019-09-14 19:19:08 -04:00
Jesse Plamondon-Willard d49ead6113
remove custom enum, add Android to SMAPI's platform enum
This will also be used in an upcoming commit for SMAPI's target platform constant.
2019-09-14 19:14:51 -04:00
Jesse Plamondon-Willard 25e4aa14d8
remove legacy AssemblyInfo and GlobalAssemblyInfo files, use consistent assembly names 2019-09-14 19:12:40 -04:00
Jesse Plamondon-Willard fd77ae93d5
fix typos and inconsistent spelling 2019-09-14 19:08:06 -04:00
Jesse Plamondon-Willard 1d085df5b7
track license info for mod GitHub repos (#651) 2019-09-14 18:59:29 -04:00
Jesse Plamondon-Willard 1b807edd00
update HTTP client to fix form-url-encoded error with large log files 2019-09-14 18:53:20 -04:00
Jesse Plamondon-Willard b2134035b7
update NuGet packages 2019-09-14 18:52:22 -04:00
Jesse Plamondon-Willard 1bf399ec23
add dev note field to compatibility list 2019-09-14 18:52:14 -04:00
Jesse Plamondon-Willard 48f211f544
add metadata links to mod compatibility list 2019-09-14 18:51:57 -04:00
Jesse Plamondon-Willard f18ad1210c
update project name 2019-09-14 18:46:41 -04:00
Jesse Plamondon-Willard 1a8c7345c3
add stardewvalley.targets support to toolkit 2019-09-14 18:10:41 -04:00
Jesse Plamondon-Willard a7544e5afb
move game detection into toolkit for reuse 2019-09-14 18:05:18 -04:00
Jesse Plamondon-Willard 46a0dd6236
move environment utility into toolkit for reuse 2019-09-14 18:05:10 -04:00
Jesse Plamondon-Willard 2be3b7fb01
fix default toolkit namespace 2019-09-14 17:52:33 -04:00
Jesse Plamondon-Willard 83ae036e09
improve XNB mod and ignore file matching 2019-09-14 17:52:02 -04:00
Jesse Plamondon-Willard 30cc7ac916
consolidate XNB mods when scanning mods 2019-09-14 17:50:45 -04:00
Jesse Plamondon-Willard d74b710833
add mod type to mod scanner result 2019-09-14 17:50:39 -04:00
Jesse Plamondon-Willard abffdc2dab
simplify project names 2019-09-14 17:46:34 -04:00
Jesse Plamondon-Willard bad2ac2a29
remove deprecated APIs (#606) 2019-09-14 16:59:29 -04:00
Jesse Plamondon-Willard 31a49b83c2
update NuGet packages 2019-09-14 16:57:15 -04:00
Jesse Plamondon-Willard 125bcbee56
migrate to new project file format 2019-09-13 17:22:45 -04:00