briankendall/devreorder

NFS: Porsche Unleashed crashes on race load

sdether opened this issue · 4 comments

Following instructions from https://www.pcgamingwiki.com/wiki/Need_for_Speed:_Porsche_Unleashed#Menu_lag_when_using_a_controller.2FAxes_do_not_function_correctly_.28Win8.2B.29 I installed your program and hid/reordered my controllers based on GUID. Loading the game menu it did properly only show the listed controllers and I was able to configure the controller as well. However, once starting a race, it loads the track and right before switching over to the render of the race it closes without any message.

If there is anything I can do on my end to provide a more useful bug report or diagnostic data, please let me know.

Additional information: The crash seems to be specific to the controller. When I just list my Xbox controller, everything works fine. It's when I try to use the "FANATEC CSL Elite Wheel Base PlayStation 4" controller is when it crashes.

Are you able to check whether the game can receive any input from your Fanatec wheel before starting a race? For example using an input test mode, or sending input in the game's settings to bind a button or axis to one of the game's controls. I'm not sure if this game has either of those modes since I haven't played it, but I'm wondering if the game trying to read input from your wheel is what causes the crash (and it doesn't matter when it tries), or if it's something that only occurs when the game is in a race.

I did some more experiments and it looks like the crash is happening in dinputto8 not devreorder.

  • without either dinputto8 and devreorder
    • can map buttons and analog controls of the Fanatec wheel in options menu
    • The race does not crash
    • The mapped buttons work, but the analog controls do not
  • with only devreorder
    • the device list does not filter
    • otherwise it behaves like the previous case
  • with only devinputto8
    • the devices list of course is not filtered
    • can map buttons and analog controls of the Fanatec wheel in options menu
    • Race crashes on load
  • with both dinputto8 and devreorder
    • the device list is filtered properly
    • can map buttons and analog controls of the wheel in options menu
    • if the mapped device is the Xbox 360 controller, race runs and controls work
    • if any button or analog control on the Fanatec wheel is mapped, race crashes

So my guess is that there's something in the way the Fanatec uses Direct Input that is not compatible with the API mapping that dinputto8 does.

That's some good debugging you did there! I hope you can find a solution with the authors of dinputto8.

Also, thanks for letting me know about the existence of dinputto8, since it apparently works in conjunction with devreorder. I'll make a little note in my read me about it.