Skip to content

Releases

SharpPluginLoader 2.0.0

Choose a tag to compare

@Fexty12573 Fexty12573 released this 27 Sep 12:01
e9ebb59

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.Allocator returns the MtAllocator the class uses
  • String marshalling: MemoryUtil.CreateNullterminated converts a managed string to a nullterminated c-string

Improved exe-memory access

  • MemoryProtection is now public
  • New MemoryUtil.WithRwx function for running a delegate against a guaranteed-RWX region (See documentation)
  • New long-address constructors for Patch
  • Various long-address overloads for functions in MemoryUtil

D3DModule Refactor

  • D3D Hooks now happen earlier
    • Plugins can thus start rendering menus etc earlier during startup

Fixes

  • IPlugin.OnSelectSaveSlot now actually fires
  • Texture manager is reset on ResizeBuffers
  • Corrected Guiding Lands datatypes

Breaking Changes

  • IPlugin.GetInstance<T>() removed -> use IPlugin.GetInstance(string name)
  • PluginManager.GetPlugin<T>() and PluginManager.GetPlugin(Type) removed -> PluginManager.GetPlugin(string name)
  • UserData.GuidingLandsRegionPoints/GuidingLandsMaxAchievedLevels datatypes changed

Merged PRs

Full Changelog: 1.0.0...2.0.0

SharpPluginLoader 1.0.0

Choose a tag to compare

@Fexty12573 Fexty12573 released this 13 Sep 16:21

Woooo Version 1.0.0 🥇! As usual, thanks to all contributors!

Breaking Changes/Additions

  • The ActionCloner API has been completely revamped. Documentation can be found on the wiki
  • Support for rendering custom meshes has been added. See the Primitives API for more info
  • An API for interacting with save data has been added. See the UserData API for more info
  • The nuget package has been updated with the new API

Note: All subsequent releases will follow semantic versioning.

Merged PRs

New Contributors

Full Changelog: 0.0.9...1.0.0

SharpPluginLoader 0.0.9

Choose a tag to compare

@Fexty12573 Fexty12573 released this 18 Mar 12:45

Changes

  • Better Strackers, DPSTickFix, and BetterInputs compatibility (Thanks to @Pizzabelly for the improvement suggestion)
  • The OnResourceLoad no longer adds strong references to loaded resources, if you want to keep one alive you must explicitly call MakeStrongRef on it first
  • Fixed the WeaponType enum

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

Choose a tag to compare

@Fexty12573 Fexty12573 released this 08 Mar 00:09

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

Full Changelog: 0.0.7.2...0.0.8

SharpPluginLoader 0.0.7.2

Choose a tag to compare

@Fexty12573 Fexty12573 released this 05 Dec 12:23

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.FindFirst are 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)

Choose a tag to compare

@Fexty12573 Fexty12573 released this 12 Oct 17:44

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

Choose a tag to compare

@Fexty12573 Fexty12573 released this 19 Aug 14:02

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.GetAllMonsters is now cached and returns Monster[] instead of IEnumerable<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)

Choose a tag to compare

@Fexty12573 Fexty12573 released this 05 Jun 17:35

Update for game version 15.22

This release is functionally equivalent to 0.0.6.

SharpPluginLoader 0.0.6

Choose a tag to compare

@Fexty12573 Fexty12573 released this 03 Apr 17:46

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

Choose a tag to compare

@Fexty12573 Fexty12573 released this 22 Mar 17:34

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