Commit Graph

1200 Commits

Author SHA1 Message Date
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
Jesse Plamondon-Willard aa5c5b2783 fix SDate.Now() crashing during new-game intro (#369) 2017-10-13 00:33:05 -04:00
Jesse Plamondon-Willard b3ac93a0dc bump version for 2.0-beta.2 2017-10-12 22:20:56 -04:00
Jesse Plamondon-Willard 1e19a170be refuse to load custom map tilesheets with absolute or directory-climbing paths (#368) 2017-10-12 22:20:19 -04:00
Jesse Plamondon-Willard 61a8b7bf2d update mod data 2017-10-12 00:48:03 -04:00
Jesse Plamondon-Willard 8ce43241b1 bump mod build package version for update 2017-10-11 15:31:42 -04:00
Jesse Plamondon-Willard 3cfc272453 fix mod deploy failing to create subfolders if they don't already exist 2017-10-11 15:31:29 -04:00
Jesse Plamondon-Willard 127b36dedd rm artifact 2017-10-11 15:30:37 -04:00
Jesse Plamondon-Willard f2ac6fbb49 bump mod build package version for release 2017-10-10 22:48:06 -04:00
Jesse Plamondon-Willard 1c7dfb519d move validation back into .targets for MonoDevelop compatibility 2017-10-10 22:33:45 -04:00
Jesse Plamondon-Willard 1c0d22e82c validate build context before build 2017-10-10 21:59:05 -04:00
Jesse Plamondon-Willard 5dfb12c278 fix input events having decimal tile coordinates (#367) 2017-10-10 02:22:06 -04:00
Jesse Plamondon-Willard c74b21141c work around race condition in game code 2017-10-10 00:49:54 -04:00
Jesse Plamondon-Willard 54128ab482 update mod data 2017-10-10 00:02:31 -04:00
Jesse Plamondon-Willard 4f8994a1de fix update check error 2017-10-09 21:03:25 -04:00
Jesse Plamondon-Willard c456a0f56e don't include Json.NET in mod deploy or release zip since it's loaded by SMAPI 2017-10-09 12:44:48 -04:00
Jesse Plamondon-Willard dad0d67022 rm unneeded code 2017-10-09 12:43:41 -04:00
Jesse Plamondon-Willard d47105a278 update mod build package nuspec 2017-10-08 21:21:11 -04:00
Jesse Plamondon-Willard 475efa12fe rewrite mod build package per new docs 2017-10-08 18:05:47 -04:00
Jesse Plamondon-Willard cd93382c64 move zip logic into method 2017-10-08 15:03:31 -04:00
Jesse Plamondon-Willard abe52deba7 rename build task for broader use 2017-10-08 14:50:04 -04:00
Jesse Plamondon-Willard fd060a0927 move release notes into mod build package docs 2017-10-08 13:04:36 -04:00
Jesse Plamondon-Willard 49f414bec5 move mod build config readme into docs 2017-10-08 02:37:41 -04:00
Jesse Plamondon-Willard ef3a89587c add support for SMAPI 2.0 version strings in mod release zip code 2017-10-08 02:31:51 -04:00
Jesse Plamondon-Willard aae482255c rm redundant code 2017-10-08 02:23:49 -04:00
Jesse Plamondon-Willard 0e5982bf9c escape invalid characters in release zip paths 2017-10-08 02:22:12 -04:00
Jesse Plamondon-Willard ca58da37cd add prerelease tag to zip name & normalise version format 2017-10-08 02:13:08 -04:00
Jesse Plamondon-Willard e2e7e096b7 handle various edge cases in manifest parsing for zip filename 2017-10-08 02:03:55 -04:00
Jesse Plamondon-Willard ddad601de3 move create-zip task into project code 2017-10-08 01:27:52 -04:00
Jesse Plamondon-Willard af68910685 convert mod build config into .NET project to simplify C# build tasks 2017-10-08 00:20:13 -04:00
Jesse Plamondon-Willard 24428d4405 fix duplicate semver regex 2017-10-08 00:11:50 -04:00
Jesse Plamondon-Willard 51f5be1e74 move semver implementation into shared project for reuse 2017-10-08 00:09:16 -04:00
Jesse Plamondon-Willard b7fb188513 rename shared project for broader use 2017-10-07 23:57:47 -04:00
Jesse Plamondon-Willard 99617211fa move license back to root so GitHub sees it, readme tweaks 2017-10-07 23:33:03 -04:00
Jesse Plamondon-Willard 929dccb75a reorganise repo structure 2017-10-07 23:07:10 -04:00
Jesse Plamondon-Willard 926894f8f5 move mod build config files into subfolder 2017-10-07 22:11:12 -04:00
Jesse Plamondon-Willard 7889676ea2 update compatibility list 2017-10-07 20:56:02 -04:00
Jesse Plamondon-Willard 6d7449d00b fix error when checking for updates to a mod with no data record 2017-10-04 23:36:03 -04:00
Jesse Plamondon-Willard 627f20b9c3 update one mod ID 2017-10-02 21:43:15 -04:00
Jesse Plamondon-Willard 365da8e6e4 detect use of 'dynamic' in mod code 2017-10-02 21:39:51 -04:00
Jesse Plamondon-Willard bd4ed43829 fix errors caused by content managers finalizing asynchronously 2017-10-01 14:08:28 -04:00
Jesse Plamondon-Willard 29232ffd45 update mod key 2017-10-01 11:23:50 -04:00
Jesse Plamondon-Willard 5f7640100b update for 2.0 beta release 2017-09-27 20:47:01 -04:00
Jesse Plamondon-Willard 3c42119c8c restore AssemblyRewriters assembly for method injection
This fixes a SMAPI 2.0 issue where mods would fail with MethodAccessException if they used SpriteBatch methods that got rewritten for MonoGame/XNA compatibility, because the methods SMAPI injected were internal. Moving it back into a separate assembly lets us make it public without making it visible to modders.
2017-09-26 21:08:54 -04:00
Jesse Plamondon-Willard 83bc6264e4 simplify API fetch code 2017-09-26 20:46:25 -04:00
Jesse Plamondon-Willard b67c0602c6 remove base.Entry() method calls (#362) 2017-09-26 16:45:47 -04:00
Jesse Plamondon-Willard 525a3efb91 add data for a few more mods (#361) 2017-09-26 10:33:43 -04:00
Jesse Plamondon-Willard c1a9dc7f7e minor cleanup after 1.x removal 2017-09-26 01:55:26 -04:00
Jesse Plamondon-Willard 07382277ea add support for multiple mods having the same update key (#336) 2017-09-25 22:15:30 -04:00
Jesse Plamondon-Willard 2c87961c9e improve mod update-check validation & errors (#336) 2017-09-25 21:21:27 -04:00
Jesse Plamondon-Willard 5cb183e16d consolidate update fields in manifest & SMAPI config (#336, #361) 2017-09-25 21:11:48 -04:00
Jesse Plamondon-Willard 4fd3fdc0d8 use SMAPI version in web API (#336) 2017-09-25 18:18:43 -04:00
Jesse Plamondon-Willard da12f91379 don't check for updates to Entoarox mods per request (#361) 2017-09-25 17:43:52 -04:00
Jesse Plamondon-Willard a4dfcf229e add mod data for update checks (#361) 2017-09-25 17:40:39 -04:00
Jesse Plamondon-Willard d338322bc6 fix update checks not normalising remote versions (#336) 2017-09-25 17:40:00 -04:00
Jesse Plamondon-Willard 6dff9779a3 use POST for SMAPI update checks to avoid issues with long queries (#336) 2017-09-25 17:39:51 -04:00
Jesse Plamondon-Willard b105c97dda add support for remapping legacy versions for update checks (#361) 2017-09-24 19:55:34 -04:00
Jesse Plamondon-Willard f84def385d sort update-check trace logs (#361) 2017-09-24 17:44:56 -04:00
Jesse Plamondon-Willard cb1f11a846 update config documentation (#361) 2017-09-24 14:10:36 -04:00
Jesse Plamondon-Willard 021e1a278b list SMAPI update separately (#336, #361) 2017-09-24 13:35:26 -04:00
Jesse Plamondon-Willard 9b247b67f6 improve version normalising (#336, #361) 2017-09-24 13:19:02 -04:00
Jesse Plamondon-Willard 96acccad7c bug fixes, improve update-check logging (#361) 2017-09-24 12:13:34 -04:00
Jesse Plamondon-Willard ce9be43db3 remove name from data record (#361) 2017-09-24 11:28:08 -04:00
Jesse Plamondon-Willard 0c06b129ca add support for specifying default update fields, migrate mods already in mod list (#361) 2017-09-24 02:33:33 -04:00
Jesse Plamondon-Willard 8e0d1b8682 minor bug fixes (#361) 2017-09-24 02:25:35 -04:00
Jesse Plamondon-Willard 5f85d89974 handle common 'v' version prefix on GitHub (#336) 2017-09-24 02:15:28 -04:00
Jesse Plamondon-Willard 00957a2317 validate semantic versions in API (#336, #361) 2017-09-24 01:30:28 -04:00
Jesse Plamondon-Willard d3f0c8e4d2 add support for update checks from the Chucklefish mod site (#336) 2017-09-24 01:10:17 -04:00
Jesse Plamondon-Willard 0863f9b7e5 revamp mod compatibility fields to allow broader use of mod data records (#361) 2017-09-24 00:23:48 -04:00
Jesse Plamondon-Willard 33af789e2e abstract mod IDs with multiple variants (#361) 2017-09-23 22:50:35 -04:00
Jesse Plamondon-Willard 9495cc0f49 rename mod compatibility records for broader use (#361) 2017-09-23 22:07:29 -04:00
Jesse Plamondon-Willard a89dbce854 unify disabled-mod and compatibility lists (#361) 2017-09-23 21:48:53 -04:00
Jesse Plamondon-Willard 8bcc80a33d rename mod compatibility type for broader use (#361) 2017-09-23 21:35:07 -04:00
Jesse Plamondon-Willard 2d36105c33 drop support for SMAPI 1.x (#360) 2017-09-23 20:53:12 -04:00
Jesse Plamondon-Willard a149f82b7a update compatibility list for SMAPI 2.0 2017-09-23 20:22:07 -04:00
Jesse Plamondon-Willard 57111a6e8f update file name (#336) 2017-09-23 20:03:45 -04:00
Jesse Plamondon-Willard 873abef235 add mod update checks based on manifest fields (#336) 2017-09-23 19:15:07 -04:00
Jesse Plamondon-Willard e178ed14be migrate SMAPI update check to new web API (#336) 2017-09-23 18:04:56 -04:00
Jesse Plamondon-Willard bdee7f88e9 move API models into shared project for reuse (#336) 2017-09-23 14:37:58 -04:00
Jesse Plamondon-Willard 9ffe0bd371 switch to the mods GET endpoint (#336) 2017-09-23 14:19:10 -04:00
Jesse Plamondon-Willard c2d8760c56 make web controllers internal (#336)
This is needed to support internal models, which is needed to share the models with the main SMAPI assembly without making them visible to mods.
2017-09-23 14:15:59 -04:00
Jesse Plamondon-Willard eaabd91f31 authenticate GitHub queries if auth details are configured (#336) 2017-09-22 23:43:58 -04:00
Jesse Plamondon-Willard 0d6f6a9ace add GitHub update check support (#336) 2017-09-22 22:42:04 -04:00
Jesse Plamondon-Willard 71d85a0c22 restrict version to a valid SMAPI version (#336) 2017-09-22 22:11:04 -04:00
Jesse Plamondon-Willard ecdbefffd9 move hardcoded values into config (#336) 2017-09-22 21:49:05 -04:00
Jesse Plamondon-Willard ba5cc149e2 add in-memory cache for remote queries (#336) 2017-09-22 20:46:38 -04:00
Jesse Plamondon-Willard e4a2f55517 add GET endpoint for testing (#336) 2017-09-22 20:33:09 -04:00
Jesse Plamondon-Willard 2406d4b0a6 add subdomain rewrite rule (#336) 2017-09-22 20:19:12 -04:00
Jesse Plamondon-Willard f8566067e0 update launch URL (#336) 2017-09-22 20:09:22 -04:00
Jesse Plamondon-Willard 67ce5fcc45 remove unneeded dependencies (#336) 2017-09-22 20:09:06 -04:00
Jesse Plamondon-Willard 24afbad3a9 remove unneeded project settings (#336) 2017-09-22 19:55:57 -04:00
Jesse Plamondon-Willard 89ca5952c5 update web API to .NET Core 2.0 so we can use more packages, update all packages (#336) 2017-09-22 19:24:31 -04:00
Jesse Plamondon-Willard 5619890abf indent JSON responses (#336) 2017-09-22 18:19:42 -04:00
Jesse Plamondon-Willard 86d4827df2 simplify input & output format (#336) 2017-09-22 03:01:40 -04:00
Jesse Plamondon-Willard 399b98b36b suppress null properties in JSON responses (#336) 2017-09-22 02:06:54 -04:00
Jesse Plamondon-Willard 7d703c9c5c handle invalid Nexus mod IDs (#336) 2017-09-22 02:00:15 -04:00
Jesse Plamondon-Willard 86e5559678 switch mod update endpoint to GET with comma-delimited mod keys (#336) 2017-09-22 01:57:18 -04:00
Jesse Plamondon-Willard ef60b8d32a add version number to route for future use (#336) 2017-09-22 01:23:27 -04:00
Jesse Plamondon-Willard 9c072333d1 rename mods endpoint & model (#336) 2017-09-22 00:58:25 -04:00
Jesse Plamondon-Willard 2c02dfe45a rewrite to make update-check logic vendor-agnostic (#336) 2017-09-22 00:47:46 -04:00
Jesse Plamondon-Willard edbc3ef3c0 refactor Nexus code into generic vendor, rewrite using fluent HTTP client (#336) 2017-09-22 00:13:04 -04:00
Jesse Plamondon-Willard dfae52b1e5 fix manual serialisation (#336) 2017-09-21 23:50:34 -04:00
Jesse Plamondon-Willard 1bd59fc1d8 split input model from Nexus response model (#336) 2017-09-21 23:48:47 -04:00
Jesse Plamondon-Willard cddcd9a8cf standardise project name (#336) 2017-09-21 23:39:12 -04:00
Jesse Plamondon-Willard 9791de306c minor cleanup, formatting, documentation (#336) 2017-09-21 23:35:18 -04:00
Jesse Plamondon-Willard f0e2117f70 remove mod metadata from instruction handlers, no longer needed (#347) 2017-09-20 00:33:36 -04:00
Jesse Plamondon-Willard 81c42ac773 warn for mods which change the serialiser (#347) 2017-09-20 00:23:45 -04:00
Jesse Plamondon-Willard 5126992958 disable new ReSharper inspection 2017-09-20 00:09:47 -04:00
Jesse Plamondon-Willard 1aa44b2624 add support for detecting game patching via Harmony (#347) 2017-09-20 00:08:04 -04:00
Jesse Plamondon-Willard ab135fbd84 encapsulated duplicate code (#347) 2017-09-19 23:53:22 -04:00
Jesse Plamondon-Willard 1cf7c2e872 rename file to match new type name (#347) 2017-09-19 23:43:41 -04:00
Jesse Plamondon-Willard ebf22c1b06 generalise IInstructionRewriter into IInstructionHandler (#347) 2017-09-19 23:42:54 -04:00
Jesse Plamondon-Willard fd10cf958c move rewriters into metadata class (#347) 2017-09-19 23:02:00 -04:00
Jesse Plamondon-Willard c513bb011c pass mod metadata into rewriters (#347) 2017-09-19 22:52:52 -04:00
Jesse Plamondon-Willard 954de8c4f2 move monitor.LogOnce into internal extensions for reuse (#347) 2017-09-19 22:46:00 -04:00
Jesse Plamondon-Willard 8c5bd12f47 merge assembly rewriters into main SMAPI project (#347) 2017-09-19 22:45:28 -04:00
Jesse Plamondon-Willard 23951220ae fix errors loading some custom map tilesheets on Linux/Mac 2017-09-08 13:18:43 -04:00
Jesse Plamondon-Willard 1825755e75 update for release 2017-09-08 11:50:49 -04:00
Jesse Plamondon-Willard c994747e51 add UTC timestamp to logs 2017-09-06 23:22:11 -04:00
Jesse Plamondon-Willard b2b3df08bc rewrite date calculation to handle edge cases 2017-09-06 22:04:51 -04:00
Jesse Plamondon-Willard d971514a3d fix '.dll.dll' in logs (#355) 2017-09-03 15:51:38 -04:00
Jesse Plamondon-Willard b86d9f7c0e handle maps referencing a non-spring seasonal variation (#352) 2017-09-03 00:00:39 -04:00
Jesse Plamondon-Willard 3e820b82bc account for game loading tilesheets from either Content or Content\Maps (#352) 2017-09-02 23:58:43 -04:00
Jesse Plamondon-Willard dac21226d2 fix IAssetLoader instances not able to load a map tilesheet if it doesn't also exist in the content folder (#352) 2017-09-01 21:05:08 -04:00
Jesse Plamondon-Willard da11ea66db add SButton extension to get InputButton equivalent 2017-09-01 14:51:12 -04:00
Jesse Plamondon-Willard 7167cd2253 simplify & fix asset disposal (#352) 2017-08-24 22:17:42 -04:00
Jesse Plamondon-Willard 5171829ecc restructure content manager to better handle asset disposal (#352) 2017-08-24 21:48:56 -04:00
Jesse Plamondon-Willard f446a4391a fix game's main temporary content manager not being intercepted (#352) 2017-08-24 20:48:06 -04:00
Jesse Plamondon-Willard 5622e3b319 fix map tilesheet load not handling seasonal variations (#352) 2017-08-24 20:44:44 -04:00
Jesse Plamondon-Willard 7d5f95a6db update for SMAPI 1.15.3 release 2017-08-23 16:23:45 -04:00
Jesse Plamondon-Willard e93d58f69b fix incorrect 'mod already loaded' errors in some cases 2017-08-23 16:13:28 -04:00
Jesse Plamondon-Willard e42f06c916 update for 1.15.2 release 2017-08-21 14:49:09 -04:00
Jesse Plamondon-Willard 80fe706f19 show friendlier error when players have two copies of a mod 2017-08-21 14:22:19 -04:00
Jesse Plamondon-Willard 723ddc255e break loops when loading assets through a mod loader 2017-08-17 17:46:45 -04:00
Jesse Plamondon-Willard 9e1d01d4fe fix 1.x build 2017-08-17 12:16:39 -04:00
Jesse Plamondon-Willard 8e9b99ec99 update unit test packages 2017-08-16 23:56:20 -04:00
Jesse Plamondon-Willard 2ec0e0e26a only invalidate cache entries matched by new interceptors 2017-08-16 23:27:07 -04:00
Jesse Plamondon-Willard 49ff572932 fix build config 2017-08-16 23:03:14 -04:00
Jesse Plamondon-Willard 2ebc0714b1 add terminal support on Xfce (#345)
Thanks to Patronos!
2017-08-16 21:51:03 -04:00
Jesse Plamondon-Willard 1e48e7d12b add tool tilesheet to core assets to reload (#346) 2017-08-16 21:46:01 -04:00
Jesse Plamondon-Willard da4708337b minor tweaks to .editorconfig 2017-08-14 21:26:33 -04:00
Jesse Plamondon-Willard 72d42ddff8 move custom build configuration into common.targets to simplify maintenance 2017-08-14 08:22:50 -04:00
Jesse Plamondon-Willard c47e43a1e9 rename crossplatform.targets to common.targets for reuse 2017-08-14 08:11:11 -04:00
Jesse Plamondon-Willard 67b1a8398f fix SemanticVersion not being deserialisable through Json.NET 2017-08-14 07:55:21 -04:00
Jesse Plamondon-Willard 56c66ca4e5 update compatibility list 2017-08-14 02:14:25 -04:00
Jesse Plamondon-Willard 021672e43d add content helper properties for the current language 2017-08-14 01:57:11 -04:00
Jesse Plamondon-Willard 527b00ee13 ignore installer arguments until SMAPI 2.0 2017-08-14 01:53:15 -04:00
Jesse Plamondon-Willard f89d41cdad bump version for upcoming SMAPI 1.15.2 release 2017-08-14 00:15:16 -04:00
Jesse Plamondon-Willard dc99ae761f blacklist old versions of Entoarox mods (overhauled for SMAPI 1.11+ compatibility) 2017-08-14 00:14:45 -04:00
spacechase0 dafebd1626 Fix building SMAPI 1.x 2017-08-09 17:41:36 -04:00
Jesse Plamondon-Willard baeaf826a9 add asset editors & loaders to content API in 2.0 (#255) 2017-08-07 14:12:18 -04:00
Jesse Plamondon-Willard 7976df8565 optimise semver regex using atomic groups 2017-08-02 02:36:55 -04:00
Jesse Plamondon-Willard a15a2c5d09 tweak semantic version regex to fix unnecessary capturing groups 2017-08-02 02:24:02 -04:00
Jesse Plamondon-Willard 937750f100 add installer command-line arguments for scripting (#337) 2017-08-02 01:36:56 -04:00
Jesse Plamondon-Willard 3ffcac3f1f fix Context.IsPlayerFree being false when player can't move (#330)
For example, the value was false when the player used a tool which wasn't intended.
2017-08-02 00:26:56 -04:00
Jesse Plamondon-Willard 201d54bbeb standardise code & update release notes (#339) 2017-08-01 15:35:06 -04:00
Nicholas Johnson 4ff15b9da9 add weekday property to SDate (#339) 2017-08-01 15:27:02 -04:00
Jesse Plamondon-Willard 3599daee45 remove support for invalidating mod assets per discussion (#335) 2017-08-01 00:51:27 -04:00
Jesse Plamondon-Willard 9b22f3e004 fix GraphicsEvents.Resize being raised before the game updates its window data (#328) 2017-07-31 23:48:53 -04:00
Jesse Plamondon-Willard 7992b52f03 fix AfterDayStarted event being raised during the new-game intro (#332) 2017-07-31 23:18:49 -04:00
Jesse Plamondon-Willard 17acf248b6 prevent mods from accessing SMAPI internals using its own reflection helper (#334) 2017-07-31 21:54:46 -04:00
Jesse Plamondon-Willard 64facdd439 add support for reloading more singleton assets (#335) 2017-07-23 20:44:04 -04:00
Jesse Plamondon-Willard e8648e217a add support for reloading wallpaper and building textures (#335) 2017-07-23 20:22:33 -04:00
Jesse Plamondon-Willard eeee6b185d use more flexible approach to core asset reloading (#335) 2017-07-23 19:39:17 -04:00
Jesse Plamondon-Willard 467ad2ffd4 let mods invalidate cached assets by name or type (#335) 2017-07-23 17:36:31 -04:00
Jesse Plamondon-Willard 4ea6a4102b add support for partial cache invalidation (#335) 2017-07-23 15:08:14 -04:00
Jesse Plamondon-Willard f7e22b551a remove outdated message about beta release branch (#333) 2017-07-23 13:16:01 -04:00
Jesse Plamondon-Willard 74be6f1311 improve handling of legacy non-semantic game versions (#333) 2017-07-23 13:15:28 -04:00
Jesse Plamondon-Willard 5cf961ab64 fix unit test 2017-07-23 13:09:30 -04:00
Jesse Plamondon-Willard e04fc84190 update compatibility list 2017-07-23 12:18:52 -04:00
Jesse Plamondon-Willard c20b21bcaa add support for disambiguating IDs in mod compatibility list 2017-07-23 12:14:33 -04:00
Jesse Plamondon-Willard 1bf8e2b95c change order of broken-in-2.0 checks to show more meaningful matches first 2017-07-23 12:13:56 -04:00
Jesse Plamondon-Willard 17fec9034c tweak heuristic skip text, add error if mod doesn't implement Entry 2017-07-23 12:13:17 -04:00
Jesse Plamondon-Willard 7c1ac555a4 simplify compatibility list by defaulting compatibility type, update readme 2017-07-23 12:11:46 -04:00
Jesse Plamondon-Willard 7d73b0bf0c simplify compatibility skip message in 2.0 & combine update URL fields 2017-07-23 11:58:24 -04:00
Jesse Plamondon-Willard 6ddcef61e9 simplify mod compatibility model parsing 2017-07-23 11:50:24 -04:00
Jesse Plamondon-Willard d0e0e9427e rename ManifestFieldConverter for broader usage 2017-07-23 11:50:18 -04:00
Jesse Plamondon-Willard 24b824644d make semantic versions equatable in 2.0 2017-07-23 11:50:09 -04:00
Jesse Plamondon-Willard 5726ebe20e remove TrainerMod's save and load commands in 2.0 2017-07-23 11:37:55 -04:00
Jesse Plamondon-Willard 48ced0336c use more readable colours if player has a light-backgrounded terminal (#327) 2017-07-13 18:30:46 -04:00
Jesse Plamondon-Willard ae01396d9d fix crash in unique-ID check when mod has no manifest (#323) 2017-07-13 17:26:36 -04:00
Jesse Plamondon-Willard 834aee92f2 fix TrainerMod including Json.NET 2017-07-10 22:09:02 -04:00
Jesse Plamondon-Willard eff3581406 change SMAPI 2.0 link in deprecation warnings 2017-07-10 20:47:16 -04:00
Jesse Plamondon-Willard 9256bfc45a bump version for release 2017-07-10 20:38:21 -04:00
Jesse Plamondon-Willard db29d6677f fix legacy controller events broken in 1.15 (#325) 2017-07-10 20:25:38 -04:00
Jesse Plamondon-Willard 234b640342 normalise unique IDs in mod registry lookups, update release notes 2017-07-10 14:43:52 -04:00
Jesse Plamondon-Willard d82e57d306 enable SMAPI 2.0 mode by default
This commit replaces the SMAPI_2_0 compile flag with SMAPI_1_x.
2017-07-10 14:33:36 -04:00
Jesse Plamondon-Willard 61d13d370c fail mods if their unique ID isn't unique (#323) 2017-07-10 13:30:20 -04:00
Jesse Plamondon-Willard 7bf0c66088 reduce duplicate code in unit tests 2017-07-10 13:25:19 -04:00
Jesse Plamondon-Willard 49edb712ec fix unit tests broken by removing Stardew Valley.exe from build output 2017-07-10 12:53:58 -04:00
Jesse Plamondon-Willard 182828f194 fix Stardew Valley.exe being packaged with TrainerMod 2017-07-09 22:22:41 -04:00
Jesse Plamondon-Willard 8743c4115a tweak deprecation meta-warning 2017-07-08 12:53:12 -04:00
Jesse Plamondon-Willard cb5e2e34c7 remove another reference to removed file 2017-07-08 12:31:45 -04:00
Jesse Plamondon-Willard d74463092d standardise file encoding 2017-07-08 12:31:22 -04:00
Jesse Plamondon-Willard d426d72498 update for 1.15 release 2017-07-07 17:20:09 -04:00
Jesse Plamondon-Willard f1fabd410b remove reference to removed file 2017-07-07 17:15:08 -04:00
Jesse Plamondon-Willard e61f060b96 simplify stardewvalley.targets support, add to release notes (#319) 2017-07-07 16:58:55 -04:00
spacechase0 7e856106b8 Tweak debug deploy to respect stardewvalley.targets 2017-07-07 21:55:32 +01:00
Jesse Plamondon-Willard 5583e707b2 split helper out of mod registry, add mod ID, refactor ModHelper constructor (#318) 2017-07-07 12:17:22 -04:00
Jesse Plamondon-Willard 053c0577ec add mod ID to mod helpers (#318) 2017-07-07 11:44:18 -04:00
Jesse Plamondon-Willard f033b5a2f7 group mod helpers (#318) 2017-07-07 11:39:09 -04:00
Jesse Plamondon-Willard c5e106801e split reflection logic out of mod helper (#318) 2017-07-07 11:29:17 -04:00
Jesse Plamondon-Willard 3b8d1e49f0 make deprecation warnings a bit less scary until we finish first-pass SMAPI 2.0 migration 2017-07-07 01:54:53 -04:00
Jesse Plamondon-Willard da8a56a855 tweak text when mod crashes on entry, increase log level to error 2017-07-07 01:53:55 -04:00
Jesse Plamondon-Willard d928bf188e add optional mod dependencies in SMAPI 2.0 (#287) 2017-07-06 17:46:04 -04:00
Jesse Plamondon-Willard e2b9a4bab3 serialise SButtons as string in config.json (#316) 2017-07-06 15:17:47 -04:00
Jesse Plamondon-Willard baf2c63282 add method to suppress button input from game (#317) 2017-07-05 15:43:50 -04:00
Jesse Plamondon-Willard 8d301162d8 add InputEvents which unify keyboard, mouse, and controller input with more metadata (#316) 2017-07-05 15:41:58 -04:00
Jesse Plamondon-Willard 2f42051cc9 tweak method name per feedback (#255) 2017-07-04 18:18:52 -04:00
Jesse Plamondon-Willard 5ad74396fc correct manual install steps 2017-07-03 15:23:54 -04:00
Jesse Plamondon-Willard 96da7c1cbc fix crash in new content manager when returning to title (#255) 2017-07-03 14:49:29 -04:00
Jesse Plamondon-Willard 18e5e42529 defer some console changes until SMAPI 2.0 2017-07-03 14:26:45 -04:00
Jesse Plamondon-Willard 0f05e7bd54 fix error when mods have no manifest 2017-07-03 14:12:15 -04:00
Jesse Plamondon-Willard 697155c8a2 update deprecation warning text 2017-07-03 14:11:39 -04:00
Jesse Plamondon-Willard 7cb523cd49 bump all deprecation levels to 'pending removal' 2017-07-03 14:09:26 -04:00
Jesse Plamondon-Willard 136525b40d remove System.ValueTuple
This caused reference errors on Linux/Mac, and there aren't enough use cases to look into it further for now.
2017-07-03 01:29:56 -04:00
Jesse Plamondon-Willard 771263299c add SMAPI 2.0 compile mode 2017-07-03 01:03:13 -04:00
Jesse Plamondon-Willard c9c354a66f slim down console output for players some more 2017-07-02 21:36:04 -04:00
Jesse Plamondon-Willard 6a628a4d8a simplify log timestamps in console (except in developer mode) 2017-07-02 21:24:32 -04:00
Jesse Plamondon-Willard 0e6d30f65b further simplify console output for players 2017-07-02 20:51:49 -04:00
Jesse Plamondon-Willard 698328c52f fix rare crash for some players when window loses focus (#306) 2017-07-02 19:42:05 -04:00
Jesse Plamondon-Willard e69d1615c4 throw more useful error when JSON file is invalid (#314) 2017-07-02 19:32:40 -04:00
Jesse Plamondon-Willard f698352718 tweak trace logging when loading mods 2017-07-02 18:27:22 -04:00
Jesse Plamondon-Willard f904b3da97 add unified player_add command which adds any item type (#302) 2017-07-02 18:17:20 -04:00
Jesse Plamondon-Willard 40e8d3da0e migrate list_items command to new item repository (#302) 2017-07-02 17:37:30 -04:00
Jesse Plamondon-Willard a0c4746c27 add list_item_types command (#302) 2017-07-02 17:22:36 -04:00
Jesse Plamondon-Willard 5d5f7192dc add item repository which returns all spawnable items in the game (#302)
Based on code I wrote for CJB Item Spawner.
2017-07-02 17:21:28 -04:00
Jesse Plamondon-Willard 2ca49fba62 encapsulate TrainerMod's argument parsing (#302) 2017-07-02 02:45:02 -04:00
Jesse Plamondon-Willard f9482906ae split TrainerMod commands into separate classes (#302) 2017-07-02 01:32:07 -04:00
Jesse Plamondon-Willard 6da5a2d56d prevent mods from using SMAPI 2.0 content interception without reflection (#255) 2017-07-01 23:24:29 -04:00
Jesse Plamondon-Willard f95c7e8d72 add support for asset loaders (#255) 2017-07-01 23:13:43 -04:00
Jesse Plamondon-Willard 600ef56286 improve error handling when mods set invalid asset value (#255) 2017-07-01 21:31:21 -04:00
Jesse Plamondon-Willard 306427786b let mods implement IAssetEditor for simple cases (#255) 2017-07-01 19:55:08 -04:00
Jesse Plamondon-Willard 3b6adf3c26 reset asset cache when a new interceptor is added (#255)
This lets new interceptors edit assets loaded before they were added, particularly assets loaded before mods are initialised.
2017-07-01 19:39:04 -04:00
Jesse Plamondon-Willard 4568f2259b ensure there's only one content manager instance (#255) 2017-07-01 19:35:24 -04:00
Jesse Plamondon-Willard 9651e87053 slight refactor 2017-07-01 19:27:05 -04:00
Jesse Plamondon-Willard 306c044c4a group skipped mods in console log 2017-07-01 13:39:31 -04:00
Jesse Plamondon-Willard 271843d861 tweak asset interception code to simplify future work (#255) 2017-07-01 12:18:41 -04:00
Jesse Plamondon-Willard 49c75de5fc rewrite content interception using latest proposed API (#255) 2017-07-01 12:18:41 -04:00
Jesse Plamondon-Willard 7b6b2742f6 fix corrupted state exceptions not being logged by SMAPI 2017-06-27 11:37:50 -04:00
Jesse Plamondon-Willard a9958dac6a clean up log output when loading mods 2017-06-27 11:22:36 -04:00
Jesse Plamondon-Willard f7f1b1e513 add CONTRIBUTING.md file 2017-06-26 12:26:35 -04:00
Jesse Plamondon-Willard 6073d24cab change manifest.MinimumApiVersion to ISemanticVersion 2017-06-26 11:08:45 -04:00
Jesse Plamondon-Willard 8d7b5b3726 improve logging when SMAPI loads mods 2017-06-26 11:01:47 -04:00
Jesse Plamondon-Willard e66ee50cae add manual install steps to readme (removing from main guide) 2017-06-19 20:41:48 -04:00
Jesse Plamondon-Willard 640a523eb4 when the ObjectInformation.xnb file is broken, print one error instead of a warning flood 2017-06-19 02:12:18 -04:00
Jesse Plamondon-Willard 565aa2c67b add unit tests for version comparison 2017-06-19 01:26:22 -04:00
Jesse Plamondon-Willard a011c28d40 make version parsing stricter, add unit tests for parsing (#309) 2017-06-19 01:05:43 -04:00
Jesse Plamondon-Willard ec914874ec reorganise unit tests 2017-06-18 22:16:51 -04:00
Jesse Plamondon-Willard fb8fefea00 show friendly error when parsing a manifest version fails (#308) 2017-06-18 22:11:48 -04:00
Jesse Plamondon-Willard b46776a4fb enable string versions in manifest.json (#308) 2017-06-18 22:08:56 -04:00
Jesse Plamondon-Willard 3e50c90230 add IEquatable<SDate> interface to SDate (#307) 2017-06-18 20:55:12 -04:00
Jesse Plamondon-Willard 0a8c07cc07 simplify date operators by making SDate.GetHashCode() return unique ordered values, expand unit tests (#307) 2017-06-18 20:24:32 -04:00
Jesse Plamondon-Willard 7e815911e2 add tuples to test project (#307) 2017-06-18 20:23:15 -04:00
Jesse Plamondon-Willard 9c22c2378f remove test adapter (#307) 2017-06-18 20:22:35 -04:00
Nicholas Johnson 230ab1738a - This adds in operators to SDate. And Tests. And a NUnit Adapter - sorry about the latter.. 2017-06-18 23:21:37 +01:00
Jesse Plamondon-Willard 3c3953a7fd add support for minimum dependency versions (#286) 2017-06-18 18:18:04 -04:00
Jesse Plamondon-Willard cdac6dad7d enable C# 7 tuples 2017-06-18 18:01:15 -04:00
Jesse Plamondon-Willard b0967e6309 add SerializerUtils to obsolete-mods list 2017-06-12 18:51:17 -04:00
Jesse Plamondon-Willard a4713ea882 add separate list of obsolete mods 2017-06-12 18:44:36 -04:00
Jesse Plamondon-Willard 2a9c8d43df add date utility 2017-06-07 02:08:20 -04:00
Chase W 57d20614b8 Add player_addwallpaper and player_addflooring 2017-06-04 16:22:36 -04:00
Jesse Plamondon-Willard fd485abe28 bump version for release 2017-06-04 16:21:56 -04:00
Jesse Plamondon-Willard 91cec58fdb tweak translation API to always return translations (#303) 2017-06-03 23:56:43 -04:00
Jesse Plamondon-Willard 3a8e77a309 update for release 2017-06-02 18:25:11 -04:00
Jesse Plamondon-Willard 9610ccb519 add TimeSpeed <2.2.1 to incompatibility list 2017-06-02 18:00:57 -04:00
Jesse Plamondon-Willard 40dc986ff2 bump incompatible version of Better Sprinklers 2017-06-02 01:59:37 -04:00
Jesse Plamondon-Willard 798439ea34 deprecate TimeEvents.DayOfMonthChanged, SeasonOfYearChanged, and YearOfGameChanged 2017-05-29 23:52:33 -04:00
Jesse Plamondon-Willard 6f69a1aca9 fix translation error when passing tokens for a null translation (#296) 2017-05-29 15:29:22 -04:00
Jesse Plamondon-Willard 9d9383e235 drop special case for SDV 1.2.29 bug (min version is now 1.2.30) 2017-05-28 20:58:31 -04:00
Jesse Plamondon-Willard bbfd42eeb3 bump minimum game version to 1.2.30 2017-05-28 20:31:50 -04:00
Jesse Plamondon-Willard 90275f1d56 add shortcut for translation with tokens (#296) 2017-05-28 17:53:44 -04:00
Jesse Plamondon-Willard e20db6e8e4 add token support for instance fields, expand unit test (#296) 2017-05-28 17:34:53 -04:00
Jesse Plamondon-Willard 423a2f5012 combine Translation::Tokens overloads, support dictionaries with any generic types (#296) 2017-05-28 11:23:42 -04:00
Jesse Plamondon-Willard af28b87660 make unit test easier to extend (#296) 2017-05-28 11:21:49 -04:00
Jesse Plamondon-Willard 2958381b54 shorten translation method name, remove helper method (#296) 2017-05-28 10:51:58 -04:00
Jesse Plamondon-Willard 2109229660 add 'reload_i18n' console command to reload translation files (#296) 2017-05-28 01:58:50 -04:00
Jesse Plamondon-Willard 5af58c7b18 refactor translation init for reuse (#296) 2017-05-28 01:49:21 -04:00
Jesse Plamondon-Willard 12ffd9c334 add shortcut indexer to translation API (#296) 2017-05-28 01:06:35 -04:00
Jesse Plamondon-Willard 01197b0eb1 minor cleanup 2017-05-28 01:05:41 -04:00
Jesse Plamondon-Willard 0c992e562a simplify debug command output (#297) 2017-05-28 00:46:25 -04:00
Jesse Plamondon-Willard 698930820c log debug command output (#297) 2017-05-28 00:39:01 -04:00
Jesse Plamondon-Willard 586f27c4c2 remove unneeded SGame fields 2017-05-28 00:13:43 -04:00
Jesse Plamondon-Willard 173dd8cd03 add Context.IsPlayerFree 2017-05-27 23:48:16 -04:00
Jesse Plamondon-Willard 55fa8198ff fix content API not matching XNB files with two dots (like 'a.b.xnb') if extension isn't specified 2017-05-27 01:01:45 -04:00
Jesse Plamondon-Willard e92dbc41df improve libgdiplus.dylib fix for Mono players 2017-05-27 00:21:48 -04:00
Jesse Plamondon-Willard 3324628e3b standardise indentation in unix launcher 2017-05-26 23:55:57 -04:00
Jesse Plamondon-Willard 395925ad2b fix errors handling dependencies if some mods have no manifest 2017-05-26 00:33:32 -04:00
Jesse Plamondon-Willard 569ae2b87b reduce ContentLoadException nesting 2017-05-25 21:52:15 -04:00
Jesse Plamondon-Willard 7f210cd7b0 fix tilesheets for local XNB maps too 2017-05-25 21:35:43 -04:00
Jesse Plamondon-Willard a47ca7e391 expand .tbin loading to support custom tilesheets from the mod folder 2017-05-25 21:02:05 -04:00
Jesse Plamondon-Willard 24e214b601 minor cleanup 2017-05-25 20:55:08 -04:00
Platonymous a91e111247 Added experimental .tbin support 2017-05-26 00:12:40 +01:00