Commit Graph

229 Commits

Author SHA1 Message Date
Jesse Plamondon-Willard 9e7c77f1f4 enable mod dependencies (#285) 2017-05-21 17:29:40 -04:00
Jesse Plamondon-Willard d47e55d040 show friendly errors when the game is missing or pre-1.2 2017-05-20 15:11:36 -04:00
Jesse Plamondon-Willard 9ef4876c5e add metadata to internal mod registry & use mod display name everywhere 2017-05-20 00:29:04 -04:00
Jesse Plamondon-Willard 2781c27786 fix error when loading a mod with no version 2017-05-19 23:49:59 -04:00
Jesse Plamondon-Willard def73fceaf improve game install path detection 2017-05-18 17:02:34 -04:00
Jesse Plamondon-Willard 0b853ca18d clarify release note 2017-05-17 13:12:31 -04:00
Jesse Plamondon-Willard 8439594b10 fix errors during overridden update loop immediately crashing the game with no log entry 2017-05-17 11:45:17 -04:00
Jesse Plamondon-Willard b977a8e48f add internal refactoring to release notes 2017-05-16 23:44:33 -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 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 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 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 d88050fcee deprecate GameEvents.GameLoaded and GameEvents.FirstUpdateTick 2017-05-10 23:44:58 -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 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 6557c5241b bundle libgdiplus into SMAPI on Linux/Mac to fix errors loading PNGs (#277) 2017-05-03 12:28:05 -04:00
Jesse Plamondon-Willard dfa4bbaa39 adopt pufferchick as SMAPI icon 2017-05-03 11:58:33 -04:00
Jesse Plamondon-Willard 3ed16a8ea6 recover game after draw errors to prevent crash 2017-05-03 11:36:36 -04:00
Jesse Plamondon-Willard e6d5883224 fix mods on Linux/Mac no longer working after the game saves (#281) 2017-05-03 01:23:24 -04:00
Jesse Plamondon-Willard 0ef31f0b9e support players with multiple copies of the game when installing (#274) 2017-05-03 00:40:21 -04:00
Jesse Plamondon-Willard 45613b4851 store unknown fields in IManifest::ExtraFields (#275) 2017-05-02 23:53:15 -04:00
Jesse Plamondon-Willard 24aa8bb64d default content API to ContentSource.ModFolder (#276) 2017-05-02 23:45:25 -04:00
Jesse Plamondon-Willard 8503bf9cd9 fix XNBs loaded from the mod folder through the content API never being found on Mac (#278) 2017-05-02 23:25:23 -04:00
Jesse Plamondon-Willard e4357c3c7d fix error when using content API to load a PNG during early game init (#280) 2017-05-02 00:43:15 -04:00
Jesse Plamondon-Willard b56a3f5bc2 update release notes (#257) 2017-04-30 01:17:56 -04:00
Jesse Plamondon-Willard f52edf9e0b fix mod events triggering during game save in Stardew Valley 1.2 2017-04-29 21:46:01 -04:00
Jesse Plamondon-Willard 6b9372237c fix errors in the game's update causing the game to freeze until the player presses a key in the SMAPI console 2017-04-29 12:23:38 -04:00
Jesse Plamondon-Willard ee5351c38e detect broken ObjectInformation.xnb data 2017-04-28 00:58:54 -04:00
Jesse Plamondon-Willard 0cf15d36d9 revamp 'exit immediately' to abort ongoing SMAPI tasks 2017-04-26 18:25:59 -04:00
Jesse Plamondon-Willard 971bfd32d2 detect exceptions logged directly to the console and log them as errors 2017-04-26 16:22:41 -04:00
Jesse Plamondon-Willard afc8ae69fe No longer suppress console output from the log file
Console messages appear in the console (in developer mode only), but weren't saved to the log file based on the argument that they weren't relevant. However, that also suppresses the game's load-game errors in Stardew Valley 1.2, which makes troubleshooting save issues more complicated. To avoid any such issues in the future, they're now always logged to the file. If you need to log a message that isn't shown to the user, use System.Diagnostics.Debug instead.
2017-04-26 16:21:03 -04:00
Jesse Plamondon-Willard 4ef957c191 optimise console interception for the way Stardew Valley logs messages 2017-04-26 16:04:20 -04:00
Jesse Plamondon-Willard fee89a99da remove new manifest field for minimum game version (#264)
This was added to support parallel releases for SDV 1.11 + 1.2-beta, but SDV 1.2 is now out of beta. Mods should specify the minimum SMAPI version instead if needed.
2017-04-24 12:39:06 -04:00
Jesse Plamondon-Willard 4e7733ba2d update for SDV 1.2 non-beta release 2017-04-24 12:36:20 -04:00
Jesse Plamondon-Willard 1de8895642 fixed `Constants.SaveFolderName` not set for a new game until the save is created (#261) 2017-04-23 23:58:08 -04:00
Jesse Plamondon-Willard 8ec607ba3c ensure SMAPI resources are disposed on exit (#268) 2017-04-23 23:00:13 -04:00
Jesse Plamondon-Willard 07197fac9d add support for non-melee weapons to TrainerMod (#259) 2017-04-23 22:46:14 -04:00
Jesse Plamondon-Willard c1926f263c add world_setyear command to TrainerMod 2017-04-23 22:13:49 -04:00
Jesse Plamondon-Willard 085ae07251 add string overloads for version methods (#263) 2017-04-23 22:04:56 -04:00
Jesse Plamondon-Willard 01917e70a2 fix rare issue where installer crashes trying to delete a bundled mod from %appdata% (#266) 2017-04-23 21:55:01 -04:00
Jesse Plamondon-Willard 86ef70feec revamp startup process (#265)
This revamps SMAPI's startup process to simplify mod development by ensuring that core components are ready by the time mods are loaded (which is also needed for the upcoming content API), and eliminate or reduce SEHExceptions some players experience.
2017-04-23 21:51:49 -04:00
Jesse Plamondon-Willard 5f595d8a46 let mods specify a minimum game version in their manifest.json (#264) 2017-04-23 20:34:47 -04:00
Jesse Plamondon-Willard 6f43a3dae5 unify SMAPI versions for SDV 1.11 and 1.2 using compile switches where needed (#264) 2017-04-23 20:27:55 -04:00
Jesse Plamondon-Willard ceabb05a84 Merge branch for Stardew Valley 1.2 beta into develop
# Conflicts:
#	src/StardewModdingAPI/Framework/SGame.cs
2017-04-23 19:56:07 -04:00
Jesse Plamondon-Willard a35fe47447 fix monitor.ExitGameImmediately not working correctly 2017-04-23 19:21:48 -04:00
Jesse Plamondon-Willard 4f87a2b478 fix mouse-changed event never updating prior mouse position 2017-04-22 23:59:38 -04:00
Jesse Plamondon-Willard 37d5390ed0 unbackport for SDV 1.2 branch (#258) 2017-04-05 15:00:14 -04:00
Jesse Plamondon-Willard 4675da0600 add --log-path argument to specify SMAPI log path during testing 2017-04-01 16:08:31 -04:00
Jesse Plamondon-Willard b4b4689f00 remove old error logs when installing a new version to avoid confusion 2017-03-30 19:48:01 -04:00
Jesse Plamondon-Willard df1e748629 backport SMAPI 1.9 to Stardew Valley 1.11 (#258) 2017-03-30 18:59:01 -04:00
Jesse Plamondon-Willard 04cae4ef46 fix SMAPI not recognising Mod instances that don't subclass Mod directly (#252) 2017-03-26 20:15:48 -04:00
Jesse Plamondon-Willard 45d2ed7054 add another default game path for Linux
Thanks to ShneekeyTheLost on the Stardew Valley forums.
2017-03-16 19:01:22 -04:00
Jesse Plamondon-Willard abfa2022aa validate XNA 4.0+ is installed on Windows in SMAPI installer 2017-03-16 17:06:53 -04:00
Jesse Plamondon-Willard 3d4c603bd3 polish release notes 2017-03-16 16:51:30 -04:00
Jesse Plamondon-Willard 79e63fde9a validate .NET Framework 4.5+ is installed on Windows in SMAPI installer 2017-03-14 19:36:18 -04:00
Jesse Plamondon-Willard 307304a03e revert all projects except installer to .NET Framework 4.5
This caused obscure invalid-IL crashes when compiled through MonoDevelop on Linux.
2017-03-14 18:16:44 -04:00
Jesse Plamondon-Willard da630efc1d downgrade to .NET Framework 4.0 for better compatibility on Windows 7–8.1 2017-03-14 14:15:50 -04:00
Jesse Plamondon-Willard dd694dae27 add release notes for compatibility finders (#247) 2017-03-12 19:06:56 -04:00
Jesse Plamondon-Willard 95e5197967 fix SaveEvents.AfterLoad being raised during the new-game intro before the player is initialised 2017-03-11 17:28:39 -05:00
Jesse Plamondon-Willard 4991a25d46 add content language changed event (#243) 2017-03-03 20:57:52 -05:00
Jesse Plamondon-Willard c3c6fa1187 start draft 2.0 release notes 2017-03-03 20:25:01 -05:00
Jesse Plamondon-Willard ade1a692a3 deprecate `IConfigFile` (#238) 2017-03-01 20:20:58 -05:00
Jesse Plamondon-Willard 5ed6eb0986 fix `world_downminelevel` command not working, prevent invalid `world_setminelevel` value 2017-03-01 20:06:03 -05:00
Jesse Plamondon-Willard 5cdf75b463 show OS caption (like "Windows 10") instead of internal version when available 2017-03-01 19:32:14 -05:00
Jesse Plamondon-Willard 51ac0127e8 fix TrainerMod letting player add invalid items 2017-03-01 19:20:11 -05:00
Jesse Plamondon-Willard 696bdab3cd fix errors in console command handlers crashing the game 2017-03-01 19:18:21 -05:00
Jesse Plamondon-Willard 6de4888a1b improve TrainerMod feedback to user, standardise color/colour spelling 2017-03-01 19:17:34 -05:00
Jesse Plamondon-Willard 2151625898 add release note, fix docblock 2017-02-24 20:55:19 -05:00
Jesse Plamondon-Willard 9bbd0a4459 make skipped-mod messages more user-friendly 2017-02-23 23:36:48 -05:00
Jesse Plamondon-Willard 69ed617e56 fix installer not recognising Linux/Mac paths starting with ~ or containing an escaped space 2017-02-19 01:29:30 -05:00
Jesse Plamondon-Willard a893cd9eea fix installer not ignoring potential game folders that don't contain a Stardew Valley exe 2017-02-19 01:07:04 -05:00
Jesse Plamondon-Willard 41ee8990f8 write XNA input enums to JSON as strings automatically
Mods often reference Json.NET to do this, so this lets many mods remove Json.NET as a dependency.
2017-02-17 11:33:22 -05:00
Jesse Plamondon-Willard 1dfedd2d1a fix issue where mod dependencies overrode SMAPI dependencies 2017-02-17 01:44:19 -05:00
Jesse Plamondon-Willard 16c362f4c5 increase all notice deprecations to info, tweak deprecation message format 2017-02-16 13:59:13 -05:00
Jesse Plamondon-Willard 3b25723a4e update release notes (#199) 2017-02-13 01:27:49 -05:00
Jesse Plamondon-Willard 8b0db49f12 update release notes (#237) 2017-02-12 19:41:15 -05:00
Jesse Plamondon-Willard e393a2aad9 add TimeEvents.AfterDayStarted event (#236) 2017-02-11 12:38:32 -05:00
Jesse Plamondon-Willard 824ca7174a delve into mod folders that only contain another folder (#208)
This fixes a common issue when users unpack mods into a nested folder (e.g. "SomeMod-1.0.0\SomeMod\manifest.json"), which previously wouldn't be recognised as a mod. SMAPI will not do this if the folder contains files or more than one folder, to prevent backup folders and the like from being loaded.
2017-02-11 02:04:01 -05:00
Jesse Plamondon-Willard 46b7d7a400 redirect the game's debug messages into trace logs (#233)
The game writes debug messages directly to the console, which shows up for SMAPI users. This commit redirects direct console messages to a monitor.
2017-02-11 01:15:56 -05:00
Jesse Plamondon-Willard c357013156 tweak debug build config, update release notes 2017-02-10 19:22:22 -05:00
Jesse Plamondon-Willard 6092f9ea00 always use \r\n line endings in log file for crossplatform compatibility (#230) 2017-02-08 00:22:27 -05:00
Jesse Plamondon-Willard d52b3572f3 simplify log filename 2017-02-08 00:17:00 -05:00
Jesse Plamondon-Willard 366769e8a2 add SaveEvents.AfterReturnToTitle event (#231) 2017-02-08 00:11:46 -05:00
Jesse Plamondon-Willard 8efa5f32c1 add reflectionHelper.GetPrivateProperty<T> (#231) 2017-02-07 21:07:57 -05:00
Jesse Plamondon-Willard 95a93a05b3 remove oldest deprecated code (#231)
Since Stardew Valley 1.2 breaks most mods anyway, this commits removes the oldest deprecations and fixes the issues that are easiest for mods to update. See documentation for details.
2017-02-07 20:50:41 -05:00
Jesse Plamondon-Willard 3919ab7a4a update for 1.8 release 2017-02-04 15:30:26 -05:00
Jesse Plamondon-Willard 57a99803f0 update deprecation level for Extensions class 2017-02-04 15:27:13 -05:00
Jesse Plamondon-Willard 53d5d6f5bb tweak release notes 2017-02-04 01:22:31 -05:00
Jesse Plamondon-Willard 85ff940e68 move install package's Mono/Windows folders out of root
This will hopefully reduce confusion among players who go into "Windows" instead of running install.exe.
2017-02-03 22:02:54 -05:00
Jesse Plamondon-Willard 6b9f85d6de update release notes (#229) 2017-02-02 23:45:09 -05:00