Exemplo n.º 1
0
void joystick_windows::load_xinput() {

	xinput_get_state = &_xinput_get_state;
	xinput_set_state = &_xinput_set_state;
	xinput_dll = LoadLibrary( "XInput1_4.dll" );
	if (!xinput_dll) {
		xinput_dll = LoadLibrary("XInput1_3.dll");
		if (!xinput_dll) {
			xinput_dll = LoadLibrary("XInput9_1_0.dll");
		}
	}

	if (!xinput_dll) {
		if (OS::get_singleton()->is_stdout_verbose()) {
			print_line("Could not find XInput, using DirectInput only");
		}
		return;
	}

	XInputGetState_t func = (XInputGetState_t)GetProcAddress((HMODULE)xinput_dll, "XInputGetState");
	XInputSetState_t set_func = (XInputSetState_t)GetProcAddress((HMODULE)xinput_dll, "XInputSetState");
	if (!func || !set_func) {
		unload_xinput();
		return;
	}
	xinput_get_state = func;
	xinput_set_state = set_func;
}
Exemplo n.º 2
0
joystick_windows::~joystick_windows() {

	close_joystick();
	dinput->Release();
	unload_xinput();
}
Exemplo n.º 3
0
JoypadWindows::~JoypadWindows() {

	close_joypad();
	dinput->Release();
	unload_xinput();
}