DWORD WINAPI XInputGetStateStub(DWORD, XINPUT_STATE*) { return 0; }
DWORD (WINAPI * XInputGetState_)(DWORD, XINPUT_STATE*) = XInputGetStateStub;
#define XInputGetState XInputGetState_
#define X_INPUT_SET_STATE(name) DWORD WINAPI name(DWORD dwUserIndex, XINPUT_VIBRATION* pVibration)
typedef X_INPUT_SET_STATE(x_input_set_state);
X_INPUT_SET_STATE(XInputSetStateStub)
{
return 0;
}
global_variable x_input_set_state* XInputSetState_ = XInputSetStateStub;
#define XInputSetState XInputSetState_
internal_function void LoadXInput(void)
{
HMODULE xinputLib = LoadLibraryA("xinput1_3.dll");
if (xinputLib)
{
// NOTE: xinput 1.3 "should be" on more computers than 1.4.
XInputGetState_ = (DWORD(WINAPI *)(DWORD, XINPUT_STATE *))GetProcAddress(xinputLib, "XInputGetState");
XInputSetState = (x_input_set_state*)GetProcAddress(xinputLib, "XInputSetState");
}
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎