Add 'What Is A Core?' to Help

This commit is contained in:
twinaphex 2015-07-18 11:29:37 +02:00
parent d3b1eef196
commit ef1b066b64
6 changed files with 69 additions and 1 deletions

View File

@ -139,6 +139,10 @@ static int action_iterate_help(char *s, size_t len, const char *label)
);
}
break;
case MENU_HELP_WHAT_IS_A_CORE:
menu_hash_get_help(MENU_LABEL_VALUE_WHAT_IS_A_CORE_DESC,
s, len);
break;
case MENU_HELP_LOADING_CONTENT:
menu_hash_get_help(MENU_LABEL_LOAD_CONTENT,
s, len);
@ -398,6 +402,7 @@ static enum action_iterate_type action_iterate_type(uint32_t hash)
{
case MENU_LABEL_HELP:
case MENU_LABEL_HELP_CONTROLS:
case MENU_LABEL_HELP_WHAT_IS_A_CORE:
case MENU_LABEL_HELP_LOADING_CONTENT:
return ITERATE_TYPE_HELP;
case MENU_LABEL_INFO_SCREEN:

View File

@ -1867,6 +1867,25 @@ static int action_ok_help_controls(const char *path,
return menu_displaylist_push_list(&info, DISPLAYLIST_HELP);
}
static int action_ok_help_what_is_a_core(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
menu_displaylist_info_t info = {0};
menu_list_t *menu_list = menu_list_get_ptr();
menu_handle_t *menu = menu_driver_get_ptr();
if (!menu_list)
return -1;
info.list = menu_list->menu_stack;
strlcpy(info.label,
menu_hash_to_str(MENU_LABEL_HELP_WHAT_IS_A_CORE),
sizeof(info.label));
menu->push_help_screen = true;
menu->help_screen_type = MENU_HELP_WHAT_IS_A_CORE;
return menu_displaylist_push_list(&info, DISPLAYLIST_HELP);
}
static int action_ok_help_load_content(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
@ -2024,6 +2043,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
case MENU_LABEL_HELP_CONTROLS:
cbs->action_ok = action_ok_help_controls;
break;
case MENU_LABEL_HELP_WHAT_IS_A_CORE:
cbs->action_ok = action_ok_help_what_is_a_core;
break;
case MENU_LABEL_HELP_LOADING_CONTENT:
cbs->action_ok = action_ok_help_load_content;
break;

View File

@ -26,6 +26,8 @@ static const char *menu_hash_to_str_us_label(uint32_t hash)
{
switch (hash)
{
case MENU_LABEL_HELP_WHAT_IS_A_CORE:
return "help_what_is_a_core";
case MENU_LABEL_HELP_LOADING_CONTENT:
return "help_loading_content";
case MENU_LABEL_HELP_LIST:
@ -642,6 +644,8 @@ const char *menu_hash_to_str_us(uint32_t hash)
switch (hash)
{
case MENU_LABEL_VALUE_HELP_WHAT_IS_A_CORE:
return "What Is A Core?";
case MENU_LABEL_VALUE_HELP_LOADING_CONTENT:
return "Loading Content";
case MENU_LABEL_VALUE_HELP_LIST:
@ -1527,7 +1531,8 @@ int menu_hash_get_help_us(uint32_t hash, char *s, size_t len)
case MENU_LABEL_VALUE_MENU_CONTROLS_PROLOG:
snprintf(s, len,
"You can use the following controls below \n"
"on either your gamepad or keyboard: \n"
"on either your gamepad or keyboard in order\n"
"to control the menu: \n"
" \n"
);
break;
@ -2475,6 +2480,32 @@ int menu_hash_get_help_us(uint32_t hash, char *s, size_t len)
"Positive X axis is right. \n"
"Positive Y axis is down.");
break;
case MENU_LABEL_VALUE_WHAT_IS_A_CORE_DESC:
snprintf(s, len,
"RetroArch by itself does nothing. \n"
" \n"
"To make it do things, you need to \n"
"load a program into it. \n"
"\n"
"We call such a program 'Libretro core', \n"
"or 'core' in short. \n"
" \n"
"To load a core, select one from\n"
"'Load Core'.\n"
" \n"
"You can obtain cores in several ways: \n"
#ifdef HAVE_NETWORKING
"* Download them by going to \n"
"'%s' -> '%s'.\n"
#endif
"* Manually move them over to\n"
"'%s'.",
#ifdef HAVE_NETWORKING
menu_hash_to_str(MENU_LABEL_VALUE_ONLINE_UPDATER),
menu_hash_to_str(MENU_LABEL_VALUE_CORE_UPDATER_LIST),
#endif
menu_hash_to_str(MENU_LABEL_VALUE_LIBRETRO_DIR_PATH)
);
default:
if (s[0] == '\0')
strlcpy(s, menu_hash_to_str(MENU_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);

View File

@ -2182,6 +2182,10 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
menu_hash_to_str(MENU_LABEL_VALUE_HELP_CONTROLS),
menu_hash_to_str(MENU_LABEL_HELP_CONTROLS),
0, 0, 0);
menu_list_push(info->list,
menu_hash_to_str(MENU_LABEL_VALUE_HELP_WHAT_IS_A_CORE),
menu_hash_to_str(MENU_LABEL_HELP_WHAT_IS_A_CORE),
0, 0, 0);
menu_list_push(info->list,
menu_hash_to_str(MENU_LABEL_VALUE_HELP_LOADING_CONTENT),
menu_hash_to_str(MENU_LABEL_HELP_LOADING_CONTENT),

View File

@ -57,6 +57,7 @@ typedef enum
MENU_HELP_EXTRACT,
MENU_HELP_CONTROLS,
MENU_HELP_LOADING_CONTENT,
MENU_HELP_WHAT_IS_A_CORE,
MENU_HELP_LAST
} menu_help_type_t;

View File

@ -24,6 +24,9 @@ extern "C" {
#define MENU_LABEL_VALUE_MENU_CONTROLS_PROLOG 0x72674cdfU
#define MENU_LABEL_VALUE_HELP_WHAT_IS_A_CORE 0xf3b0f77eU
#define MENU_LABEL_HELP_WHAT_IS_A_CORE 0x83fcbc44U
#define MENU_LABEL_HELP_LOADING_CONTENT 0x231d8245U
#define MENU_LABEL_VALUE_HELP_LOADING_CONTENT 0x70bab027U
@ -1025,6 +1028,8 @@ extern "C" {
#define MENU_LABEL_VALUE_OPEN_ARCHIVE 0x96da22b9U
#define MENU_LABEL_VALUE_LOAD_ARCHIVE 0xe19ca6c7U
#define MENU_LABEL_VALUE_WHAT_IS_A_CORE_DESC 0xc832957eU
const char *menu_hash_to_str_de(uint32_t hash);
int menu_hash_get_help_de(uint32_t hash, char *s, size_t len);