From 8bde46deb951e24a28df7b5ae4e0a5b38ebba4dc Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 28 May 2015 01:25:42 +0200 Subject: [PATCH 01/14] Free db_state->info first in database_info_list_iterate_new --- tasks/task_database.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tasks/task_database.c b/tasks/task_database.c index d8255a135b..47bb13a5cc 100644 --- a/tasks/task_database.c +++ b/tasks/task_database.c @@ -122,6 +122,8 @@ static int database_info_list_iterate_new(database_state_handle_t *db_state) const char *new_database = db_state->list->elems[db_state->list_index].data; RARCH_LOG("Check database [%d/%d] : %s\n", (unsigned)db_state->list_index, (unsigned)db_state->list->size, new_database); + if (db_state->info) + database_info_list_free(db_state->info); db_state->info = database_info_list_new(new_database, NULL); return 0; } From 99ea729d1c20349e35c116a2477a22ec293395c7 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 28 May 2015 02:22:50 +0200 Subject: [PATCH 02/14] (database_info.c) Add some error handling --- database_info.c | 13 +++++++++++-- libretro-db/libretrodb.c | 3 +++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/database_info.c b/database_info.c index 4a316081d0..cf480f6e74 100644 --- a/database_info.c +++ b/database_info.c @@ -227,11 +227,20 @@ static int database_cursor_open(libretrodb_t *db, strlen(query), &error); if (error) - return -1; + goto error; if ((libretrodb_cursor_open(db, cur, q)) != 0) - return -1; + goto error; return 0; + +error: + if (query) + libretrodb_query_free(q); + query = NULL; + libretrodb_close(db); + db = NULL; + + return -1; } static int database_cursor_close(libretrodb_t *db, libretrodb_cursor_t *cur) diff --git a/libretro-db/libretrodb.c b/libretro-db/libretrodb.c index 5651e2bbba..53fa6085e4 100644 --- a/libretro-db/libretrodb.c +++ b/libretro-db/libretrodb.c @@ -141,6 +141,9 @@ static void libretrodb_write_index_header(int fd, libretrodb_index_t * idx) void libretrodb_close(libretrodb_t *db) { + if (!db) + return; + close(db->fd); db->fd = -1; } From 2a4df1ddc87c1ade45d26994a8994af26cd13627 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Wed, 27 May 2015 21:23:06 -0300 Subject: [PATCH 03/14] (database_info.c) Free value after reading it --- database_info.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/database_info.c b/database_info.c index 4a316081d0..9f2dfdb2e5 100644 --- a/database_info.c +++ b/database_info.c @@ -210,6 +210,8 @@ static int database_cursor_iterate(libretrodb_cursor_t *cur, db_info->md5 = bin_to_hex_alloc((uint8_t*)val->binary.buff, val->binary.len); } + rmsgpack_dom_value_free(&item); + return 0; } From 1dc9183bb5125c6d244b076c00ba63c53b5c7ba5 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 28 May 2015 02:24:51 +0200 Subject: [PATCH 04/14] Use libretrodb_query_free to cleanup query state in database_cursor_open --- database_info.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/database_info.c b/database_info.c index cf480f6e74..5defb50627 100644 --- a/database_info.c +++ b/database_info.c @@ -231,10 +231,13 @@ static int database_cursor_open(libretrodb_t *db, if ((libretrodb_cursor_open(db, cur, q)) != 0) goto error; + if (q) + libretrodb_query_free(q); + return 0; error: - if (query) + if (q) libretrodb_query_free(q); query = NULL; libretrodb_close(db); From fe5880355da853b8793358c87c0d5d1b899ff4e5 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 28 May 2015 02:55:39 +0200 Subject: [PATCH 05/14] database_info_list_iterate_next - set db_state->info to NULL after freeing --- tasks/task_database.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tasks/task_database.c b/tasks/task_database.c index 47bb13a5cc..4cfa33ea3c 100644 --- a/tasks/task_database.c +++ b/tasks/task_database.c @@ -201,7 +201,9 @@ static int database_info_list_iterate_next( { db_state->list_index++; db_state->entry_index = 0; + database_info_list_free(db_state->info); + db_state->info = NULL; return 1; } From 8487e96c3275d5bfbdcf4a2293a028e948a4bc40 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 28 May 2015 05:38:34 +0200 Subject: [PATCH 06/14] 'Start Content' action should now work --- menu/menu_entries_cbs_ok.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/menu/menu_entries_cbs_ok.c b/menu/menu_entries_cbs_ok.c index 022f213ce8..af4db58788 100644 --- a/menu/menu_entries_cbs_ok.c +++ b/menu/menu_entries_cbs_ok.c @@ -134,18 +134,17 @@ static int action_ok_playlist_entry(const char *path, if (!strcmp(label, "rdb_entry_start_game")) selection_ptr = rdb_entry_start_game_selection_ptr; - content_playlist_get_index(playlist, idx, + content_playlist_get_index(playlist, selection_ptr, &entry_path, &entry_label, &core_path, &core_name, NULL); -#if 1 - RARCH_LOG("path: %s, label: %s, core path: %s, core name: %s\n", entry_path, entry_label, - core_path, core_name); +#if 0 + RARCH_LOG("path: %s, label: %s, core path: %s, core name: %s, idx: %d\n", entry_path, entry_label, + core_path, core_name, selection_ptr); #endif if (core_path && core_path[0] != '\0' && core_name && core_name[0] != '\0' && !strcmp(core_path, "DETECT") && !strcmp(core_name, "DETECT")) - return action_ok_file_load_with_detect_core(entry_path, label, type, idx); - + return action_ok_file_load_with_detect_core(entry_path, label, type, selection_ptr); rarch_playlist_load_content(playlist, selection_ptr); From 0a6be4c82eead5b5c31d1d425d3ede526be619bd Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 28 May 2015 08:57:50 +0200 Subject: [PATCH 07/14] (task_database.c) Fix database_info_iterate_start for Windows --- tasks/task_database.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tasks/task_database.c b/tasks/task_database.c index 4cfa33ea3c..4b62f218f5 100644 --- a/tasks/task_database.c +++ b/tasks/task_database.c @@ -46,7 +46,12 @@ static int database_info_iterate_start (database_info_handle_t *db, const char *name) { char msg[PATH_MAX_LENGTH]; - snprintf(msg, sizeof(msg), "%zu/%zu: Scanning %s...\n", + snprintf(msg, sizeof(msg), +#ifdef _WIN32 + "%Iu/%Iu: Scanning %s...\n", +#else + "%zu/%zu: Scanning %s...\n", +#endif db->list_ptr, db->list->size, name); if (msg[0] != '\0') From 48b727f5a1f6be65452fa90ec2cc3e73243cc086 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 28 May 2015 17:41:38 -0400 Subject: [PATCH 08/14] Move 64-bit printf stuff to its own (experimental but tested) function. --- libretro-db/rmsgpack_dom.c | 87 +++++++++++++++++++++++++++++++++----- 1 file changed, 77 insertions(+), 10 deletions(-) diff --git a/libretro-db/rmsgpack_dom.c b/libretro-db/rmsgpack_dom.c index 4887f553fa..1fda08f2e8 100644 --- a/libretro-db/rmsgpack_dom.c +++ b/libretro-db/rmsgpack_dom.c @@ -25,6 +25,81 @@ static struct rmsgpack_dom_value *dom_reader_state_pop( return v; } +static void puts_i64(int64_t dec) +{ + signed char digits[19 + 1]; /* max i64: 9,223,372,036,854,775,807 */ + uint64_t decimal; + register int i; + + decimal = (dec < 0) ? (uint64_t)-dec : (uint64_t)+dec; + digits[ 0] = (decimal / 1000000000000000000) % 10; + digits[ 1] = (decimal / 100000000000000000) % 10; + digits[ 2] = (decimal / 10000000000000000) % 10; + digits[ 3] = (decimal / 1000000000000000) % 10; + digits[ 4] = (decimal / 100000000000000) % 10; + digits[ 5] = (decimal / 10000000000000) % 10; + digits[ 6] = (decimal / 1000000000000) % 10; + digits[ 7] = (decimal / 100000000000) % 10; + digits[ 8] = (decimal / 10000000000) % 10; + digits[ 9] = (decimal / 1000000000) % 10; + digits[10] = (decimal / 100000000) % 10; + digits[11] = (decimal / 10000000) % 10; + digits[12] = (decimal / 1000000) % 10; + digits[13] = (decimal / 100000) % 10; + digits[14] = (decimal / 10000) % 10; + digits[15] = (decimal / 1000) % 10; + digits[16] = (decimal / 100) % 10; + digits[17] = (decimal / 10) % 10; + digits[18] = (decimal / 1) % 10; + digits[19] = '\0'; + + for (i = 0; i < sizeof(digits) - 1; i++) + digits[i] += '0'; + for (i = 0; i < sizeof(digits) - 2; i++) + if (digits[i] != '0') + break; /* Don't print leading zeros to the console. */ + + if (dec < 0) + putchar('-'); + fputs((char *)&digits[i], stdout); +} + +static void puts_u64(uint64_t decimal) +{ + char digits[20 + 1]; /* max i64: 18,446,744,073,709,551,616 */ + register int i; + + digits[ 0] = (decimal / 10000000000000000000) % 10; + digits[ 1] = (decimal / 1000000000000000000) % 10; + digits[ 2] = (decimal / 100000000000000000) % 10; + digits[ 3] = (decimal / 10000000000000000) % 10; + digits[ 4] = (decimal / 1000000000000000) % 10; + digits[ 5] = (decimal / 100000000000000) % 10; + digits[ 6] = (decimal / 10000000000000) % 10; + digits[ 7] = (decimal / 1000000000000) % 10; + digits[ 8] = (decimal / 100000000000) % 10; + digits[ 9] = (decimal / 10000000000) % 10; + digits[10] = (decimal / 1000000000) % 10; + digits[11] = (decimal / 100000000) % 10; + digits[12] = (decimal / 10000000) % 10; + digits[13] = (decimal / 1000000) % 10; + digits[14] = (decimal / 100000) % 10; + digits[15] = (decimal / 10000) % 10; + digits[16] = (decimal / 1000) % 10; + digits[17] = (decimal / 100) % 10; + digits[18] = (decimal / 10) % 10; + digits[19] = (decimal / 1) % 10; + digits[20] = '\0'; + + for (i = 0; i < sizeof(digits) - 1; i++) + digits[i] += '0'; + for (i = 0; i < sizeof(digits) - 2; i++) + if (digits[i] != '0') + break; /* Don't print leading zeros to the console. */ + + fputs(&digits[i], stdout); +} + static int dom_reader_state_push(struct dom_reader_state *s, struct rmsgpack_dom_value *v) { @@ -295,18 +370,10 @@ void rmsgpack_dom_value_print(struct rmsgpack_dom_value *obj) printf("false"); break; case RDT_INT: -#ifdef _WIN32 - printf("%I64d", (signed long long)obj->int_); -#else - printf("%lld", (signed long long)obj->int_); -#endif + puts_i64(obj -> int_); break; case RDT_UINT: -#ifdef _WIN32 - printf("%I64u", (unsigned long long)obj->uint_); -#else - printf("%llu", (unsigned long long)obj->uint_); -#endif + puts_u64(obj -> uint_); break; case RDT_STRING: printf("\"%s\"", obj->string.buff); From db1f1f631b301fb24489fe404e193d065ede64d5 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 28 May 2015 18:00:26 -0400 Subject: [PATCH 09/14] Roll all the modulo iterations into a safer loop. --- libretro-db/rmsgpack_dom.c | 51 ++++++++------------------------------ 1 file changed, 11 insertions(+), 40 deletions(-) diff --git a/libretro-db/rmsgpack_dom.c b/libretro-db/rmsgpack_dom.c index 1fda08f2e8..1c54b4c5c4 100644 --- a/libretro-db/rmsgpack_dom.c +++ b/libretro-db/rmsgpack_dom.c @@ -32,26 +32,12 @@ static void puts_i64(int64_t dec) register int i; decimal = (dec < 0) ? (uint64_t)-dec : (uint64_t)+dec; - digits[ 0] = (decimal / 1000000000000000000) % 10; - digits[ 1] = (decimal / 100000000000000000) % 10; - digits[ 2] = (decimal / 10000000000000000) % 10; - digits[ 3] = (decimal / 1000000000000000) % 10; - digits[ 4] = (decimal / 100000000000000) % 10; - digits[ 5] = (decimal / 10000000000000) % 10; - digits[ 6] = (decimal / 1000000000000) % 10; - digits[ 7] = (decimal / 100000000000) % 10; - digits[ 8] = (decimal / 10000000000) % 10; - digits[ 9] = (decimal / 1000000000) % 10; - digits[10] = (decimal / 100000000) % 10; - digits[11] = (decimal / 10000000) % 10; - digits[12] = (decimal / 1000000) % 10; - digits[13] = (decimal / 100000) % 10; - digits[14] = (decimal / 10000) % 10; - digits[15] = (decimal / 1000) % 10; - digits[16] = (decimal / 100) % 10; - digits[17] = (decimal / 10) % 10; - digits[18] = (decimal / 1) % 10; digits[19] = '\0'; + for (i = sizeof(digits) - 2; i >= 0; i--) + { + digits[i] = decimal % 10; + decimal /= 10; + } for (i = 0; i < sizeof(digits) - 1; i++) digits[i] += '0'; @@ -66,30 +52,15 @@ static void puts_i64(int64_t dec) static void puts_u64(uint64_t decimal) { - char digits[20 + 1]; /* max i64: 18,446,744,073,709,551,616 */ + char digits[20 + 1]; /* max u64: 18,446,744,073,709,551,616 */ register int i; - digits[ 0] = (decimal / 10000000000000000000) % 10; - digits[ 1] = (decimal / 1000000000000000000) % 10; - digits[ 2] = (decimal / 100000000000000000) % 10; - digits[ 3] = (decimal / 10000000000000000) % 10; - digits[ 4] = (decimal / 1000000000000000) % 10; - digits[ 5] = (decimal / 100000000000000) % 10; - digits[ 6] = (decimal / 10000000000000) % 10; - digits[ 7] = (decimal / 1000000000000) % 10; - digits[ 8] = (decimal / 100000000000) % 10; - digits[ 9] = (decimal / 10000000000) % 10; - digits[10] = (decimal / 1000000000) % 10; - digits[11] = (decimal / 100000000) % 10; - digits[12] = (decimal / 10000000) % 10; - digits[13] = (decimal / 1000000) % 10; - digits[14] = (decimal / 100000) % 10; - digits[15] = (decimal / 10000) % 10; - digits[16] = (decimal / 1000) % 10; - digits[17] = (decimal / 100) % 10; - digits[18] = (decimal / 10) % 10; - digits[19] = (decimal / 1) % 10; digits[20] = '\0'; + for (i = sizeof(digits) - 2; i >= 0; i--) + { + digits[i] = decimal % 10; + decimal /= 10; + } for (i = 0; i < sizeof(digits) - 1; i++) digits[i] += '0'; From 5471e8cfa555513c5dd3f458acd8737cd04a8dd7 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 29 May 2015 06:21:04 +0200 Subject: [PATCH 10/14] Load databases as binary files on Win32 --- libretro-db/libretrodb.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libretro-db/libretrodb.c b/libretro-db/libretrodb.c index 53fa6085e4..aec1bb5c58 100644 --- a/libretro-db/libretrodb.c +++ b/libretro-db/libretrodb.c @@ -153,7 +153,11 @@ int libretrodb_open(const char *path, libretrodb_t *db) libretrodb_header_t header; libretrodb_metadata_t md; int rv; +#ifdef _WIN32 + int fd = open(path, O_RDWR | O_BINARY); +#else int fd = open(path, O_RDWR); +#endif if (fd == -1) return -errno; From ca1920e52e4cdcd8d6a16cb9c78fd1d5d01bba68 Mon Sep 17 00:00:00 2001 From: Jonathan Relf Date: Fri, 29 May 2015 08:57:44 +0100 Subject: [PATCH 11/14] Added quotes to Keyboard input examples Commented out examples for key mappings like input_player1_a were shown without quotes around the key definitions. --- retroarch.cfg | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/retroarch.cfg b/retroarch.cfg index c80eb6dfb3..bc137801b4 100644 --- a/retroarch.cfg +++ b/retroarch.cfg @@ -406,18 +406,18 @@ # # Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely, # rather than relying on a default. -# input_player1_a = x -# input_player1_b = z -# input_player1_y = a -# input_player1_x = s -# input_player1_start = enter -# input_player1_select = rshift -# input_player1_l = q -# input_player1_r = w -# input_player1_left = left -# input_player1_right = right -# input_player1_up = up -# input_player1_down = down +# input_player1_a = "x" +# input_player1_b = "z" +# input_player1_y = "a" +# input_player1_x = "s" +# input_player1_start = "enter" +# input_player1_select = "rshift" +# input_player1_l = "q" +# input_player1_r = "w" +# input_player1_left = "left" +# input_player1_right = "right" +# input_player1_up = "up" +# input_player1_down = "down" # input_player1_l2 = # input_player1_r2 = # input_player1_l3 = From 95aebb865e0b143fe90f3dec6cd75e936d08aab4 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 29 May 2015 21:25:45 +0200 Subject: [PATCH 12/14] Hide Menu Font Color settings for non-advanced settings view --- settings.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/settings.c b/settings.c index 67a5414f60..2eaa420edf 100644 --- a/settings.c +++ b/settings.c @@ -5405,6 +5405,7 @@ static bool setting_append_list_menu_options( subgroup_info.name, general_write_handler, general_read_handler); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); CONFIG_BOOL( settings->menu.navigation.wraparound.vertical_enable, @@ -5417,6 +5418,7 @@ static bool setting_append_list_menu_options( subgroup_info.name, general_write_handler, general_read_handler); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); END_SUB_GROUP(list, list_info); @@ -5472,6 +5474,7 @@ static bool setting_append_list_menu_options( general_write_handler, general_read_handler); settings_data_list_current_add_flags(list, list_info, SD_FLAG_ALLOW_INPUT); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); CONFIG_HEX( settings->menu.entry_hover_color, @@ -5483,6 +5486,7 @@ static bool setting_append_list_menu_options( general_write_handler, general_read_handler); settings_data_list_current_add_flags(list, list_info, SD_FLAG_ALLOW_INPUT); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); CONFIG_HEX( settings->menu.title_color, @@ -5494,6 +5498,7 @@ static bool setting_append_list_menu_options( general_write_handler, general_read_handler); settings_data_list_current_add_flags(list, list_info, SD_FLAG_ALLOW_INPUT); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); END_SUB_GROUP(list, list_info); From 7ea749cfdf4f18c8dd39af27323874b9650f3f52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Fri, 29 May 2015 17:35:29 -0300 Subject: [PATCH 13/14] Mark some settings as advanced --- settings.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/settings.c b/settings.c index 67a5414f60..2eef625201 100644 --- a/settings.c +++ b/settings.c @@ -3826,6 +3826,7 @@ static bool setting_append_list_general_options( subgroup_info.name, general_write_handler, general_read_handler); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); #ifdef HAVE_THREADS CONFIG_UINT( @@ -5405,6 +5406,7 @@ static bool setting_append_list_menu_options( subgroup_info.name, general_write_handler, general_read_handler); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); CONFIG_BOOL( settings->menu.navigation.wraparound.vertical_enable, @@ -5417,6 +5419,7 @@ static bool setting_append_list_menu_options( subgroup_info.name, general_write_handler, general_read_handler); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); END_SUB_GROUP(list, list_info); From c7bc8129f4f17f4d0ad5031ae960fbaf24938bf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Fri, 29 May 2015 18:02:21 -0300 Subject: [PATCH 14/14] (settings.c) Rename some settings --- settings.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/settings.c b/settings.c index 2eef625201..428471dace 100644 --- a/settings.c +++ b/settings.c @@ -2114,7 +2114,7 @@ int setting_get_description(const char *label, char *msg, "for the first time.\n" " \n" "This is only updated in config if\n" - "'Config Save On Exit' is set to true.\n"); + "'Save Configuration on Exit' is enabled.\n"); } else if (!strcmp(label, "config_save_on_exit")) { @@ -2523,8 +2523,8 @@ int setting_get_description(const char *label, char *msg, "end of RetroArch's lifetime.\n" " \n" "RetroArch will automatically load any savestate\n" - "with this path on startup if 'Savestate Auto\n" - "Load' is set."); + "with this path on startup if 'Auto Load State\n" + "is enabled."); } else if (!strcmp(label, "shader_apply_changes")) { @@ -3496,7 +3496,7 @@ static bool setting_append_list_driver_options( CONFIG_STRING_OPTIONS( settings->input.joypad_driver, "input_joypad_driver", - "Input Device Driver", + "Joypad Driver", config_get_default_joypad(), config_get_joypad_driver_options(), group_info.name, @@ -3762,7 +3762,7 @@ static bool setting_append_list_general_options( CONFIG_BOOL(settings->config_save_on_exit, "config_save_on_exit", - "Configuration Save On Exit", + "Save Configuration on Exit", config_save_on_exit, "OFF", "ON", @@ -4201,7 +4201,7 @@ static bool setting_append_list_video_options( CONFIG_BOOL( settings->video.aspect_ratio_auto, "video_aspect_ratio_auto", - "Use Auto Aspect Ratio", + "Auto Aspect Ratio", aspect_ratio_auto, "OFF", "ON", @@ -4337,10 +4337,10 @@ static bool setting_append_list_video_options( CONFIG_BOOL( settings->video.smooth, "video_smooth", - "Use Bilinear Filtering", + "Bilinear Filtering", video_smooth, - "Point filtering", - "Bilinear filtering", + "OFF", + "ON", group_info.name, subgroup_info.name, general_write_handler, @@ -5370,7 +5370,7 @@ static bool setting_append_list_menu_options( CONFIG_BOOL( settings->menu.mouse.enable, "menu_mouse_enable", - "Mouse Enable", + "Mouse Support", false, "OFF", "ON", @@ -5382,7 +5382,7 @@ static bool setting_append_list_menu_options( CONFIG_BOOL( settings->menu.pointer.enable, "menu_pointer_enable", - "Touch Enable", + "Touch Support", pointer_enable, "OFF", "ON", @@ -5600,7 +5600,7 @@ static bool setting_append_list_ui_options( CONFIG_BOOL( settings->video.disable_composition, "video_disable_composition", - "Window Compositing Disable Hint", + "Disable Desktop Composition", disable_composition, "OFF", "ON", @@ -5614,7 +5614,7 @@ static bool setting_append_list_ui_options( CONFIG_BOOL( settings->pause_nonactive, "pause_nonactive", - "Window Unfocus Pause Hint", + "Pause on Focus Loss", pause_nonactive, "OFF", "ON", @@ -5634,11 +5634,12 @@ static bool setting_append_list_ui_options( subgroup_info.name, general_write_handler, general_read_handler); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); CONFIG_BOOL( settings->ui.menubar_enable, "ui_menubar_enable", - "Menubar Enable Hint", + "Menubar (Windows)", true, "OFF", "ON", @@ -5650,7 +5651,7 @@ static bool setting_append_list_ui_options( CONFIG_BOOL( settings->ui.suspend_screensaver_enable, "suspend_screensaver_enable", - "Suspend Screensaver Enable Hint", + "Suspend Screensaver", true, "OFF", "ON",