VOGONS


Reply 20 of 20, by ChronoReaperX

User metadata
Rank Newbie
Rank
Newbie
darkenedroom wrote on Yesterday, 13:26:
So another update : […]
Show full quote

So another update :

The game doesn't use DirectInput but WinMM as the joystick mechanism. This was determined by using Xidi with the Hookshot injection mechanism, this reveals that WinMM is used as Xidi/Hookshot adds a winmm.dll wrapper and not a dinput.dll wrapper. Now the problem is that most winmm wrappers concentrate on the audio/midi side of things and not the joystick side (would be happy to be proved wrong in this conclusion).

The game seems to have a serious issue with DirectInput devices and basically fails to start if it can see any. However it can be made tolerant of a vJoy virtual joystick being present if not being used.

So using a combination of HidHide to hide physical DirectInput devices and leaving vJoy visible and Joystick Gremlin to map axes/buttons to the vJoy joystick and also using vJoy to create the virtual joystick you end up with a single visible vJoy virtual joystick. This combo would also allow you to use any vendor physical device and map excess buttons to keyboard key presses.

This is no good for iF-22v5 as it's still a DirectInput device, however you can use XOutput to create a virtual XInput device from the vJoy virtual joystick.

The final piece of the puzzle is using RetroBridge created by rkk which includes a winmm wrapper that deals with the joystick and midi/audio bits. The RetroBridge wrapper can creates another virtual joystick device with 2 axes, 4 buttons and a pov hat that communicates with the XOutput virtual XInput device.

So we have:

  • Physical DirectInput devices (hidden by HidHide) mapped to a vJoy virtual DirectInput device.
  • The vJoy virtual DirectInput device mapped to an XOutput virtual XInput device.
  • RetroBridge winmm wrapper taking the virtual XInput device and mapping it to a virtual joystick device (2 axes, 4 buttons, pov hat) which works in iF-22v5.

Surprising this whole weird combo of stuff actually manages to work as shown by this YouTube vid.

Wow... what a revelation. As I suspected earlier about the DirectInput (especially via USB) is vehemently rejected by the game. And I hope someone could fix the black fine lines around the sun, flare and explosion.