Further refinement to code that uses input_joypad_analog_button - value

is not subject to change unless the bind is valid, so move conditional
This commit is contained in:
twinaphex 2021-03-06 17:48:58 +01:00
parent 00a5c9502e
commit e6cb7592a6
1 changed files with 30 additions and 26 deletions

View File

@ -22226,20 +22226,23 @@ static void input_driver_poll(void)
{ {
if (ret & (1 << k)) if (ret & (1 << k))
{ {
bool valid_bind = p_rarch->libretro_input_binds[i][k].valid; bool valid_bind =
int16_t val = valid_bind p_rarch->libretro_input_binds[i][k].valid;
? input_joypad_analog_button(
if (valid_bind)
{
int16_t val =
input_joypad_analog_button(
p_rarch, settings, p_rarch, settings,
joypad_driver, &joypad_info[i], (unsigned)i, joypad_driver, &joypad_info[i], (unsigned)i,
RETRO_DEVICE_INDEX_ANALOG_BUTTON, k, RETRO_DEVICE_INDEX_ANALOG_BUTTON, k,
p_rarch->libretro_input_binds[i]) p_rarch->libretro_input_binds[i]);
: 0;
BIT256_SET_PTR(p_new_state, k);
if (val) if (val)
p_new_state->analog_buttons[k] = val; p_new_state->analog_buttons[k] = val;
} }
BIT256_SET_PTR(p_new_state, k);
}
} }
/* This is the analog joypad index - /* This is the analog joypad index -
@ -22958,21 +22961,22 @@ static int16_t input_state(unsigned port, unsigned device,
{ {
if (id < RARCH_FIRST_CUSTOM_BIND) if (id < RARCH_FIRST_CUSTOM_BIND)
{ {
bool valid_bind = p_rarch->libretro_input_binds[port][id].valid; bool valid_bind =
p_rarch->libretro_input_binds[port][id].valid;
if (valid_bind)
{
if (sec_joypad) if (sec_joypad)
ret = valid_bind ret =
? input_joypad_analog_button( input_joypad_analog_button(
p_rarch, settings, p_rarch, settings,
sec_joypad, &joypad_info, sec_joypad, &joypad_info,
port, idx, id, p_rarch->libretro_input_binds[port]) port, idx, id, p_rarch->libretro_input_binds[port]);
: 0;
if (joypad && (ret == 0)) if (joypad && (ret == 0))
ret = valid_bind ret = input_joypad_analog_button(
? input_joypad_analog_button(
p_rarch, settings, p_rarch, settings,
joypad, &joypad_info, joypad, &joypad_info,
port, idx, id, p_rarch->libretro_input_binds[port]) port, idx, id, p_rarch->libretro_input_binds[port]);
: 0; }
} }
} }
else else