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
Jesse Plamondon-Willard
f5063cf81e
add translation unit tests ( #296 )
2017-05-24 17:00:23 -04:00
Jesse Plamondon-Willard
79dabe2671
add translation API ( #296 )
2017-05-24 13:48:17 -04:00
Jesse Plamondon-Willard
56919271fc
fix Context.IsInDrawLoop having a public setter
2017-05-23 23:31:34 -04:00
Jesse Plamondon-Willard
8f1379e273
fix rare crash when window loses focus for some players
2017-05-23 16:51:03 -04:00
Jesse Plamondon-Willard
5fa13459d3
show friendly error when running install.exe from within zip file
2017-05-22 18:55:09 -04:00
Jesse Plamondon-Willard
51d56f1eec
add Context.IsInDrawLoop for specialised mods
2017-05-22 16:41:50 -04:00
Jesse Plamondon-Willard
ec19c85d66
reimplement event deprecation warnings to fix "unknown mod" warnings
2017-05-21 18:22:21 -04:00
Jesse Plamondon-Willard
bf3ed26a8b
fix smapi-crash.txt being copied from default log even if --log-path is specified
2017-05-21 17:58:17 -04:00
Jesse Plamondon-Willard
9e7c77f1f4
enable mod dependencies ( #285 )
2017-05-21 17:29:40 -04:00
Jesse Plamondon-Willard
c4eb21bd31
update installer readme
2017-05-20 15:11:51 -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
ca44c3f329
bump version for release
2017-05-20 00:29:13 -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
cbb1777ba0
bump version for release
2017-05-19 17:31:00 -04:00
Jesse Plamondon-Willard
def73fceaf
improve game install path detection
2017-05-18 17:02:34 -04:00
Jesse Plamondon-Willard
1b1f37d082
fix build error with Mono 5.0 on Linux/Mac
2017-05-18 16:56:28 -04:00
Jesse Plamondon-Willard
37a2e34507
also raise location-list-changed on load
2017-05-17 21:25:18 -04:00
Jesse Plamondon-Willard
bc1e17bc8c
fix mod-loading code not accounting for metadata failure
2017-05-17 15:44:18 -04:00
Jesse Plamondon-Willard
228f84eea6
raise location/player changed events on load
2017-05-17 14:30:57 -04:00
Jesse Plamondon-Willard
f9c708d863
drop support for multiple player indexes (not relevant for Stardew Valley)
2017-05-17 12:16:25 -04:00
Jesse Plamondon-Willard
6ce07be2fa
fix crash in unreleased code when loading a save that hasn't visited the mines yet
2017-05-17 11:52:21 -04:00
Jesse Plamondon-Willard
d5ea812d7c
adjust return-to-title code
2017-05-17 11:51:49 -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
2d5d9c7c53
make content event available in experimental mode
2017-05-16 23:09:37 -04:00
Jesse Plamondon-Willard
89d7a3f846
add compile flag for experimental mod dependencies features
2017-05-16 23:04:38 -04:00
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
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
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
d4f172fef1
bump version for release
2017-04-30 18:54:14 -04:00
Jesse Plamondon-Willard
901353ee04
tweak code inspection rules
2017-04-30 01:07:22 -04:00
Jesse Plamondon-Willard
d21f8d6b22
fix crossplatform compatibility ( #257 )
2017-04-30 01:06:57 -04:00
Jesse Plamondon-Willard
06c4273c1e
bump minimum game version to released 1.2.26
2017-04-29 23:59:25 -04:00
Jesse Plamondon-Willard
ddd9c0a804
let mods specify .xnb file extension explicitly ( #257 )
2017-04-29 23:38:45 -04:00
Jesse Plamondon-Willard
3cfe14d279
add contentHelper.GetActualAssetKey(..) to support custom map tilesheets ( #257 )
2017-04-29 22:44:57 -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
ff5d1ef4e4
add internal context for more robust draw loop detection ( #257 )
2017-04-29 21:45:37 -04:00
Jesse Plamondon-Willard
014014ca0f
premultiply alpha when loading PNGs to avoid transparency issues ( #257 )
2017-04-29 19:51:47 -04:00
Jesse Plamondon-Willard
9b615fadaa
add initial content API ( #257 )
2017-04-29 14:13:55 -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
9fecaa7989
make mod helpers disposable ( #257 )
2017-04-29 01:30:30 -04:00
Jesse Plamondon-Willard
ee5351c38e
detect broken ObjectInformation.xnb data
2017-04-28 00:58:54 -04:00
Jesse Plamondon-Willard
40f174b22d
simplify exception summary code
2017-04-27 15:46:19 -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
e7606884ad
handle edge case in JSON file read/write code
2017-04-26 14:40:55 -04:00
Jesse Plamondon-Willard
89221b8b2d
add editorconfig, minor style fixes
2017-04-26 14:38:47 -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
e3219bd969
dispose resources on Windows Form exit ( #268 )
2017-04-23 23:10:52 -04:00
Jesse Plamondon-Willard
a9c220c0fe
minor cleanup
2017-04-23 23:00:51 -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
5ff3184c30
add version.IsBetween method ( #263 )
2017-04-23 21:59:54 -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
489cacca5e
minor cleanup
2017-04-23 19:12:48 -04:00
Jesse Plamondon-Willard
bcaf5b21c1
remove Initialize/LoadContent overrides & deprecate related events ( #265 )
2017-04-23 18:57:43 -04:00
Jesse Plamondon-Willard
7f8d738e86
tweak installer to suggest common fix for file permission issues
2017-04-23 00:03:12 -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
780c3335e8
rewrite references to Game1.currentMinigame broken by SDV 1.2
2017-04-05 15:00:14 -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
c023118356
always show friendly game version
2017-03-30 20:21:15 -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
7175e9f8ee
add upper version check ( #258 )
2017-03-30 19:43:10 -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
3530f6f67c
rewrite ItemStackChange references to correct namespace ( #254 )
2017-03-26 20:09:46 -04:00
Jesse Plamondon-Willard
5c253b7bae
add type reference rewriter ( #254 )
2017-03-26 20:08:26 -04:00
Jesse Plamondon-Willard
911957d582
fix type finder not matching generic type parameters ( #254 )
2017-03-26 19:21:24 -04:00
Jesse Plamondon-Willard
8bf3ef118a
add support for rewriting method definitions ( #254 )
2017-03-26 19:17:48 -04:00
Jesse Plamondon-Willard
85ed488090
merge CIL finders & rewriters into one interface ( #254 )
2017-03-26 19:01:35 -04:00
Jesse Plamondon-Willard
23443721cd
allow multiple rewriters to change the same CIL instruction ( #254 )
2017-03-26 19:01:13 -04:00
Jesse Plamondon-Willard
06f5e92b88
minor cleanup
2017-03-25 22:08:48 -04:00
Jesse Plamondon-Willard
7b641d8164
simplify CIL rewriter hierarchy
2017-03-25 15:17:26 -04:00
Jesse Plamondon-Willard
267e2469da
rewrite removed font references for compatibility
2017-03-25 14:06:36 -04:00
Jesse Plamondon-Willard
4d48bdfe7c
drop 'generic' prefix for rewriters since they're all generic now
2017-03-25 13:50:01 -04:00
Jesse Plamondon-Willard
2e58f853d2
replace field-to-property rewriters with a generic rewriter
2017-03-25 13:40:37 -04:00
Jesse Plamondon-Willard
d724f54f32
replace SpriteBatch rewriter with a generic method mapper
2017-03-25 12:55:06 -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
0e67440e63
add inline documentation to StardewModdingAPI.config.json file
2017-03-16 17:07:50 -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
104aa31412
let players override SMAPI incompatible-code detection if needed
2017-03-14 20:48:02 -04:00
Jesse Plamondon-Willard
33df1e8c94
remove unofficial patch for Chest Label System (no longer available)
2017-03-14 19:50:08 -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
06871a0603
avoid C# 7 until MonoDevelop supports it
2017-03-14 16:17:02 -04:00
Jesse Plamondon-Willard
6f37e43a9b
use default C# version instead of specifying version
2017-03-14 15:18:57 -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
02a4c40814
simplify TrainerMod int parsing with C# 7 out variables
2017-03-14 13:44:41 -04:00
Jesse Plamondon-Willard
8bd265fed6
refactor SGame a bit now that it's internal
2017-03-14 13:30:29 -04:00
Jesse Plamondon-Willard
ab89e42201
bump minimum game version
2017-03-12 20:31:46 -04:00
Jesse Plamondon-Willard
7bab161834
disable experimental content event for upcoming 1.9 release ( #173 )
2017-03-12 20:15:36 -04:00
Jesse Plamondon-Willard
183fb9ff6e
remove unused IConfigFile ( #238 )
2017-03-12 20:12:47 -04:00
Jesse Plamondon-Willard
6a87f3566f
update incompatibility record for Better Sprinklers
2017-03-12 19:15:55 -04:00
Jesse Plamondon-Willard
ac19a1a85a
add incompatibility finders for events removed in SMAPI 1.9 ( #247 )
2017-03-12 19:05:31 -04:00
Jesse Plamondon-Willard
a93f1e2042
add several incompatibility finders for SMAPI 1.9 and SDV 1.2 ( #247 )
2017-03-12 18:38:01 -04:00
Jesse Plamondon-Willard
ccc57935de
replace individual instruction finders with generic implementations ( #247 )
2017-03-12 18:25:29 -04:00
Jesse Plamondon-Willard
a6ed67a9f7
simplify & optimise instruction searching a bit ( #247 )
2017-03-12 17:51:59 -04:00
Jesse Plamondon-Willard
a12bcf3b78
reject mods which reference obsolete SGame class ( #247 )
2017-03-12 17:48:53 -04:00
Jesse Plamondon-Willard
003a9586b2
simplify access to game's Program class
...
Stardew Valley 1.2.15 made the class public, so we no longer need reflection to access it.
2017-03-12 16:56:16 -04:00
Jesse Plamondon-Willard
fae362723f
reject mods which reference obsolete Game1.borderFont and Game1.smoothFont fields ( #247 )
2017-03-12 03:23:20 -04:00
Jesse Plamondon-Willard
9fab0bf58f
reject mods which reference obsolete StardewModdingAPI.Extensions class ( #247 )
2017-03-12 01:32:30 -05:00
Jesse Plamondon-Willard
6d2d90b768
add logic to detect incompatible mod instructions & reject mod load ( #247 )
2017-03-12 01:31:15 -05:00
Jesse Plamondon-Willard
b0fab4a076
log rewritten instructions ( #247 )
2017-03-12 01:15:01 -05:00
Jesse Plamondon-Willard
3663f70603
split IInstructionFinder from IInstructionRewriter ( #247 )
2017-03-12 01:01:52 -05: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
d881f56856
fix SMAPI not correctly detecting cached assets if they were translated ( #173 )
2017-03-10 20:49:04 -05:00
Jesse Plamondon-Willard
363f5aeef2
rename content event for consistency, simplify usage ( #173 )
2017-03-10 20:48:54 -05:00
Jesse Plamondon-Willard
e3522edddd
extend base content helper to support null content ( #173 )
2017-03-10 12:00:11 -05:00
Jesse Plamondon-Willard
ff39e9b171
move generic content properties & methods into separate interface ( #173 )
2017-03-10 11:05:17 -05:00
Jesse Plamondon-Willard
edbbb7cff4
update old instructions about resetting config file
2017-03-08 15:51:00 -05:00
Jesse Plamondon-Willard
d47cf433f3
use consistent dict helper method naming ( #173 )
2017-03-08 15:34:38 -05:00
Jesse Plamondon-Willard
28c78e8f25
add dict content helper method to replace values based on a lambda ( #173 )
2017-03-08 15:30:27 -05:00
Jesse Plamondon-Willard
b2e88bccf6
add dictionary/image content helpers for more intuitive usage ( #173 )
2017-03-08 15:25:30 -05:00
Jesse Plamondon-Willard
dfaed472b0
fix game window no longer showing SMAPI version
2017-03-04 14:43:23 -05:00
Jesse Plamondon-Willard
4991a25d46
add content language changed event ( #243 )
2017-03-03 20:57:52 -05:00
Jesse Plamondon-Willard
043508ed42
add texture patching to content events ( #173 )
2017-03-03 20:22:30 -05:00
Jesse Plamondon-Willard
5d32b98029
fix mods running code concurrently with a SDV 1.2+ background task
2017-03-03 17:13:33 -05:00
Jesse Plamondon-Willard
6f07801b04
only use WMI on Windows
2017-03-02 22:03:23 -05:00
Jesse Plamondon-Willard
1485d98b24
update draw code for SDV 1.2.13 ( #231 )
2017-03-01 21:30:24 -05:00
Jesse Plamondon-Willard
b7180c47d4
bump minimum game version
2017-03-01 21:06:59 -05:00
Jesse Plamondon-Willard
ade1a692a3
deprecate `IConfigFile` ( #238 )
2017-03-01 20:20:58 -05:00
Jesse Plamondon-Willard
c23f70d602
update content manager code for SDV 1.2.11 ( #173 )
2017-03-01 20:09:51 -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
5270240c01
update TrainerMod manifest
2017-03-01 19:21:58 -05:00
Jesse Plamondon-Willard
51ac0127e8
fix TrainerMod letting player add invalid items
2017-03-01 19:20:11 -05:00
Jesse Plamondon-Willard
035f94f7cb
remove unneeded 'types' TrainerMod command
2017-03-01 19:19:09 -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
Efreak
aba50aba45
Update <> to [] for changed commands
2017-03-01 17:28:52 -05:00
Efreak
3863c159ae
Return current values for max/current health/stamina/immunity instead of errors when no value given
2017-03-01 17:28:52 -05:00
Efreak
49a801b2b0
toggle timefreeze when no value given
2017-03-01 17:28:52 -05:00
Efreak
d956a7b223
typo
...
fix a typo preventing usage of player_setstamina
2017-02-27 18:49:32 -05:00
Jesse Plamondon-Willard
529e0dbb84
fix handling of localised XNB files ( #173 )
2017-02-25 19:08:21 -05:00
Jesse Plamondon-Willard
614cdc6fdd
improve asset key normalisation ( #173 )
2017-02-25 18:26:43 -05:00
Jesse Plamondon-Willard
ac5bcce02d
fix current path not being normalised in path checks ( #173 )
2017-02-25 17:52:56 -05:00
Jesse Plamondon-Willard
9c53a254d5
add prototype content event + helper to manipulate XNB data ( #173 )
2017-02-25 15:22:45 -05:00
Jesse Plamondon-Willard
2151625898
add release note, fix docblock
2017-02-24 20:55:19 -05:00
Jesse Plamondon-Willard
89cb791cae
fix content manager compatibility with MonoGame ( #173 )
2017-02-24 19:44:19 -05:00
Jesse Plamondon-Willard
615c89bc0b
override content manager ( #173 )
2017-02-24 18:52:53 -05:00
Jesse Plamondon-Willard
60f31b0fc6
clean up program properties
2017-02-24 15:10:02 -05:00
Jesse Plamondon-Willard
ba55ed34ca
fix 'please update your game' error not pausing before exit
2017-02-24 15:06:38 -05:00
Jesse Plamondon-Willard
fd2d7d714d
fix game version checks not using semantic versioning
...
This caused an issue where SMAPI didn't consider SDV 1.2.10 to pass the minimum game version of 1.2.9. This requires some workarounds for SDV 1.11's non-semantic version.
2017-02-24 15:04:28 -05:00
Jesse Plamondon-Willard
6a07a1cbaf
clean up constants, avoid regenerating values unnecessarily
2017-02-24 14:46:24 -05:00
Jesse Plamondon-Willard
be0aa19f30
fix game version always being detected as 1.2.9 because Game1.version is a const now
2017-02-24 00:15:45 -05:00
Jesse Plamondon-Willard
2ed3b25b6b
further group deprecation warnings during mod loading
2017-02-23 23:54:50 -05:00
Jesse Plamondon-Willard
12cb2d272d
minor cleanup
2017-02-23 23:51:52 -05:00
Jesse Plamondon-Willard
9bbd0a4459
make skipped-mod messages more user-friendly
2017-02-23 23:36:48 -05:00
Jesse Plamondon-Willard
6b26eceb57
move incompatible mod logic into mod registry
2017-02-23 23:36:14 -05:00
Jesse Plamondon-Willard
3005270437
shorten mod path in error messages
2017-02-23 23:05:46 -05:00
Jesse Plamondon-Willard
6a18dd6fad
merge config files
2017-02-23 22:58:23 -05:00
Jesse Plamondon-Willard
96c7010c1b
update for Stardew Valley 1.9 ( #231 )
2017-02-22 19:48:25 -05:00
Jesse Plamondon-Willard
b30d93d0ff
add rationale notes to incompatible-mods list ( #231 )
2017-02-22 19:36:10 -05:00
Jesse Plamondon-Willard
703f5f89a8
fix new error when entering an empty command in SMAPI console
2017-02-21 15:54:48 -05:00
Jesse Plamondon-Willard
7521570341
make mod-not-compatible messages shorter
2017-02-19 20:12:15 -05:00
Jesse Plamondon-Willard
5bbebcb46b
mark another incompatible mod ( #231 )
2017-02-19 19:55:00 -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
c72adcd119
use more robust crossplatform path checks in installer
2017-02-19 01:28:00 -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
b2efd34fec
fix on-post-render graphics event being raised after screen is rendered
...
This causes mods to draw on top of the rendered screen instead of within it, which leads to strange bugs like cursor coordinates not lining up with the cursor and transparency issues.
2017-02-19 01:02:07 -05:00
Jesse Plamondon-Willard
e321362378
fix nullable enums not being written to JSON as string
2017-02-17 13:59:31 -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
f8866ac4a8
remove unneeded property for number of mods loaded
2017-02-16 01:10:07 -05:00
Jesse Plamondon-Willard
a0c94752c0
remove unneeded property for game exe path
2017-02-16 01:07:11 -05:00
Jesse Plamondon-Willard
960507879e
remove unneeded property for game exe path
2017-02-16 01:03:50 -05:00
Jesse Plamondon-Willard
176eddbf7b
make SMAPI core non-static, eliminate direct access between core components
2017-02-16 00:54:41 -05:00
Jesse Plamondon-Willard
2c6ab6805d
mark more incompatible mods ( #231 )
2017-02-15 16:27:40 -05:00
Jesse Plamondon-Willard
153c04535f
fix typo
2017-02-14 23:37:26 -05:00
Jesse Plamondon-Willard
f140e844ed
streamline startup a bit
2017-02-14 22:06:06 -05:00
Jesse Plamondon-Willard
e804ed5479
mark one constant internal
2017-02-14 13:11:43 -05:00
Jesse Plamondon-Willard
548cbcecc4
mark two internal classes internal
2017-02-14 13:07:30 -05:00
Jesse Plamondon-Willard
8d1b7cbfb8
mark more incompatible mods ( #231 )
2017-02-14 11:46:41 -05:00
Jesse Plamondon-Willard
32d919a1c3
update draw logic for Stardew Valley 1.2.6 ( #231 )
2017-02-13 17:40:59 -05:00
Jesse Plamondon-Willard
253a4306cf
mark Entoarox Framework incompatible up to 1.6.5 ( #231 )
2017-02-13 16:50:54 -05:00
Jesse Plamondon-Willard
1038f4e704
mark all Command methods deprecated ( #199 )
2017-02-13 02:10:55 -05:00
Jesse Plamondon-Willard
845fbaab12
migrate TrainerMod to new API ( #199 )
2017-02-13 01:19:02 -05:00
Jesse Plamondon-Willard
0441d0843c
add new console command API with backward compatibility ( #199 )
2017-02-13 00:40:33 -05:00
Jesse Plamondon-Willard
d1080a8b2b
move core JSON logic out of mod helper ( #199 )
...
This lets SMAPI parse manifest.json files without a mod helper, so we can pass the mod name into the helper.
2017-02-13 00:13:29 -05:00
Jesse Plamondon-Willard
e5324e170c
handle permissions & delays in installer's file/folder deletion code ( #237 )
2017-02-12 19:39:38 -05:00
Jesse Plamondon-Willard
96c21b1acc
avoid special case in error printing ( #237 )
2017-02-12 19:11:00 -05:00
Jesse Plamondon-Willard
95786e9e44
encapsulate file & folder deletion ( #237 )
2017-02-12 18:43:21 -05:00
Jesse Plamondon-Willard
59ff0a3266
mark another incompatible mod ( #231 )
2017-02-12 18:26:51 -05:00
Jesse Plamondon-Willard
e712336861
mark more incompatible mods ( #231 )
2017-02-11 14:38:12 -05:00
Jesse Plamondon-Willard
36c831f4c9
fix world-ready events being raised before the game finishes loading the save in SDV 1.2 ( #231 )
2017-02-11 14:35:25 -05:00
Jesse Plamondon-Willard
e393a2aad9
add TimeEvents.AfterDayStarted event ( #236 )
2017-02-11 12:38:32 -05:00
Jesse Plamondon-Willard
1f332c5f4d
remove esoteric & undocumented debug message queue & DrawDebug event
2017-02-11 12:11:45 -05:00
Jesse Plamondon-Willard
693f16f99e
don't write direct console output to log file ( #233 )
...
Per discussion with mod developers.
2017-02-11 02:08:21 -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
3e91af6b06
mark several mods incompatible with Stardew Valley 1.2+ ( #231 )
2017-02-10 22:52:16 -05:00
Jesse Plamondon-Willard
c357013156
tweak debug build config, update release notes
2017-02-10 19:22:22 -05:00
James Stine
8f678d13c1
Mac and Linux debug run works! 🙃
2017-02-10 19:17:05 -05:00
Jesse Plamondon-Willard
a6977878d5
remove leftover references to Mono.Cecil.Rocks ( #231 )
2017-02-10 02:55:27 -05:00
Jesse Plamondon-Willard
56d28ef0d4
make some constants internal ( #231 )
2017-02-09 23:27:08 -05:00
Jesse Plamondon-Willard
25a3d9773c
add field rewriter for the `Game1.gameMode` change in SDV 1.2 ( #231 )
2017-02-09 23:24:54 -05:00
Jesse Plamondon-Willard
2b336faa1b
add field rewriter for the `Game1.player` change in SDV 1.2 ( #231 )
2017-02-09 23:03:36 -05:00
Jesse Plamondon-Willard
388ef0a012
reorganise rewriters ( #231 )
2017-02-09 22:56:42 -05:00
Jesse Plamondon-Willard
a13003de8b
remove Mono.Cecil.Rocks ( #231 )
...
It's not needed since we're not injecting new instructions, and causes the field rewriters to fail unexpectedly.
2017-02-09 22:38:10 -05:00
Jesse Plamondon-Willard
3668b0902d
fix field rewriter not added to config ( #231 )
2017-02-09 20:34:34 -05:00
Jesse Plamondon-Willard
5f9c03a8a9
add field rewriter for the `Game1.activeClickableMenu` change in SDV 1.2 ( #231 )
2017-02-09 14:28:44 -05:00
Jesse Plamondon-Willard
74a56a7b3b
further generalise CIL rewriters for reuse ( #231 )
2017-02-09 14:02:43 -05:00
Jesse Plamondon-Willard
40a9014742
generalise CIL rewriters for reuse ( #231 )
2017-02-09 13:45:34 -05:00
Jesse Plamondon-Willard
036595cc71
remove old log file to avoid confusion ( #231 )
2017-02-08 00:53:53 -05:00
Jesse Plamondon-Willard
e440d9042e
bump minimum game version to 1.2 ( #231 )
2017-02-08 00:26:32 -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
2b7abc3af5
clean up more obsolete code ( #231 )
2017-02-07 23:34:52 -05:00
Jesse Plamondon-Willard
84bc32c3f1
reimplement graphics events ( #231 )
2017-02-07 23:04:16 -05:00
Jesse Plamondon-Willard
8b0e54a777
ignore code analysis warnings in game code ( #231 )
2017-02-07 22:10:00 -05:00
Jesse Plamondon-Willard
98cf6a2766
update SGame.Draw with base code ( #231 )
2017-02-07 21:54:29 -05:00
Jesse Plamondon-Willard
8efa5f32c1
add reflectionHelper.GetPrivateProperty<T> ( #231 )
2017-02-07 21:07:57 -05:00
Jesse Plamondon-Willard
cec7469786
disambiguate references to Farmer ( #231 )
2017-02-07 20:51:22 -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
99d0450b2c
fix install error when the mods folder doesn't exist ( #229 )
2017-02-04 16:50:09 -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
0b8396cc53
rm cruft
2017-02-03 22:26:48 -05:00
Jesse Plamondon-Willard
8d3e6048b8
simplify installer text
2017-02-03 22:05:06 -05:00
Jesse Plamondon-Willard
4504ddcd98
remove mod .cache folders during (un)install process ( #229 )
2017-02-03 22:04:43 -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
9689bb9484
expand & prettify installer readme
2017-02-03 21:21:35 -05:00
Jesse Plamondon-Willard
3eb8110c45
move build task which prepares install package into a .targets file
2017-02-03 20:18:00 -05:00
Jesse Plamondon-Willard
5e68400c43
only read assembly from memory if it was rewritten ( #229 )
...
This fixes an issue where you can't debug into mod code because SMAPI isn't loading the actual DLL.
2017-02-03 20:12:42 -05:00
Jesse Plamondon-Willard
4fff06cce1
fix documentation issues
2017-02-03 01:40:47 -05:00
Jesse Plamondon-Willard
6ee14ecfbf
rewrite mod assembly loading ( #229 )
...
This greatly simplifies mod loading, eliminates the .cache folders by loading assemblies in memory, ensures DLLs are loaded in leaf-to-root order, and reduces log verbosity. These changes should address a range of issues, notably #221 and #226 .
2017-02-02 23:22:54 -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
Bpendragon (David Camp)
8c6dca95da
Corrected CurrentLocationChanged's "NewLocation" and "PriorLocation" descriptors, they displayed in Intellisense as the opposite of what they were.
2017-02-02 16:08:06 -05:00
Jesse Plamondon-Willard
8db280d874
expose SemanticVersion constructor that parses a string
2017-01-25 22:30:07 -05:00
Jesse Plamondon-Willard
08e9cd1263
Add GOG Mac path
...
Thanks to LeonBlade for the path.
2017-01-22 22:31:00 -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
6c07b5f395
tweak error text when starting game throws an exception
2017-01-19 01:18:53 -05:00
Jesse Plamondon-Willard
698e012cd2
simplify overridden game version
2017-01-19 01:18:37 -05:00
Jesse Plamondon-Willard
f681f618c1
add mod folder path to console
2017-01-19 01:10:13 -05:00
Jesse Plamondon-Willard
f4846173a9
fix before/after save events not triggering on days when the player shipped an item ( #218 )
2017-01-19 00:54:59 -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
1f3d3c8c93
bump version, update release steps in readme
2017-01-16 16:04:56 -05:00
Jesse Plamondon-Willard
64a72c45e3
deprecate events replaced by save events ( #215 )
2017-01-15 19:21:26 -05:00
Jesse Plamondon-Willard
0c73b02d58
add save events ( #215 )
2017-01-15 18:23:09 -05:00
Jesse Plamondon-Willard
5c8e7f5d93
mark NPC Locations Map 1.42 incompatible due to update-check bug
2017-01-15 18:20:50 -05:00
Jesse Plamondon-Willard
525172e831
remove redundant TrainerMod build config ( #214 )
2017-01-14 22:49:50 -05:00
Patrick Müssig
6e04cbca3a
TrainerMod uses crossplatform.targets
2017-01-14 22:49:50 -05:00
Jesse Plamondon-Willard
f957af71d1
fix console color support check ( #206 )
2017-01-14 15:53:28 -05:00
Jesse Plamondon-Willard
82dd5b3068
fix TrainerMod project not being built by default
2017-01-14 15:14:23 -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
mytigio
482dd42d3d
Add a catch for DirectoryNotFoundException in ModHelper.ReadJsonFile method.
2017-01-14 12:13:27 -05:00
Jesse Plamondon-Willard
8e8cda87fb
mark NPC Map Locations 1.43 incompatible due to update error
2017-01-14 01:11:57 -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
481a43d807
update game install path detection to match mod build config package
2017-01-11 13:56:12 -05:00
Jesse Plamondon-Willard
43a4194a5c
remove unofficial patch links for officially-updated CJB mods
2017-01-06 14:59:55 -05:00
Jesse Plamondon-Willard
a432477ea3
fallback to launching SMAPI without a terminal on Linux if the terminal is unavailable ( #198 )
2016-12-30 12:04:27 -05:00
Jesse Plamondon-Willard
a7d3930d88
encapsulate repeated monitor construction
2016-12-30 11:47:23 -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
1fdc0c0b35
catch errors when reading metadata file just in case ( #192 )
2016-12-23 11:20:06 -05:00
Jesse Plamondon-Willard
c7a08d08db
add support for unofficial updates which suffix the official version number with a pre-release label ( #192 )
2016-12-22 22:34:49 -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
fdae87d340
skip mods known to be incompatible and display error with update links ( #192 )
2016-12-22 12:47:12 -05:00
Jesse Plamondon-Willard
3fd16a65f1
move models into namespace ( #192 )
2016-12-22 12:45:42 -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
ca3cf89000
autogenerate SMAPI config ( #202 )
2016-12-22 11:20:01 -05:00
Jesse Plamondon-Willard
f7eda265d9
track loaded mod instances & manifests via mod registry ( #201 )
2016-12-22 10:48:05 -05:00
Jesse Plamondon-Willard
fa71bdd6c7
make SemanticVersion constructor from version string public
2016-12-21 13:43:04 -05:00
Jesse Plamondon-Willard
444364f418
fix version pre-release tags not consistently normalised ( #195 )
2016-12-21 13:33:59 -05:00
Jesse Plamondon-Willard
c257d70575
rename SMAPI config file for consistency ( #192 , #202 )
2016-12-21 13:27:56 -05:00
Jesse Plamondon-Willard
ea65b2b7df
correct semantic version pre-release label precedence ( #195 )
2016-12-21 11:45:52 -05:00
Jesse Plamondon-Willard
45ee74219e
fix issue where changing the active menu inside a menu change handler didn't trigger a new event ( #194 )
2016-12-18 17:42:51 -05:00
Jesse Plamondon-Willard
a8cc363699
fix legacy version wrapper not implementing ToString method ( #197 )
2016-12-18 16:58:47 -05:00
Jesse Plamondon-Willard
23988a3c33
migrate manifest & version to interfaces with backwards compatibility ( #197 )
2016-12-18 15:37:23 -05:00
Jesse Plamondon-Willard
487ae1dce9
add version.IsOlderThan(other) method for convenience
2016-12-18 13:52:09 -05:00
Jesse Plamondon-Willard
d9e87399bf
format code ( #193 )
2016-12-18 12:27:44 -05:00
Tyler Staples
cd93d59eaf
Added a struct to wrap cache entries for the sake of tracking invalid lookups. This fixes the issue where a null reference exception would be thrown when trying to look up non-existant or non-private members.
...
Added a null check to GetPrivateValue and it's overloads to fix the issue where it would throw a null reference exception when required was false and the field was null.
2016-12-18 11:42:04 -05:00
Jesse Plamondon-Willard
c24294c3dd
fix System.Runtime.Caching not available on Mac
2016-12-12 21:43:35 -05:00
Jesse Plamondon-Willard
a3376e2a62
update for 1.4 release
2016-12-12 11:20:31 -05:00
Jesse Plamondon-Willard
df7d41fc37
move interfaces into root ( #185 )
2016-12-11 21:03:57 -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
7511db4c83
open terminal on most Linux distros ( #183 )
2016-12-10 00:11:50 -05:00
Jesse Plamondon-Willard
1fbe6be43d
remove redundant output paths
2016-12-09 18:43:15 -05:00
Jesse Plamondon-Willard
80b6e20841
cache reflection lookups with sliding expiry ( #185 )
2016-12-09 14:15:14 -05:00
Jesse Plamondon-Willard
cd0e5961d4
add reflection API for mods ( #185 )
2016-12-09 12:25:53 -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
22a2e2e853
add registry paths to build configuration ( #189 )
2016-12-07 23:55:32 -05:00
Jesse Plamondon-Willard
7e76d90c55
refactor registry checks for crossplatform compatibility ( #189 )
2016-12-07 23:52:56 -05:00
Jesse Plamondon-Willard
7af722ec1f
rename .targets file to better reflect contents, add to installer project
2016-12-07 23:38:22 -05:00
Patrick Müssig
47d5aef404
SMAPI installer is able to read SDV install path from registry key
2016-12-07 23:27:53 -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
b751e7dd2e
skip mod folder with a warning if it has no manifest ( #186 )
2016-12-06 17:29:38 -05:00
Jesse Plamondon-Willard
748e45aefb
add dependencies.targets to project
2016-12-06 17:13:57 -05:00
Jesse Plamondon-Willard
8304227cea
remove obsolete mods/.cache directory on install ( #187 , #188 )
2016-12-06 00:41:12 -05:00
Jesse Plamondon-Willard
f625fd51a0
always clean up files during install ( #188 )
2016-12-06 00:37:12 -05:00
Jesse Plamondon-Willard
3159436145
reimplement assembly caching ( #187 )
...
This commit ensures DLLs are copied to the cache directory only if they changed, to avoid breaking debugging support unless necessary. To support this change, the assembly hash file has been replaced with a more detailed JSON structure, which is used to determine whether the cache is up-to-date and whether to use the cached or original assembly. Some mods contain multiple DLLs, which must be kept together to prevent assembly resolution issues; to simplify that (and avoid orphaned cache entries), each mod now has its own separate cache.
2016-12-05 23:51:09 -05:00
Jesse Plamondon-Willard
31301988e9
deploy trainer mod when building SMAPI in debug mode
2016-12-05 02:14:25 -05:00
Jesse Plamondon-Willard
48adbe2492
update for 1.3 release
2016-12-04 09:40:34 -05:00
Jesse Plamondon-Willard
feb2d89ff6
fix comment headers
2016-12-04 00:57:32 -05:00
Jesse Plamondon-Willard
ba32511fc2
update repository
2016-12-04 00:56:08 -05:00
Jesse Plamondon-Willard
788a90674f
reduce logging levels ( #166 )
2016-12-02 17:46:07 -05:00
Jesse Plamondon-Willard
ad773a947a
fix assembly resolution when mods try to load types from other mods ( #166 )
2016-12-02 17:15:52 -05:00
Jesse Plamondon-Willard
67feb7e9a9
remove Costura assembly weaving ( #166 )
...
This didn't work on Linux or Mac, caused assembly resolution problems when rewritten mods referenced Json.NET, complicated debugging, and wasn't really needed since players use the installer to cleanly add or remove SMAPI.
2016-12-01 01:48:39 -05:00
Jesse Plamondon-Willard
33f46d26f4
invalidate assembly rewrite cache on new SMAPI version ( #166 )
2016-11-30 22:51:50 -05:00
Jesse Plamondon-Willard
44dfb6fac5
fix assembly resolution failing for rewritten mods that reference a different version of Json.NET ( #166 )
2016-11-30 22:44:40 -05:00
Jesse Plamondon-Willard
0fcf29d428
fix local deployment on Linux/Mac
2016-11-30 14:04:06 -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
7e17005c52
update readme & installer for 1.3 ( #166 )
2016-11-29 19:41:58 -05:00
Jesse Plamondon-Willard
df8f44c704
Merge branch 'feature/rewrite-mod-assemblies' into develop
2016-11-29 19:27:10 -05:00
Jesse Plamondon-Willard
d5932a0d77
enable local SMAPI deployment on Linux/Mac
2016-11-29 19:25:51 -05:00
Jesse Plamondon-Willard
528a934786
exclude rewriters project from IL weaving ( #166 )
2016-11-29 19:22:59 -05:00
Jesse Plamondon-Willard
9ff9d02db5
rewrite SpriteBatch.Begin calls for compatibility ( #166 )
2016-11-29 19:21:11 -05:00
Jesse Plamondon-Willard
cc4d3c1cf8
add framework for rewriting incompatible methods ( #166 )
2016-11-29 14:03:14 -05:00
Jesse Plamondon-Willard
5470e95bf5
add separate project to support upcoming IL rewriting ( #166 )
2016-11-29 14:02:59 -05:00
Jesse Plamondon-Willard
b425e32055
move dependencies into targets file for reuse ( #166 )
2016-11-29 12:56:03 -05:00
Jesse Plamondon-Willard
f3675aa466
move assembly map into constants ( #166 )
2016-11-28 20:51:57 -05:00
Jesse Plamondon-Willard
f7b8879011
supplement assembly resolution for Mono ( #166 )
2016-11-27 15:56:47 -05:00
Jesse Plamondon-Willard
0d94c628bb
add trace logs when rewriting an assembly ( #166 )
2016-11-27 12:27:44 -05:00
Jesse Plamondon-Willard
8917fb6697
only rewrite assemblies if needed ( #166 )
2016-11-27 12:08:00 -05:00
Jesse Plamondon-Willard
2e40ad7ad3
copy pdb/mdb files to assembly cache ( #166 )
2016-11-26 16:26:36 -05:00
Jesse Plamondon-Willard
2154b6de95
use simpler, non-broken approach for rewriting mod type references ( #166 )
2016-11-26 16:14:10 -05:00
Jesse Plamondon-Willard
b06aed66c4
rewrite type references in mod assemblies to match target platform ( #166 )
2016-11-26 16:12:21 -05:00
Jesse Plamondon-Willard
4df1999855
move cache struct into its own file ( #166 )
2016-11-26 16:10:41 -05:00
Jesse Plamondon-Willard
1de8dc1b0f
pass target platform to assembly rewriter for later use ( #166 )
2016-11-26 16:07:21 -05:00
Jesse Plamondon-Willard
7bea3c2ba0
add log entry when preprocessing an assembly ( #166 )
2016-11-26 16:00:02 -05:00
Jesse Plamondon-Willard
e9fee3f6fe
preprocess all mod assemblies for compatibility with multi-assembly mods ( #166 )
2016-11-26 13:14:26 -05:00
Jesse Plamondon-Willard
08d5ee293f
simplify manifest.json path check
2016-11-26 13:14:26 -05:00
Jesse Plamondon-Willard
517a9d82fc
preprocess mods through Mono.Cecil to allow rewriting later ( #166 )
2016-11-25 23:41:19 -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
614de95a8e
update for 1.2 release
2016-11-24 12:19:57 -05:00
Jesse Plamondon-Willard
0ed5f3e98e
fix compatibility with mods which use the previous signature of Command.CallCommand
2016-11-23 20:44:49 -05:00
Jesse Plamondon-Willard
26266a946d
revert Config.GenerateDefaultConfig<T> back to virtual method
...
SMAPI 1.0 changed this virtual method to abstract, since it's required for the configuration to work correctly. However this breaks some incorrectly-written older mods which didn't implement the method. Since this class is deprecated anyway, revert to the original behaviour for compatibility.
2016-11-23 20:31:46 -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
9bf1ad71b4
intercept event handler exceptions ( #179 )
2016-11-21 22:09:02 -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
7cb77dd2be
update for 1.1.1 release
2016-11-19 17:04:21 -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
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
14eee1e482
add comment
2016-11-19 00:03:34 -05:00
Jesse Plamondon-Willard
f8f7b9c8d9
update for 1.1 release
2016-11-17 22:24:46 -05:00
Jesse Plamondon-Willard
59c35862ca
add global assembly info
2016-11-17 22:23:45 -05:00
Jesse Plamondon-Willard
22fe2d8716
minor tweaks
2016-11-16 22:41:27 -05:00
Jesse Plamondon-Willard
fa5c6ff066
cleanup
2016-11-16 18:45:29 -05:00
Jesse Plamondon-Willard
eb39f3d5ea
use interface for IModHelper
2016-11-16 17:52:49 -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
8dcd62f175
fix console closing immediately when some exceptions occur ( #171 ), simplify initial logging
2016-11-16 16:49:40 -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
1ac930979a
mark deprecated manifest fields
2016-11-16 15:14:45 -05:00
Jesse Plamondon-Willard
8c5404f99c
fix error when json file doesn't exist ( #170 )
2016-11-14 23:32:38 -05:00
Jesse Plamondon-Willard
33e6a6db23
tweak deprecation messages
2016-11-14 23:10:12 -05:00
Jesse Plamondon-Willard
54c0f26d5d
migrate game loop, events, and commands to new logging framework ( #168 )
2016-11-14 22:25:36 -05:00
Jesse Plamondon-Willard
f54b464792
minor cleanup
2016-11-14 22:23:51 -05:00
Jesse Plamondon-Willard
aafdcaa2c5
simplify null guards when rasing events
2016-11-14 22:09:44 -05:00
Jesse Plamondon-Willard
bc8773bbdd
migrate TrainerMod to new logging framework ( #168 )
2016-11-14 21:48:40 -05:00
Jesse Plamondon-Willard
31da528b46
make TrainerMod non-static
2016-11-14 21:39:09 -05:00
Jesse Plamondon-Willard
5a80bd92eb
migrate main logging to new framework ( #168 )
2016-11-14 20:28:44 -05:00
Jesse Plamondon-Willard
9a36254e90
hide TrainerMod internals
2016-11-14 20:11:05 -05:00
Jesse Plamondon-Willard
6d1afe7d5c
remove obsolete TrainerMod command
2016-11-14 20:10:39 -05:00
Jesse Plamondon-Willard
bff02ffd9b
format & document TrainerMod code
2016-11-14 20:09:44 -05:00
Jesse Plamondon-Willard
f9823c2ed0
migrate deprecation manager to new logging ( #168 )
2016-11-14 19:31:22 -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
05cb096fc0
initialise new logging framework on startup ( #168 )
2016-11-14 19:20:11 -05:00
Jesse Plamondon-Willard
e2aa78fda4
add new logging framework ( #168 )
2016-11-14 17:42:27 -05:00
Jesse Plamondon-Willard
be9d624112
split mod registry out of deprecation manager for reuse ( #168 )
2016-11-13 12:17:05 -05:00
Jesse Plamondon-Willard
4b67242d15
update git repo for new-version check
2016-11-11 11:50:19 -05:00
Jesse Plamondon-Willard
e665010f70
update for 1.0 release
2016-11-11 11:32:07 -05:00
Jesse Plamondon-Willard
58680ba39c
normalise newlines in app.config
2016-11-11 11:27:02 -05:00
Jesse Plamondon-Willard
a49ca07d31
fix deprecation warning for manifest.PerSaveConfigs
2016-11-10 15:56:58 -05:00
Jesse Plamondon-Willard
179df57ce8
rewrite command parsing, fix null reference exceptions in some cases
2016-11-10 10:11:02 -05:00
Jesse Plamondon-Willard
f9983a4bca
fix Windows-only build configuration not properly marked as such
2016-11-09 12:21:44 -05:00
Jesse Plamondon-Willard
01ed95267e
bump version for 1.0-beta2
2016-11-09 12:12:38 -05:00
Jesse Plamondon-Willard
af6746ef75
mark restored interfaces deprecated
2016-11-09 11:54:40 -05:00
Jesse Plamondon-Willard
0dcbf90ec2
restore obsolete interfaces for backwards compatibility with EntoFramework
2016-11-09 11:43:41 -05:00
Jesse Plamondon-Willard
69ffdb91b2
simplify debugging
2016-11-09 11:11:40 -05:00
Jesse Plamondon-Willard
7fa591cf22
remove unused files
2016-11-09 10:50:19 -05:00
Jesse Plamondon-Willard
5f6bc87829
update TrainerMod for 1.0
2016-11-08 13:56:27 -05:00
Jesse Plamondon-Willard
dc28000d32
correct version in deprecation warning
2016-11-08 13:53:29 -05:00
Jesse Plamondon-Willard
7eee2158a0
fix an initialisation error when a Windows user has both "StardewValley.exe" and "Stardew Valley.exe" in their game directory
2016-11-08 01:09:51 -05:00
Jesse Plamondon-Willard
71e2ad82a9
update for 1.0 beta
2016-11-07 16:26:31 -05:00
Jesse Plamondon-Willard
ba4237f7a3
group installer's path variables
2016-11-07 16:16:53 -05:00
Jesse Plamondon-Willard
c69e45bfba
detect appdata mods during install and move them (if possible)
2016-11-07 16:06:29 -05:00
Jesse Plamondon-Willard
ffbc05d3a7
fix minor crossplatform issues
2016-11-06 17:23:34 -05:00
Jesse Plamondon-Willard
d0025fc700
increase deprecation severity of method disabled in 0.39.3 ( #165 )
2016-11-06 16:16:44 -05:00
Jesse Plamondon-Willard
956e477edb
add developer mode which shows all deprecation warnings, update release process ( #165 )
2016-11-06 11:15:46 -05:00
Jesse Plamondon-Willard
e4d6cc1381
simplify log a bit more
2016-11-06 10:36:44 -05:00
Jesse Plamondon-Willard
f9aa76e41f
use more nuanced deprecation warnings ( #165 )
2016-11-06 10:30:25 -05:00
Jesse Plamondon-Willard
07d0dc38ca
fix installer on Windows not ignoring quote characters in file path
2016-11-05 19:52:39 -04:00
Jesse Plamondon-Willard
6d4e014998
add quick summary to installer readme
2016-11-05 18:15:20 -04:00
Jesse Plamondon-Willard
e2af64c7a9
mark extensions deprecated ( #165 )
2016-11-05 16:51:06 -04:00
Jesse Plamondon-Willard
e78c136f52
document extensions
2016-11-05 16:34:45 -04:00
Jesse Plamondon-Willard
4b52245ad1
restore removed extensions for backwards compatibility
2016-11-05 16:22:11 -04:00
Jesse Plamondon-Willard
8d8b640779
add deprecation warnings ( #165 )
2016-11-05 16:20:31 -04:00
Jesse Plamondon-Willard
0749fdcbe5
use new helper to read manifest ( #159 )
2016-11-05 16:14:38 -04:00
Jesse Plamondon-Willard
a929d70433
simplify exit logging
2016-11-05 01:47:32 -04:00
Jesse Plamondon-Willard
e092417b9e
add new config system, mark previous methods obsolete ( #159 )
2016-11-05 01:46:52 -04:00
Jesse Plamondon-Willard
067d5f6b69
add minimum game version check ( #163 )
2016-11-04 23:31:06 -04:00
Jesse Plamondon-Willard
4716b4cd21
make logging less verbose and more informative
2016-11-04 23:06:19 -04:00
Jesse Plamondon-Willard
1fa4551b1d
minor cleanup
2016-11-04 20:24:21 -04:00
Jesse Plamondon-Willard
83f129aa16
remove old obsolete log methods
2016-11-04 20:18:21 -04:00
Jesse Plamondon-Willard
b7b69707eb
document inventory changed event objects
2016-11-04 20:13:58 -04:00
Jesse Plamondon-Willard
ea0550028c
simplify log singleton management
2016-11-04 20:02:39 -04:00
Jesse Plamondon-Willard
4c7329d75e
make log writer internal (not meant for use outside SMAPI)
2016-11-04 20:01:45 -04:00
Jesse Plamondon-Willard
5fd708e43f
format & document logging code
2016-11-04 19:52:12 -04:00
Jesse Plamondon-Willard
cd27873afb
reduce command log verbosity
2016-11-04 19:30:27 -04:00
Jesse Plamondon-Willard
c8db03b209
format & document command class
2016-11-04 19:29:17 -04:00
Jesse Plamondon-Willard
8386f8a115
remove legacy workaround
2016-11-04 19:14:25 -04:00
Jesse Plamondon-Willard
efcb7fe705
remove unneeded program fields
2016-11-04 19:14:01 -04:00
Jesse Plamondon-Willard
a48f5a0d40
format & document program class
2016-11-04 18:57:50 -04:00
Jesse Plamondon-Willard
78e8a6a4a0
remove extensions from public interface, refactor & document
2016-11-04 18:24:10 -04:00
Jesse Plamondon-Willard
ab3fffde0a
remove unused extensions
2016-11-04 16:24:20 -04:00
Jesse Plamondon-Willard
7fe6dafbaa
move 'mods loaded' out of constants
2016-11-04 16:14:14 -04:00
Jesse Plamondon-Willard
532235ef10
format & document constants
2016-11-04 16:12:09 -04:00
Jesse Plamondon-Willard
da4269124c
remove disabled & broken draw logic
2016-11-04 15:49:25 -04:00
Jesse Plamondon-Willard
9a3b4260f7
refactor to avoid an out parameter
2016-11-04 15:42:21 -04:00
Jesse Plamondon-Willard
bec7025aa4
clean up duplicate checks
2016-11-04 15:32:15 -04:00
Jesse Plamondon-Willard
5a3951e77c
simplify menu event logic (should have same effect)
2016-11-04 15:29:55 -04:00
Jesse Plamondon-Willard
810479fc8b
update ReSharper settings
2016-11-04 14:48:31 -04:00
Jesse Plamondon-Willard
01a94c29d0
remove unused SGame fields & methods
2016-11-04 14:47:54 -04:00
Jesse Plamondon-Willard
85d596b6c1
format & document code in SGame (no logic changes)
2016-11-04 14:42:34 -04:00
Jesse Plamondon-Willard
69bb8178d2
normalise inconsistent line endings
2016-11-04 00:10:10 -04:00
Jesse Plamondon-Willard
0b5a05ba91
add crossplatform installer ( #155 )
2016-11-03 21:03:03 -04:00
Jesse Plamondon-Willard
59c900a9ac
add update check ( #154 )
2016-11-03 00:43:41 -04:00
Jesse Plamondon-Willard
5125a168c5
use semantic versioning ( #154 )
2016-11-03 00:31:51 -04:00
Jesse Plamondon-Willard
a793c84851
add operating system to initial console output to simplify troubleshooting
2016-11-03 00:25:40 -04:00
Jesse Plamondon-Willard
ab3508af6f
bump SMAPI version, clean up assembly info
2016-11-02 23:45:28 -04:00
Jesse Plamondon-Willard
bb0e94e74f
remove disabled code
2016-11-02 22:01:01 -04:00
Jesse Plamondon-Willard
f1910b1328
remove debug mode toggle ( #120 )
2016-11-02 21:53:59 -04:00
Jesse Plamondon-Willard
7af9a92842
fix mod versions not being displayed correctly ( #160 )
2016-11-01 18:08:05 -04:00
Jesse Plamondon-Willard
310f705f19
format & document version class
2016-11-01 18:07:09 -04:00
Jesse Plamondon-Willard
493696690a
fix spelling of 'Authour' manifest field with backwards compatibility ( #158 )
2016-11-01 02:00:29 -04:00
Jesse Plamondon-Willard
9ab5831eac
format & document mod class
2016-11-01 01:31:41 -04:00
Jesse Plamondon-Willard
605c99ba70
format & document config code
2016-10-31 20:46:23 -04:00
Jesse Plamondon-Willard
9d461bb05b
make config class abstract to force implementation of required method
2016-10-31 20:44:31 -04:00
Jesse Plamondon-Willard
4cda3ec5bf
remove undocumented and unused APIs
2016-10-31 19:28:59 -04:00
Jesse Plamondon-Willard
b6568f8d9d
remove unused deserialisation logic per discussion
2016-10-31 17:15:27 -04:00
Jesse Plamondon-Willard
7d0cd22f1e
add zoom-adjusted mouse position to mouse-changed event arguments ( #129 )
2016-10-31 17:01:16 -04:00
Jesse Plamondon-Willard
652776ed02
( #129 ) fix several events not correctly propagating state
2016-10-31 16:19:45 -04:00
Jesse Plamondon-Willard
7fe8511921
document & format event code
2016-10-31 14:48:23 -04:00
Jesse Plamondon-Willard
d9adaf7386
split combined class files per .NET conventions
2016-10-31 12:05:02 -04:00
Jesse Plamondon-Willard
1c15738233
remove disabled and unfinished code
2016-10-31 11:50:31 -04:00
Jesse Plamondon-Willard
0340a3daab
fix code being optimised in debug mode
2016-10-31 11:34:41 -04:00
Jesse Plamondon-Willard
0d5f6d2364
update file reference
2016-10-31 11:34:11 -04:00
Jesse Plamondon-Willard
d0f912a3e9
remove support for mods in AppData directory ( #156 )
2016-10-30 22:31:21 -04:00
Jesse Plamondon-Willard
39e2e46a21
rewrite readme (simpler, link to canimod docs, document how to compile from source)
2016-10-30 22:21:19 -04:00
Jesse Plamondon-Willard
a68f41c396
fix crossthread access violation when debugger is attached ( #126 )
2016-10-27 17:10:43 -04:00
Jesse Plamondon-Willard
6cc8c6d7c1
run game on main thread for Mac compatibility ( #126 )
2016-10-27 15:17:17 -04:00
Jesse Plamondon-Willard
58c026285a
add System.Numerics to mod package for Mac ( #126 )
2016-10-27 14:32:28 -04:00
Jesse Plamondon-Willard
f44eb6d66f
only hook into WinForms on Windows for Mac compatibility ( #126 )
2016-10-27 13:40:42 -04:00
Jesse Plamondon-Willard
2ea2068486
include pdb for release build
2016-10-27 12:23:00 -04:00
Jesse Plamondon-Willard
80b2b3ddda
rename Unix launcher for consistency with Windows install process ( #126 )
2016-10-27 02:03:29 -04:00
Jesse Plamondon-Willard
8eb0a94472
add launcher for Linux and Mac ( #126 )
2016-10-27 01:19:21 -04:00
Jesse Plamondon-Willard
e643a38b78
only use assembly merging on Windows ( #126 )
...
Costura doesn't work on Linux and Mac, but we can just add a separate DLL for Json.NET on those platforms.
2016-10-27 00:40:48 -04:00
Jesse Plamondon-Willard
4e17de2f2c
use simpler crossplatform window management ( #126 )
2016-10-26 23:43:32 -04:00
Jesse Plamondon-Willard
9436920d91
remove broken and unused test code ( #126 )
2016-10-26 21:15:34 -04:00
Jesse Plamondon-Willard
57da69c87c
use platform-agnostic paths ( #126 )
2016-10-26 21:05:11 -04:00
Jesse Plamondon-Willard
2be6ad1574
choose correct references for platform automatically ( #126 )
2016-10-26 20:35:48 -04:00
Jesse Plamondon-Willard
4042ca4b16
detect game path automatically ( #126 )
2016-10-25 23:38:25 -04:00
ClxS
12e4822cbf
Updated version number
2016-10-07 18:29:26 +01:00
ClxS
8017c23331
Disabled overridden update call
2016-10-07 18:22:31 +01:00
ClxS
ed421572c3
Merged advize's changes
2016-10-04 18:12:29 +01:00
ClxS
269a325a7a
Altered version number
2016-10-04 18:12:02 +01:00
AdvizeGH
6e6f632581
Reverted to previous SGame class with minor changes for 1.1, updated version number.
2016-10-04 04:14:29 -05:00
ClxS
5087c3d755
Updated build version id to 1.1
2016-09-30 19:19:18 +01:00
ClxS
2c0eaf26c0
Reverted to .net 4.5 - There was already quite a lot of trouble with people not having 4.5 installed before, I want to avoid that.
2016-09-30 19:16:16 +01:00
ClxS
dd0aba6066
Disabled the overridden update call only - fixes mouse redraw issue.
2016-09-30 19:04:04 +01:00
ClxS
a6752d30e3
Preliminiary update to add 1.1 support - waiting on testing to confirm it's final
2016-09-30 18:22:48 +01:00
Gormogon
27dece2cf4
Attempt to migrate to new directory structure.
2016-05-29 18:23:01 -04:00