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
d3946c3324
add 'simplify mod development' section, add TOC
2016-12-05 11:57:12 -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
Jesse Plamondon-Willard
00a3c14446
fix audio error on startup for some players by deferring update check
2016-11-24 12:43:28 -05:00
Jesse Plamondon-Willard
c49f6f26bd
fix release notes log link
2016-11-24 12:22:00 -05:00
Jesse Plamondon-Willard
614de95a8e
update for 1.2 release
2016-11-24 12:19:57 -05:00
Jesse Plamondon-Willard
3d1123837c
tweak readme
2016-11-24 12:04:11 -05:00
Jesse Plamondon-Willard
0ed5f3e98e
fix compatibility with mods which use the previous signature of Command.CallCommand
2016-11-23 20:44:49 -05:00
Jesse Plamondon-Willard
26266a946d
revert Config.GenerateDefaultConfig<T> back to virtual method
...
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-23 20:31:46 -05:00
Jesse Plamondon-Willard
1dc3f1013f
log relevant details when a ReflectionTypeLoadException is caught by SMAPI
2016-11-23 20:23:42 -05:00
Jesse Plamondon-Willard
651388c818
update release notes for upcoming 1.2 release
2016-11-23 20:21:12 -05:00
Jesse Plamondon-Willard
bd13d6d1cb
update release notes
2016-11-21 22:21:04 -05:00
Jesse Plamondon-Willard
9bf1ad71b4
intercept event handler exceptions ( #179 )
2016-11-21 22:09:02 -05:00