I was quite interested in the patch -- am I right in thinking the DirectX library only exports a single function and _everything_ else is through DX interfaces?
I expected to see significantly more code, pass-through to the original DLL.
The author linked to the repo and the code is at https://github.com/seritools/castrol-honda-dinput-fix/blob/m...
Seems pretty straightforward. They hook DirectInputCreateA() and pass their own device enumeration wrapper with the offending flag removed.
> am I right in thinking the DirectX library only exports a single function and _everything_ else is through DX interfaces
Yup! That's why I didn't have to create a gazillion passthrough functions.
The original DLL in my modern Windows installation has these 8 exports:
The game only calls DirectInputCreateA, and the rest happens via the COM object that that function creates.