Repository navigation
Releases
SharpPluginLoader 2.0.0
New APIs
- Start Menu API (
SharpPluginLoader.Core.UI.StartMenu), see example and API Reference. - GMD resource support (
SharpPluginLoader.Core.Resources.Gmd) - New GUI APIs:
Gui.CurrentLanguage,Gui.ActiveObjects, etc. - Allocator access:
MtDti.Allocatorreturns theMtAllocatorthe class uses - String marshalling:
MemoryUtil.CreateNullterminatedconverts a managed string to a nullterminated c-string
Improved exe-memory access
MemoryProtectionis now public- New
MemoryUtil.WithRwxfunction for running a delegate against a guaranteed-RWX region (See documentation) - New
long-address constructors forPatch - Various
long-address overloads for functions inMemoryUtil
D3DModule Refactor
- D3D Hooks now happen earlier
- Plugins can thus start rendering menus etc earlier during startup
Fixes
IPlugin.OnSelectSaveSlotnow actually fires- Texture manager is reset on
ResizeBuffers - Corrected Guiding Lands datatypes
Breaking Changes
IPlugin.GetInstance<T>()removed -> useIPlugin.GetInstance(string name)PluginManager.GetPlugin<T>()andPluginManager.GetPlugin(Type)removed ->PluginManager.GetPlugin(string name)UserData.GuidingLandsRegionPoints/GuidingLandsMaxAchievedLevelsdatatypes changed
Merged PRs
- Probe by name instead of type in GetInstance() by @Pizzabelly in #80
- Refactor D3DModule by @Pizzabelly in #78
Full Changelog: 1.0.0...2.0.0
SharpPluginLoader 1.0.0
Woooo Version 1.0.0 🥇! As usual, thanks to all contributors!
Breaking Changes/Additions
- The
ActionClonerAPI has been completely revamped. Documentation can be found on the wiki - Support for rendering custom meshes has been added. See the
PrimitivesAPI for more info - An API for interacting with save data has been added. See the
UserDataAPI for more info - The nuget package has been updated with the new API
Note: All subsequent releases will follow semantic versioning.
Merged PRs
- Use ucrtbase.dll instead of msvcrt.dll for Proton 11.0 support by @Pizzabelly in #63
- Explicitly use Platform Toolset v143 with vcpkg by @Pizzabelly in #67
- Improve ImGui mouse blocking by @Pizzabelly in #65
- Add LockedSpeed property to AnimationLayer by @Pizzabelly in #68
- More loader-config options by @Pizzabelly in #69
- Deduplicate get_game_revision() by @Pizzabelly in #71
- Log fixes by @Pizzabelly in #70
- Fix ImGui rendering on HDR swap chains by @UshioA in #73
- Fix Path in MtFile by @Pizzabelly in #74
New Contributors
Full Changelog: 0.0.9...1.0.0
SharpPluginLoader 0.0.9
Changes
- Better Strackers, DPSTickFix, and BetterInputs compatibility (Thanks to @Pizzabelly for the improvement suggestion)
- The
OnResourceLoadno longer adds strong references to loaded resources, if you want to keep one alive you must explicitly callMakeStrongRefon it first - Fixed the
WeaponTypeenum
This release is still mostly backwards compatible with 0.0.7.2. Updated NuGet Packages coming soon.
Full Changelog: 0.0.8...0.0.9
SharpPluginLoader 0.0.8
Better Input Detection + Tic Rate Fix Compatibility
This adds explicit compatibility code for Better Input Detection and Tic Rate Fix. Previously there were certain situations in which having both SPL and one of these mods installed, would lead to a crash. This should now be fully resolved.
This release is fully backwards compatible with 0.0.7.
More Changes
- Document config and menu key by @jn64 in #51
- ImGui usability tweaks by @Pizzabelly in #58
Full Changelog: 0.0.7.2...0.0.8
SharpPluginLoader 0.0.7.2
Linux (Wine/Proton) Support 🎉
SPL is now properly compatible with linux via Wine/Proton. Thank you to everyone who contributed to #44.
See the wiki for installation instructions.
More Changes:
- Small stability improvements
- Calls to
PatternScanner.FindFirstare now automatically cached for improved performance
This release is fully backwards compatible with 0.0.7 (on the Windows side).
Full Changelog: 0.0.7.1...0.0.7.2
SharpPluginLoader 0.0.7.1 (15.23)
Update for game version 15.23. Aside from that there are a few minor bugfixes.
Hopefully future game updates should no longer require an update from me.
Full Changelog: 0.0.7...0.0.7.1
SharpPluginLoader 0.0.7
This is mostly a stability release with improvements in regards to DirectX hooking, which now does not use a dummy swapchain approach anymore, and thus shouldn't conflict with other overlays as much.
New APIs:
- Custom DTI registration
- Creating custom FSM conditions
- Action cloner implementation: allows creating new actions for monsters (see examples)
Small changes:
Monster.GetAllMonstersis now cached and returnsMonster[]instead ofIEnumerable<Monster>- Fonts are not rebuilt when quitting to title (fixes a crash)
- Various documentation improvements
Full Changelog: 0.0.6...0.0.7
SharpPluginLoader 0.0.6.1 (15.22)
Update for game version 15.22
This release is functionally equivalent to 0.0.6.
SharpPluginLoader 0.0.6
Another small release (Next one will probably have some more new features):
- Minor Bugfixes on both developer and user end
- Improved error reporting
- New Font loading API (via
Renderer.RegisterFont)
Full Changelog: 0.0.5...0.0.6
SharpPluginLoader 0.0.5
This is a pretty small release with mostly bugfixes and minor features. The API remains unchanged and should therefore be backwards compatible with 0.0.4.1 and 0.0.4.
- Allow loading native dependencies from the same directory instead of putting them in the root
- Also allows for setting custom dll load paths
- Configurable ImGui Menu hotkey
- D3D Hooks are now enabled by default
- Possible fix for #35
Full Changelog: 0.0.4.1...0.0.5