briankendall / devreorder

A utility for reordering and hiding DirectInput controllers
332 stars 32 forks source link

Freespace 2 Open 64-bit does not detect controllers from devreorder is installed system-wide #20

Open OverDhill opened 4 years ago

OverDhill commented 4 years ago

Well I spoke to soon. Yes I got TrackIR working but as I went through my games I found that having the DLL for the entire system broke Freespace 2 Open 64bit. I tried everything but no controllers would show up in the game. I changed it back and it started working fine and it did require using the normal DLL and ini file as Vjoy needs to be #1 and its normally not now. I tried a few others like IL-2 1946 and Everspace and they worked with the DLLs in the Windows folder location. So for now I will live without Sky Gamblers: Storm Raiders.

briankendall commented 4 years ago

If you install devreorder system wide, what happens if you copy the original system32/dinput8.dll into Freespace 2's program folder? In theory that should restore it to working as it did before devreorder is installed system-wide, while still allowing Sky Gamblers: Storm Raiders to work.

OverDhill commented 4 years ago

Well I changed it back and tried the dinput8.dll into the Freespace 2's program folder and it didn't work. So for now I will just do without Sky Gamblers. I doubt I can get them to change their game.

briankendall commented 4 years ago

The next time I get a chance (which admittedly may be a while) I'll see if I can reproduce this issue with Freespace 2 Open and find a workaround or fix.

OverDhill commented 2 years ago

I really need this fixed with Freespace Open. I switched it to system wide so Need for Speed Hot Pursuit would work and now Freespace won't

Please look into this

briankendall commented 2 years ago

Just tried it with the latest Freespace 2 Open and it detected all of my controllers with devreorder installed system-wide. So that means that there might just be something off about your system that can be fixed.

Do you know how to run Freespace 2 Open from the command line? If so, could you try that, and copy / paste any devreorder related output you see? It should look something like this:

20:29:00.273    00004288        devreorder: Calling hooked DllGetClassObject
20:29:00.275    00004288        Current process name: fs2_open_21_4_0_sse2.exe
20:29:00.277    00004288        devreorder: using system-wide devreorder.ini
20:29:00.277    00004288        Ignored list:
20:29:00.280    00004288        devreorder: Loaded "C:\WINDOWS\system32\dinput8org.dll"
20:29:00.306    00004288        devreorder: in CreateHooks
20:29:00.306    00004288        Current process name: fs2_open_21_4_0_sse2.exe
20:29:00.308    00004288        Ignored list:
20:29:00.309    00004288        devreorder: using UNICODE interface
20:29:00.309    00004288        devreorder: CreateHook EnumDevicesW status MH_OK
20:29:00.350    00004288        devreorder: EnableHook EnumDevicesW status MH_OK
20:29:00.352    00004288        devreorder: using system-wide devreorder.ini
20:29:00.352    00004288        devreorder: determining new sorting order for devices
20:29:00.381    00004288        devreorder: using system-wide devreorder.ini
20:29:00.382    00004288        devreorder: using system-wide devreorder.ini
20:29:00.383    00004288        devreorder: product "vJoy Device" is sorted up by name
20:29:00.386    00004288        devreorder: product "vJoy Device" is hidden
20:29:00.389    00004288        devreorder: product "vJoy Device" is sorted up by name
20:29:54.487    00004288        devreorder: Unloading C:\WINDOWS\system32\dinput8org.dll
OverDhill commented 2 years ago

I will be out of town for a couple weeks so I will try it when I get back