mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Refactor menu_cbs_get_value.c
This commit is contained in:
parent
71f4ff6b84
commit
e7d2e7ebcb
@ -1590,195 +1590,207 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
|
||||
static int menu_cbs_init_bind_get_string_representation_compare_type(
|
||||
menu_file_list_cbs_t *cbs, unsigned type)
|
||||
{
|
||||
unsigned i;
|
||||
typedef struct info_range_list
|
||||
{
|
||||
unsigned min;
|
||||
unsigned max;
|
||||
void (*cb)(file_list_t* list,
|
||||
unsigned *w, unsigned type, unsigned i,
|
||||
const char *label, char *s, size_t len,
|
||||
const char *path,
|
||||
char *path_buf, size_t path_buf_size);
|
||||
} info_range_list_t;
|
||||
|
||||
info_range_list_t info_list[] = {
|
||||
#ifdef HAVE_AUDIOMIXER
|
||||
if (type >= MENU_SETTINGS_AUDIO_MIXER_STREAM_BEGIN
|
||||
&& type <= MENU_SETTINGS_AUDIO_MIXER_STREAM_END)
|
||||
{
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_audio_mixer_stream_name);
|
||||
return 0;
|
||||
}
|
||||
else if (type >= MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_BEGIN
|
||||
&& type <= MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_END)
|
||||
{
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_audio_mixer_stream_volume);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (type >= MENU_SETTINGS_INPUT_DESC_BEGIN
|
||||
&& type <= MENU_SETTINGS_INPUT_DESC_END)
|
||||
{
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_input_desc);
|
||||
}
|
||||
else if (type >= MENU_SETTINGS_CHEAT_BEGIN
|
||||
&& type <= MENU_SETTINGS_CHEAT_END)
|
||||
{
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_cheat);
|
||||
}
|
||||
else if (type >= MENU_SETTINGS_PERF_COUNTERS_BEGIN
|
||||
&& type <= MENU_SETTINGS_PERF_COUNTERS_END)
|
||||
{
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_perf_counters);
|
||||
}
|
||||
else if (type >= MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_BEGIN
|
||||
&& type <= MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_END)
|
||||
{
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_libretro_perf_counters);
|
||||
}
|
||||
else if (type >= MENU_SETTINGS_INPUT_DESC_KBD_BEGIN
|
||||
&& type <= MENU_SETTINGS_INPUT_DESC_KBD_END)
|
||||
{
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_input_desc_kbd);
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case MENU_SETTINGS_CORE_OPTION_CREATE:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_core_option_create);
|
||||
break;
|
||||
case FILE_TYPE_CORE:
|
||||
case FILE_TYPE_DIRECT_LOAD:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_core);
|
||||
break;
|
||||
case FILE_TYPE_PLAIN:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_plain);
|
||||
break;
|
||||
case FILE_TYPE_MOVIE:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_movie);
|
||||
break;
|
||||
case FILE_TYPE_MUSIC:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_music);
|
||||
break;
|
||||
case FILE_TYPE_IMAGE:
|
||||
case FILE_TYPE_IMAGEVIEWER:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_imageviewer);
|
||||
break;
|
||||
case FILE_TYPE_USE_DIRECTORY:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_use_directory);
|
||||
break;
|
||||
case FILE_TYPE_DIRECTORY:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_directory);
|
||||
break;
|
||||
case FILE_TYPE_PARENT_DIRECTORY:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_parent_directory);
|
||||
break;
|
||||
case FILE_TYPE_CARCHIVE:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_carchive);
|
||||
break;
|
||||
case FILE_TYPE_OVERLAY:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_overlay);
|
||||
break;
|
||||
#ifdef HAVE_VIDEO_LAYOUT
|
||||
case FILE_TYPE_VIDEO_LAYOUT:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_video_layout);
|
||||
break;
|
||||
MENU_SETTINGS_AUDIO_MIXER_STREAM_BEGIN,
|
||||
MENU_SETTINGS_AUDIO_MIXER_STREAM_END,
|
||||
menu_action_setting_audio_mixer_stream_name
|
||||
},
|
||||
{
|
||||
MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_BEGIN,
|
||||
MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_END,
|
||||
menu_action_setting_audio_mixer_stream_volume
|
||||
},
|
||||
#endif
|
||||
case FILE_TYPE_FONT:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_font);
|
||||
break;
|
||||
case FILE_TYPE_SHADER:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_shader);
|
||||
break;
|
||||
case FILE_TYPE_SHADER_PRESET:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_shader_preset);
|
||||
break;
|
||||
case FILE_TYPE_CONFIG:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_config);
|
||||
break;
|
||||
case FILE_TYPE_IN_CARCHIVE:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_in_carchive);
|
||||
break;
|
||||
case FILE_TYPE_VIDEOFILTER:
|
||||
case FILE_TYPE_AUDIOFILTER:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_filter);
|
||||
break;
|
||||
case FILE_TYPE_DOWNLOAD_CORE:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_url_core);
|
||||
break;
|
||||
case FILE_TYPE_RDB:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_rdb);
|
||||
break;
|
||||
case FILE_TYPE_CURSOR:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_cursor);
|
||||
break;
|
||||
case FILE_TYPE_CHEAT:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_cheat);
|
||||
break;
|
||||
case MENU_SETTINGS_CHEAT_MATCH:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_cheat_match);
|
||||
break;
|
||||
case MENU_SETTING_SUBGROUP:
|
||||
case MENU_SETTINGS_CUSTOM_BIND_ALL:
|
||||
case MENU_SETTINGS_CUSTOM_BIND_DEFAULT_ALL:
|
||||
case MENU_SETTING_ACTION:
|
||||
case MENU_SETTING_ACTION_LOADSTATE:
|
||||
case 7: /* Run */
|
||||
case MENU_SETTING_ACTION_DELETE_ENTRY:
|
||||
case MENU_SETTING_ACTION_CORE_DISK_OPTIONS:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_more);
|
||||
break;
|
||||
case MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_disk_index);
|
||||
break;
|
||||
case 31: /* Database entry */
|
||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_db_entry);
|
||||
break;
|
||||
case 25: /* URL directory entries */
|
||||
case 26: /* URL entries */
|
||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_entry_url);
|
||||
break;
|
||||
case MENU_SETTING_DROPDOWN_SETTING_INT_ITEM:
|
||||
case MENU_SETTING_DROPDOWN_SETTING_UINT_ITEM:
|
||||
case MENU_SETTING_DROPDOWN_SETTING_FLOAT_ITEM:
|
||||
case MENU_SETTING_DROPDOWN_ITEM:
|
||||
case MENU_SETTING_NO_ITEM:
|
||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_no_items);
|
||||
break;
|
||||
case 32: /* Recent history entry */
|
||||
case 65535: /* System info entry */
|
||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_entry);
|
||||
break;
|
||||
default:
|
||||
#if 0
|
||||
RARCH_LOG("type: %d\n", type);
|
||||
#endif
|
||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label);
|
||||
break;
|
||||
{
|
||||
MENU_SETTINGS_INPUT_DESC_BEGIN,
|
||||
MENU_SETTINGS_INPUT_DESC_END,
|
||||
menu_action_setting_disp_set_label_input_desc
|
||||
},
|
||||
{
|
||||
MENU_SETTINGS_CHEAT_BEGIN,
|
||||
MENU_SETTINGS_CHEAT_END,
|
||||
menu_action_setting_disp_set_label_cheat
|
||||
},
|
||||
{
|
||||
MENU_SETTINGS_PERF_COUNTERS_BEGIN,
|
||||
MENU_SETTINGS_PERF_COUNTERS_END,
|
||||
menu_action_setting_disp_set_label_perf_counters
|
||||
},
|
||||
{
|
||||
MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_BEGIN,
|
||||
MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_END,
|
||||
menu_action_setting_disp_set_label_libretro_perf_counters
|
||||
},
|
||||
{
|
||||
MENU_SETTINGS_INPUT_DESC_KBD_BEGIN,
|
||||
MENU_SETTINGS_INPUT_DESC_KBD_END,
|
||||
menu_action_setting_disp_set_label_input_desc_kbd
|
||||
},
|
||||
};
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(info_list); i++)
|
||||
{
|
||||
if (type >= info_list[i].min && type <= info_list[i].max)
|
||||
{
|
||||
BIND_ACTION_GET_VALUE(cbs, info_list[i].cb);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case MENU_SETTINGS_CORE_OPTION_CREATE:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_core_option_create);
|
||||
break;
|
||||
case FILE_TYPE_CORE:
|
||||
case FILE_TYPE_DIRECT_LOAD:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_core);
|
||||
break;
|
||||
case FILE_TYPE_PLAIN:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_plain);
|
||||
break;
|
||||
case FILE_TYPE_MOVIE:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_movie);
|
||||
break;
|
||||
case FILE_TYPE_MUSIC:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_music);
|
||||
break;
|
||||
case FILE_TYPE_IMAGE:
|
||||
case FILE_TYPE_IMAGEVIEWER:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_imageviewer);
|
||||
break;
|
||||
case FILE_TYPE_USE_DIRECTORY:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_use_directory);
|
||||
break;
|
||||
case FILE_TYPE_DIRECTORY:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_directory);
|
||||
break;
|
||||
case FILE_TYPE_PARENT_DIRECTORY:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_parent_directory);
|
||||
break;
|
||||
case FILE_TYPE_CARCHIVE:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_carchive);
|
||||
break;
|
||||
case FILE_TYPE_OVERLAY:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_overlay);
|
||||
break;
|
||||
#ifdef HAVE_VIDEO_LAYOUT
|
||||
case FILE_TYPE_VIDEO_LAYOUT:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_video_layout);
|
||||
break;
|
||||
#endif
|
||||
case FILE_TYPE_FONT:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_font);
|
||||
break;
|
||||
case FILE_TYPE_SHADER:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_shader);
|
||||
break;
|
||||
case FILE_TYPE_SHADER_PRESET:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_shader_preset);
|
||||
break;
|
||||
case FILE_TYPE_CONFIG:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_config);
|
||||
break;
|
||||
case FILE_TYPE_IN_CARCHIVE:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_in_carchive);
|
||||
break;
|
||||
case FILE_TYPE_VIDEOFILTER:
|
||||
case FILE_TYPE_AUDIOFILTER:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_filter);
|
||||
break;
|
||||
case FILE_TYPE_DOWNLOAD_CORE:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_url_core);
|
||||
break;
|
||||
case FILE_TYPE_RDB:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_rdb);
|
||||
break;
|
||||
case FILE_TYPE_CURSOR:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_cursor);
|
||||
break;
|
||||
case FILE_TYPE_CHEAT:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_cheat);
|
||||
break;
|
||||
case MENU_SETTINGS_CHEAT_MATCH:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_cheat_match);
|
||||
break;
|
||||
case MENU_SETTING_SUBGROUP:
|
||||
case MENU_SETTINGS_CUSTOM_BIND_ALL:
|
||||
case MENU_SETTINGS_CUSTOM_BIND_DEFAULT_ALL:
|
||||
case MENU_SETTING_ACTION:
|
||||
case MENU_SETTING_ACTION_LOADSTATE:
|
||||
case 7: /* Run */
|
||||
case MENU_SETTING_ACTION_DELETE_ENTRY:
|
||||
case MENU_SETTING_ACTION_CORE_DISK_OPTIONS:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_more);
|
||||
break;
|
||||
case MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_disk_index);
|
||||
break;
|
||||
case 31: /* Database entry */
|
||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_db_entry);
|
||||
break;
|
||||
case 25: /* URL directory entries */
|
||||
case 26: /* URL entries */
|
||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_entry_url);
|
||||
break;
|
||||
case MENU_SETTING_DROPDOWN_SETTING_INT_ITEM:
|
||||
case MENU_SETTING_DROPDOWN_SETTING_UINT_ITEM:
|
||||
case MENU_SETTING_DROPDOWN_SETTING_FLOAT_ITEM:
|
||||
case MENU_SETTING_DROPDOWN_ITEM:
|
||||
case MENU_SETTING_NO_ITEM:
|
||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_no_items);
|
||||
break;
|
||||
case 32: /* Recent history entry */
|
||||
case 65535: /* System info entry */
|
||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_entry);
|
||||
break;
|
||||
default:
|
||||
#if 0
|
||||
RARCH_LOG("type: %d\n", type);
|
||||
#endif
|
||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label);
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user