summaryrefslogtreecommitdiff
path: root/src/SMAPI.Toolkit/Utilities
AgeCommit message (Collapse)Author
2022-05-07update filenames for case-insensitive path rewriteJesse Plamondon-Willard
2022-05-07simplify and rewrite case-insensitive file path featureJesse Plamondon-Willard
2022-05-04disable case-insensitive paths by default pending performance reworkJesse Plamondon-Willard
2022-04-16make manifest.json filename case-insensitiveJesse Plamondon-Willard
2022-04-16move case-insensitive path lookup into toolkit for reuseJesse Plamondon-Willard
2022-04-07reverse mod build package migration to .NET 5 (#837)Jesse Plamondon-Willard
The migrated package didn't work consistently in VIsual Studio, so this suppresses nullable annotations in .NET Standard instead.
2022-04-07enable nullable annotations for most of the SMAPI toolkit (#837)Jesse Plamondon-Willard
2022-04-07migrate mod build package to .NET 5 to allow full nullable annotations (#837)Jesse Plamondon-Willard
2022-04-06enable nullable annotations by default (#837)Jesse Plamondon-Willard
This adds `#nullable disable` to all existing code (except where null is impossible like enum files), so it can be migrated incrementally.
2022-04-06use target-typed newJesse Plamondon-Willard
2021-11-28fix error resolving native DLLs like libSkiaSharpJesse Plamondon-Willard
2021-11-28remove path-too-long exception handlingJesse Plamondon-Willard
The path length limit no longer applies in .NET 5.
2021-11-28update for asset name format changeJesse Plamondon-Willard
MonoGame uses Linux-style paths for assets on all platforms, which breaks the previous equivalence between path and asset name formats.
2021-11-28update to .NET 5 and official 64-bitJesse Plamondon-Willard
2021-09-02prepare path utilities for the upcoming Stardew Valley 1.5.5Jesse Plamondon-Willard
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-08-25add 64-bit compatibility check before loading modsJesse Plamondon-Willard
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-04-04standardize spelling of 'macOS'Jesse Plamondon-Willard
2021-03-21remove unused code (#767)Jesse Plamondon-Willard
2021-03-08fix installer error when Mods folder doesn't exist in 3.9.3 (#764)Jesse Plamondon-Willard
2021-03-07add descriptive error for PathTooLongException which crashes SMAPI or the ↵Jesse Plamondon-Willard
installer
2020-09-08rename PathUtilities.NormalizePathSeparator, add normalization for more casesJesse Plamondon-Willard
2020-09-05simplify path separator normalizationJesse Plamondon-Willard
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-05add unit tests for PathUtilities, fix some edge casesJesse Plamondon-Willard
2020-08-23 add EarlyConstants for constants needed before external DLLs are loadedJesse Plamondon-Willard
2020-08-23move file for upcoming changeJesse Plamondon-Willard
2020-05-16use newer C# featuresJesse Plamondon-Willard
2020-02-22fix errors loading spouse room content packs in SMAPI 3.3Jesse Plamondon-Willard
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-02prefix OS name in log on AndroidJesse Plamondon-Willard
2019-12-15fix Linux systems with libhybris-utils installed incorrectly detected as ↵Jesse Plamondon-Willard
Android (#668)
2019-09-14add Android detectionJesse Plamondon-Willard
2019-09-14remove custom enum, add Android to SMAPI's platform enumJesse Plamondon-Willard
This will also be used in an upcoming commit for SMAPI's target platform constant.
2019-09-14fix typos and inconsistent spellingJesse Plamondon-Willard
2019-09-14move environment utility into toolkit for reuseJesse Plamondon-Willard
2019-09-13migrate to new project file formatJesse Plamondon-Willard