summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI
AgeCommit message (Collapse)Author
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-07rename .targets file to better reflect contents, add to installer projectJesse Plamondon-Willard
2016-12-07open a terminal for SMAPI output on Mac (#183)Jesse Plamondon-Willard
2016-12-07add TypeLoadException details when intercepted by SMAPIJesse Plamondon-Willard
2016-12-06skip mod folder with a warning if it has no manifest (#186)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-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-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
2016-11-27supplement assembly resolution for Mono (#166)Jesse Plamondon-Willard
2016-11-27add trace logs when rewriting an assembly (#166)Jesse Plamondon-Willard
2016-11-27only rewrite assemblies if needed (#166)Jesse Plamondon-Willard
2016-11-26copy pdb/mdb files to assembly cache (#166)Jesse Plamondon-Willard
2016-11-26use simpler, non-broken approach for rewriting mod type references (#166)Jesse Plamondon-Willard
2016-11-26rewrite type references in mod assemblies to match target platform (#166)Jesse Plamondon-Willard
2016-11-26move cache struct into its own file (#166)Jesse Plamondon-Willard
2016-11-26pass target platform to assembly rewriter for later use (#166)Jesse Plamondon-Willard
2016-11-26add log entry when preprocessing an assembly (#166)Jesse Plamondon-Willard
2016-11-26preprocess all mod assemblies for compatibility with multi-assembly mods (#166)Jesse Plamondon-Willard
2016-11-26simplify manifest.json path checkJesse Plamondon-Willard
2016-11-25preprocess mods through Mono.Cecil to allow rewriting later (#166)Jesse Plamondon-Willard
2016-11-24fix audio error on startup for some players by deferring update checkJesse Plamondon-Willard
2016-11-24update for 1.2 releaseJesse Plamondon-Willard
2016-11-23fix compatibility with mods which use the previous signature of ↵Jesse Plamondon-Willard
Command.CallCommand
2016-11-23revert Config.GenerateDefaultConfig<T> back to virtual methodJesse Plamondon-Willard
SMAPI 1.0 changed this virtual method to abstract, since it's required for the configuration to work correctly. However this breaks some incorrectly-written older mods which didn't implement the method. Since this class is deprecated anyway, revert to the original behaviour for compatibility.
2016-11-23log relevant details when a ReflectionTypeLoadException is caught by SMAPIJesse Plamondon-Willard
2016-11-21intercept event handler exceptions (#179)Jesse Plamondon-Willard
2016-11-19restore obsolete SPlayer for backwards compatibility, mark deprecatedJesse Plamondon-Willard
2016-11-19update for 1.1.1 releaseJesse Plamondon-Willard
2016-11-19fix race condition where GameLoaded event was sometime fired before the game ↵Jesse Plamondon-Willard
was ready
2016-11-19restore all Log methods for backwards compatibilityJesse Plamondon-Willard
2016-11-19fix compatibility with mods using Log.OutJesse Plamondon-Willard
2016-11-19fix deprecation warnings beign repeated if the mod can't be identifiedJesse Plamondon-Willard
2016-11-19update for 1.1.1-alphaJesse Plamondon-Willard