Commit Graph

464 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard 22a2e2e853 add registry paths to build configuration (#189) 2016-12-07 23:55:32 -05:00
Jesse Plamondon-Willard 7e76d90c55 refactor registry checks for crossplatform compatibility (#189) 2016-12-07 23:52:56 -05:00
Jesse Plamondon-Willard 7af722ec1f rename .targets file to better reflect contents, add to installer project 2016-12-07 23:38:22 -05:00
Patrick Müssig 47d5aef404 SMAPI installer is able to read SDV install path from registry key 2016-12-07 23:27:53 -05:00
Jesse Plamondon-Willard acbd33fb02 open a terminal for SMAPI output on Mac (#183) 2016-12-07 23:15:37 -05:00
Jesse Plamondon-Willard ae44f17205 fix installer not moving mods out of appdata if the game isn't installed on the same Windows partition (#184) 2016-12-07 22:43:05 -05:00
Jesse Plamondon-Willard 860ccb90f7 fix the installer not removing TrainerMod from appdata if it's already in the game mods folder 2016-12-07 22:17:38 -05:00
Jesse Plamondon-Willard 2c11ce1bff add TypeLoadException details when intercepted by SMAPI 2016-12-07 22:05:14 -05:00
Jesse Plamondon-Willard b019dd4f69 replace out_items, out_melee, and out_rings commands with a searchable list_items command 2016-12-07 20:36:28 -05:00
Jesse Plamondon-Willard f0433e5a41 tweak installer wording to avoid confusion 2016-12-06 22:19:38 -05:00
Jesse Plamondon-Willard b751e7dd2e skip mod folder with a warning if it has no manifest (#186) 2016-12-06 17:29:38 -05:00
Jesse Plamondon-Willard 748e45aefb add dependencies.targets to project 2016-12-06 17:13:57 -05:00
Jesse Plamondon-Willard 09f6620433 update release notes 2016-12-06 00:45:22 -05:00
Jesse Plamondon-Willard 8304227cea remove obsolete mods/.cache directory on install (#187, #188) 2016-12-06 00:41:12 -05:00
Jesse Plamondon-Willard f625fd51a0 always clean up files during install (#188) 2016-12-06 00:37:12 -05:00
Jesse Plamondon-Willard 3159436145 reimplement assembly caching (#187)
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-05 23:51:09 -05:00
Jesse Plamondon-Willard 31301988e9 deploy trainer mod when building SMAPI in debug mode 2016-12-05 02:14:25 -05:00
Jesse Plamondon-Willard aaf354761f Merge branch 'develop' into stable 2016-12-04 09:43:58 -05:00
Jesse Plamondon-Willard 48adbe2492 update for 1.3 release 2016-12-04 09:40:34 -05:00
Jesse Plamondon-Willard feb2d89ff6 fix comment headers 2016-12-04 00:57:32 -05:00
Jesse Plamondon-Willard ba32511fc2 update repository 2016-12-04 00:56:08 -05:00
Jesse Plamondon-Willard 788a90674f reduce logging levels (#166) 2016-12-02 17:46:07 -05:00
Jesse Plamondon-Willard ad773a947a fix assembly resolution when mods try to load types from other mods (#166) 2016-12-02 17:15:52 -05:00
Jesse Plamondon-Willard 67feb7e9a9 remove Costura assembly weaving (#166)
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-12-01 01:48:39 -05:00
Jesse Plamondon-Willard 33f46d26f4 invalidate assembly rewrite cache on new SMAPI version (#166) 2016-11-30 22:51:50 -05:00
Jesse Plamondon-Willard 44dfb6fac5 fix assembly resolution failing for rewritten mods that reference a different version of Json.NET (#166) 2016-11-30 22:44:40 -05:00
Jesse Plamondon-Willard 0fcf29d428 fix local deployment on Linux/Mac 2016-11-30 14:04:06 -05:00
Jesse Plamondon-Willard 5c11483b8e rework uninstaller so it doesn't depend on install package
For example, this avoids an issue where the normal SMAPI uninstaller didn't remove files added by the 'SMAPI for developers' installer.
2016-11-29 19:42:27 -05:00
Jesse Plamondon-Willard 7e17005c52 update readme & installer for 1.3 (#166) 2016-11-29 19:41:58 -05:00
Jesse Plamondon-Willard df8f44c704 Merge branch 'feature/rewrite-mod-assemblies' into develop 2016-11-29 19:27:10 -05:00
Jesse Plamondon-Willard d5932a0d77 enable local SMAPI deployment on Linux/Mac 2016-11-29 19:25:51 -05:00
Jesse Plamondon-Willard 98a3289337 update release notes (#166) 2016-11-29 19:24:00 -05:00
Jesse Plamondon-Willard 528a934786 exclude rewriters project from IL weaving (#166) 2016-11-29 19:22:59 -05:00
Jesse Plamondon-Willard 9ff9d02db5 rewrite SpriteBatch.Begin calls for compatibility (#166) 2016-11-29 19:21:11 -05:00
Jesse Plamondon-Willard cc4d3c1cf8 add framework for rewriting incompatible methods (#166) 2016-11-29 14:03:14 -05:00
Jesse Plamondon-Willard 5470e95bf5 add separate project to support upcoming IL rewriting (#166) 2016-11-29 14:02:59 -05:00
Jesse Plamondon-Willard b425e32055 move dependencies into targets file for reuse (#166) 2016-11-29 12:56:03 -05:00
Jesse Plamondon-Willard f3675aa466 move assembly map into constants (#166) 2016-11-28 20:51:57 -05:00
Jesse Plamondon-Willard f7b8879011 supplement assembly resolution for Mono (#166) 2016-11-27 15:56:47 -05:00
Jesse Plamondon-Willard 0d94c628bb add trace logs when rewriting an assembly (#166) 2016-11-27 12:27:44 -05:00
Jesse Plamondon-Willard 8917fb6697 only rewrite assemblies if needed (#166) 2016-11-27 12:08:00 -05:00
Jesse Plamondon-Willard 2e40ad7ad3 copy pdb/mdb files to assembly cache (#166) 2016-11-26 16:26:36 -05:00
Jesse Plamondon-Willard 2154b6de95 use simpler, non-broken approach for rewriting mod type references (#166) 2016-11-26 16:14:10 -05:00
Jesse Plamondon-Willard b06aed66c4 rewrite type references in mod assemblies to match target platform (#166) 2016-11-26 16:12:21 -05:00
Jesse Plamondon-Willard 4df1999855 move cache struct into its own file (#166) 2016-11-26 16:10:41 -05:00
Jesse Plamondon-Willard 1de8dc1b0f pass target platform to assembly rewriter for later use (#166) 2016-11-26 16:07:21 -05:00
Jesse Plamondon-Willard 7bea3c2ba0 add log entry when preprocessing an assembly (#166) 2016-11-26 16:00:02 -05:00
Jesse Plamondon-Willard e9fee3f6fe preprocess all mod assemblies for compatibility with multi-assembly mods (#166) 2016-11-26 13:14:26 -05:00
Jesse Plamondon-Willard 08d5ee293f simplify manifest.json path check 2016-11-26 13:14:26 -05:00
Jesse Plamondon-Willard 517a9d82fc preprocess mods through Mono.Cecil to allow rewriting later (#166) 2016-11-25 23:41:19 -05:00