Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-02-03 | only read assembly from memory if it was rewritten (#229) | Jesse Plamondon-Willard | |
This fixes an issue where you can't debug into mod code because SMAPI isn't loading the actual DLL. | |||
2017-02-03 | fix documentation issues | Jesse Plamondon-Willard | |
2017-02-02 | rewrite mod assembly loading (#229) | Jesse Plamondon-Willard | |
This greatly simplifies mod loading, eliminates the .cache folders by loading assemblies in memory, ensures DLLs are loaded in leaf-to-root order, and reduces log verbosity. These changes should address a range of issues, notably #221 and #226. | |||
2017-01-19 | add public mod registry (#220) | Jesse Plamondon-Willard | |
2017-01-15 | deprecate events replaced by save events (#215) | Jesse Plamondon-Willard | |
2017-01-14 | fix console color support check (#206) | Jesse Plamondon-Willard | |
2017-01-14 | fix error when the console doesn't support colour (#206) | Jesse Plamondon-Willard | |
2017-01-14 | fix error loading mods if they have a .cache folder created on a different ↵ | Jesse Plamondon-Willard | |
platform (#211) | |||
2017-01-14 | add support for custom incompatible-mod-version error text | Jesse Plamondon-Willard | |
2017-01-14 | add support for incompatible mod version ranges | Jesse Plamondon-Willard | |
2016-12-30 | fallback to launching SMAPI without a terminal on Linux if the terminal is ↵ | Jesse Plamondon-Willard | |
unavailable (#198) | |||
2016-12-22 | add support for unofficial updates which suffix the official version number ↵ | Jesse Plamondon-Willard | |
with a pre-release label (#192) | |||
2016-12-22 | skip mods known to be incompatible and display error with update links (#192) | Jesse Plamondon-Willard | |
2016-12-22 | move models into namespace (#192) | Jesse Plamondon-Willard | |
2016-12-22 | add config setting to disable update checks (#202) | Jesse Plamondon-Willard | |
2016-12-22 | track loaded mod instances & manifests via mod registry (#201) | Jesse Plamondon-Willard | |
2016-12-18 | migrate manifest & version to interfaces with backwards compatibility (#197) | Jesse Plamondon-Willard | |
2016-12-18 | format code (#193) | Jesse Plamondon-Willard | |
2016-12-18 | Added 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-11 | move interfaces into root (#185) | Jesse Plamondon-Willard | |
2016-12-09 | cache reflection lookups with sliding expiry (#185) | Jesse Plamondon-Willard | |
2016-12-09 | add reflection API for mods (#185) | Jesse Plamondon-Willard | |
2016-12-07 | add TypeLoadException details when intercepted by SMAPI | Jesse Plamondon-Willard | |
2016-12-05 | reimplement 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-02 | reduce logging levels (#166) | Jesse Plamondon-Willard | |
2016-12-02 | fix assembly resolution when mods try to load types from other mods (#166) | Jesse Plamondon-Willard | |
2016-11-30 | invalidate assembly rewrite cache on new SMAPI version (#166) | Jesse Plamondon-Willard | |
2016-11-30 | fix assembly resolution failing for rewritten mods that reference a ↵ | Jesse Plamondon-Willard | |
different version of Json.NET (#166) | |||
2016-11-29 | add framework for rewriting incompatible methods (#166) | Jesse Plamondon-Willard | |
2016-11-29 | add separate project to support upcoming IL rewriting (#166) | Jesse Plamondon-Willard | |
2016-11-28 | move assembly map into constants (#166) | Jesse Plamondon-Willard | |
2016-11-27 | supplement assembly resolution for Mono (#166) | Jesse Plamondon-Willard | |
2016-11-27 | add trace logs when rewriting an assembly (#166) | Jesse Plamondon-Willard | |
2016-11-27 | only rewrite assemblies if needed (#166) | Jesse Plamondon-Willard | |
2016-11-26 | copy pdb/mdb files to assembly cache (#166) | Jesse Plamondon-Willard | |
2016-11-26 | use simpler, non-broken approach for rewriting mod type references (#166) | Jesse Plamondon-Willard | |
2016-11-26 | rewrite type references in mod assemblies to match target platform (#166) | Jesse Plamondon-Willard | |
2016-11-26 | move cache struct into its own file (#166) | Jesse Plamondon-Willard | |
2016-11-26 | pass target platform to assembly rewriter for later use (#166) | Jesse Plamondon-Willard | |
2016-11-26 | add log entry when preprocessing an assembly (#166) | Jesse Plamondon-Willard | |
2016-11-26 | preprocess all mod assemblies for compatibility with multi-assembly mods (#166) | Jesse Plamondon-Willard | |
2016-11-25 | preprocess mods through Mono.Cecil to allow rewriting later (#166) | Jesse Plamondon-Willard | |
2016-11-23 | log relevant details when a ReflectionTypeLoadException is caught by SMAPI | Jesse Plamondon-Willard | |
2016-11-21 | intercept event handler exceptions (#179) | Jesse Plamondon-Willard | |
2016-11-19 | fix deprecation warnings beign repeated if the mod can't be identified | Jesse Plamondon-Willard | |
2016-11-16 | use interface for IModHelper | Jesse Plamondon-Willard | |
2016-11-16 | add emergency interrupt feature (#168) | Jesse Plamondon-Willard | |
2016-11-14 | tweak deprecation messages | Jesse Plamondon-Willard | |
2016-11-14 | migrate deprecation manager to new logging (#168) | Jesse Plamondon-Willard | |
2016-11-14 | add new logging framework (#168) | Jesse Plamondon-Willard | |