summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI/Framework
AgeCommit message (Collapse)Author
2017-02-11fix world-ready events being raised before the game finishes loading the ↵Jesse Plamondon-Willard
save in SDV 1.2 (#231)
2017-02-11add TimeEvents.AfterDayStarted event (#236)Jesse Plamondon-Willard
2017-02-11remove esoteric & undocumented debug message queue & DrawDebug eventJesse Plamondon-Willard
2017-02-11don't write direct console output to log file (#233)Jesse Plamondon-Willard
Per discussion with mod developers.
2017-02-11redirect the game's debug messages into trace logs (#233)Jesse Plamondon-Willard
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-09remove Mono.Cecil.Rocks (#231)Jesse Plamondon-Willard
It's not needed since we're not injecting new instructions, and causes the field rewriters to fail unexpectedly.
2017-02-09generalise CIL rewriters for reuse (#231)Jesse Plamondon-Willard
2017-02-08always use \r\n line endings in log file for crossplatform compatibility (#230)Jesse Plamondon-Willard
2017-02-08add SaveEvents.AfterReturnToTitle event (#231)Jesse Plamondon-Willard
2017-02-07clean up more obsolete code (#231)Jesse Plamondon-Willard
2017-02-07reimplement graphics events (#231)Jesse Plamondon-Willard
2017-02-07ignore code analysis warnings in game code (#231)Jesse Plamondon-Willard
2017-02-07update SGame.Draw with base code (#231)Jesse Plamondon-Willard
2017-02-07add reflectionHelper.GetPrivateProperty<T> (#231)Jesse Plamondon-Willard
2017-02-07disambiguate references to Farmer (#231)Jesse Plamondon-Willard
2017-02-07remove oldest deprecated code (#231)Jesse Plamondon-Willard
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-03only read assembly from memory if it was rewritten (#229)Jesse Plamondon-Willard
This fixes an issue where you can't debug into mod code because SMAPI isn't loading the actual DLL.
2017-02-03fix documentation issuesJesse Plamondon-Willard
2017-02-02rewrite mod assembly loading (#229)Jesse Plamondon-Willard
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-01-19add public mod registry (#220)Jesse Plamondon-Willard
2017-01-15deprecate events replaced by save events (#215)Jesse Plamondon-Willard
2017-01-14fix console color support check (#206)Jesse Plamondon-Willard
2017-01-14fix error when the console doesn't support colour (#206)Jesse Plamondon-Willard
2017-01-14fix error loading mods if they have a .cache folder created on a different ↵Jesse Plamondon-Willard
platform (#211)
2017-01-14add support for custom incompatible-mod-version error textJesse Plamondon-Willard
2017-01-14add support for incompatible mod version rangesJesse Plamondon-Willard
2016-12-30fallback to launching SMAPI without a terminal on Linux if the terminal is ↵Jesse Plamondon-Willard
unavailable (#198)
2016-12-22add support for unofficial updates which suffix the official version number ↵Jesse Plamondon-Willard
with a pre-release label (#192)
2016-12-22skip mods known to be incompatible and display error with update links (#192)Jesse Plamondon-Willard
2016-12-22move models into namespace (#192)Jesse Plamondon-Willard
2016-12-22add config setting to disable update checks (#202)Jesse Plamondon-Willard
2016-12-22track loaded mod instances & manifests via mod registry (#201)Jesse Plamondon-Willard
2016-12-18migrate manifest & version to interfaces with backwards compatibility (#197)Jesse Plamondon-Willard
2016-12-18format code (#193)Jesse Plamondon-Willard
2016-12-18Added a struct to wrap cache entries for the sake of tracking invalid ↵Tyler Staples
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-11move interfaces into root (#185)Jesse Plamondon-Willard
2016-12-09cache reflection lookups with sliding expiry (#185)Jesse Plamondon-Willard
2016-12-09add reflection API for mods (#185)Jesse Plamondon-Willard
2016-12-07add TypeLoadException details when intercepted by SMAPIJesse Plamondon-Willard
2016-12-05reimplement assembly caching (#187)Jesse Plamondon-Willard
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-02reduce logging levels (#166)Jesse Plamondon-Willard
2016-12-02fix assembly resolution when mods try to load types from other mods (#166)Jesse Plamondon-Willard
2016-11-30invalidate assembly rewrite cache on new SMAPI version (#166)Jesse Plamondon-Willard
2016-11-30fix assembly resolution failing for rewritten mods that reference a ↵Jesse Plamondon-Willard
different version of Json.NET (#166)
2016-11-29add framework for rewriting incompatible methods (#166)Jesse Plamondon-Willard
2016-11-29add separate project to support upcoming IL rewriting (#166)Jesse Plamondon-Willard
2016-11-28move assembly map into constants (#166)Jesse Plamondon-Willard
2016-11-27supplement assembly resolution for Mono (#166)Jesse Plamondon-Willard
2016-11-27add trace logs when rewriting an assembly (#166)Jesse Plamondon-Willard
2016-11-27only rewrite assemblies if needed (#166)Jesse Plamondon-Willard