ScpUser/ScpExtensions.cpp (25 lines of code) (raw):

#include "StdAfx.h" #include "SCPExtensions.h" DWORD WINAPI XInputGetExtended(DWORD dwUserIndex, SCP_EXTN* pPressure) { static BOOL l_Loaded = false, l_Available = false; static HMODULE l_hXInputDll = NULL; static FARPROC l_hXInputFunc[] = { NULL }; DWORD RetVal = ERROR_NOT_SUPPORTED; if (!l_Loaded) { if ((l_hXInputDll = LoadLibrary(_T("XInput1_3.dll"))) != NULL) { if ((l_hXInputFunc[0] = GetProcAddress(l_hXInputDll, "XInputGetExtended")) != NULL) { l_Available = true; } } l_Loaded = true; } if (l_Available) { RetVal = ((XInputGetExtendedFunction)(l_hXInputFunc[0]))(dwUserIndex, pPressure); } return RetVal; }