diff --git a/Makefile.common b/Makefile.common
index 4281d26f33..b1ae43d02c 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -275,7 +275,6 @@ OBJ += \
ifeq ($(HAVE_CONFIGFILE), 1)
DEFINES += -DHAVE_CONFIGFILE
- OBJ += input/input_remapping.o
endif
ifeq ($(HAVE_BLISSBOX), 1)
diff --git a/configuration.c b/configuration.c
index f28e885e62..19fac054b3 100644
--- a/configuration.c
+++ b/configuration.c
@@ -2,7 +2,7 @@
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2017 - Daniel De Matteis
* Copyright (C) 2014-2017 - Jean-André Santoni
- * Copyright (C) 2015-2019 - Andrés Suárez
+ * Copyright (C) 2015-2019 - Andrés Suárez (input remapping + other things)
* Copyright (C) 2016-2019 - Brad Parker
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
@@ -629,6 +629,10 @@ static void config_parse_file(global_t *global);
struct defaults g_defaults;
+/* TODO/FIXME - static public global variables */
+static unsigned old_analog_dpad_mode[MAX_USERS];
+static unsigned old_libretro_device[MAX_USERS];
+
/**
* config_get_default_audio:
*
@@ -4304,4 +4308,288 @@ bool config_replace(bool config_replace_save_on_exit, char *path)
return task_push_start_dummy_core(&content_info);
}
+
+/**
+ * input_remapping_load_file:
+ * @data : Path to config file.
+ *
+ * Loads a remap file from disk to memory.
+ *
+ * Returns: true (1) if successful, otherwise false (0).
+ **/
+bool input_remapping_load_file(void *data, const char *path)
+{
+ unsigned i, j, k;
+ config_file_t *conf = (config_file_t*)data;
+ settings_t *settings = config_get_ptr();
+ global_t *global = global_get_ptr();
+
+ if (!conf || string_is_empty(path))
+ return false;
+
+ if (!string_is_empty(global->name.remapfile))
+ input_remapping_set_defaults(true);
+ global->name.remapfile = strdup(path);
+
+ for (i = 0; i < MAX_USERS; i++)
+ {
+ char s1[64], s2[64], s3[64];
+ char btn_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}};
+ char key_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}};
+ char stk_ident[8][192] = {{0}};
+
+ char key_strings[RARCH_FIRST_CUSTOM_BIND + 8][128] = {
+ "b", "y", "select", "start",
+ "up", "down", "left", "right",
+ "a", "x", "l", "r", "l2", "r2",
+ "l3", "r3", "l_x+", "l_x-", "l_y+", "l_y-", "r_x+", "r_x-", "r_y+", "r_y-" };
+
+ old_analog_dpad_mode[i] = settings->uints.input_analog_dpad_mode[i];
+ old_libretro_device[i] = settings->uints.input_libretro_device[i];
+
+ s1[0] = '\0';
+ s2[0] = '\0';
+ s3[0] = '\0';
+
+ snprintf(s1, sizeof(s1), "input_player%u_btn", i + 1);
+ snprintf(s2, sizeof(s2), "input_player%u_key", i + 1);
+ snprintf(s3, sizeof(s3), "input_player%u_stk", i + 1);
+
+ for (j = 0; j < RARCH_FIRST_CUSTOM_BIND + 8; j++)
+ {
+ if (j < RARCH_FIRST_CUSTOM_BIND)
+ {
+ int btn_remap = -1;
+ int key_remap = -1;
+
+ fill_pathname_join_delim(btn_ident[j], s1,
+ key_strings[j], '_', sizeof(btn_ident[j]));
+ fill_pathname_join_delim(key_ident[j], s2,
+ key_strings[j], '_', sizeof(btn_ident[j]));
+
+ if (config_get_int(conf, btn_ident[j], &btn_remap))
+ {
+ if (btn_remap == -1)
+ btn_remap = RARCH_UNMAPPED;
+
+ configuration_set_uint(settings,
+ settings->uints.input_remap_ids[i][j], btn_remap);
+ }
+
+ if (!config_get_int(conf, key_ident[j], &key_remap))
+ key_remap = RETROK_UNKNOWN;
+
+ configuration_set_uint(settings,
+ settings->uints.input_keymapper_ids[i][j], key_remap);
+ }
+ else
+ {
+ int stk_remap = -1;
+ k = j - RARCH_FIRST_CUSTOM_BIND;
+
+ fill_pathname_join_delim(stk_ident[k], s3,
+ key_strings[j], '$', sizeof(stk_ident[k]));
+
+ snprintf(stk_ident[k],
+ sizeof(stk_ident[k]),
+ "%s_%s",
+ s3,
+ key_strings[j]);
+
+ if (config_get_int(conf, stk_ident[k], &stk_remap))
+ {
+ if (stk_remap == -1)
+ stk_remap = RARCH_UNMAPPED;
+
+ configuration_set_uint(settings,
+ settings->uints.input_remap_ids[i][j], stk_remap);
+ }
+ }
+ }
+
+ snprintf(s1, sizeof(s1), "input_player%u_analog_dpad_mode", i + 1);
+ CONFIG_GET_INT_BASE(conf, settings, uints.input_analog_dpad_mode[i], s1);
+
+ snprintf(s1, sizeof(s1), "input_libretro_device_p%u", i + 1);
+ CONFIG_GET_INT_BASE(conf, settings, uints.input_libretro_device[i], s1);
+ }
+
+ config_file_free(conf);
+
+ return true;
+}
+
+/**
+ * input_remapping_save_file:
+ * @path : Path to remapping file (relative path).
+ *
+ * Saves remapping values to file.
+ *
+ * Returns: true (1) if successful, otherwise false (0).
+ **/
+bool input_remapping_save_file(const char *path)
+{
+ bool ret;
+ unsigned i, j, k;
+ size_t path_size = PATH_MAX_LENGTH * sizeof(char);
+ char *buf = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
+ char *remap_file = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
+ config_file_t *conf = NULL;
+ unsigned max_users = *(input_driver_get_uint(INPUT_ACTION_MAX_USERS));
+ settings_t *settings = config_get_ptr();
+ const char *dir_input_remapping = settings->paths.directory_input_remapping;
+
+ buf[0] = remap_file[0] = '\0';
+
+ fill_pathname_join(buf, dir_input_remapping, path, path_size);
+ fill_pathname_noext(remap_file, buf, ".rmp", path_size);
+
+ free(buf);
+
+ if (!(conf = config_file_new_from_path_to_string(remap_file)))
+ {
+ if (!(conf = config_file_new_alloc()))
+ {
+ free(remap_file);
+ return false;
+ }
+ }
+
+ for (i = 0; i < max_users; i++)
+ {
+ char s1[64], s2[64], s3[64];
+ char btn_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}};
+ char key_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}};
+ char stk_ident[8][128] = {{0}};
+
+ char key_strings[RARCH_FIRST_CUSTOM_BIND + 8][128] = {
+ "b", "y", "select", "start",
+ "up", "down", "left", "right",
+ "a", "x", "l", "r", "l2", "r2",
+ "l3", "r3", "l_x+", "l_x-", "l_y+", "l_y-", "r_x+", "r_x-", "r_y+", "r_y-" };
+
+ s1[0] = '\0';
+ s2[0] = '\0';
+
+ snprintf(s1, sizeof(s1), "input_player%u_btn", i + 1);
+ snprintf(s2, sizeof(s2), "input_player%u_key", i + 1);
+ snprintf(s3, sizeof(s1), "input_player%u_stk", i + 1);
+
+ for (j = 0; j < RARCH_FIRST_CUSTOM_BIND + 8; j++)
+ {
+ unsigned remap_id = settings->uints.input_remap_ids[i][j];
+ unsigned keymap_id = settings->uints.input_keymapper_ids[i][j];
+
+ if (j < RARCH_FIRST_CUSTOM_BIND)
+ {
+ fill_pathname_join_delim(btn_ident[j], s1,
+ key_strings[j], '_', sizeof(btn_ident[j]));
+ fill_pathname_join_delim(key_ident[j], s2,
+ key_strings[j], '_', sizeof(btn_ident[j]));
+
+ /* only save values that have been modified */
+ if (remap_id != j && remap_id != RARCH_UNMAPPED)
+ config_set_int(conf, btn_ident[j],
+ settings->uints.input_remap_ids[i][j]);
+ else if (remap_id != j && remap_id == RARCH_UNMAPPED)
+ config_set_int(conf, btn_ident[j], -1);
+ else
+ config_unset(conf, btn_ident[j]);
+
+ if (keymap_id != RETROK_UNKNOWN)
+ config_set_int(conf, key_ident[j],
+ settings->uints.input_keymapper_ids[i][j]);
+ }
+ else
+ {
+ k = j - RARCH_FIRST_CUSTOM_BIND;
+ fill_pathname_join_delim(stk_ident[k], s3,
+ key_strings[j], '_', sizeof(stk_ident[k]));
+ if (remap_id != j && remap_id != RARCH_UNMAPPED)
+ config_set_int(conf, stk_ident[k],
+ settings->uints.input_remap_ids[i][j]);
+ else if (remap_id != j && remap_id == RARCH_UNMAPPED)
+ config_set_int(conf, stk_ident[k],
+ -1);
+ else
+ config_unset(conf, stk_ident[k]);
+ }
+ }
+
+ snprintf(s1, sizeof(s1), "input_libretro_device_p%u", i + 1);
+ config_set_int(conf, s1, input_config_get_device(i));
+ snprintf(s1, sizeof(s1), "input_player%u_analog_dpad_mode", i + 1);
+ config_set_int(conf, s1, settings->uints.input_analog_dpad_mode[i]);
+ }
+
+ ret = config_file_write(conf, remap_file, true);
+ config_file_free(conf);
+
+ free(remap_file);
+ return ret;
+}
+
+bool input_remapping_remove_file(const char *path,
+ const char *dir_input_remapping)
+{
+ bool ret = false;
+ size_t path_size = PATH_MAX_LENGTH * sizeof(char);
+ char *buf = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
+ char *remap_file = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
+ buf[0] = remap_file[0] = '\0';
+
+ fill_pathname_join(buf, dir_input_remapping, path, path_size);
+ fill_pathname_noext(remap_file, buf, ".rmp", path_size);
+
+ ret = filestream_delete(remap_file) == 0 ? true : false;
+ free(buf);
+ free(remap_file);
+ return ret;
+}
+
+void input_remapping_set_defaults(bool deinit)
+{
+ unsigned i, j;
+ settings_t *settings = config_get_ptr();
+ global_t *global = global_get_ptr();
+
+ if (!global)
+ return;
+
+ if (deinit)
+ {
+ if (!string_is_empty(global->name.remapfile))
+ free(global->name.remapfile);
+ global->name.remapfile = NULL;
+ rarch_ctl(RARCH_CTL_UNSET_REMAPS_CORE_ACTIVE, NULL);
+ rarch_ctl(RARCH_CTL_UNSET_REMAPS_CONTENT_DIR_ACTIVE, NULL);
+ rarch_ctl(RARCH_CTL_UNSET_REMAPS_GAME_ACTIVE, NULL);
+ }
+
+ for (i = 0; i < MAX_USERS; i++)
+ {
+ for (j = 0; j < RARCH_FIRST_CUSTOM_BIND + 8; j++)
+ {
+ if (j < RARCH_FIRST_CUSTOM_BIND)
+ {
+ const struct retro_keybind *keybind = &input_config_binds[i][j];
+ if (keybind)
+ configuration_set_uint(settings,
+ settings->uints.input_remap_ids[i][j], keybind->id);
+ configuration_set_uint(settings,
+ settings->uints.input_keymapper_ids[i][j], RETROK_UNKNOWN);
+ }
+ else
+ configuration_set_uint(settings,
+ settings->uints.input_remap_ids[i][j], j);
+ }
+
+ if (old_analog_dpad_mode[i])
+ configuration_set_uint(settings,
+ settings->uints.input_analog_dpad_mode[i], old_analog_dpad_mode[i]);
+ if (old_libretro_device[i])
+ configuration_set_uint(settings,
+ settings->uints.input_libretro_device[i], old_libretro_device[i]);
+ }
+}
#endif
diff --git a/griffin/griffin.c b/griffin/griffin.c
index 8e51799002..05bf7d7bcf 100644
--- a/griffin/griffin.c
+++ b/griffin/griffin.c
@@ -632,9 +632,6 @@ INPUT
#include "../tasks/task_audio_mixer.c"
#endif
#include "../input/input_keymaps.c"
-#ifdef HAVE_CONFIGFILE
-#include "../input/input_remapping.c"
-#endif
#ifdef HAVE_OVERLAY
#include "../led/drivers/led_overlay.c"
diff --git a/input/input_remapping.c b/input/input_remapping.c
deleted file mode 100644
index ec66f9f985..0000000000
--- a/input/input_remapping.c
+++ /dev/null
@@ -1,313 +0,0 @@
-/* RetroArch - A frontend for libretro.
- * Copyright (C) 2011-2017 - Daniel De Matteis
- * Copyright (C) 2016-2019 - Andrés Suárez
- *
- * RetroArch is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Found-
- * ation, either version 3 of the License, or (at your option) any later version.
- *
- * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with RetroArch.
- * If not, see .
- */
-
-#include
-#include
-#include
-#include
-#include
-
-#include "input_remapping.h"
-#include "../configuration.h"
-#include "../retroarch.h"
-
-/* TODO/FIXME - static public global variables */
-static unsigned old_analog_dpad_mode[MAX_USERS];
-static unsigned old_libretro_device[MAX_USERS];
-
-/**
- * input_remapping_load_file:
- * @data : Path to config file.
- *
- * Loads a remap file from disk to memory.
- *
- * Returns: true (1) if successful, otherwise false (0).
- **/
-bool input_remapping_load_file(void *data, const char *path)
-{
- unsigned i, j, k;
- config_file_t *conf = (config_file_t*)data;
- settings_t *settings = config_get_ptr();
- global_t *global = global_get_ptr();
-
- if (!conf || string_is_empty(path))
- return false;
-
- if (!string_is_empty(global->name.remapfile))
- input_remapping_set_defaults(true);
- global->name.remapfile = strdup(path);
-
- for (i = 0; i < MAX_USERS; i++)
- {
- char s1[64], s2[64], s3[64];
- char btn_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}};
- char key_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}};
- char stk_ident[8][192] = {{0}};
-
- char key_strings[RARCH_FIRST_CUSTOM_BIND + 8][128] = {
- "b", "y", "select", "start",
- "up", "down", "left", "right",
- "a", "x", "l", "r", "l2", "r2",
- "l3", "r3", "l_x+", "l_x-", "l_y+", "l_y-", "r_x+", "r_x-", "r_y+", "r_y-" };
-
- old_analog_dpad_mode[i] = settings->uints.input_analog_dpad_mode[i];
- old_libretro_device[i] = settings->uints.input_libretro_device[i];
-
- s1[0] = '\0';
- s2[0] = '\0';
- s3[0] = '\0';
-
- snprintf(s1, sizeof(s1), "input_player%u_btn", i + 1);
- snprintf(s2, sizeof(s2), "input_player%u_key", i + 1);
- snprintf(s3, sizeof(s3), "input_player%u_stk", i + 1);
-
- for (j = 0; j < RARCH_FIRST_CUSTOM_BIND + 8; j++)
- {
- if (j < RARCH_FIRST_CUSTOM_BIND)
- {
- int btn_remap = -1;
- int key_remap = -1;
-
- fill_pathname_join_delim(btn_ident[j], s1,
- key_strings[j], '_', sizeof(btn_ident[j]));
- fill_pathname_join_delim(key_ident[j], s2,
- key_strings[j], '_', sizeof(btn_ident[j]));
-
- if (config_get_int(conf, btn_ident[j], &btn_remap))
- {
- if (btn_remap == -1)
- btn_remap = RARCH_UNMAPPED;
-
- configuration_set_uint(settings,
- settings->uints.input_remap_ids[i][j], btn_remap);
- }
-
- if (!config_get_int(conf, key_ident[j], &key_remap))
- key_remap = RETROK_UNKNOWN;
-
- configuration_set_uint(settings,
- settings->uints.input_keymapper_ids[i][j], key_remap);
- }
- else
- {
- int stk_remap = -1;
- k = j - RARCH_FIRST_CUSTOM_BIND;
-
- fill_pathname_join_delim(stk_ident[k], s3,
- key_strings[j], '$', sizeof(stk_ident[k]));
-
- snprintf(stk_ident[k],
- sizeof(stk_ident[k]),
- "%s_%s",
- s3,
- key_strings[j]);
-
- if (config_get_int(conf, stk_ident[k], &stk_remap))
- {
- if (stk_remap == -1)
- stk_remap = RARCH_UNMAPPED;
-
- configuration_set_uint(settings,
- settings->uints.input_remap_ids[i][j], stk_remap);
- }
- }
- }
-
- snprintf(s1, sizeof(s1), "input_player%u_analog_dpad_mode", i + 1);
- CONFIG_GET_INT_BASE(conf, settings, uints.input_analog_dpad_mode[i], s1);
-
- snprintf(s1, sizeof(s1), "input_libretro_device_p%u", i + 1);
- CONFIG_GET_INT_BASE(conf, settings, uints.input_libretro_device[i], s1);
- }
-
- config_file_free(conf);
-
- return true;
-}
-
-/**
- * input_remapping_save_file:
- * @path : Path to remapping file (relative path).
- *
- * Saves remapping values to file.
- *
- * Returns: true (1) if successful, otherwise false (0).
- **/
-bool input_remapping_save_file(const char *path)
-{
- bool ret;
- unsigned i, j, k;
- size_t path_size = PATH_MAX_LENGTH * sizeof(char);
- char *buf = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
- char *remap_file = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
- config_file_t *conf = NULL;
- unsigned max_users = *(input_driver_get_uint(INPUT_ACTION_MAX_USERS));
- settings_t *settings = config_get_ptr();
- const char *dir_input_remapping = settings->paths.directory_input_remapping;
-
- buf[0] = remap_file[0] = '\0';
-
- fill_pathname_join(buf, dir_input_remapping, path, path_size);
- fill_pathname_noext(remap_file, buf, ".rmp", path_size);
-
- free(buf);
-
- if (!(conf = config_file_new_from_path_to_string(remap_file)))
- {
- if (!(conf = config_file_new_alloc()))
- {
- free(remap_file);
- return false;
- }
- }
-
- for (i = 0; i < max_users; i++)
- {
- char s1[64], s2[64], s3[64];
- char btn_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}};
- char key_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}};
- char stk_ident[8][128] = {{0}};
-
- char key_strings[RARCH_FIRST_CUSTOM_BIND + 8][128] = {
- "b", "y", "select", "start",
- "up", "down", "left", "right",
- "a", "x", "l", "r", "l2", "r2",
- "l3", "r3", "l_x+", "l_x-", "l_y+", "l_y-", "r_x+", "r_x-", "r_y+", "r_y-" };
-
- s1[0] = '\0';
- s2[0] = '\0';
-
- snprintf(s1, sizeof(s1), "input_player%u_btn", i + 1);
- snprintf(s2, sizeof(s2), "input_player%u_key", i + 1);
- snprintf(s3, sizeof(s1), "input_player%u_stk", i + 1);
-
- for (j = 0; j < RARCH_FIRST_CUSTOM_BIND + 8; j++)
- {
- unsigned remap_id = settings->uints.input_remap_ids[i][j];
- unsigned keymap_id = settings->uints.input_keymapper_ids[i][j];
-
- if (j < RARCH_FIRST_CUSTOM_BIND)
- {
- fill_pathname_join_delim(btn_ident[j], s1,
- key_strings[j], '_', sizeof(btn_ident[j]));
- fill_pathname_join_delim(key_ident[j], s2,
- key_strings[j], '_', sizeof(btn_ident[j]));
-
- /* only save values that have been modified */
- if (remap_id != j && remap_id != RARCH_UNMAPPED)
- config_set_int(conf, btn_ident[j],
- settings->uints.input_remap_ids[i][j]);
- else if (remap_id != j && remap_id == RARCH_UNMAPPED)
- config_set_int(conf, btn_ident[j], -1);
- else
- config_unset(conf, btn_ident[j]);
-
- if (keymap_id != RETROK_UNKNOWN)
- config_set_int(conf, key_ident[j],
- settings->uints.input_keymapper_ids[i][j]);
- }
- else
- {
- k = j - RARCH_FIRST_CUSTOM_BIND;
- fill_pathname_join_delim(stk_ident[k], s3,
- key_strings[j], '_', sizeof(stk_ident[k]));
- if (remap_id != j && remap_id != RARCH_UNMAPPED)
- config_set_int(conf, stk_ident[k],
- settings->uints.input_remap_ids[i][j]);
- else if (remap_id != j && remap_id == RARCH_UNMAPPED)
- config_set_int(conf, stk_ident[k],
- -1);
- else
- config_unset(conf, stk_ident[k]);
- }
- }
-
- snprintf(s1, sizeof(s1), "input_libretro_device_p%u", i + 1);
- config_set_int(conf, s1, input_config_get_device(i));
- snprintf(s1, sizeof(s1), "input_player%u_analog_dpad_mode", i + 1);
- config_set_int(conf, s1, settings->uints.input_analog_dpad_mode[i]);
- }
-
- ret = config_file_write(conf, remap_file, true);
- config_file_free(conf);
-
- free(remap_file);
- return ret;
-}
-
-bool input_remapping_remove_file(const char *path,
- const char *dir_input_remapping)
-{
- bool ret = false;
- size_t path_size = PATH_MAX_LENGTH * sizeof(char);
- char *buf = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
- char *remap_file = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
- buf[0] = remap_file[0] = '\0';
-
- fill_pathname_join(buf, dir_input_remapping, path, path_size);
- fill_pathname_noext(remap_file, buf, ".rmp", path_size);
-
- ret = filestream_delete(remap_file) == 0 ? true : false;
- free(buf);
- free(remap_file);
- return ret;
-}
-
-void input_remapping_set_defaults(bool deinit)
-{
- unsigned i, j;
- settings_t *settings = config_get_ptr();
- global_t *global = global_get_ptr();
-
- if (!global)
- return;
-
- if (deinit)
- {
- if (!string_is_empty(global->name.remapfile))
- free(global->name.remapfile);
- global->name.remapfile = NULL;
- rarch_ctl(RARCH_CTL_UNSET_REMAPS_CORE_ACTIVE, NULL);
- rarch_ctl(RARCH_CTL_UNSET_REMAPS_CONTENT_DIR_ACTIVE, NULL);
- rarch_ctl(RARCH_CTL_UNSET_REMAPS_GAME_ACTIVE, NULL);
- }
-
- for (i = 0; i < MAX_USERS; i++)
- {
- for (j = 0; j < RARCH_FIRST_CUSTOM_BIND + 8; j++)
- {
- if (j < RARCH_FIRST_CUSTOM_BIND)
- {
- const struct retro_keybind *keybind = &input_config_binds[i][j];
- if (keybind)
- configuration_set_uint(settings,
- settings->uints.input_remap_ids[i][j], keybind->id);
- configuration_set_uint(settings,
- settings->uints.input_keymapper_ids[i][j], RETROK_UNKNOWN);
- }
- else
- configuration_set_uint(settings,
- settings->uints.input_remap_ids[i][j], j);
- }
-
- if (old_analog_dpad_mode[i])
- configuration_set_uint(settings,
- settings->uints.input_analog_dpad_mode[i], old_analog_dpad_mode[i]);
- if (old_libretro_device[i])
- configuration_set_uint(settings,
- settings->uints.input_libretro_device[i], old_libretro_device[i]);
- }
-}