mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
(input_state_internal) Refactor this code
This commit is contained in:
parent
0f9890c38e
commit
7e6d8eb19a
28
retroarch.c
28
retroarch.c
@ -3083,14 +3083,7 @@ static int16_t input_state_internal(
|
||||
res |= (1 << id);
|
||||
}
|
||||
else
|
||||
{
|
||||
rarch_joypad_info_t joypad_info;
|
||||
joypad_info.axis_threshold = input_driver_axis_threshold;
|
||||
joypad_info.joy_idx = settings->uints.input_joypad_map[port];
|
||||
joypad_info.auto_binds = input_autoconf_binds[joypad_info.joy_idx];
|
||||
res = current_input->input_state(
|
||||
current_input_data, joypad_info, libretro_input_binds, port, device, idx, id);
|
||||
}
|
||||
res = ret;
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
if (input_overlay_is_alive(overlay_ptr) && port == 0)
|
||||
@ -3157,6 +3150,12 @@ static int16_t input_state_internal(
|
||||
int16_t input_state(unsigned port, unsigned device,
|
||||
unsigned idx, unsigned id)
|
||||
{
|
||||
rarch_joypad_info_t joypad_info;
|
||||
int16_t ret = 0;
|
||||
joypad_info.axis_threshold = input_driver_axis_threshold;
|
||||
joypad_info.joy_idx = configuration_settings->uints.input_joypad_map[port];
|
||||
joypad_info.auto_binds = input_autoconf_binds[joypad_info.joy_idx];
|
||||
|
||||
if (bsv_movie_is_playback_on())
|
||||
{
|
||||
int16_t bsv_result;
|
||||
@ -3166,19 +3165,14 @@ int16_t input_state(unsigned port, unsigned device,
|
||||
}
|
||||
|
||||
device &= RETRO_DEVICE_MASK;
|
||||
ret = current_input->input_state(
|
||||
current_input_data, joypad_info, libretro_input_binds, port, device, idx, id);
|
||||
|
||||
if ( (device == RETRO_DEVICE_JOYPAD) &&
|
||||
(id == RETRO_DEVICE_ID_JOYPAD_MASK))
|
||||
{
|
||||
unsigned i;
|
||||
int16_t res = 0;
|
||||
int16_t ret = 0;
|
||||
rarch_joypad_info_t joypad_info;
|
||||
joypad_info.axis_threshold = input_driver_axis_threshold;
|
||||
joypad_info.joy_idx = configuration_settings->uints.input_joypad_map[port];
|
||||
joypad_info.auto_binds = input_autoconf_binds[joypad_info.joy_idx];
|
||||
ret = current_input->input_state(
|
||||
current_input_data, joypad_info, libretro_input_binds, port, device, idx, id);
|
||||
|
||||
|
||||
for (i = 0; i < RARCH_FIRST_CUSTOM_BIND; i++)
|
||||
if (input_state_internal(ret, port, device, idx, i, true))
|
||||
@ -3186,7 +3180,7 @@ int16_t input_state(unsigned port, unsigned device,
|
||||
return res;
|
||||
}
|
||||
|
||||
return input_state_internal(0, port, device, idx, id, false);
|
||||
return input_state_internal(ret, port, device, idx, id, false);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user