int menu_cbs_init_bind_select(menu_file_list_cbs_t *cbs, const char *path, const char *label, unsigned type, size_t idx) { if (!cbs) return -1; BIND_ACTION_SELECT(cbs, action_select_default); if (cbs->setting) { uint64_t flags = cbs->setting->flags; if (flags & SD_FLAG_IS_DRIVER) { BIND_ACTION_SELECT(cbs, action_select_driver_setting); return 0; } } if ((type >= MENU_SETTINGS_CORE_OPTION_START)) { BIND_ACTION_SELECT(cbs, action_select_core_setting); return 0; } if (menu_cbs_init_bind_select_compare_label(cbs, label) == 0) return 0; if (menu_cbs_init_bind_select_compare_type(cbs, type) == 0) return 0; return -1; }
int menu_cbs_init_bind_select(menu_file_list_cbs_t *cbs, const char *path, const char *label, unsigned type, size_t idx) { if (!cbs) return -1; BIND_ACTION_SELECT(cbs, action_select_default); #ifdef HAVE_NETWORKING if (cbs->enum_idx == MENU_ENUM_LABEL_CONNECT_NETPLAY_ROOM) { BIND_ACTION_SELECT(cbs, action_select_netplay_connect_room); return 0; } #endif if (cbs->setting) { uint64_t flags = cbs->setting->flags; if (flags & SD_FLAG_IS_DRIVER) { BIND_ACTION_SELECT(cbs, action_select_driver_setting); return 0; } } if ((type >= MENU_SETTINGS_CORE_OPTION_START)) { BIND_ACTION_SELECT(cbs, action_select_core_setting); return 0; } if (menu_cbs_init_bind_select_compare_label(cbs, label) == 0) return 0; if (menu_cbs_init_bind_select_compare_type(cbs, type) == 0) return 0; return -1; }
int menu_cbs_init_bind_select(menu_file_list_cbs_t *cbs, const char *path, const char *label, unsigned type, size_t idx, const char *elem0, const char *elem1, uint32_t label_hash, uint32_t menu_label_hash) { if (!cbs) return -1; cbs->action_select = action_select_default; if ((type >= MENU_SETTINGS_CORE_OPTION_START)) { cbs->action_select = action_select_core_setting; return 0; } if (menu_cbs_init_bind_select_compare_label(cbs, label, label_hash, elem0) == 0) return 0; if (menu_cbs_init_bind_select_compare_type(cbs, type) == 0) return 0; return -1; }