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,19 +22226,22 @@ 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(
p_rarch, settings, if (valid_bind)
joypad_driver, &joypad_info[i], (unsigned)i, {
RETRO_DEVICE_INDEX_ANALOG_BUTTON, k, int16_t val =
p_rarch->libretro_input_binds[i]) input_joypad_analog_button(
: 0; p_rarch, settings,
joypad_driver, &joypad_info[i], (unsigned)i,
RETRO_DEVICE_INDEX_ANALOG_BUTTON, k,
p_rarch->libretro_input_binds[i]);
if (val)
p_new_state->analog_buttons[k] = val;
}
BIT256_SET_PTR(p_new_state, k); BIT256_SET_PTR(p_new_state, k);
if (val)
p_new_state->analog_buttons[k] = val;
} }
} }
@ -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 =
if (sec_joypad) p_rarch->libretro_input_binds[port][id].valid;
ret = valid_bind if (valid_bind)
? input_joypad_analog_button( {
p_rarch, settings, if (sec_joypad)
sec_joypad, &joypad_info, ret =
port, idx, id, p_rarch->libretro_input_binds[port]) input_joypad_analog_button(
: 0; p_rarch, settings,
if (joypad && (ret == 0)) sec_joypad, &joypad_info,
ret = valid_bind port, idx, id, p_rarch->libretro_input_binds[port]);
? input_joypad_analog_button( if (joypad && (ret == 0))
p_rarch, settings, ret = input_joypad_analog_button(
joypad, &joypad_info, p_rarch, settings,
port, idx, id, p_rarch->libretro_input_binds[port]) joypad, &joypad_info,
: 0; port, idx, id, p_rarch->libretro_input_binds[port]);
}
} }
} }
else else