summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework
AgeCommit message (Collapse)Author
2021-09-03remove asset propagation for Data/BundlesJesse Plamondon-Willard
2021-09-02drop support for unofficial 64-bit modeJesse Plamondon-Willard
2021-09-02fix build errors on LinuxJesse Plamondon-Willard
2021-09-02avoid duplicate update key parsing logic, fix unit testsJesse 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-09-01fix translations not initialized for temporary content packsJesse Plamondon-Willard
2021-09-01reduce unneeded operations when scanning/rewriting mod DLLsJesse Plamondon-Willard
2021-09-01tweak new codeJesse Plamondon-Willard
2021-09-01Rewrite 32-bit assemblies for 64-bitChase Warrington
2021-08-26only check 64-bit compatibility if an assembly fails to loadJesse Plamondon-Willard
Apparently some 32-bit-only DLLs load successfully with the unofficial 64-bit version of the game.
2021-08-25add failsafe when loading symbolsJesse Plamondon-Willard
2021-08-25fix assembly resolver not tracking loaded mods correctlyJesse Plamondon-Willard
2021-08-25fix error when no symbols are foundJesse Plamondon-Willard
2021-08-25fix error when reading a duplicate assemblyJesse Plamondon-Willard
2021-08-25minor refactoring in new symbol codeJesse Plamondon-Willard
2021-08-25reorganize new classesJesse Plamondon-Willard
2021-08-25Fix for loading both types of PDBsChase Warrington
2021-08-25Fix assembly rewriting causing VS to error/crash when debuggingChase Warrington
2021-08-25fix console encoding issues (#798)Jesse Plamondon-Willard
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-08-25no longer abort input thread when exitingJesse Plamondon-Willard
`thread.Abort` is unimplemented in .NET 5, but it's not needed anyway since all threads will be aborted when the game exits.
2021-08-25fix data helper's WriteJsonFile not deleting file if data is null (#799)Jesse Plamondon-Willard
2021-08-25add GetInAllLocales to translation APIJesse Plamondon-Willard
2021-08-08fix edge case where Netcode references aren't rewritten correctlyJesse Plamondon-Willard
2021-08-08move assembly resolver setup into Constants to centralize hardcoded logicJesse Plamondon-Willard
2021-08-04undo Constants.Save* changes in 3.12.1Jesse Plamondon-Willard
2021-08-03fix Mono.Cecil failing to resolve references to SMAPI in some edge casesJesse Plamondon-Willard
2021-08-03increase software conflict message to warning level to simplify troubleshootingJesse Plamondon-Willard
2021-08-02use more reliable method to get save folder nameJesse Plamondon-Willard
SMAPI now tracks the actual folder name being loaded to avoid edge cases where the folder name doesn't match the save ID.
2021-07-30migrate to the new Harmony patch pattern used in my modsJesse Plamondon-Willard
That improves validation and error-handling.
2021-07-30rename patch classes for consistencyJesse Plamondon-Willard
2021-07-30split patch classes which target multiple typesJesse Plamondon-Willard
2021-07-29reduce ErrorHandler's direct references to internal SMAPI codeJesse Plamondon-Willard
That will allow removing the InternalsVisibleTo attribute to avoid namespace conflicts in an upcoming commit.
2021-07-28fix handling of Unicode characters in consoleJesse Plamondon-Willard
2021-07-28fix Data\Movies error regression when patching dictionary (#711)Jesse Plamondon-Willard
2021-07-28fix rewritten Harmony 1.x code not raising 'detected game patch' flag (#711)Jesse Plamondon-Willard
2021-07-28Merge pull request #792 from bladeoflight16/monofixJesse Plamondon-Willard
Fix build error in MonoDevelop
2021-07-27Fixing mono incompatibility (case exception type statement without variable)bladeoflight16
2021-07-26fix rewriting for Harmony ExceptionBlock type (#711)Jesse Plamondon-Willard
2021-07-23remove now-unneeded Mono.Cecil aliases (#711)Jesse Plamondon-Willard
2021-07-23use unmerged Harmony assembly (#711)Jesse Plamondon-Willard
Harmony merges Mono.Cecil and MonoMod.Common into its DLL, and keeps some (but not all) of the merged types public. That causes type conflicts in SMAPI's code since it uses both Harmony and Mono.Cecil, and extern aliases break on Linux due to IDE/compiler limitations. This commit uses a custom build of Harmony without the assembly merging, so SMAPI can use and manage Mono.Cecil itself.
2021-07-21Merge branch 'harmony-2' into developJesse Plamondon-Willard
2021-07-20fix error loading .xnb files from the local mod folder since SMAPI 3.0Jesse Plamondon-Willard
2021-07-20fix concurrency issue in interface proxyingJesse Plamondon-Willard
2021-07-14add workaround for Harmony 2.x breaking XNA content pipeline for some assets ↵Jesse Plamondon-Willard
(#711, #722)
2021-07-13migrate to Harmony 2.1 (#711)Jesse Plamondon-Willard
2021-07-11alias Mono.Cecil references (#711)Jesse Plamondon-Willard
This is needed to migrate to Harmony 2.0 because it uses MonoMod, which has a copy of Mono.Cecil merged into its assembly, which leads to "type X exists in both 0Harmony.dll and Mono.Cecil.dll" errors. We can't use the version bundled with MonoMod since only some of the types are publicly accessible.
2021-06-26improve error if SMAPI fails to dispose on exitJesse Plamondon-Willard
2021-06-24log trace message if conflicting software is detectedJesse Plamondon-Willard
2021-05-26Add `World.FurnitureListChanged` eventDiscipleOfEris
Create a new event available to SMAPI mods to track furniture changes. To facilitate the event, a `FurnitureListChangedEventArgs` class is added as well. Fixes #778