rdoeffinger / xwa_ddraw_d3d11

Direct3D 11 implementation of DDraw.dll for XWA
MIT License
63 stars 2 forks source link

Request to make compatible with XBox One pad on Windows 7/later #20

Closed oceanclub1970 closed 4 years ago

oceanclub1970 commented 4 years ago

For some reason, xwa_ddraw stops the throttle (right or left trigger) working correct for TIE Fighter (1998). My OS is Windows 7 64-bit.

I tested as follows:

  1. Installed TIE Fighter (1998) from GOG.
  2. Installed a XBox One pad via USB (wired).
  3. Launched and run the program using software mode.

In this case, the right trigger works in increments to increase/decrease the throttle (I presume this is the correct behaviour). But obviously I can't run in 3D mode with the above.

  1. Installed xwing ddraw (I tried both 1.5.9 and 1.5.10_rc2).
  2. Edited ddraw.cfg and set XInputTriggerAsThrottle to 2 ("right trigger as throttle").
  3. Launched and tested the game.

So what happens is the throttle is 100% by default. If I hold down (and keep holding down) the right trigger it will go down to 0%. Release it and it goes back up to 100%. So I presume this isn't the way it should be, a fix or workaround would be appreciated.

rdoeffinger commented 4 years ago

I'm afraid that behaviour is actually as intended. I find it both annoying to constantly hold the throttle (full speed is much more common than full stop for me) as well as flying tight curves seems easier to me. If you are happy with the behaviour without the dll, just disable the joystick emulation and it will behave the same as when you ran in software mode. That was not a working option when I implemented all this. Otherwise it's not really hard to implement a "InvertThrottle" option similar to the "InvertYAxis" option...

oceanclub1970 commented 4 years ago

Aha! Thanks for that. I didn't realise that setting JoystickEmul to 0 would merely revert the behaviour back to the vanilla install default. Yeah I prefer that. :) I may write all this up for PCGamingWiki if I get a chance. Thanks.

rdoeffinger commented 4 years ago

Just in case I added an InvertThrottle option as well in latest release, so you have all options if you notice anything missing with the standard emulation.