New features and improvements in this release:
- Xidi now supports plugins, starting with physical controller backend plugins. The required header files are included in the binary archive and also available via the source code tree.
- This is in response to several pull requests, all proposing to do things like switch from Xidi's built-in implementation of XInput to something else.
- For now, physical controller backend plugins are the only type supported, but that could change in the future.
- Using the HookModule form of Xidi is now recommended because it eliminates the need to know what API a game uses.
- As of this release, the HookModule form can auto-detect if a game uses WinMM, DInput, or DInput8. The wrapper files (dinput.dll, dinput8.dll, winmm.dll) are no longer needed.
- However, the traditional wrappers remain available and can be used instead of the HookModule form if needed.
- A mouse speed modifier element mapper has been added (#101).
- Various other code organization and compatibility improvements have been included.
Other changes:
- Common code has been extracted into a main binary, either "Xidi.32.dll" or "Xidi.64.dll" depending on whether the application is 32-bit or 64-bit.
- When using Xidi, the main binary is necessary as an additional file.
- Check the updated Getting Started guide for all of the details.