mirror of
https://github.com/libretro/RetroArch
synced 2025-04-09 21:45:45 +00:00
Refactor old_state out of meta_input_keys_pressed into rarch_main_iterate
This commit is contained in:
parent
043cfdbb43
commit
0c104ffef8
@ -1625,22 +1625,16 @@ retro_input_t input_keys_pressed(unsigned key,
|
|||||||
* from the specified key up until the last queryable key
|
* from the specified key up until the last queryable key
|
||||||
* (key_end).
|
* (key_end).
|
||||||
*
|
*
|
||||||
* Because this function keeps a copy of the old input state,
|
|
||||||
* it should only be called once per frame (currently in
|
|
||||||
* rarch_main_iterate);
|
|
||||||
*
|
|
||||||
* TODO: In case RARCH_BIND_LIST_END starts exceeding 64,
|
* TODO: In case RARCH_BIND_LIST_END starts exceeding 64,
|
||||||
* and you need a bitmask of more than 64 entries, don't
|
* and you need a bitmask of more than 64 entries, don't
|
||||||
* use this function.
|
* use this function.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
retro_input_t meta_input_keys_pressed(unsigned key,
|
retro_input_t meta_input_keys_pressed(unsigned key,
|
||||||
unsigned key_end, retro_input_t *old_state)
|
unsigned key_end)
|
||||||
{
|
{
|
||||||
static retro_input_t old_ret = 0;
|
|
||||||
static const struct retro_keybind *binds[] = { g_settings.input.binds[0] };
|
static const struct retro_keybind *binds[] = { g_settings.input.binds[0] };
|
||||||
retro_input_t ret = 0;
|
retro_input_t ret = 0;
|
||||||
*old_state = old_ret;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
#ifdef RARCH_INTERNAL
|
#ifdef RARCH_INTERNAL
|
||||||
@ -1680,8 +1674,6 @@ retro_input_t meta_input_keys_pressed(unsigned key,
|
|||||||
for (i = 0; i < MAX_PLAYERS; i++)
|
for (i = 0; i < MAX_PLAYERS; i++)
|
||||||
input_pop_analog_dpad(g_settings.input.autoconf_binds[i]);
|
input_pop_analog_dpad(g_settings.input.autoconf_binds[i]);
|
||||||
|
|
||||||
old_ret = ret;
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -216,7 +216,7 @@ retro_input_t input_keys_pressed(unsigned key,
|
|||||||
unsigned key_end, const struct retro_keybind **binds);
|
unsigned key_end, const struct retro_keybind **binds);
|
||||||
|
|
||||||
retro_input_t meta_input_keys_pressed(unsigned key,
|
retro_input_t meta_input_keys_pressed(unsigned key,
|
||||||
unsigned key_end, retro_input_t *old_state);
|
unsigned key_end);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -3229,9 +3229,13 @@ static bool do_menu_oneshot(
|
|||||||
bool rarch_main_iterate(void)
|
bool rarch_main_iterate(void)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
static retro_input_t last_input = 0;
|
||||||
retro_input_t old_input, trigger_input;
|
retro_input_t old_input, trigger_input;
|
||||||
retro_input_t input = meta_input_keys_pressed(0,
|
retro_input_t input = meta_input_keys_pressed(0,
|
||||||
RARCH_BIND_LIST_END, &old_input);
|
RARCH_BIND_LIST_END);
|
||||||
|
|
||||||
|
old_input = last_input;
|
||||||
|
last_input = input;
|
||||||
|
|
||||||
if (driver.flushing_input)
|
if (driver.flushing_input)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user