mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Reimplement deferred push input options
This commit is contained in:
parent
4d189d38c9
commit
65c048b611
@ -96,19 +96,6 @@ void menu_build_scroll_indices(file_list_t *list)
|
||||
list->size - 1;
|
||||
}
|
||||
|
||||
static void add_setting_entry(menu_handle_t *menu,
|
||||
file_list_t *list,
|
||||
const char *label, unsigned id,
|
||||
rarch_setting_t *settings)
|
||||
{
|
||||
rarch_setting_t *setting = (rarch_setting_t*)
|
||||
setting_data_find_setting(settings, label);
|
||||
|
||||
if (setting)
|
||||
file_list_push(list, setting->short_description,
|
||||
setting->name, id, 0);
|
||||
}
|
||||
|
||||
void menu_entries_pop_list(file_list_t *list)
|
||||
{
|
||||
if (file_list_get_size(list) > 1)
|
||||
@ -177,32 +164,6 @@ int push_list(menu_handle_t *menu,
|
||||
setting->name, setting_set_flags(setting), 0);
|
||||
}
|
||||
}
|
||||
else if (!strcmp(label, "Input Options"))
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
settings_list_free(menu->list_settings);
|
||||
menu->list_settings = (rarch_setting_t *)setting_data_new(SL_FLAG_ALL_SETTINGS);
|
||||
|
||||
file_list_clear(list);
|
||||
file_list_push(list, "Player", "input_bind_player_no", 0, 0);
|
||||
file_list_push(list, "Device", "input_bind_device_id", 0, 0);
|
||||
file_list_push(list, "Device Type", "input_bind_device_type", 0, 0);
|
||||
file_list_push(list, "Analog D-pad Mode", "input_bind_analog_dpad_mode", 0, 0);
|
||||
add_setting_entry(menu,list,"input_axis_threshold", 0, menu->list_settings);
|
||||
add_setting_entry(menu,list,"input_autodetect_enable", 0, menu->list_settings);
|
||||
add_setting_entry(menu,list,"input_turbo_period", 0, menu->list_settings);
|
||||
add_setting_entry(menu,list,"input_duty_cycle", 0, menu->list_settings);
|
||||
file_list_push(list, "Bind Mode", "",
|
||||
MENU_SETTINGS_CUSTOM_BIND_MODE, 0);
|
||||
file_list_push(list, "Configure All (RetroPad)", "",
|
||||
MENU_SETTINGS_CUSTOM_BIND_ALL, 0);
|
||||
file_list_push(list, "Default All (RetroPad)", "",
|
||||
MENU_SETTINGS_CUSTOM_BIND_DEFAULT_ALL, 0);
|
||||
add_setting_entry(menu,list,"osk_enable", 0, menu->list_settings);
|
||||
for (i = MENU_SETTINGS_BIND_BEGIN; i <= MENU_SETTINGS_BIND_ALL_LAST; i++)
|
||||
add_setting_entry(menu, list, input_config_bind_map[i - MENU_SETTINGS_BIND_BEGIN].base, i, menu->list_settings);
|
||||
}
|
||||
|
||||
if (driver.menu_ctx && driver.menu_ctx->populate_entries)
|
||||
driver.menu_ctx->populate_entries(menu, path, label, menu_type);
|
||||
|
@ -1623,16 +1623,60 @@ static int deferred_push_category(void *data, void *userdata,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void add_setting_entry(menu_handle_t *menu,
|
||||
file_list_t *list,
|
||||
const char *label, unsigned id,
|
||||
rarch_setting_t *settings)
|
||||
{
|
||||
rarch_setting_t *setting = (rarch_setting_t*)
|
||||
setting_data_find_setting(settings, label);
|
||||
|
||||
if (setting)
|
||||
file_list_push(list, setting->short_description,
|
||||
setting->name, id, 0);
|
||||
}
|
||||
|
||||
static int deferred_push_input_options(void *data, void *userdata,
|
||||
const char *path, const char *label, unsigned type)
|
||||
{
|
||||
unsigned i;
|
||||
file_list_t *list = (file_list_t*)data;
|
||||
file_list_t *menu_list = (file_list_t*)userdata;
|
||||
|
||||
if (!list || !menu_list)
|
||||
return -1;
|
||||
|
||||
return push_list(driver.menu, list, path, label, type);
|
||||
settings_list_free(driver.menu->list_settings);
|
||||
driver.menu->list_settings = (rarch_setting_t *)setting_data_new(SL_FLAG_ALL_SETTINGS);
|
||||
|
||||
file_list_clear(list);
|
||||
file_list_push(list, "Player", "input_bind_player_no", 0, 0);
|
||||
file_list_push(list, "Device", "input_bind_device_id", 0, 0);
|
||||
file_list_push(list, "Device Type", "input_bind_device_type", 0, 0);
|
||||
file_list_push(list, "Analog D-pad Mode", "input_bind_analog_dpad_mode", 0, 0);
|
||||
add_setting_entry(driver.menu,list,"input_axis_threshold", 0, driver.menu->list_settings);
|
||||
add_setting_entry(driver.menu,list,"input_autodetect_enable", 0, driver.menu->list_settings);
|
||||
add_setting_entry(driver.menu,list,"input_turbo_period", 0, driver.menu->list_settings);
|
||||
add_setting_entry(driver.menu,list,"input_duty_cycle", 0, driver.menu->list_settings);
|
||||
file_list_push(list, "Bind Mode", "",
|
||||
MENU_SETTINGS_CUSTOM_BIND_MODE, 0);
|
||||
file_list_push(list, "Configure All (RetroPad)", "",
|
||||
MENU_SETTINGS_CUSTOM_BIND_ALL, 0);
|
||||
file_list_push(list, "Default All (RetroPad)", "",
|
||||
MENU_SETTINGS_CUSTOM_BIND_DEFAULT_ALL, 0);
|
||||
add_setting_entry(driver.menu,list,"osk_enable", 0, driver.menu->list_settings);
|
||||
for (i = MENU_SETTINGS_BIND_BEGIN; i <= MENU_SETTINGS_BIND_ALL_LAST; i++)
|
||||
add_setting_entry(
|
||||
driver.menu,
|
||||
list,
|
||||
input_config_bind_map[i - MENU_SETTINGS_BIND_BEGIN].base,
|
||||
i,
|
||||
driver.menu->list_settings);
|
||||
|
||||
if (driver.menu_ctx && driver.menu_ctx->populate_entries)
|
||||
driver.menu_ctx->populate_entries(driver.menu, path, label, type);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int deferred_push_shader_options(void *data, void *userdata,
|
||||
|
Loading…
x
Reference in New Issue
Block a user