mirror of
https://github.com/libretro/RetroArch
synced 2025-02-06 00:39:53 +00:00
Get rid of more hashes in menu_generic.c
This commit is contained in:
parent
9e372c6c29
commit
e8941ec437
@ -433,6 +433,8 @@ MSG_HASH(MENU_ENUM_LABEL_GAME_SPECIFIC_OPTIONS_IN_USE,
|
||||
"game_specific_options_in_use")
|
||||
MSG_HASH(MENU_ENUM_LABEL_HELP,
|
||||
"help")
|
||||
MSG_HASH(MENU_ENUM_LABEL_HELP_CHEEVOS_DESCRIPTION,
|
||||
"help_cheevos_description")
|
||||
MSG_HASH(MENU_ENUM_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING,
|
||||
"help_audio_video_troubleshooting")
|
||||
MSG_HASH(MENU_ENUM_LABEL_HELP_CHANGE_VIRTUAL_GAMEPAD,
|
||||
|
@ -29,29 +29,62 @@
|
||||
#include "../../content.h"
|
||||
#include "../../retroarch.h"
|
||||
|
||||
static enum action_iterate_type action_iterate_type(uint32_t hash)
|
||||
struct menu_generic_iterate_type
|
||||
{
|
||||
switch (hash)
|
||||
{
|
||||
case MENU_LABEL_HELP:
|
||||
case MENU_LABEL_HELP_CONTROLS:
|
||||
case MENU_LABEL_HELP_WHAT_IS_A_CORE:
|
||||
case MENU_LABEL_HELP_LOADING_CONTENT:
|
||||
case MENU_LABEL_HELP_CHANGE_VIRTUAL_GAMEPAD:
|
||||
case MENU_LABEL_CHEEVOS_DESCRIPTION:
|
||||
case MENU_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING:
|
||||
case MENU_LABEL_HELP_SCANNING_CONTENT:
|
||||
return ITERATE_TYPE_HELP;
|
||||
case MENU_LABEL_INFO_SCREEN:
|
||||
return ITERATE_TYPE_INFO;
|
||||
case MENU_LABEL_CUSTOM_BIND:
|
||||
case MENU_LABEL_CUSTOM_BIND_ALL:
|
||||
case MENU_LABEL_CUSTOM_BIND_DEFAULTS:
|
||||
return ITERATE_TYPE_BIND;
|
||||
}
|
||||
enum msg_hash_enums id;
|
||||
enum action_iterate_type type;
|
||||
};
|
||||
|
||||
return ITERATE_TYPE_DEFAULT;
|
||||
}
|
||||
static struct menu_generic_iterate_type iterate_lbl_list[] = {
|
||||
{
|
||||
MENU_ENUM_LABEL_HELP,
|
||||
ITERATE_TYPE_HELP
|
||||
},
|
||||
{
|
||||
MENU_ENUM_LABEL_HELP_CONTROLS,
|
||||
ITERATE_TYPE_HELP
|
||||
},
|
||||
{
|
||||
MENU_ENUM_LABEL_HELP_WHAT_IS_A_CORE,
|
||||
ITERATE_TYPE_HELP
|
||||
},
|
||||
{
|
||||
MENU_ENUM_LABEL_HELP_LOADING_CONTENT,
|
||||
ITERATE_TYPE_HELP
|
||||
},
|
||||
{
|
||||
MENU_ENUM_LABEL_HELP_CHANGE_VIRTUAL_GAMEPAD,
|
||||
ITERATE_TYPE_HELP
|
||||
},
|
||||
{
|
||||
MENU_ENUM_LABEL_HELP_CHEEVOS_DESCRIPTION,
|
||||
ITERATE_TYPE_HELP
|
||||
},
|
||||
{
|
||||
MENU_ENUM_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING,
|
||||
ITERATE_TYPE_HELP
|
||||
},
|
||||
{
|
||||
MENU_ENUM_LABEL_HELP_SCANNING_CONTENT,
|
||||
ITERATE_TYPE_HELP
|
||||
},
|
||||
{
|
||||
MENU_ENUM_LABEL_INFO_SCREEN,
|
||||
ITERATE_TYPE_INFO
|
||||
},
|
||||
{
|
||||
MENU_ENUM_LABEL_CUSTOM_BIND,
|
||||
ITERATE_TYPE_BIND
|
||||
},
|
||||
{
|
||||
MENU_ENUM_LABEL_CUSTOM_BIND_ALL,
|
||||
ITERATE_TYPE_BIND
|
||||
},
|
||||
{
|
||||
MENU_ENUM_LABEL_CUSTOM_BIND_DEFAULTS,
|
||||
ITERATE_TYPE_BIND
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* menu_iterate:
|
||||
@ -66,14 +99,13 @@ static enum action_iterate_type action_iterate_type(uint32_t hash)
|
||||
**/
|
||||
int generic_menu_iterate(void *data, void *userdata, enum menu_action action)
|
||||
{
|
||||
enum action_iterate_type iterate_type;
|
||||
unsigned file_type = 0;
|
||||
int ret = 0;
|
||||
uint32_t hash = 0;
|
||||
enum msg_hash_enums enum_idx = MSG_UNKNOWN;
|
||||
const char *label = NULL;
|
||||
menu_handle_t *menu = (menu_handle_t*)data;
|
||||
size_t selection = menu_navigation_get_selection();
|
||||
enum action_iterate_type iterate_type = ITERATE_TYPE_DEFAULT;
|
||||
unsigned file_type = 0;
|
||||
int ret = 0;
|
||||
enum msg_hash_enums enum_idx = MSG_UNKNOWN;
|
||||
const char *label = NULL;
|
||||
menu_handle_t *menu = (menu_handle_t*)data;
|
||||
size_t selection = menu_navigation_get_selection();
|
||||
|
||||
menu_entries_get_last_stack(NULL, &label, &file_type, &enum_idx, NULL);
|
||||
|
||||
@ -83,8 +115,17 @@ int generic_menu_iterate(void *data, void *userdata, enum menu_action action)
|
||||
menu->menu_state_msg[0] = '\0';
|
||||
|
||||
if (!string_is_empty(label))
|
||||
hash = msg_hash_calculate(label);
|
||||
iterate_type = action_iterate_type(hash);
|
||||
{
|
||||
unsigned k;
|
||||
for (k = 0; k < ARRAY_SIZE(iterate_lbl_list); k++)
|
||||
{
|
||||
if (string_is_equal(label, msg_hash_to_str(iterate_lbl_list[k].id)))
|
||||
{
|
||||
iterate_type = iterate_lbl_list[k].type;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
menu_driver_set_binding_state(iterate_type == ITERATE_TYPE_BIND);
|
||||
|
||||
|
@ -908,6 +908,7 @@ enum msg_hash_enums
|
||||
MENU_LABEL(HELP_LOADING_CONTENT),
|
||||
MENU_LABEL(HELP_LIST),
|
||||
MENU_LABEL(HELP_CONTROLS),
|
||||
MENU_LABEL(HELP_CHEEVOS_DESCRIPTION),
|
||||
|
||||
MENU_ENUM_LABEL_VALUE_EXTRACTING_PLEASE_WAIT,
|
||||
|
||||
@ -1785,10 +1786,6 @@ enum msg_hash_enums
|
||||
#define MENU_LABEL_DEFERRED_CONFIGURATIONS_LIST 0x679a1b0bU
|
||||
#define MENU_LABEL_DEFERRED_BROWSE_URL_START 0xcef58296U
|
||||
|
||||
/* Cheevos settings */
|
||||
|
||||
#define MENU_LABEL_CHEEVOS_DESCRIPTION 0x7e00e0f5U
|
||||
|
||||
/* Accounts settings */
|
||||
|
||||
#define MENU_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS 0xe6b7c16cU
|
||||
|
Loading…
x
Reference in New Issue
Block a user