From ef1b066b64573d983c16a484e08c999821080ba7 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 18 Jul 2015 11:29:37 +0200 Subject: [PATCH] Add 'What Is A Core?' to Help --- menu/cbs/menu_cbs_iterate.c | 5 +++++ menu/cbs/menu_cbs_ok.c | 22 ++++++++++++++++++++++ menu/intl/menu_hash_us.c | 33 ++++++++++++++++++++++++++++++++- menu/menu_displaylist.c | 4 ++++ menu/menu_driver.h | 1 + menu/menu_hash.h | 5 +++++ 6 files changed, 69 insertions(+), 1 deletion(-) diff --git a/menu/cbs/menu_cbs_iterate.c b/menu/cbs/menu_cbs_iterate.c index 70a605bc2e..329064418f 100644 --- a/menu/cbs/menu_cbs_iterate.c +++ b/menu/cbs/menu_cbs_iterate.c @@ -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: diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 51fd3e6bad..43887a1ad1 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -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; diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index ec951c285a..9078b3a9b9 100644 --- a/menu/intl/menu_hash_us.c +++ b/menu/intl/menu_hash_us.c @@ -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); diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index bd075cde7d..b8f543e167 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -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), diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 7fea3b0bb7..64b45149bd 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -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; diff --git a/menu/menu_hash.h b/menu/menu_hash.h index 76c40287bf..4369542499 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -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);