mirror of
https://github.com/libretro/RetroArch
synced 2025-04-16 08:43:10 +00:00
(wiiu_joypad.c) Small cleanups
This commit is contained in:
parent
2b3bfbe89a
commit
8debf4b88e
@ -16,8 +16,6 @@
|
|||||||
|
|
||||||
#include "../include/wiiu/input.h"
|
#include "../include/wiiu/input.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static bool ready = false;
|
static bool ready = false;
|
||||||
|
|
||||||
wiiu_joypad_t joypad_state = {0};
|
wiiu_joypad_t joypad_state = {0};
|
||||||
@ -26,7 +24,7 @@ static void *wiiu_joypad_init(void *data)
|
|||||||
{
|
{
|
||||||
memset(&joypad_state, 0, sizeof(wiiu_joypad_t));
|
memset(&joypad_state, 0, sizeof(wiiu_joypad_t));
|
||||||
joypad_state.pads[MAX_USERS].data = (void *)0xdeadbeef;
|
joypad_state.pads[MAX_USERS].data = (void *)0xdeadbeef;
|
||||||
joypad_state.max_slot = MAX_USERS;
|
joypad_state.max_slot = MAX_USERS;
|
||||||
input_hid_init_first();
|
input_hid_init_first();
|
||||||
|
|
||||||
wpad_driver.init(data);
|
wpad_driver.init(data);
|
||||||
@ -39,10 +37,10 @@ static void *wiiu_joypad_init(void *data)
|
|||||||
|
|
||||||
static bool wiiu_joypad_query_pad(unsigned pad)
|
static bool wiiu_joypad_query_pad(unsigned pad)
|
||||||
{
|
{
|
||||||
return ready &&
|
return (ready
|
||||||
pad < MAX_USERS &&
|
&& (pad < MAX_USERS)
|
||||||
joypad_state.pads[pad].input_driver &&
|
&& joypad_state.pads[pad].input_driver
|
||||||
joypad_state.pads[pad].input_driver->query_pad(pad);
|
&& joypad_state.pads[pad].input_driver->query_pad(pad));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void wiiu_joypad_destroy(void)
|
static void wiiu_joypad_destroy(void)
|
||||||
@ -56,25 +54,23 @@ static void wiiu_joypad_destroy(void)
|
|||||||
|
|
||||||
static int32_t wiiu_joypad_button(unsigned port, uint16_t joykey)
|
static int32_t wiiu_joypad_button(unsigned port, uint16_t joykey)
|
||||||
{
|
{
|
||||||
if (!wiiu_joypad_query_pad(port))
|
if ( !wiiu_joypad_query_pad(port)
|
||||||
return 0;
|
|| (port >= DEFAULT_MAX_PADS))
|
||||||
if (port >= DEFAULT_MAX_PADS)
|
|
||||||
return 0;
|
return 0;
|
||||||
return (joypad_state.pads[port].input_driver->button(port, joykey));
|
return (joypad_state.pads[port].input_driver->button(port, joykey));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void wiiu_joypad_get_buttons(unsigned port, input_bits_t *state)
|
static void wiiu_joypad_get_buttons(unsigned port, input_bits_t *state)
|
||||||
{
|
{
|
||||||
if (!wiiu_joypad_query_pad(port))
|
if (wiiu_joypad_query_pad(port))
|
||||||
return;
|
joypad_state.pads[port].input_driver->get_buttons(port, state);
|
||||||
joypad_state.pads[port].input_driver->get_buttons(port, state);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int16_t wiiu_joypad_axis(unsigned port, uint32_t joyaxis)
|
static int16_t wiiu_joypad_axis(unsigned port, uint32_t joyaxis)
|
||||||
{
|
{
|
||||||
if (!wiiu_joypad_query_pad(port))
|
if (wiiu_joypad_query_pad(port))
|
||||||
return 0;
|
return joypad_state.pads[port].input_driver->axis(port, joyaxis);
|
||||||
return joypad_state.pads[port].input_driver->axis(port, joyaxis);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int16_t wiiu_joypad_state(
|
static int16_t wiiu_joypad_state(
|
||||||
@ -83,12 +79,12 @@ static int16_t wiiu_joypad_state(
|
|||||||
unsigned port)
|
unsigned port)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
int16_t ret = 0;
|
int16_t ret = 0;
|
||||||
uint16_t port_idx = joypad_info->joy_idx;
|
uint16_t port_idx = joypad_info ? joypad_info->joy_idx : 0;
|
||||||
|
|
||||||
if (!wiiu_joypad_query_pad(port_idx))
|
if ( !joypad_info
|
||||||
return 0;
|
|| !wiiu_joypad_query_pad(port_idx)
|
||||||
if (port_idx >= DEFAULT_MAX_PADS)
|
|| (port_idx >= DEFAULT_MAX_PADS))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (i = 0; i < RARCH_FIRST_CUSTOM_BIND; i++)
|
for (i = 0; i < RARCH_FIRST_CUSTOM_BIND; i++)
|
||||||
@ -99,12 +95,12 @@ static int16_t wiiu_joypad_state(
|
|||||||
const uint32_t joyaxis = (binds[i].joyaxis != AXIS_NONE)
|
const uint32_t joyaxis = (binds[i].joyaxis != AXIS_NONE)
|
||||||
? binds[i].joyaxis : joypad_info->auto_binds[i].joyaxis;
|
? binds[i].joyaxis : joypad_info->auto_binds[i].joyaxis;
|
||||||
if (
|
if (
|
||||||
(uint16_t)joykey != NO_BTN
|
(uint16_t)joykey != NO_BTN
|
||||||
&& (joypad_state.pads[port].input_driver->button(port_idx, (uint16_t)joykey))
|
&& (joypad_state.pads[port].input_driver->button(port_idx, (uint16_t)joykey))
|
||||||
)
|
)
|
||||||
ret |= ( 1 << i);
|
ret |= ( 1 << i);
|
||||||
else if (joyaxis != AXIS_NONE &&
|
else if (joyaxis != AXIS_NONE &&
|
||||||
((float)abs(joypad_state.pads[port].input_driver->axis(port_idx, joyaxis))
|
((float)abs(joypad_state.pads[port].input_driver->axis(port_idx, joyaxis))
|
||||||
/ 0x8000) > joypad_info->axis_threshold)
|
/ 0x8000) > joypad_info->axis_threshold)
|
||||||
ret |= (1 << i);
|
ret |= (1 << i);
|
||||||
}
|
}
|
||||||
@ -121,10 +117,9 @@ static void wiiu_joypad_poll(void)
|
|||||||
|
|
||||||
static const char* wiiu_joypad_name(unsigned pad)
|
static const char* wiiu_joypad_name(unsigned pad)
|
||||||
{
|
{
|
||||||
if (!wiiu_joypad_query_pad(pad))
|
if (wiiu_joypad_query_pad(pad))
|
||||||
return "N/A";
|
return joypad_state.pads[pad].input_driver->name(pad);
|
||||||
|
return "N/A";
|
||||||
return joypad_state.pads[pad].input_driver->name(pad);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input_device_driver_t wiiu_joypad =
|
input_device_driver_t wiiu_joypad =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user