xan1242 / NFS-XtendedInput

NFS (Black Box, MW & newer) - XInput Plugin
MIT License
112 stars 7 forks source link

[Win7 and older] XInput 9 configuration #45

Closed xan1242 closed 1 year ago

xan1242 commented 1 year ago

As simple as it sounds - create a build config for Win7 and older to use XInput9 (and target older build tools)

Will be done soon-ish...

TorutheRedFox commented 1 year ago

vc98 support when

TorutheRedFox commented 1 year ago

vc98 support when

somewhat serious question actually, getting vc98 as a compiler under vs2022 is a bit ass but it is possible, and it'd allow the dll to run without any redistributables or anything under windows 2000 and maybe even windows 98

xan1242 commented 1 year ago

But the problems are:

  1. ASI loaders aren't really compatible with older APIs
  2. XInput doesn't even work under anything older than XP so why even target that

I was just planning to target vc140_xp like I did with the XP variant of Ultimate ASI loader (and maybe disable SSE2 instructions)

TorutheRedFox commented 1 year ago

ah

xan1242 commented 1 year ago

I've created the config for the NFSU XtendedInput just fine and it even works on an old Pentium 3 machine running Windows 7.

However, that same machine is having issues with this one.

For whatever reason, it crashes the video driver (ati3d1ag.dll) during D3D9 device creation, causing a BugCheck (BSOD). No idea why at the moment, still investigating... This should never happen. The only thing that could remotely cause this from the perspective of this plugin is the injector which uses the kernel protect functions.

xan1242 commented 1 year ago

From basic checking - apparently UpdateFECursorPos being injected causes the crash... Odd, but interesting.

xan1242 commented 1 year ago

Fixed by adding a check whether we're in the game or not in that function itself...

So what seems to happen:

xan1242 commented 1 year ago

Should be fixed in 1.13: https://github.com/xan1242/NFS-XtendedInput/releases/tag/1.13