xan1242 / NFS-XtendedInput

NFS (Black Box, MW & newer) - XInput Plugin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Win7 and older] XInput 9 configuration

xan1242 opened this issue · comments

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...

vc98 support when

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

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)

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.

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

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

So what seems to happen:

  • Game starts
  • UpdateFECursorPos gets executed before the game even runs InitializeEverything
  • Something very important to the ATI DirectX driver gets overwritten in memory before IDirect3D9::CreateDevice happens
  • ATI driver crashes and takes the whole system with it