x64-compatible fork of adrian-lebioda/SpaceMarineCoreFix - itself inspired by maximumgame/DOW2CoreFix - for games that have issues with high-end multicore processors (e.g. 16 or more cores) and happen to use DirectInput 8.
This DLL uses Microsoft Detours to limit the return values of GetSystemInfo and GetLogicalProcessorInformation to a maximum of 12 CPU cores. (The true core count is still returned if fewer, in which case you would not need this fix anyway.)
- Download latest version from releases:
- For 64-bit apps, use "x64" version.
- For 32-bit apps, use "x86" version.
- Download and install Visual Studio 2022 Redistributable:
- https://aka.ms/vs/17/release/vc_redist.x64.exe (64-bit apps)
- https://aka.ms/vs/17/release/vc_redist.x86.exe (32-bit apps)
- Copy DINPUT8.dll to the game executable directory. (next to game's .exe file)
- Launch game!
- This will work only for standard Windows installation in C:\Windows.
- Prevents using other DINPUT8.dll hooks, unless they can specify a custom DLL path to "chain" into.
- Future enhancement: Read original DLL path from %SystemRoot% and make configurable?
- Currently hard-coded to return a maximum of 12 cores to the application.
- Future enhancement: Make max core count configurable in case a game still has issues?
- Tested only on 64-bit Windows, although in theory it should work on 32-bit Windows too.
Open SpaceMarineCoreFix.sln in Visual Studio 2022 Community and build Release version for your target platform:
- x64 (64-bit apps) - builds to x64/Release folder.
- x86 (32-bit apps) - builds to Release folder.