From 7de7c98b27ae5865dcdb3f78391bf4596b5f7af1 Mon Sep 17 00:00:00 2001 From: duduke Date: Mon, 18 Jan 2016 21:31:38 +0200 Subject: [PATCH 1/7] Added a reboot menu item --- command_event.c | 5 +++++ command_event.h | 2 ++ menu/drivers/xmb.c | 2 ++ menu/intl/menu_hash_us.c | 2 ++ menu/menu_hash.h | 2 ++ menu/menu_setting.c | 11 +++++++++++ 6 files changed, 24 insertions(+) diff --git a/command_event.c b/command_event.c index 88d37ce6f7..859036cd55 100644 --- a/command_event.c +++ b/command_event.c @@ -1310,6 +1310,11 @@ bool event_command(enum event_command cmd) system("shutdown -P now"); #endif break; + case EVENT_CMD_REBOOT: + runloop_msg_queue_push("Rebooting...", 1, 180, true); + rarch_ctl(RARCH_CTL_FORCE_QUIT, NULL); + system("shutdown -r now"); + break; case EVENT_CMD_RESUME: rarch_ctl(RARCH_CTL_MENU_RUNNING_FINISHED, NULL); break; diff --git a/command_event.h b/command_event.h index 5219dcd1af..662d789b94 100644 --- a/command_event.h +++ b/command_event.h @@ -120,6 +120,8 @@ enum event_command EVENT_CMD_QUIT_RETROARCH, /* Shutdown the OS */ EVENT_CMD_SHUTDOWN, + /* Reboot the OS */ + EVENT_CMD_REBOOT /* Resume RetroArch when in menu. */ EVENT_CMD_RESUME, /* Toggles pause. */ diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index b5c99ed918..9872c93ca8 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2606,6 +2606,8 @@ static int xmb_list_push(void *data, void *userdata, menu_displaylist_info_t *in #endif menu_displaylist_parse_settings(menu, info, menu_hash_to_str(MENU_LABEL_SHUTDOWN), PARSE_ACTION, false); + menu_displaylist_parse_settings(menu, info, + menu_hash_to_str(MENU_LABEL_REBOOT), PARSE_ACTION, false); info->need_push = true; ret = 0; break; diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index 006ca9a878..550e34c1fb 100644 --- a/menu/intl/menu_hash_us.c +++ b/menu/intl/menu_hash_us.c @@ -1246,6 +1246,8 @@ const char *menu_hash_to_str_us(uint32_t hash) return "Quit RetroArch"; case MENU_LABEL_VALUE_SHUTDOWN: return "Shutdown"; + case MENU_LABEL_VALUE_REBOOT: + return "Reboot": case MENU_LABEL_VALUE_HELP: return "help"; case MENU_LABEL_VALUE_SAVE_NEW_CONFIG: diff --git a/menu/menu_hash.h b/menu/menu_hash.h index 7fc2f8b6e9..729ec57b99 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -689,6 +689,8 @@ extern "C" { #define MENU_LABEL_VALUE_QUIT_RETROARCH 0x8e7024f2U #define MENU_LABEL_SHUTDOWN 0xfc460361U #define MENU_LABEL_VALUE_SHUTDOWN 0x740b6741U +#define MENU_LABEL_REBOOT 0xac460361U +#define MENU_LABEL_VALUE_REBOOT 0xa40b6741U #define MENU_LABEL_DEFERRED_VIDEO_FILTER 0x966ad201U #define MENU_LABEL_DEFERRED_CORE_LIST_SET 0xa6d5fdb4U #define MENU_LABEL_VALUE_STARTING_DOWNLOAD 0x42e10f03U diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 2fe60afa29..e4621def23 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -3413,6 +3413,17 @@ static bool setting_append_list_main_menu_options( menu_settings_list_current_add_cmd(list, list_info, EVENT_CMD_SHUTDOWN); #endif +#if defined(HAVE_LAKKA) + CONFIG_ACTION( + list, list_info, + menu_hash_to_str(MENU_LABEL_REBOOT), + menu_hash_to_str(MENU_LABEL_VALUE_REBOOT), + &group_info, + &subgroup_info, + parent_group); + menu_settings_list_current_add_cmd(list, list_info, EVENT_CMD_REBOOT); +#endif + CONFIG_ACTION( list, list_info, menu_hash_to_str(MENU_LABEL_INPUT_SETTINGS), From ffffc50401b9f80baec33405d8a37ff3bc72b278 Mon Sep 17 00:00:00 2001 From: duduke Date: Tue, 19 Jan 2016 08:26:06 +0200 Subject: [PATCH 2/7] Corrected menu hashes by using djb2 util --- menu/menu_hash.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/menu/menu_hash.h b/menu/menu_hash.h index 729ec57b99..09d9619d62 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -689,8 +689,8 @@ extern "C" { #define MENU_LABEL_VALUE_QUIT_RETROARCH 0x8e7024f2U #define MENU_LABEL_SHUTDOWN 0xfc460361U #define MENU_LABEL_VALUE_SHUTDOWN 0x740b6741U -#define MENU_LABEL_REBOOT 0xac460361U -#define MENU_LABEL_VALUE_REBOOT 0xa40b6741U +#define MENU_LABEL_REBOOT 0x1b353023U +#define MENU_LABEL_VALUE_REBOOT 0xcab9e59fU #define MENU_LABEL_DEFERRED_VIDEO_FILTER 0x966ad201U #define MENU_LABEL_DEFERRED_CORE_LIST_SET 0xa6d5fdb4U #define MENU_LABEL_VALUE_STARTING_DOWNLOAD 0x42e10f03U From b284749016d1e442676b718acc15923293708ee5 Mon Sep 17 00:00:00 2001 From: duduke Date: Tue, 19 Jan 2016 10:06:12 +0200 Subject: [PATCH 3/7] forgot a comma at command_event.h --- command_event.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/command_event.h b/command_event.h index 662d789b94..0efafbdab5 100644 --- a/command_event.h +++ b/command_event.h @@ -121,7 +121,7 @@ enum event_command /* Shutdown the OS */ EVENT_CMD_SHUTDOWN, /* Reboot the OS */ - EVENT_CMD_REBOOT + EVENT_CMD_REBOOT, /* Resume RetroArch when in menu. */ EVENT_CMD_RESUME, /* Toggles pause. */ From eecd14086b897fd435a1dd81770545c437ce5db6 Mon Sep 17 00:00:00 2001 From: duduke Date: Tue, 19 Jan 2016 10:43:33 +0200 Subject: [PATCH 4/7] another stupid mistake... --- command_event.c | 2 ++ menu/intl/menu_hash_us.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/command_event.c b/command_event.c index 859036cd55..dd3ec82a6f 100644 --- a/command_event.c +++ b/command_event.c @@ -1311,9 +1311,11 @@ bool event_command(enum event_command cmd) #endif break; case EVENT_CMD_REBOOT: +#if defined(__linux__) && !defined(ANDROID) runloop_msg_queue_push("Rebooting...", 1, 180, true); rarch_ctl(RARCH_CTL_FORCE_QUIT, NULL); system("shutdown -r now"); +#endif break; case EVENT_CMD_RESUME: rarch_ctl(RARCH_CTL_MENU_RUNNING_FINISHED, NULL); diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index 550e34c1fb..85d64a8094 100644 --- a/menu/intl/menu_hash_us.c +++ b/menu/intl/menu_hash_us.c @@ -1247,7 +1247,7 @@ const char *menu_hash_to_str_us(uint32_t hash) case MENU_LABEL_VALUE_SHUTDOWN: return "Shutdown"; case MENU_LABEL_VALUE_REBOOT: - return "Reboot": + return "Reboot"; case MENU_LABEL_VALUE_HELP: return "help"; case MENU_LABEL_VALUE_SAVE_NEW_CONFIG: From b5591726c3f66307bfe34e9e5ac6f01b9cb51df5 Mon Sep 17 00:00:00 2001 From: duduke Date: Tue, 19 Jan 2016 15:17:49 +0200 Subject: [PATCH 5/7] Modified hash values in menu_hash.h --- menu/menu_hash.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/menu/menu_hash.h b/menu/menu_hash.h index 09d9619d62..039348af32 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -689,8 +689,8 @@ extern "C" { #define MENU_LABEL_VALUE_QUIT_RETROARCH 0x8e7024f2U #define MENU_LABEL_SHUTDOWN 0xfc460361U #define MENU_LABEL_VALUE_SHUTDOWN 0x740b6741U -#define MENU_LABEL_REBOOT 0x1b353023U -#define MENU_LABEL_VALUE_REBOOT 0xcab9e59fU +#define MENU_LABEL_REBOOT 0x19266b70U +#define MENU_LABEL_VALUE_REBOOT 0xce815750U #define MENU_LABEL_DEFERRED_VIDEO_FILTER 0x966ad201U #define MENU_LABEL_DEFERRED_CORE_LIST_SET 0xa6d5fdb4U #define MENU_LABEL_VALUE_STARTING_DOWNLOAD 0x42e10f03U From 480519a6e00a447947fbd6406bdc81d2f7959a08 Mon Sep 17 00:00:00 2001 From: duduke Date: Tue, 19 Jan 2016 19:04:01 +0200 Subject: [PATCH 6/7] Helped by Kivutar, added the missing lines to menu_hash_us.c --- menu/intl/menu_hash_us.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index 85d64a8094..25484b1a84 100644 --- a/menu/intl/menu_hash_us.c +++ b/menu/intl/menu_hash_us.c @@ -572,6 +572,10 @@ static const char *menu_hash_to_str_us_label(uint32_t hash) return "settings"; case MENU_LABEL_QUIT_RETROARCH: return "quit_retroarch"; + case MENU_LABEL_SHUTDOWN: + return "shutdown"; + case MENU_LABEL_REBOOT: + return "reboot"; case MENU_LABEL_HELP: return "help"; case MENU_LABEL_SAVE_NEW_CONFIG: From 3aca34d3fb8645371ef8b3c708e791d858290c8c Mon Sep 17 00:00:00 2001 From: duduke Date: Thu, 21 Jan 2016 23:41:58 +0200 Subject: [PATCH 7/7] Make Reboot and Shutdown MenuItems available for Lakka only --- menu/intl/menu_hash_us.c | 4 ++++ menu/menu_hash.h | 10 ++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index 25484b1a84..364eed35a8 100644 --- a/menu/intl/menu_hash_us.c +++ b/menu/intl/menu_hash_us.c @@ -572,10 +572,12 @@ static const char *menu_hash_to_str_us_label(uint32_t hash) return "settings"; case MENU_LABEL_QUIT_RETROARCH: return "quit_retroarch"; +#if defined(HAVE_LAKKA) case MENU_LABEL_SHUTDOWN: return "shutdown"; case MENU_LABEL_REBOOT: return "reboot"; +#endif case MENU_LABEL_HELP: return "help"; case MENU_LABEL_SAVE_NEW_CONFIG: @@ -1248,10 +1250,12 @@ const char *menu_hash_to_str_us(uint32_t hash) return "Settings"; case MENU_LABEL_VALUE_QUIT_RETROARCH: return "Quit RetroArch"; +#if defined(HAVE_LAKKA) case MENU_LABEL_VALUE_SHUTDOWN: return "Shutdown"; case MENU_LABEL_VALUE_REBOOT: return "Reboot"; +#endif case MENU_LABEL_VALUE_HELP: return "help"; case MENU_LABEL_VALUE_SAVE_NEW_CONFIG: diff --git a/menu/menu_hash.h b/menu/menu_hash.h index 039348af32..aa05ca8a9b 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -687,10 +687,12 @@ extern "C" { #define MENU_LABEL_VALUE_CLOSE_CONTENT 0x2b3d9556U #define MENU_LABEL_QUIT_RETROARCH 0x84b0bc71U #define MENU_LABEL_VALUE_QUIT_RETROARCH 0x8e7024f2U -#define MENU_LABEL_SHUTDOWN 0xfc460361U -#define MENU_LABEL_VALUE_SHUTDOWN 0x740b6741U -#define MENU_LABEL_REBOOT 0x19266b70U -#define MENU_LABEL_VALUE_REBOOT 0xce815750U +#if defined(HAVE_LAKKA) + #define MENU_LABEL_SHUTDOWN 0xfc460361U + #define MENU_LABEL_VALUE_SHUTDOWN 0x740b6741U + #define MENU_LABEL_REBOOT 0x19266b70U + #define MENU_LABEL_VALUE_REBOOT 0xce815750U +#endif #define MENU_LABEL_DEFERRED_VIDEO_FILTER 0x966ad201U #define MENU_LABEL_DEFERRED_CORE_LIST_SET 0xa6d5fdb4U #define MENU_LABEL_VALUE_STARTING_DOWNLOAD 0x42e10f03U