briankendall/devreorder

Alternative to minhook

luca2125 opened this issue · 2 comments

Hi,

I don't sure if can be usefull this information, if no please ignore it (I' am not an expert).

I see in this project:

https://github.com/hauzer/dinput8_nojoy/tree/master/dinput8_nojoy

that the autor use another technique that simply override the member without use MinHook , detours or similar.

If I understand this technique is called "IAT hook", that have the advatage to work in 100% of cases (I have tested it in many games).

So is not necessary to copy dinput8.dll to system wide becouse work always to game directory.

The disadvantage seem the performance that are slow.

Take this only like sort of potential alternative (ex: mode 0: default, mode 1: alternative)

I repeat if this is unuseful please ignore it.

Part of the reason to install in system32 is because a) you don't have to install the dll separately for each game, and b) some games use the DirectInput COM interface which means that they will bypass a DLL in the game's directory.

Using MinHook doesn't work with 100% of games, though, and does seem to interfere with x360ce, so it might be worth trying out a different method sometime. Thanks for the info!

Hi briankendall,

For what I see devreorder work if not 100%, but > 90% if istalled on system32.

But I have multiple controllers and the priority is not always the some becouse the games are different (Racing, Space Simulator , Shooter , etc..).

So I can't install it on System Wide,

With x360ce I don't need to use devreorder becouse work indipedenly by the priority.

If I remember x360ce support Hook Mask (COM) that probably is for COM interface.

However x360ce not work with FarCry 4/5/primal for some reason.

With this example that using IAT hook:

https://www.codeproject.com/Articles/14040/Hooking-a-DirectX-COM-Interface

the DLL seem work in with COM interface too.