Commit Graph

2809 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard bf02c54f8b Merge branch 'feature/285-mod-dependencies' into develop
# Conflicts:
#	src/StardewModdingAPI/Framework/ModRegistry.cs
#	src/StardewModdingAPI/Program.cs
2017-05-16 22:57:52 -04:00
Jesse Plamondon-Willard a0e9fa9f3e tweak release notes 2017-05-16 19:22:09 -04:00
Jesse Plamondon-Willard 11569dac31 fix maps not recognising custom tilesheets added through the SMAPI content API 2017-05-16 19:15:28 -04:00
Jesse Plamondon-Willard f4a2d8100f add warning for mods that don't have a name or version 2017-05-16 01:15:02 -04:00
Jesse Plamondon-Willard bca78cd682 add Context.IsWorldReady flag 2017-05-15 22:51:49 -04:00
Jesse Plamondon-Willard aafb3315cb update compatibility blacklist for SDV 1.2 2017-05-15 22:41:44 -04:00
Jesse Plamondon-Willard 419ca82427 tweak .editorconfig JSON indentation rules 2017-05-15 20:44:34 -04:00
Jesse Plamondon-Willard fec67fe6fd fix world/player events being raised when the player loads a save due to values being initialised 2017-05-14 22:04:32 -04:00
Jesse Plamondon-Willard 2d9aefebb0 rewrite dependency logic to resolve dependency loops by disabling the affected mods (#285) 2017-05-14 21:19:27 -04:00
Jesse Plamondon-Willard 07aadf3612 replace mod indexes with references in dependency-sorting logic (#285) 2017-05-14 18:17:34 -04:00
Jesse Plamondon-Willard f3ff871eb7 add unit tests for basic dependency reordering cases (#285) 2017-05-13 22:47:50 -04:00
Jesse Plamondon-Willard 317349f3e2 add a few more unit tests for metadata loading & validation (#285) 2017-05-13 21:58:13 -04:00
Jesse Plamondon-Willard 725b1f1419 add unit tests for metadata loading & validation (#285) 2017-05-13 21:42:36 -04:00
Jesse Plamondon-Willard c1fbbf9418 add unit test project (#285) 2017-05-13 21:40:53 -04:00
Jesse Plamondon-Willard f03b300b3f pass SMAPI version into metadata validation to simplify unit tests (#285) 2017-05-13 21:38:04 -04:00
Jesse Plamondon-Willard 53547a8ca3 pass API version into mod metadata validation to simplify unit testing (#285) 2017-05-13 21:36:50 -04:00
Jesse Plamondon-Willard 7f368aa889 enforce metadata.SetStatus() instead of setting properties directly (#285) 2017-05-13 20:41:00 -04:00
Jesse Plamondon-Willard 9b6c0d1021 decouple reading manifest files from validating metadata (#285) 2017-05-13 18:58:19 -04:00
Jesse Plamondon-Willard 63edebaef1 decouple mod metadata resolution from main SMAPI logic (#285)
This makes the logic more self-contained for eventual unit testing, and makes failed mods available during dependency resolution so we can make errors more relevant.
2017-05-13 18:20:09 -04:00
Jesse Plamondon-Willard 66d2b5746a move mod metadata resolution into its own class (#285) 2017-05-13 17:24:41 -04:00
Jesse Plamondon-Willard c932c53137 fix error when processing mods that have no dependencies (#285) 2017-05-13 17:03:26 -04:00
Jesse Plamondon-Willard a3729c36f5 refactor mod dependency logic a bit (#285) 2017-05-13 16:58:17 -04:00
Luke Wale 3a02402367 Added basic topological sort for mod dependencies (#285) 2017-05-13 15:33:35 -04:00
Jesse Plamondon-Willard 3da27346c6 add basic dependencies to manifest (#285) 2017-05-13 15:33:35 -04:00
Jesse Plamondon-Willard 17ff230d8e streamline crossplatform build with Mono 5.0, update readme, tweak release notes 2017-05-13 15:14:32 -04:00
Jesse Plamondon-Willard 588b42742d fix error on Linux/Mac when a mod tries to load content immediately after save is loaded 2017-05-12 21:09:20 -04:00
Jesse Plamondon-Willard e84028f22b fix SMAPI raising a deprecation warning for its own use of an event 2017-05-12 00:01:39 -04:00
Jesse Plamondon-Willard bb165f2079 organise a few framework classes 2017-05-11 23:21:02 -04:00
Jesse Plamondon-Willard dc4ad15afe fix IManifest fields being settable 2017-05-11 22:32:47 -04:00
Jesse Plamondon-Willard 03876153f4 decouple mod metadata vs assembly loading to enable upcoming mod dependencies (#285) 2017-05-11 22:25:45 -04:00
Jesse Plamondon-Willard 48c5c9e367 overhaul save handling to fix save events not triggering on Linux/Mac (#284) 2017-05-11 00:34:01 -04:00
Jesse Plamondon-Willard 86c60c971a merge SGame::UpdateEventCalls into Update
The method was misleadingly named (since only some of the events were in the method), and unnecessarily limited the possible flows.
2017-05-10 23:49:58 -04:00
Jesse Plamondon-Willard d88050fcee deprecate GameEvents.GameLoaded and GameEvents.FirstUpdateTick 2017-05-10 23:44:58 -04:00
Jesse Plamondon-Willard b4584afda8 trace locale changes as non-verbose context 2017-05-09 22:37:53 -04:00
Jesse Plamondon-Willard 0d8009b231 fix installer finding redundant game paths on Linux 2017-05-09 22:37:05 -04:00
Jesse Plamondon-Willard 3fa71385e5 add warning for mods that don't set the UniqueID manifest field 2017-05-09 22:12:02 -04:00
Jesse Plamondon-Willard 494f9366a8 let mods dispose unmanaged resources when SMAPI is disposing (#282) 2017-05-09 22:02:17 -04:00
Jesse Plamondon-Willard 7ba0518bfd add 'debug' console command 2017-05-09 17:16:13 -04:00
Jesse Plamondon-Willard 3d73227587 when a fatal crash happens, keep a copy of the log and notify the player on relaunch 2017-05-09 01:46:40 -04:00
Jesse Plamondon-Willard 467d4a27ee reduce max consecutive draw crashes (#283) 2017-05-09 00:16:04 -04:00
Jesse Plamondon-Willard fa729fa700 don't try to recover from a completely broken sprite batch, which can cause a whole new set of problems (#283) 2017-05-09 00:14:59 -04:00
Jesse Plamondon-Willard 486ac29796 use shared reflection helper 2017-05-09 00:11:39 -04:00
Jesse Plamondon-Willard 85f609dc6c add optional verbose context logging 2017-05-08 02:18:58 -04:00
Jesse Plamondon-Willard 72a0b4fc6d detect unrecoverable draw errors (#283) 2017-05-08 01:57:07 -04:00
Jesse Plamondon-Willard 624840efe5 use more robust sprite batch recovery logic (#283) 2017-05-07 13:09:32 -04:00
Jesse Plamondon-Willard 8963793bf8 exit game after many consecutive unrecoverable draw errors (#283) 2017-05-07 02:50:36 -04:00
Jesse Plamondon-Willard 0e304e4d51 added basic context logging to simplify troubleshooting 2017-05-07 01:56:39 -04:00
Jesse Plamondon-Willard c84310dfeb Merge branch 'develop' into stable 2017-05-03 13:02:15 -04:00
Jesse Plamondon-Willard 0a2f7e52b9 fix code style 2017-05-03 12:46:48 -04:00
Jesse Plamondon-Willard 0530270790 bump version for release 2017-05-03 12:30:40 -04:00