SteelGolem icon

xinput loading comparison

SteelGolem | PRO | 12/21/14 08:06:27 PM UTC | 0 ⭐ | 10598 👁️ | Never ⏰ | []
C++ (WinAPI) |

0 B

|

None

|

0 👍

/

0 👎

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

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎