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
Jesse Plamondon-Willard
ae7d9d6bc4
fix error when SMAPI tries to load Mac metadata files for DLLs
2017-02-02 20:48:29 -05:00
Jesse Plamondon-Willard
8db280d874
expose SemanticVersion constructor that parses a string
2017-01-25 22:30:07 -05:00
Jesse Plamondon-Willard
b90387668d
update for 1.7 release
2017-01-19 12:22:32 -05:00
Jesse Plamondon-Willard
5ccd5b5df7
log deprecation warnings after list of loaded mods ( #220 )
2017-01-19 11:43:32 -05:00
Jesse Plamondon-Willard
1cf8a628dc
only call mod.Entry() once all mods have been loaded ( #220 )
2017-01-19 11:34:24 -05:00
Jesse Plamondon-Willard
ba590b20a6
add public mod registry ( #220 )
2017-01-19 11:07:48 -05:00
Jesse Plamondon-Willard
4fe123350c
bump several deprecations
2017-01-19 01:41:55 -05:00
Jesse Plamondon-Willard
f681f618c1
add mod folder path to console
2017-01-19 01:10:13 -05:00
Jesse Plamondon-Willard
602227eae8
fix some world events being fired during game startup ( #217 )
2017-01-18 22:14:50 -05:00
Jesse Plamondon-Willard
b3ff004572
fix PlayerEvents.LoadedGame and SaveEvents.AfterLoad being fired before the world finishes loading ( #216 )
2017-01-18 21:32:38 -05:00
Jesse Plamondon-Willard
65a52f4a39
update release notes link
2017-01-15 21:31:31 -05:00
Jesse Plamondon-Willard
b9b8291d5e
clean up 1.6 release notes
2017-01-15 20:19:32 -05:00
Jesse Plamondon-Willard
64a72c45e3
deprecate events replaced by save events ( #215 )
2017-01-15 19:21:26 -05:00
Jesse Plamondon-Willard
525172e831
remove redundant TrainerMod build config ( #214 )
2017-01-14 22:49:50 -05:00
Jesse Plamondon-Willard
90e92ef61f
fix error when the console doesn't support colour ( #206 )
2017-01-14 15:05:38 -05:00
Jesse Plamondon-Willard
2d824b34e4
add console commands to open game & date folders ( #172 )
2017-01-14 13:46:00 -05:00
Jesse Plamondon-Willard
9d1b6a1af2
fix issue where default ICollection<T> values in config.json were duplicated on each load ( #209 )
2017-01-14 13:03:57 -05:00
Jesse Plamondon-Willard
83bdcd2838
fix error loading mods if they have a .cache folder created on a different platform ( #211 )
2017-01-14 12:43:50 -05:00
Jesse Plamondon-Willard
34bf9c5eca
tweak JSON read error-handling, update release notes
2017-01-14 12:26:59 -05:00
Jesse Plamondon-Willard
0ac9e47ea2
add support for custom incompatible-mod-version error text
2017-01-14 01:11:42 -05:00
Jesse Plamondon-Willard
40bc8f57c7
add support for incompatible mod version ranges
2017-01-14 00:59:19 -05:00
Jesse Plamondon-Willard
523e0d7dce
update release notes
2017-01-11 14:00:13 -05:00
Jesse Plamondon-Willard
b75d86e7cc
update for SMAPI 1.5 release
2016-12-23 12:43:42 -05:00
Jesse Plamondon-Willard
8416c9009e
increase deprecation levels for less-used deprecated code
2016-12-23 12:36:03 -05:00
Jesse Plamondon-Willard
f6f52b653e
add known incompatible mods, update release notes ( #192 )
2016-12-22 13:08:45 -05:00
Jesse Plamondon-Willard
90f5233cc7
add config setting to disable update checks ( #202 )
2016-12-22 11:27:48 -05:00
Jesse Plamondon-Willard
af45b08908
update release notes
2016-12-22 10:26:00 -05:00
Jesse Plamondon-Willard
db6b204a1c
update release notes
2016-12-18 13:28:23 -05:00
Jesse Plamondon-Willard
a3376e2a62
update for 1.4 release
2016-12-12 11:20:31 -05:00
Jesse Plamondon-Willard
f7b55c28ef
tweak release notes
2016-12-10 14:29:38 -05:00
Jesse Plamondon-Willard
dccd73e4fb
detect which Linux command detects whether a command exists ( #183 )
2016-12-10 13:01:58 -05:00
Jesse Plamondon-Willard
1522061b26
update release notes ( #185 )
2016-12-09 18:48:44 -05:00
Jesse Plamondon-Willard
25d2eb4777
intercept mod errors in menu draw code so they don't crash the game
2016-12-08 12:18:56 -05:00
Jesse Plamondon-Willard
89dacba7b8
update release notes ( #189 )
2016-12-08 12:15:10 -05:00
Jesse Plamondon-Willard
acbd33fb02
open a terminal for SMAPI output on Mac ( #183 )
2016-12-07 23:15:37 -05:00
Jesse Plamondon-Willard
ae44f17205
fix installer not moving mods out of appdata if the game isn't installed on the same Windows partition ( #184 )
2016-12-07 22:43:05 -05:00
Jesse Plamondon-Willard
860ccb90f7
fix the installer not removing TrainerMod from appdata if it's already in the game mods folder
2016-12-07 22:17:38 -05:00
Jesse Plamondon-Willard
2c11ce1bff
add TypeLoadException details when intercepted by SMAPI
2016-12-07 22:05:14 -05:00
Jesse Plamondon-Willard
b019dd4f69
replace out_items, out_melee, and out_rings commands with a searchable list_items command
2016-12-07 20:36:28 -05:00
Jesse Plamondon-Willard
f0433e5a41
tweak installer wording to avoid confusion
2016-12-06 22:19:38 -05:00
Jesse Plamondon-Willard
09f6620433
update release notes
2016-12-06 00:45:22 -05:00
Jesse Plamondon-Willard
48adbe2492
update for 1.3 release
2016-12-04 09:40:34 -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
98a3289337
update release notes ( #166 )
2016-11-29 19:24:00 -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
c49f6f26bd
fix release notes log link
2016-11-24 12:22:00 -05:00
Jesse Plamondon-Willard
614de95a8e
update for 1.2 release
2016-11-24 12:19:57 -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
651388c818
update release notes for upcoming 1.2 release
2016-11-23 20:21:12 -05:00
Jesse Plamondon-Willard
bd13d6d1cb
update release notes
2016-11-21 22:21:04 -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
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
4deb03b37d
merge patch notes into last major release
2016-11-19 00:17:58 -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
22fe2d8716
minor tweaks
2016-11-16 22:41:27 -05:00
Jesse Plamondon-Willard
962178352b
tweak release notes
2016-11-16 17:42:44 -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
785af91952
add optional 'minimum API version' field to manifest ( #176 )
2016-11-16 16:21:17 -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
e665010f70
update for 1.0 release
2016-11-11 11:32:07 -05:00
Jesse Plamondon-Willard
71e2ad82a9
update for 1.0 beta
2016-11-07 16:26:31 -05:00
Jesse Plamondon-Willard
1ede3f14ac
update release notes
2016-11-06 22:25:41 -05:00
Jesse Plamondon-Willard
bd676a35e2
add deprecation warnings to release notes
2016-11-05 18:41:18 -04:00
Jesse Plamondon-Willard
4716b4cd21
make logging less verbose and more informative
2016-11-04 23:06:19 -04:00
Jesse Plamondon-Willard
c01ffd2331
tweak release notes
2016-11-04 00:07:17 -04:00