Push analog dpad mode for autoconfig as well.

This commit is contained in:
Themaister 2014-01-08 17:47:07 +01:00
parent f57a1aa032
commit f6643fe12d
4 changed files with 20 additions and 0 deletions

View File

@ -490,6 +490,8 @@ static uint64_t menu_input(void)
#endif
input_push_analog_dpad((struct retro_keybind*)binds[0], g_settings.input.analog_dpad_mode[0]);
for (i = 0; i < MAX_PLAYERS; i++)
input_push_analog_dpad(g_settings.input.autoconf_binds[i], g_settings.input.analog_dpad_mode[i]);
for (i = 0; i < RETRO_DEVICE_ID_JOYPAD_R2; i++)
{
@ -503,6 +505,8 @@ static uint64_t menu_input(void)
input_state |= input_key_pressed_func(RARCH_MENU_TOGGLE) ? (1ULL << RARCH_MENU_TOGGLE) : 0;
input_pop_analog_dpad((struct retro_keybind*)binds[0]);
for (i = 0; i < MAX_PLAYERS; i++)
input_pop_analog_dpad(g_settings.input.autoconf_binds[i]);
rgui->trigger_state = input_state & ~rgui->old_input_state;

View File

@ -339,12 +339,18 @@ float py_state_get(py_state_t *handle, const char *id,
{
unsigned i;
for (i = 0; i < MAX_PLAYERS; i++)
{
input_push_analog_dpad(g_settings.input.binds[i], g_settings.input.analog_dpad_mode[i]);
input_push_analog_dpad(g_settings.input.autoconf_binds[i], g_settings.input.analog_dpad_mode[i]);
}
PyObject *ret = PyObject_CallMethod(handle->inst, (char*)id, (char*)"I", frame_count);
for (i = 0; i < MAX_PLAYERS; i++)
{
input_pop_analog_dpad(g_settings.input.binds[i]);
input_pop_analog_dpad(g_settings.input.autoconf_binds[i]);
}
if (!ret)
{

View File

@ -247,6 +247,8 @@ static void update_input(state_tracker_t *tracker)
for (i = 0; i < 2; i++)
input_push_analog_dpad(g_settings.input.binds[i], g_settings.input.analog_dpad_mode[i]);
for (i = 0; i < MAX_PLAYERS; i++)
input_push_analog_dpad(g_settings.input.autoconf_binds[i], g_settings.input.analog_dpad_mode[i]);
uint16_t state[2] = {0};
for (i = 4; i < 16; i++)
@ -257,6 +259,8 @@ static void update_input(state_tracker_t *tracker)
for (i = 0; i < 2; i++)
input_pop_analog_dpad(g_settings.input.binds[i]);
for (i = 0; i < MAX_PLAYERS; i++)
input_pop_analog_dpad(g_settings.input.autoconf_binds[i]);
for (i = 0; i < 2; i++)
tracker->input_state[i] = state[i];

View File

@ -3208,14 +3208,20 @@ bool rarch_main_iterate(void)
// Update binds for analog dpad modes.
for (i = 0; i < MAX_PLAYERS; i++)
{
input_push_analog_dpad(g_settings.input.binds[i], g_settings.input.analog_dpad_mode[i]);
input_push_analog_dpad(g_settings.input.autoconf_binds[i], g_settings.input.analog_dpad_mode[i]);
}
update_frame_time();
pretro_run();
limit_frame_time();
for (i = 0; i < MAX_PLAYERS; i++)
{
input_pop_analog_dpad(g_settings.input.binds[i]);
input_pop_analog_dpad(g_settings.input.autoconf_binds[i]);
}
#ifdef HAVE_BSV_MOVIE
if (g_extern.bsv.movie)