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
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
614de95a8e
update for 1.2 release
2016-11-24 12:19:57 -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
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
7cb77dd2be
update for 1.1.1 release
2016-11-19 17:04:21 -05:00
Jesse Plamondon-Willard
cb6f6fe19d
fix race condition where GameLoaded event was sometime fired before the game was ready
2016-11-19 16:03:45 -05:00
Jesse Plamondon-Willard
bff59aacba
restore all Log methods for backwards compatibility
2016-11-19 14:46:50 -05:00
Jesse Plamondon-Willard
5e9b030ec7
fix compatibility with mods using Log.Out
2016-11-19 00:10:16 -05:00
Jesse Plamondon-Willard
6a48094995
fix deprecation warnings beign repeated if the mod can't be identified
2016-11-19 00:09:39 -05:00
Jesse Plamondon-Willard
d7be19e8f4
update for 1.1.1-alpha
2016-11-19 00:08:54 -05:00
Jesse Plamondon-Willard
14eee1e482
add comment
2016-11-19 00:03:34 -05:00
Jesse Plamondon-Willard
f8f7b9c8d9
update for 1.1 release
2016-11-17 22:24:46 -05:00
Jesse Plamondon-Willard
59c35862ca
add global assembly info
2016-11-17 22:23:45 -05:00
Jesse Plamondon-Willard
22fe2d8716
minor tweaks
2016-11-16 22:41:27 -05:00
Jesse Plamondon-Willard
fa5c6ff066
cleanup
2016-11-16 18:45:29 -05:00
Jesse Plamondon-Willard
eb39f3d5ea
use interface for IModHelper
2016-11-16 17:52:49 -05:00
Jesse Plamondon-Willard
19bb255c98
add emergency interrupt feature ( #168 )
2016-11-16 17:36:28 -05:00
Jesse Plamondon-Willard
92cf3ab65e
update for 1.1 beta
2016-11-16 16:55:11 -05:00
Jesse Plamondon-Willard
8dcd62f175
fix console closing immediately when some exceptions occur ( #171 ), simplify initial logging
2016-11-16 16:49:40 -05:00
Jesse Plamondon-Willard
785af91952
add optional 'minimum API version' field to manifest ( #176 )
2016-11-16 16:21:17 -05:00
Jesse Plamondon-Willard
1ac930979a
mark deprecated manifest fields
2016-11-16 15:14:45 -05:00
Jesse Plamondon-Willard
8c5404f99c
fix error when json file doesn't exist ( #170 )
2016-11-14 23:32:38 -05:00
Jesse Plamondon-Willard
33e6a6db23
tweak deprecation messages
2016-11-14 23:10:12 -05:00
Jesse Plamondon-Willard
54c0f26d5d
migrate game loop, events, and commands to new logging framework ( #168 )
2016-11-14 22:25:36 -05:00
Jesse Plamondon-Willard
f54b464792
minor cleanup
2016-11-14 22:23:51 -05:00
Jesse Plamondon-Willard
aafdcaa2c5
simplify null guards when rasing events
2016-11-14 22:09:44 -05:00
Jesse Plamondon-Willard
bc8773bbdd
migrate TrainerMod to new logging framework ( #168 )
2016-11-14 21:48:40 -05:00
Jesse Plamondon-Willard
31da528b46
make TrainerMod non-static
2016-11-14 21:39:09 -05:00
Jesse Plamondon-Willard
5a80bd92eb
migrate main logging to new framework ( #168 )
2016-11-14 20:28:44 -05:00
Jesse Plamondon-Willard
9a36254e90
hide TrainerMod internals
2016-11-14 20:11:05 -05:00
Jesse Plamondon-Willard
6d1afe7d5c
remove obsolete TrainerMod command
2016-11-14 20:10:39 -05:00
Jesse Plamondon-Willard
bff02ffd9b
format & document TrainerMod code
2016-11-14 20:09:44 -05:00
Jesse Plamondon-Willard
f9823c2ed0
migrate deprecation manager to new logging ( #168 )
2016-11-14 19:31:22 -05:00
Jesse Plamondon-Willard
06b108d4c4
deprecate legacy logging interfaces, rewrite to use new framework under the hood ( #168 )
2016-11-14 19:27:44 -05:00
Jesse Plamondon-Willard
05cb096fc0
initialise new logging framework on startup ( #168 )
2016-11-14 19:20:11 -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
4b67242d15
update git repo for new-version check
2016-11-11 11:50:19 -05:00
Jesse Plamondon-Willard
e665010f70
update for 1.0 release
2016-11-11 11:32:07 -05:00
Jesse Plamondon-Willard
58680ba39c
normalise newlines in app.config
2016-11-11 11:27:02 -05:00
Jesse Plamondon-Willard
a49ca07d31
fix deprecation warning for manifest.PerSaveConfigs
2016-11-10 15:56:58 -05:00
Jesse Plamondon-Willard
179df57ce8
rewrite command parsing, fix null reference exceptions in some cases
2016-11-10 10:11:02 -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
01ed95267e
bump version for 1.0-beta2
2016-11-09 12:12:38 -05:00
Jesse Plamondon-Willard
af6746ef75
mark restored interfaces deprecated
2016-11-09 11:54:40 -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
7fa591cf22
remove unused files
2016-11-09 10:50:19 -05:00
Jesse Plamondon-Willard
5f6bc87829
update TrainerMod for 1.0
2016-11-08 13:56:27 -05:00
Jesse Plamondon-Willard
dc28000d32
correct version in deprecation warning
2016-11-08 13:53:29 -05:00
Jesse Plamondon-Willard
7eee2158a0
fix an initialisation error when a Windows user has both "StardewValley.exe" and "Stardew Valley.exe" in their game directory
2016-11-08 01:09:51 -05:00
Jesse Plamondon-Willard
71e2ad82a9
update for 1.0 beta
2016-11-07 16:26:31 -05:00
Jesse Plamondon-Willard
ba4237f7a3
group installer's path variables
2016-11-07 16:16:53 -05:00
Jesse Plamondon-Willard
c69e45bfba
detect appdata mods during install and move them (if possible)
2016-11-07 16:06:29 -05:00
Jesse Plamondon-Willard
ffbc05d3a7
fix minor crossplatform issues
2016-11-06 17:23:34 -05:00
Jesse Plamondon-Willard
d0025fc700
increase deprecation severity of method disabled in 0.39.3 ( #165 )
2016-11-06 16:16:44 -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
e4d6cc1381
simplify log a bit more
2016-11-06 10:36:44 -05:00
Jesse Plamondon-Willard
f9aa76e41f
use more nuanced deprecation warnings ( #165 )
2016-11-06 10:30:25 -05:00
Jesse Plamondon-Willard
07d0dc38ca
fix installer on Windows not ignoring quote characters in file path
2016-11-05 19:52:39 -04:00
Jesse Plamondon-Willard
6d4e014998
add quick summary to installer readme
2016-11-05 18:15:20 -04:00
Jesse Plamondon-Willard
e2af64c7a9
mark extensions deprecated ( #165 )
2016-11-05 16:51:06 -04:00
Jesse Plamondon-Willard
e78c136f52
document extensions
2016-11-05 16:34:45 -04: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
0749fdcbe5
use new helper to read manifest ( #159 )
2016-11-05 16:14:38 -04:00
Jesse Plamondon-Willard
a929d70433
simplify exit logging
2016-11-05 01:47:32 -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
067d5f6b69
add minimum game version check ( #163 )
2016-11-04 23:31:06 -04:00
Jesse Plamondon-Willard
4716b4cd21
make logging less verbose and more informative
2016-11-04 23:06:19 -04:00
Jesse Plamondon-Willard
1fa4551b1d
minor cleanup
2016-11-04 20:24:21 -04:00
Jesse Plamondon-Willard
83f129aa16
remove old obsolete log methods
2016-11-04 20:18:21 -04:00
Jesse Plamondon-Willard
b7b69707eb
document inventory changed event objects
2016-11-04 20:13:58 -04:00
Jesse Plamondon-Willard
ea0550028c
simplify log singleton management
2016-11-04 20:02:39 -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
5fd708e43f
format & document logging code
2016-11-04 19:52:12 -04:00
Jesse Plamondon-Willard
cd27873afb
reduce command log verbosity
2016-11-04 19:30:27 -04:00
Jesse Plamondon-Willard
c8db03b209
format & document command class
2016-11-04 19:29:17 -04:00
Jesse Plamondon-Willard
8386f8a115
remove legacy workaround
2016-11-04 19:14:25 -04:00
Jesse Plamondon-Willard
efcb7fe705
remove unneeded program fields
2016-11-04 19:14:01 -04:00
Jesse Plamondon-Willard
a48f5a0d40
format & document program class
2016-11-04 18:57:50 -04:00
Jesse Plamondon-Willard
78e8a6a4a0
remove extensions from public interface, refactor & document
2016-11-04 18:24:10 -04:00
Jesse Plamondon-Willard
ab3fffde0a
remove unused extensions
2016-11-04 16:24:20 -04:00
Jesse Plamondon-Willard
7fe6dafbaa
move 'mods loaded' out of constants
2016-11-04 16:14:14 -04:00
Jesse Plamondon-Willard
532235ef10
format & document constants
2016-11-04 16:12:09 -04:00
Jesse Plamondon-Willard
da4269124c
remove disabled & broken draw logic
2016-11-04 15:49:25 -04:00
Jesse Plamondon-Willard
9a3b4260f7
refactor to avoid an out parameter
2016-11-04 15:42:21 -04:00
Jesse Plamondon-Willard
bec7025aa4
clean up duplicate checks
2016-11-04 15:32:15 -04:00
Jesse Plamondon-Willard
5a3951e77c
simplify menu event logic (should have same effect)
2016-11-04 15:29:55 -04:00
Jesse Plamondon-Willard
810479fc8b
update ReSharper settings
2016-11-04 14:48:31 -04:00
Jesse Plamondon-Willard
01a94c29d0
remove unused SGame fields & methods
2016-11-04 14:47:54 -04:00
Jesse Plamondon-Willard
85d596b6c1
format & document code in SGame (no logic changes)
2016-11-04 14:42:34 -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
5125a168c5
use semantic versioning ( #154 )
2016-11-03 00:31:51 -04:00
Jesse Plamondon-Willard
a793c84851
add operating system to initial console output to simplify troubleshooting
2016-11-03 00:25:40 -04:00
Jesse Plamondon-Willard
ab3508af6f
bump SMAPI version, clean up assembly info
2016-11-02 23:45:28 -04:00
Jesse Plamondon-Willard
bb0e94e74f
remove disabled code
2016-11-02 22:01:01 -04:00
Jesse Plamondon-Willard
f1910b1328
remove debug mode toggle ( #120 )
2016-11-02 21:53:59 -04:00
Jesse Plamondon-Willard
7af9a92842
fix mod versions not being displayed correctly ( #160 )
2016-11-01 18:08:05 -04:00
Jesse Plamondon-Willard
310f705f19
format & document version class
2016-11-01 18:07:09 -04:00
Jesse Plamondon-Willard
493696690a
fix spelling of 'Authour' manifest field with backwards compatibility ( #158 )
2016-11-01 02:00:29 -04:00
Jesse Plamondon-Willard
9ab5831eac
format & document mod class
2016-11-01 01:31:41 -04:00
Jesse Plamondon-Willard
605c99ba70
format & document config code
2016-10-31 20:46:23 -04:00
Jesse Plamondon-Willard
9d461bb05b
make config class abstract to force implementation of required method
2016-10-31 20:44:31 -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
7d0cd22f1e
add zoom-adjusted mouse position to mouse-changed event arguments ( #129 )
2016-10-31 17:01:16 -04:00
Jesse Plamondon-Willard
652776ed02
( #129 ) fix several events not correctly propagating state
2016-10-31 16:19:45 -04:00
Jesse Plamondon-Willard
7fe8511921
document & format event code
2016-10-31 14:48:23 -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
0d5f6d2364
update file reference
2016-10-31 11:34:11 -04:00
Jesse Plamondon-Willard
d0f912a3e9
remove support for mods in AppData directory ( #156 )
2016-10-30 22:31:21 -04:00
Jesse Plamondon-Willard
39e2e46a21
rewrite readme (simpler, link to canimod docs, document how to compile from source)
2016-10-30 22:21:19 -04:00
Jesse Plamondon-Willard
a68f41c396
fix crossthread access violation when debugger is attached ( #126 )
2016-10-27 17:10:43 -04:00
Jesse Plamondon-Willard
6cc8c6d7c1
run game on main thread for Mac compatibility ( #126 )
2016-10-27 15:17:17 -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
Jesse Plamondon-Willard
80b2b3ddda
rename Unix launcher for consistency with Windows install process ( #126 )
2016-10-27 02:03:29 -04:00
Jesse Plamondon-Willard
8eb0a94472
add launcher for Linux and Mac ( #126 )
2016-10-27 01:19:21 -04:00
Jesse Plamondon-Willard
e643a38b78
only use assembly merging on Windows ( #126 )
...
Costura doesn't work on Linux and Mac, but we can just add a separate DLL for Json.NET on those platforms.
2016-10-27 00:40:48 -04:00
Jesse Plamondon-Willard
4e17de2f2c
use simpler crossplatform window management ( #126 )
2016-10-26 23:43:32 -04:00
Jesse Plamondon-Willard
9436920d91
remove broken and unused test code ( #126 )
2016-10-26 21:15:34 -04:00
Jesse Plamondon-Willard
57da69c87c
use platform-agnostic paths ( #126 )
2016-10-26 21:05:11 -04:00
Jesse Plamondon-Willard
2be6ad1574
choose correct references for platform automatically ( #126 )
2016-10-26 20:35:48 -04:00
Jesse Plamondon-Willard
4042ca4b16
detect game path automatically ( #126 )
2016-10-25 23:38:25 -04:00
ClxS
12e4822cbf
Updated version number
2016-10-07 18:29:26 +01:00
ClxS
8017c23331
Disabled overridden update call
2016-10-07 18:22:31 +01:00
ClxS
ed421572c3
Merged advize's changes
2016-10-04 18:12:29 +01:00
ClxS
269a325a7a
Altered version number
2016-10-04 18:12:02 +01:00
AdvizeGH
6e6f632581
Reverted to previous SGame class with minor changes for 1.1, updated version number.
2016-10-04 04:14:29 -05:00
ClxS
5087c3d755
Updated build version id to 1.1
2016-09-30 19:19:18 +01:00
ClxS
2c0eaf26c0
Reverted to .net 4.5 - There was already quite a lot of trouble with people not having 4.5 installed before, I want to avoid that.
2016-09-30 19:16:16 +01:00
ClxS
dd0aba6066
Disabled the overridden update call only - fixes mouse redraw issue.
2016-09-30 19:04:04 +01:00
ClxS
a6752d30e3
Preliminiary update to add 1.1 support - waiting on testing to confirm it's final
2016-09-30 18:22:48 +01:00
Gormogon
27dece2cf4
Attempt to migrate to new directory structure.
2016-05-29 18:23:01 -04:00