(wiiu_joypad.c) Small cleanups

This commit is contained in:
libretroadmin 2023-08-20 04:06:48 +02:00
parent 2b3bfbe89a
commit 8debf4b88e

View File

@ -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 =