diff --git a/gfx/video_state_python.c b/gfx/video_state_python.c index b8e077b58e..aab7061c3f 100644 --- a/gfx/video_state_python.c +++ b/gfx/video_state_python.c @@ -89,28 +89,14 @@ static PyObject* py_read_vram(PyObject *self, PyObject *args) static PyObject *py_read_input(PyObject *self, PyObject *args) { - unsigned user, key; + unsigned user, key, i; + const struct retro_keybind *py_binds[MAX_USERS]; int16_t res = 0; driver_t *driver = driver_get_ptr(); settings_t *settings = config_get_ptr(); - const struct retro_keybind *py_binds[MAX_USERS] = { - settings->input.binds[0], - settings->input.binds[1], - settings->input.binds[2], - settings->input.binds[3], - settings->input.binds[4], - settings->input.binds[5], - settings->input.binds[6], - settings->input.binds[7], - settings->input.binds[8], - settings->input.binds[9], - settings->input.binds[10], - settings->input.binds[11], - settings->input.binds[12], - settings->input.binds[13], - settings->input.binds[14], - settings->input.binds[15], - }; + + for (i = 0; i < MAX_USERS; i++) + py_binds[i] = settings->input.binds[i]; (void)self; diff --git a/gfx/video_state_tracker.c b/gfx/video_state_tracker.c index 05af2fcca9..638193f7cd 100644 --- a/gfx/video_state_tracker.c +++ b/gfx/video_state_tracker.c @@ -249,6 +249,21 @@ static void state_tracker_update_element( } } +static const unsigned buttons[] = { + RETRO_DEVICE_ID_JOYPAD_R, + RETRO_DEVICE_ID_JOYPAD_L, + RETRO_DEVICE_ID_JOYPAD_X, + RETRO_DEVICE_ID_JOYPAD_A, + RETRO_DEVICE_ID_JOYPAD_RIGHT, + RETRO_DEVICE_ID_JOYPAD_LEFT, + RETRO_DEVICE_ID_JOYPAD_DOWN, + RETRO_DEVICE_ID_JOYPAD_UP, + RETRO_DEVICE_ID_JOYPAD_START, + RETRO_DEVICE_ID_JOYPAD_SELECT, + RETRO_DEVICE_ID_JOYPAD_Y, + RETRO_DEVICE_ID_JOYPAD_B, +}; + /** * state_tracker_update_input: * @tracker : State tracker handle. @@ -258,30 +273,14 @@ static void state_tracker_update_element( static void state_tracker_update_input(state_tracker_t *tracker) { unsigned i; + const struct retro_keybind *binds[MAX_USERS];; uint16_t state[2] = {0}; settings_t *settings = config_get_ptr(); - - static const unsigned buttons[] = { - RETRO_DEVICE_ID_JOYPAD_R, - RETRO_DEVICE_ID_JOYPAD_L, - RETRO_DEVICE_ID_JOYPAD_X, - RETRO_DEVICE_ID_JOYPAD_A, - RETRO_DEVICE_ID_JOYPAD_RIGHT, - RETRO_DEVICE_ID_JOYPAD_LEFT, - RETRO_DEVICE_ID_JOYPAD_DOWN, - RETRO_DEVICE_ID_JOYPAD_UP, - RETRO_DEVICE_ID_JOYPAD_START, - RETRO_DEVICE_ID_JOYPAD_SELECT, - RETRO_DEVICE_ID_JOYPAD_Y, - RETRO_DEVICE_ID_JOYPAD_B, - }; + driver_t *driver = driver_get_ptr(); /* Only bind for up to two players for now. */ - const struct retro_keybind *binds[2] = { - settings->input.binds[0], - settings->input.binds[1], - }; - driver_t *driver = driver_get_ptr(); + for (i = 0; i < MAX_USERS; i++) + binds[i] = settings->input.binds[i]; if (!driver->input) return;