Commit Graph

1092 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard 024489c338 overhaul internal mod data format (#439)
The new format is much more concise, reduces the memory footprint by only parsing metadata for loaded mods, and adds support for versioning and defaulting most fields.
2018-02-16 18:50:46 -05:00
Jesse Plamondon-Willard cf38387083 log mod errors and warnings as the mod (#438) 2018-02-15 23:58:27 -05:00
Jesse Plamondon-Willard 0329976500 rewrite all mod assemblies to let SMAPI proxy into their internal classes (#435) 2018-02-15 23:06:44 -05:00
Jesse Plamondon-Willard 5da8b70738 host Patreon headers to avoid imgur issues 2018-01-24 12:21:31 -05:00
Jesse Plamondon-Willard 5c96a10da5 update for release 2018-01-21 22:22:44 -05:00
Jesse Plamondon-Willard d76476ca68 add before/after save creation events (#429)
This supports mods like Custom Farm Types that need to intercept the very first save, which doesn't raise the normal save events since the world isn't fully initialised yet.
2018-01-21 02:14:28 -05:00
Jesse Plamondon-Willard 9eae0df9f0 update Json.NET to 11.0.1-beta3 to fix parsing error with JSON comments in arrays (#423) 2018-01-20 22:56:03 -05:00
Jesse Plamondon-Willard b10a4b410b tweak JSON error messages 2018-01-20 22:18:11 -05:00
Jesse Plamondon-Willard 454a2de294 split SFieldConverter into separate converters 2018-01-20 21:45:21 -05:00
Jesse Plamondon-Willard 894fd25a18 move converters into namespace 2018-01-20 21:29:47 -05:00
Jesse Plamondon-Willard 9636d5b3aa encapsulate common JSON converter code, improve parse errors (#423) 2018-01-20 21:26:21 -05:00
Jesse Plamondon-Willard 374a8ababe Merge pull request #425 from EnderHDMC/develop 2018-01-19 21:29:54 -05:00
Jesse Plamondon-Willard 32defd60e2 tweak new script, document workaround, update release notes 2018-01-19 21:24:22 -05:00
Jesse Plamondon-Willard 568ba2757e fix events being raised while the game is loading a save (#424) 2018-01-19 21:13:23 -05:00
Jesse Plamondon-Willard a59572ee4e overhaul input handling (#422) 2018-01-17 00:20:24 -05:00
Jesse Plamondon-Willard 3df62fa856 fix typo 2018-01-16 19:27:39 -05:00
Jesse Plamondon-Willard 0122abaf20 add JSON converters for crossplatform-incompatible types (#423) 2018-01-16 19:16:58 -05:00
EnderHDMC b87d6da6c5
Update unix-launcher.sh 2018-01-15 23:33:43 +02:00
Jesse Plamondon-Willard 0ad9fbdddd fix semantic versions always ignoring `-0` tag (#421) 2018-01-12 01:24:49 -05:00
Jesse Plamondon-Willard dc2ceb39f3 fix curly quotes in config.json automatically if possible (#412) 2018-01-12 01:11:16 -05:00
Jesse Plamondon-Willard d8a3ed36c8 update ReSharper settings 2018-01-07 18:47:07 -05:00
Jesse Plamondon-Willard d471ac296e fix parse error for logs with zero installed mods 2018-01-02 16:48:33 -05:00
Jesse Plamondon-Willard d1a8294972 fix issue where assemblies could be incorrectly reloaded 2017-12-28 00:16:54 -05:00
Jesse Plamondon-Willard e98cd922f4 fix typo on download page 2017-12-26 16:16:01 -05:00
Jesse Plamondon-Willard f19cc3aac1 expand donation section, tweak index page (#411) 2017-12-26 00:19:21 -05:00
Jesse Plamondon-Willard c90b821a43 minor tweaks (#411) 2017-12-25 10:41:26 -05:00
Jesse Plamondon-Willard 05136e69f1 prettify download page (#411) 2017-12-25 10:26:31 -05:00
Jesse Plamondon-Willard 3da98ff0a0 cache release info (#411) 2017-12-25 02:18:24 -05:00
Jesse Plamondon-Willard 70cbfa541d support contextual nav URLs, update nav menu (#411) 2017-12-25 01:53:10 -05:00
Jesse Plamondon-Willard adee66b3b4 add basic download page (#411) 2017-12-25 01:47:10 -05:00
Jesse Plamondon-Willard bbd021f873 decouple Pastebin client from log parser (#411) 2017-12-24 23:40:23 -05:00
Jesse Plamondon-Willard 05541c11a7 decouple API clients from mods API (#411) 2017-12-24 23:28:07 -05:00
Jesse Plamondon-Willard c3d0ce7245 mark TrainerMod as obsolete (replaced by ConsoleCommands) 2017-12-16 17:41:16 -05:00
Jesse Plamondon-Willard 3fe2f586b1 avoid potential issue in SMAPI's uninstall paths 2017-12-16 17:36:05 -05:00
Jesse Plamondon-Willard 9cb5db2d33 bump version for upcoming release 2017-12-16 12:59:46 -05:00
Jesse Plamondon-Willard 4c3ae950c6 rm unneeded assembly references (#409) 2017-12-15 23:28:16 -05:00
Jesse Plamondon-Willard 21fd2d1e39 emit proxy classes directly to simplify crossplatform compatibility (#409) 2017-12-15 21:37:08 -05:00
Jesse Plamondon-Willard 356503325f fix compatibility on Mac (#409) 2017-12-12 18:44:38 -05:00
Jesse Plamondon-Willard ef23043e1f reintroduce GameEvents.FirstUpdateTick to simplify mod integrations (#409) 2017-12-12 01:56:32 -05:00
Jesse Plamondon-Willard e00424068f block access to mod-provided APIs until all mods are initialised (#409) 2017-12-12 01:33:11 -05:00
Jesse Plamondon-Willard 59a25a12ff validate interface is public (#409) 2017-12-12 01:09:43 -05:00
Jesse Plamondon-Willard 0e43041777 add support for casting mod-provided API to an interface without a direct assembly reference (#409) 2017-12-12 01:00:32 -05:00
Jesse Plamondon-Willard d04cacbdd0 log mod-provided API access (#409) 2017-12-12 00:16:34 -05:00
Jesse Plamondon-Willard 7d644aeabe switch to simpler approach for mod-provided APIs (#409) 2017-12-12 00:09:28 -05:00
Jesse Plamondon-Willard 2c909f26fc add prototype of mod-provided APIs (#409) 2017-12-11 23:33:10 -05:00
Jesse Plamondon-Willard 971aff8368 generalise internal mod registry (#409) 2017-12-11 22:29:56 -05:00
Jesse Plamondon-Willard 69c9ab0ecd trace mods with no update keys, tweak update-check logging 2017-12-11 21:29:39 -05:00
Jesse Plamondon-Willard d3f6f9c70a fix log parser favicon (#405) 2017-12-10 23:42:22 -05:00
Jesse Plamondon-Willard 6bdd49af13 detect libgdiplus-missing exception and show a friendly error instead (#408) 2017-12-10 23:27:10 -05:00
Jesse Plamondon-Willard 8776d1afa6 adjust reflection API to correctly reflect what it does (#410) 2017-12-10 18:05:18 -05:00
Jesse Plamondon-Willard 80c4d93559 fix GraphicsEvents.OnPostRenderEvent not being raised in some cases 2017-12-10 15:28:27 -05:00
Jesse Plamondon-Willard 2c5532f4ab add e.IsSuppressed to input event args 2017-12-10 13:43:05 -05:00
Jesse Plamondon-Willard dd7b5ac462 fix mods being able to change cursor position reported to other mods 2017-12-10 13:37:59 -05:00
Jesse Plamondon-Willard 1398e591ab fix reflection API error with properties which don't have both get and set 2017-12-09 12:46:10 -05:00
Jesse Plamondon-Willard dc4f89acb6 remove unneeded file 2017-12-02 18:49:35 -05:00
Jesse Plamondon-Willard adba8a3197 simplify version format in constants 2017-12-02 18:27:36 -05:00
Jesse Plamondon-Willard 72a02c56d5 add NormaliseAssetName content helper method (#404) 2017-12-02 14:27:03 -05:00
Jesse Plamondon-Willard dce52adbc5 bypass cache on log parser assets to avoid issues 2017-12-02 01:34:20 -05:00
Jesse Plamondon-Willard 3927014d70 redesign log parser filters 2017-12-02 01:26:28 -05:00
Jesse Plamondon-Willard e2b19d8a6b rm body template so filters can be moved into the output area 2017-12-02 01:05:12 -05:00
Jesse Plamondon-Willard 188cd2403d rename log parser tabs ID 2017-12-01 23:36:53 -05:00
Jesse Plamondon-Willard 01131cb50e rm unneeded log parser debug info 2017-12-01 22:55:42 -05:00
Jesse Plamondon-Willard 4245785394 tweak log parser instructions to avoid confusion 2017-12-01 22:41:16 -05:00
Jesse Plamondon-Willard 08f4a6fa0b fix log parser error when uploading very large logs 2017-11-30 16:54:50 -05:00
Jesse Plamondon-Willard 051b0c9bda fix API always redirecting to HTTPS when accessed via subdomain 2017-11-28 18:53:08 -05:00
Jesse Plamondon-Willard c81520e0bc update for 2.2 release 2017-11-28 18:34:27 -05:00
Jesse Plamondon-Willard 5ae28b2a8c fix error when a mod has an invalid filename in the EntryDLL manifest field (#402) 2017-11-27 22:19:23 -05:00
Jesse Plamondon-Willard 49bc98fa4c fix player_add command not handling upgrade level (#397) 2017-11-26 21:13:38 -05:00
Jesse Plamondon-Willard 698c270211 tweak log parser startup 2017-11-26 18:31:04 -05:00
Jesse Plamondon-Willard f44df025ca no longer expire saved logs after a week (#400) 2017-11-26 17:02:54 -05:00
Jesse Plamondon-Willard fc9043c1ba fix rare installer error on Mac due to generated mcs file (#394) 2017-11-26 16:58:41 -05:00
Jesse Plamondon-Willard 1aa4098a51 fix CFAutomate compatibility errors showing no URL (#393) 2017-11-26 16:27:36 -05:00
Jesse Plamondon-Willard 799a3a5e9b
Merge pull request #386 from danvolchek/web_close_popup
smapi.io log parser- Also close popups with mouse and escape key
2017-11-26 15:09:19 -05:00
Jesse Plamondon-Willard ca13b2834c fix e.SuppressButton() not working with some mouse buttons, update release notes (#389) 2017-11-26 15:39:41 -05:00
Jesse Plamondon-Willard c0c65ec6dd
Merge pull request #389 from YonKuma/suppressmouse
add code to suppress mouse clicks
2017-11-26 14:56:20 -05:00
Jesse Plamondon-Willard 3a832b99bf add date.DaysSinceStart property, add unit tests, update release notes (#390) 2017-11-26 15:03:55 -05:00
YonKuma 0330d84e99 Simplified mouse checks
SuppressButton now uses the passed button rather than the object button
2017-11-10 16:20:25 -05:00
Nicholas Johnson 4aa3545b58 Adding a date function 2017-11-08 22:52:34 -08:00
YonKuma b9ba645ce0 Fixing code to match SMAPI idiom 2017-11-08 22:59:51 -05:00
YonKuma 7dc7f010a6 Added code to suppress mouse clicks
issue Pathoschild/SMAPI#384
2017-11-08 22:51:25 -05:00
volchek2 31002a7e52 check whether the popup is open before closing it with esc 2017-11-04 00:28:59 -05:00
volchek2 99278f0be1 Fix braces 2017-11-03 23:32:52 -05:00
volchek2 c0f0e1ba8e Allow raw and upload popups to be closed with escape key and clicking outside of them 2017-11-03 23:31:56 -05:00
Jesse Plamondon-Willard a6071feaf8 fix custom asset loads failing on Linux/Mac (#383) 2017-11-02 01:34:21 -04:00
Jesse Plamondon-Willard 089e6de749 update for 2.1 release 2017-11-01 17:41:29 -04:00
Jesse Plamondon-Willard 8a2b779d0c add CORS policy for *.smapi.io (#358) 2017-11-01 16:47:23 -04:00
Jesse Plamondon-Willard 5050a6d8ca fix mod build package targeting .NET Framework 4.6.1 2017-11-01 13:00:31 -04:00
Jesse Plamondon-Willard a0a72e310d explicitly disallow absolute paths as asset keys in content API (#381) 2017-10-30 19:26:45 -04:00
Jesse Plamondon-Willard cb74ce5a17 improve update-check errors when connection is offline (#380) 2017-10-30 18:15:26 -04:00
Jesse Plamondon-Willard 08c30eeffd let mods invalidate assets matching a predicate (#363) 2017-10-30 00:02:20 -04:00
Jesse Plamondon-Willard 6b5c03da4d expand post-install instructions, show Steam launch options value (#375) 2017-10-29 23:21:14 -04:00
Jesse Plamondon-Willard e606b074d7 add installer version & platform to window title, simplify output (#375) 2017-10-29 23:17:21 -04:00
Jesse Plamondon-Willard 1bea3a9e32 let SemanticVersion be constructed from a System.Version (#375) 2017-10-29 23:15:18 -04:00
Jesse Plamondon-Willard 359e1df431 redirect root to log parser (#358) 2017-10-29 22:45:13 -04:00
Jesse Plamondon-Willard 13baaf8920 add smapi.io shortcut URLs (#375) 2017-10-29 22:18:08 -04:00
Jesse Plamondon-Willard 650d729bc3 minor layout tweak (#358) 2017-10-29 18:37:40 -04:00
Jesse Plamondon-Willard 7ed1fbf0aa defer log compression to backend and significantly improve compression (#358) 2017-10-29 15:28:07 -04:00
Jesse Plamondon-Willard 7abd8426b7 set default launch URL to log parser (#358) 2017-10-29 14:14:45 -04:00
Jesse Plamondon-Willard 78958dfe9f document SMAPI web services in technical doc (#358) 2017-10-29 14:14:03 -04:00
Jesse Plamondon-Willard c099af875c rm unused settings 2017-10-29 13:23:25 -04:00
Jesse Plamondon-Willard 0f08980d45 fix error log format (#358) 2017-10-29 13:23:08 -04:00
Jesse Plamondon-Willard 6638701d02 fix config not being injected from Amazon Beanstalk env props 2017-10-29 13:15:05 -04:00
Jesse Plamondon-Willard 790a62920b link pastes to Pastebin account & tweak paste options (#358) 2017-10-28 14:05:29 -04:00
Jesse Plamondon-Willard f895fedc6a move credentials into git-ignored file (#358) 2017-10-28 14:03:53 -04:00
Jesse Plamondon-Willard fe5b2f62da prettify log URL, read paste ID serverside (#358) 2017-10-28 12:38:30 -04:00
Jesse Plamondon-Willard d545281ef3 redirect web views to HTTPS (#358) 2017-10-28 12:24:50 -04:00
Jesse Plamondon-Willard c6d8333c7a improve criteria for subdomain rewriting (#358) 2017-10-28 11:53:54 -04:00
Jesse Plamondon-Willard ed03048828 fix log parser section URL on web-edge (#358) 2017-10-28 11:52:01 -04:00
Jesse Plamondon-Willard 9a091bd961 fix API version format 2017-10-28 11:51:25 -04:00
Jesse Plamondon-Willard 3f43ebcc0e fix issues with subdomain routing in log UI (#358) 2017-10-27 21:10:36 -04:00
Jesse Plamondon-Willard ad5bb5b49a proxy Pastebin requests through our API instead of third parties, improve error-handling (#358) 2017-10-27 19:39:13 -04:00
Jesse Plamondon-Willard acbea9bfa3 lint JS (#358) 2017-10-27 19:38:56 -04:00
Jesse Plamondon-Willard 467b9aa2df integrate prototype into page layout (#358) 2017-10-27 19:38:37 -04:00
Jesse Plamondon-Willard 9f5af37391 move log parser CSS/JS out of HTML (#358) 2017-10-27 19:38:13 -04:00
Jesse Plamondon-Willard 6cbe43a233 use CDN for jQuery and lz-string (#358) 2017-10-27 19:37:49 -04:00
Jesse Plamondon-Willard a26220e341 add log parser prototype by Entoarox (#358) 2017-10-27 19:37:26 -04:00
Jesse Plamondon-Willard e75aef8634 add placeholder for new log parser (#358) 2017-10-27 19:36:52 -04:00
Jesse Plamondon-Willard 65f0fa6255 add scaffolding for web UI (#358) 2017-10-27 19:36:31 -04:00
Jesse Plamondon-Willard 3d8bdacc8c fix ConsoleCommands mod including Json.NET DLL 2017-10-27 03:19:21 -04:00
Jesse Plamondon-Willard 59dd604cf2 rename TrainerMod to Console Commands to clarify purpose 2017-10-27 03:18:48 -04:00
Jesse Plamondon-Willard b945fcf555 fix player_setlevel command not also changing XP (#359) 2017-10-27 02:44:53 -04:00
Jesse Plamondon-Willard 7f16ebdb19 hide the game's test messages from the console & log (#364) 2017-10-27 01:42:54 -04:00
Jesse Plamondon-Willard f63484e5e7 minor cleanup (#373) 2017-10-27 01:17:25 -04:00
Jesse Plamondon-Willard a7fcfd6424 fix incorrect search path when loading a mod file (#373) 2017-10-27 01:00:03 -04:00
Jesse Plamondon-Willard a1eeece49b centralise most content-loading logic to fix map tilesheet edge case (#373) 2017-10-25 17:14:58 -04:00
Jesse Plamondon-Willard f6a86e5849 minor cleanup 2017-10-24 20:28:18 -04:00
Entoarox 7e02310a8e Fix object cast being needed - use closed instead of open delegate
The API does not allow the user to modify the `this` after the fact anyhow, so it isnt needed.
2017-10-24 20:18:23 -04:00
Entoarox 191d65f8d9 Fix: Instance type is required 2017-10-24 20:18:23 -04:00
Entoarox ded647aad4 PrivateProperty.cs ~ Use delegates for performance 2017-10-24 20:18:23 -04:00
Jesse Plamondon-Willard 749ebb912b fix inconsistent ASCII art letter sizes in readme
Thanks to Raven on Discord!
2017-10-24 19:54:38 -04:00
Jesse Plamondon-Willard 68e33c653a suppress BeforeSave, AfterSave, and AfterDayStarted events during new-game intro (#374) 2017-10-24 19:27:00 -04:00
Jesse Plamondon-Willard 8c97a63a82 improve content manager thread safety, create content cache wrapper (#373) 2017-10-23 03:24:53 -04:00
Jesse Plamondon-Willard ed56cb714d replace input events' e.IsClick with better-designed e.IsActionButton and e.IsUseToolButton 2017-10-22 15:09:36 -04:00
Jesse Plamondon-Willard 99c8dd7940 add InputButton.ToSButton() extension 2017-10-22 15:07:06 -04:00
Jesse Plamondon-Willard f74321addc fix SMAPI blocking reflection access to vanilla members on overridden types (#371) 2017-10-22 13:13:14 -04:00
Jesse Plamondon-Willard 85a8959e97 fix mods which implement IAssetLoader being marked as conflicting with themselves 2017-10-21 21:51:48 -04:00
Jesse Plamondon-Willard 53df85f312 enable access to public members using reflection API 2017-10-20 16:37:22 -04:00
Jesse Plamondon-Willard 36b4e550f1 fix e.SuppressButton() in input events not suppressing keyboard buttons 2017-10-19 21:26:00 -04:00
Jesse Plamondon-Willard a4fb2331fe simplify JSON converter name 2017-10-18 16:58:42 -04:00
Jesse Plamondon-Willard 51a2c3991f simplify SelectiveStringEnumConverter implementation 2017-10-18 16:47:32 -04:00
Jesse Plamondon-Willard 2ff9373971 fix compatibility check crashing for players with SDV 1.08 2017-10-18 10:59:57 -04:00
Jesse Plamondon-Willard 8aec1eff99 update for 2.0 release 2017-10-14 11:39:52 -04:00
Jesse Plamondon-Willard 11b889992c move SButtons into root 2017-10-13 23:29:24 -04:00
Jesse Plamondon-Willard b71601a252 fix recipe data not being reloaded when needed 2017-10-13 23:26:27 -04:00
Jesse Plamondon-Willard c5932233eb update mod data 2017-10-13 23:13:31 -04:00
Jesse Plamondon-Willard f663ed3359 fix assets not being reloaded when mods implement IAssetEditor or IAssetLoader directly 2017-10-13 23:13:06 -04:00
Jesse Plamondon-Willard ff718d7993 update Json.NET 2017-10-13 13:17:58 -04:00
Jesse Plamondon-Willard 42d1024e04 update HTML agility pack 2017-10-13 13:14:24 -04:00
Jesse Plamondon-Willard 0fa552e2b9 update test launch URL for web API 2017-10-13 13:11:10 -04:00
Jesse Plamondon-Willard f04a68697a update unit test dependencies 2017-10-13 12:58:18 -04:00