Commit Graph

1971 Commits

Author SHA1 Message Date
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