summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-12-18fix issue where changing the active menu inside a menu change handler didn't ↵Jesse Plamondon-Willard
trigger a new event (#194)
2016-12-18fix legacy version wrapper not implementing ToString method (#197)Jesse Plamondon-Willard
2016-12-18migrate manifest & version to interfaces with backwards compatibility (#197)Jesse Plamondon-Willard
2016-12-18add version.IsOlderThan(other) method for convenienceJesse Plamondon-Willard
2016-12-18format code (#193)Jesse Plamondon-Willard
2016-12-18Added a struct to wrap cache entries for the sake of tracking invalid ↵Tyler Staples
lookups. This fixes the issue where a null reference exception would be thrown when trying to look up non-existant or non-private members. Added a null check to GetPrivateValue and it's overloads to fix the issue where it would throw a null reference exception when required was false and the field was null.
2016-12-12fix System.Runtime.Caching not available on MacJesse Plamondon-Willard
2016-12-12update for 1.4 releaseJesse Plamondon-Willard
2016-12-11move interfaces into root (#185)Jesse Plamondon-Willard
2016-12-10detect which Linux command detects whether a command exists (#183)Jesse Plamondon-Willard
2016-12-10open terminal on most Linux distros (#183)Jesse Plamondon-Willard
2016-12-09remove redundant output pathsJesse Plamondon-Willard
2016-12-09cache reflection lookups with sliding expiry (#185)Jesse Plamondon-Willard
2016-12-09add reflection API for mods (#185)Jesse Plamondon-Willard
2016-12-08intercept mod errors in menu draw code so they don't crash the gameJesse Plamondon-Willard
2016-12-07add registry paths to build configuration (#189)Jesse Plamondon-Willard
2016-12-07refactor registry checks for crossplatform compatibility (#189)Jesse Plamondon-Willard
2016-12-07rename .targets file to better reflect contents, add to installer projectJesse Plamondon-Willard
2016-12-07SMAPI installer is able to read SDV install path from registry keyPatrick Müssig
2016-12-07open a terminal for SMAPI output on Mac (#183)Jesse Plamondon-Willard
2016-12-07fix installer not moving mods out of appdata if the game isn't installed on ↵Jesse Plamondon-Willard
the same Windows partition (#184)
2016-12-07fix the installer not removing TrainerMod from appdata if it's already in ↵Jesse Plamondon-Willard
the game mods folder
2016-12-07add TypeLoadException details when intercepted by SMAPIJesse Plamondon-Willard
2016-12-07replace out_items, out_melee, and out_rings commands with a searchable ↵Jesse Plamondon-Willard
list_items command
2016-12-06tweak installer wording to avoid confusionJesse Plamondon-Willard
2016-12-06skip mod folder with a warning if it has no manifest (#186)Jesse Plamondon-Willard
2016-12-06add dependencies.targets to projectJesse Plamondon-Willard
2016-12-06remove obsolete mods/.cache directory on install (#187, #188)Jesse Plamondon-Willard
2016-12-06always clean up files during install (#188)Jesse Plamondon-Willard
2016-12-05reimplement assembly caching (#187)Jesse Plamondon-Willard
This commit ensures DLLs are copied to the cache directory only if they changed, to avoid breaking debugging support unless necessary. To support this change, the assembly hash file has been replaced with a more detailed JSON structure, which is used to determine whether the cache is up-to-date and whether to use the cached or original assembly. Some mods contain multiple DLLs, which must be kept together to prevent assembly resolution issues; to simplify that (and avoid orphaned cache entries), each mod now has its own separate cache.
2016-12-05deploy trainer mod when building SMAPI in debug modeJesse Plamondon-Willard
2016-12-04update for 1.3 releaseJesse Plamondon-Willard
2016-12-04fix comment headersJesse Plamondon-Willard
2016-12-04update repositoryJesse Plamondon-Willard
2016-12-02reduce logging levels (#166)Jesse Plamondon-Willard
2016-12-02fix assembly resolution when mods try to load types from other mods (#166)Jesse Plamondon-Willard
2016-12-01remove Costura assembly weaving (#166)Jesse Plamondon-Willard
This didn't work on Linux or Mac, caused assembly resolution problems when rewritten mods referenced Json.NET, complicated debugging, and wasn't really needed since players use the installer to cleanly add or remove SMAPI.
2016-11-30invalidate assembly rewrite cache on new SMAPI version (#166)Jesse Plamondon-Willard
2016-11-30fix assembly resolution failing for rewritten mods that reference a ↵Jesse Plamondon-Willard
different version of Json.NET (#166)
2016-11-30fix local deployment on Linux/MacJesse Plamondon-Willard
2016-11-29rework uninstaller so it doesn't depend on install packageJesse Plamondon-Willard
For example, this avoids an issue where the normal SMAPI uninstaller didn't remove files added by the 'SMAPI for developers' installer.
2016-11-29update readme & installer for 1.3 (#166)Jesse Plamondon-Willard
2016-11-29Merge branch 'feature/rewrite-mod-assemblies' into developJesse Plamondon-Willard
2016-11-29enable local SMAPI deployment on Linux/MacJesse Plamondon-Willard
2016-11-29exclude rewriters project from IL weaving (#166)Jesse Plamondon-Willard
2016-11-29rewrite SpriteBatch.Begin calls for compatibility (#166)Jesse Plamondon-Willard
2016-11-29add framework for rewriting incompatible methods (#166)Jesse Plamondon-Willard
2016-11-29add separate project to support upcoming IL rewriting (#166)Jesse Plamondon-Willard
2016-11-29move dependencies into targets file for reuse (#166)Jesse Plamondon-Willard
2016-11-28move assembly map into constants (#166)Jesse Plamondon-Willard