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"
|
||||
|
||||
|
||||
|
||||
static bool ready = false;
|
||||
|
||||
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));
|
||||
joypad_state.pads[MAX_USERS].data = (void *)0xdeadbeef;
|
||||
joypad_state.max_slot = MAX_USERS;
|
||||
joypad_state.max_slot = MAX_USERS;
|
||||
input_hid_init_first();
|
||||
|
||||
wpad_driver.init(data);
|
||||
@ -39,10 +37,10 @@ static void *wiiu_joypad_init(void *data)
|
||||
|
||||
static bool wiiu_joypad_query_pad(unsigned pad)
|
||||
{
|
||||
return ready &&
|
||||
pad < MAX_USERS &&
|
||||
joypad_state.pads[pad].input_driver &&
|
||||
joypad_state.pads[pad].input_driver->query_pad(pad);
|
||||
return (ready
|
||||
&& (pad < MAX_USERS)
|
||||
&& joypad_state.pads[pad].input_driver
|
||||
&& joypad_state.pads[pad].input_driver->query_pad(pad));
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
if (!wiiu_joypad_query_pad(port))
|
||||
return 0;
|
||||
if (port >= DEFAULT_MAX_PADS)
|
||||
if ( !wiiu_joypad_query_pad(port)
|
||||
|| (port >= DEFAULT_MAX_PADS))
|
||||
return 0;
|
||||
return (joypad_state.pads[port].input_driver->button(port, joykey));
|
||||
}
|
||||
|
||||
static void wiiu_joypad_get_buttons(unsigned port, input_bits_t *state)
|
||||
{
|
||||
if (!wiiu_joypad_query_pad(port))
|
||||
return;
|
||||
joypad_state.pads[port].input_driver->get_buttons(port, state);
|
||||
if (wiiu_joypad_query_pad(port))
|
||||
joypad_state.pads[port].input_driver->get_buttons(port, state);
|
||||
}
|
||||
|
||||
static int16_t wiiu_joypad_axis(unsigned port, uint32_t joyaxis)
|
||||
{
|
||||
if (!wiiu_joypad_query_pad(port))
|
||||
return 0;
|
||||
return joypad_state.pads[port].input_driver->axis(port, joyaxis);
|
||||
if (wiiu_joypad_query_pad(port))
|
||||
return joypad_state.pads[port].input_driver->axis(port, joyaxis);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int16_t wiiu_joypad_state(
|
||||
@ -83,12 +79,12 @@ static int16_t wiiu_joypad_state(
|
||||
unsigned port)
|
||||
{
|
||||
unsigned i;
|
||||
int16_t ret = 0;
|
||||
uint16_t port_idx = joypad_info->joy_idx;
|
||||
int16_t ret = 0;
|
||||
uint16_t port_idx = joypad_info ? joypad_info->joy_idx : 0;
|
||||
|
||||
if (!wiiu_joypad_query_pad(port_idx))
|
||||
return 0;
|
||||
if (port_idx >= DEFAULT_MAX_PADS)
|
||||
if ( !joypad_info
|
||||
|| !wiiu_joypad_query_pad(port_idx)
|
||||
|| (port_idx >= DEFAULT_MAX_PADS))
|
||||
return 0;
|
||||
|
||||
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)
|
||||
? binds[i].joyaxis : joypad_info->auto_binds[i].joyaxis;
|
||||
if (
|
||||
(uint16_t)joykey != NO_BTN
|
||||
(uint16_t)joykey != NO_BTN
|
||||
&& (joypad_state.pads[port].input_driver->button(port_idx, (uint16_t)joykey))
|
||||
)
|
||||
ret |= ( 1 << i);
|
||||
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)
|
||||
ret |= (1 << i);
|
||||
}
|
||||
@ -121,10 +117,9 @@ static void wiiu_joypad_poll(void)
|
||||
|
||||
static const char* wiiu_joypad_name(unsigned pad)
|
||||
{
|
||||
if (!wiiu_joypad_query_pad(pad))
|
||||
return "N/A";
|
||||
|
||||
return joypad_state.pads[pad].input_driver->name(pad);
|
||||
if (wiiu_joypad_query_pad(pad))
|
||||
return joypad_state.pads[pad].input_driver->name(pad);
|
||||
return "N/A";
|
||||
}
|
||||
|
||||
input_device_driver_t wiiu_joypad =
|
||||
|
Loading…
x
Reference in New Issue
Block a user