Jesse Plamondon-Willard
f7eda265d9
track loaded mod instances & manifests via mod registry ( #201 )
2016-12-22 10:48:05 -05:00
Jesse Plamondon-Willard
c257d70575
rename SMAPI config file for consistency ( #192 , #202 )
2016-12-21 13:27:56 -05:00
Jesse Plamondon-Willard
23988a3c33
migrate manifest & version to interfaces with backwards compatibility ( #197 )
2016-12-18 15:37:23 -05:00
Jesse Plamondon-Willard
d9e87399bf
format code ( #193 )
2016-12-18 12:27:44 -05:00
Jesse Plamondon-Willard
c24294c3dd
fix System.Runtime.Caching not available on Mac
2016-12-12 21:43:35 -05:00
Jesse Plamondon-Willard
df7d41fc37
move interfaces into root ( #185 )
2016-12-11 21:03:57 -05:00
Jesse Plamondon-Willard
1fbe6be43d
remove redundant output paths
2016-12-09 18:43:15 -05:00
Jesse Plamondon-Willard
80b6e20841
cache reflection lookups with sliding expiry ( #185 )
2016-12-09 14:15:14 -05:00
Jesse Plamondon-Willard
cd0e5961d4
add reflection API for mods ( #185 )
2016-12-09 12:25:53 -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
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
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
0fcf29d428
fix local deployment on Linux/Mac
2016-11-30 14:04:06 -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
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
f7b8879011
supplement assembly resolution for Mono ( #166 )
2016-11-27 15:56:47 -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
517a9d82fc
preprocess mods through Mono.Cecil to allow rewriting later ( #166 )
2016-11-25 23:41:19 -05:00
Jesse Plamondon-Willard
9bf1ad71b4
intercept event handler exceptions ( #179 )
2016-11-21 22:09:02 -05:00
Jesse Plamondon-Willard
1a5eb12cc6
restore obsolete SPlayer for backwards compatibility, mark deprecated
2016-11-19 18:56:35 -05:00
Jesse Plamondon-Willard
59c35862ca
add global assembly info
2016-11-17 22:23:45 -05:00
Jesse Plamondon-Willard
eb39f3d5ea
use interface for IModHelper
2016-11-16 17:52:49 -05:00
Jesse Plamondon-Willard
e2aa78fda4
add new logging framework ( #168 )
2016-11-14 17:42:27 -05:00
Jesse Plamondon-Willard
be9d624112
split mod registry out of deprecation manager for reuse ( #168 )
2016-11-13 12:17:05 -05:00
Jesse Plamondon-Willard
f9983a4bca
fix Windows-only build configuration not properly marked as such
2016-11-09 12:21:44 -05:00
Jesse Plamondon-Willard
0dcbf90ec2
restore obsolete interfaces for backwards compatibility with EntoFramework
2016-11-09 11:43:41 -05:00
Jesse Plamondon-Willard
69ffdb91b2
simplify debugging
2016-11-09 11:11:40 -05:00
Jesse Plamondon-Willard
956e477edb
add developer mode which shows all deprecation warnings, update release process ( #165 )
2016-11-06 11:15:46 -05:00
Jesse Plamondon-Willard
f9aa76e41f
use more nuanced deprecation warnings ( #165 )
2016-11-06 10:30:25 -05:00
Jesse Plamondon-Willard
4b52245ad1
restore removed extensions for backwards compatibility
2016-11-05 16:22:11 -04:00
Jesse Plamondon-Willard
8d8b640779
add deprecation warnings ( #165 )
2016-11-05 16:20:31 -04:00
Jesse Plamondon-Willard
e092417b9e
add new config system, mark previous methods obsolete ( #159 )
2016-11-05 01:46:52 -04:00
Jesse Plamondon-Willard
4c7329d75e
make log writer internal (not meant for use outside SMAPI)
2016-11-04 20:01:45 -04:00
Jesse Plamondon-Willard
78e8a6a4a0
remove extensions from public interface, refactor & document
2016-11-04 18:24:10 -04:00
Jesse Plamondon-Willard
69bb8178d2
normalise inconsistent line endings
2016-11-04 00:10:10 -04:00
Jesse Plamondon-Willard
0b5a05ba91
add crossplatform installer ( #155 )
2016-11-03 21:03:03 -04:00
Jesse Plamondon-Willard
59c900a9ac
add update check ( #154 )
2016-11-03 00:43:41 -04:00
Jesse Plamondon-Willard
4cda3ec5bf
remove undocumented and unused APIs
2016-10-31 19:28:59 -04:00
Jesse Plamondon-Willard
b6568f8d9d
remove unused deserialisation logic per discussion
2016-10-31 17:15:27 -04:00
Jesse Plamondon-Willard
d9adaf7386
split combined class files per .NET conventions
2016-10-31 12:05:02 -04:00
Jesse Plamondon-Willard
1c15738233
remove disabled and unfinished code
2016-10-31 11:50:31 -04:00
Jesse Plamondon-Willard
0340a3daab
fix code being optimised in debug mode
2016-10-31 11:34:41 -04:00
Jesse Plamondon-Willard
58c026285a
add System.Numerics to mod package for Mac ( #126 )
2016-10-27 14:32:28 -04:00
Jesse Plamondon-Willard
f44eb6d66f
only hook into WinForms on Windows for Mac compatibility ( #126 )
2016-10-27 13:40:42 -04:00
Jesse Plamondon-Willard
2ea2068486
include pdb for release build
2016-10-27 12:23:00 -04:00