From c02d8b8475be33c5ead6bd06eb39c38d51ff4443 Mon Sep 17 00:00:00 2001 From: libretroadmin Date: Sat, 15 Jun 2024 16:28:30 +0200 Subject: [PATCH 1/7] Slight change in header include --- libretro-common/file/archive_file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libretro-common/file/archive_file.c b/libretro-common/file/archive_file.c index b2eafb159c1..ce2086bf31c 100644 --- a/libretro-common/file/archive_file.c +++ b/libretro-common/file/archive_file.c @@ -24,8 +24,8 @@ #include #include -#include #include +#include #include #include #include From f574a3a68e685a8f54b1052029bee308412f5fca Mon Sep 17 00:00:00 2001 From: libretroadmin Date: Sat, 15 Jun 2024 16:34:19 +0200 Subject: [PATCH 2/7] (archive_file) Don't know why this won't compile for MSVC - gets included which should redefine strtok_r for MSVC usage but it just doesn't work and fails at linking stage, will have to figure this out later --- libretro-common/file/archive_file.c | 51 +++++++++++++---------------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/libretro-common/file/archive_file.c b/libretro-common/file/archive_file.c index ce2086bf31c..51cb578c7fa 100644 --- a/libretro-common/file/archive_file.c +++ b/libretro-common/file/archive_file.c @@ -25,7 +25,6 @@ #include #include -#include #include #include #include @@ -56,43 +55,37 @@ static int file_archive_get_file_list_cb( if (valid_exts) { - char *tok, *save; - bool found_ext = false; - char *valid_exts_cpy = NULL; - size_t path_len = 0; - char last_char = 0; - const char *file_ext = path_get_extension(path); - - if (!file_ext) - return 1; - - path_len = strlen(path); - last_char = path[path_len - 1]; - + size_t path_len = strlen(path); /* Checks if this entry is a directory or a file. */ + char last_char = path[path_len - 1]; + struct string_list ext_list = {0}; + /* Skip if directory. */ - if (last_char == '/' || last_char == '\\') + if (last_char == '/' || last_char == '\\' ) return 1; - valid_exts_cpy = strdup(valid_exts); - tok = strtok_r(valid_exts_cpy, "|", &save); - - while (tok) + string_list_initialize(&ext_list); + if (string_split_noalloc(&ext_list, valid_exts, "|")) { - if (string_is_equal_noncase(tok, file_ext)) + const char *file_ext = path_get_extension(path); + + if (!file_ext) { - found_ext = true; - break; + string_list_deinitialize(&ext_list); + return 1; } - tok = strtok_r(NULL, "|", &save); - } - free(valid_exts_cpy); - /* keep iterating */ - if (!found_ext) - return -1; + if (!string_list_find_elem_prefix(&ext_list, ".", file_ext)) + { + /* keep iterating */ + string_list_deinitialize(&ext_list); + return -1; + } + + attr.i = RARCH_COMPRESSED_FILE_IN_ARCHIVE; + } - attr.i = RARCH_COMPRESSED_FILE_IN_ARCHIVE; + string_list_deinitialize(&ext_list); } return string_list_append(userdata->list, path, attr); From c741c9d9a9b86074297c4a2cdf64ad1d86d3edd8 Mon Sep 17 00:00:00 2001 From: libretroadmin Date: Sat, 15 Jun 2024 16:44:41 +0200 Subject: [PATCH 3/7] Remove unused variables --- libretro-common/file/archive_file.c | 1 - menu/cbs/menu_cbs_deferred_push.c | 1 - menu/menu_displaylist.c | 2 -- 3 files changed, 4 deletions(-) diff --git a/libretro-common/file/archive_file.c b/libretro-common/file/archive_file.c index 51cb578c7fa..0a30211ae12 100644 --- a/libretro-common/file/archive_file.c +++ b/libretro-common/file/archive_file.c @@ -20,7 +20,6 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include #include #include diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index 335967b43a2..a4089b76465 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -358,7 +358,6 @@ static int deferred_push_cursor_manager_list_generic( char *elem0 = NULL; char *elem1 = NULL; char *path_cpy = NULL; - int ret = -1; const char *path = info->path; if (!path) diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 59725af90fc..e7454339ba1 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -11754,8 +11754,6 @@ static unsigned print_buf_lines(file_list_t *list, char *buf, for (i = 0; i < buf_size; i++) { size_t ln; - struct string_list str_list = {0}; - const char *core_pathname = NULL; /* The end of the buffer, print the last bit */ if (*(buf + i) == '\0') From 1d47d24b5f1156451876427621b479df465d5758 Mon Sep 17 00:00:00 2001 From: libretroadmin Date: Sat, 15 Jun 2024 16:55:01 +0200 Subject: [PATCH 4/7] (audio/common) Fix header includes --- audio/common/alsa.c | 3 ++- audio/common/alsa.h | 5 +++-- audio/common/alsathread.h | 6 +++--- audio/common/mmdevice_common.c | 1 - audio/common/wasapi.c | 15 ++++++++------- audio/common/wasapi.h | 6 +++--- 6 files changed, 19 insertions(+), 17 deletions(-) diff --git a/audio/common/alsa.c b/audio/common/alsa.c index f1b011a2e8e..445ecb2017d 100644 --- a/audio/common/alsa.c +++ b/audio/common/alsa.c @@ -19,8 +19,9 @@ #include #include +#include "alsa.h" + #include "../audio_driver.h" -#include "../common/alsa.h" #include "../../verbosity.h" int alsa_init_pcm(snd_pcm_t **pcm, diff --git a/audio/common/alsa.h b/audio/common/alsa.h index d459c21c746..013a4e7103a 100644 --- a/audio/common/alsa.h +++ b/audio/common/alsa.h @@ -18,8 +18,9 @@ #define _RETROARCH_ALSA #include -#include "queues/fifo_queue.h" -#include "rthreads/rthreads.h" +#include +#include + /* Header file for common functions that are used by alsa and alsathread. */ /** diff --git a/audio/common/alsathread.h b/audio/common/alsathread.h index dafa5be8e05..b137b1fff69 100644 --- a/audio/common/alsathread.h +++ b/audio/common/alsathread.h @@ -19,9 +19,9 @@ #include #include -#include "queues/fifo_queue.h" -#include "rthreads/rthreads.h" -#include "./alsa.h" +#include +#include +#include "alsa.h" typedef struct alsa_thread_info { diff --git a/audio/common/mmdevice_common.c b/audio/common/mmdevice_common.c index 6801693b907..c0c14979ddb 100644 --- a/audio/common/mmdevice_common.c +++ b/audio/common/mmdevice_common.c @@ -21,7 +21,6 @@ #include "mmdevice_common.h" #include "mmdevice_common_inline.h" - char* mmdevice_name(IMMDevice *device) { HRESULT hr; diff --git a/audio/common/wasapi.c b/audio/common/wasapi.c index b94a3ed20ec..639dda79d8e 100644 --- a/audio/common/wasapi.c +++ b/audio/common/wasapi.c @@ -15,17 +15,18 @@ */ #include "wasapi.h" -#include #ifdef HAVE_MICROPHONE -#include "audio/microphone_driver.h" +#include "../microphone_driver.h" #endif -#include "queues/fifo_queue.h" -#include "lists/string_list.h" -#include "configuration.h" -#include "verbosity.h" -#include "string/stdstring.h" +#include +#include +#include + #include "mmdevice_common.h" +#include "../../configuration.h" +#include "../../verbosity.h" + const char *hresult_name(HRESULT hr) { switch (hr) diff --git a/audio/common/wasapi.h b/audio/common/wasapi.h index 9393e2a01ed..154313ab36b 100644 --- a/audio/common/wasapi.h +++ b/audio/common/wasapi.h @@ -23,8 +23,8 @@ #ifndef RETROARCH_COMMON_WASAPI_H #define RETROARCH_COMMON_WASAPI_H -#include "../common/mmdevice_common_inline.h" -#include "boolean.h" +#include "mmdevice_common_inline.h" +#include /* Shared buffer size replacement placeholders */ #define WASAPI_SH_BUFFER_AUDIO_LATENCY 0 @@ -37,4 +37,4 @@ IMMDevice *wasapi_init_device(const char *id, EDataFlow data_flow); IAudioClient *wasapi_init_client(IMMDevice *device, bool *exclusive, bool *float_fmt, unsigned *rate, unsigned latency, unsigned channels); -#endif /* RETROARCH_COMMON_WASAPI_H */ \ No newline at end of file +#endif /* RETROARCH_COMMON_WASAPI_H */ From 761d740e46fe33f5ad68c3ebce8a6cd1fa4f799c Mon Sep 17 00:00:00 2001 From: libretroadmin Date: Sat, 15 Jun 2024 18:00:22 +0200 Subject: [PATCH 5/7] (menu_displaylist.c) More string_list removal --- menu/menu_displaylist.c | 114 +++++++++++++++++++++++----------------- 1 file changed, 65 insertions(+), 49 deletions(-) diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index e7454339ba1..17f4940e8de 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -12825,14 +12825,21 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, case DISPLAYLIST_DATABASE_ENTRY: menu_entries_clear(info->list); { + char *elem0 = NULL; + char *elem1 = NULL; #ifdef HAVE_LIBRETRODB bool parse_database = false; #endif - struct string_list *str_list = NULL; - if (!string_is_empty(info->label)) { - str_list = string_split(info->label, "|"); + char *tok, *save; + char *info_label_cpy = strdup(info->label); + + if ((tok = strtok_r(info_label_cpy, "|", &save))) + elem0 = strdup(tok); + if ((tok = strtok_r(NULL, "|", &save))) + elem1 = strdup(tok); + free(info_label_cpy); free(info->label); info->label = NULL; } @@ -12842,22 +12849,14 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, info->path_b = NULL; } - if (str_list) + if ( !string_is_empty(elem0) + && !string_is_empty(elem1)) { - if (str_list->size > 1) - { - if ( !string_is_empty(str_list->elems[0].data) - && !string_is_empty(str_list->elems[1].data)) - { - info->path_b = strdup(str_list->elems[1].data); - info->label = strdup(str_list->elems[0].data); + info->path_b = elem1; + info->label = elem0; #ifdef HAVE_LIBRETRODB - parse_database = true; + parse_database = true; #endif - } - } - - string_list_free(str_list); } #ifdef HAVE_LIBRETRODB @@ -14967,43 +14966,54 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_entries_clear(info->list); #if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL) { - struct string_list str_list = {0}; char new_exts[PATH_MAX_LENGTH]; - union string_list_elem_attr attr; - attr.i = 0; + size_t _len = 0; new_exts[0] = '\0'; - string_list_initialize(&str_list); filebrowser_clear_type(); switch (type) { case DISPLAYLIST_SHADER_PRESET: info->type_default = FILE_TYPE_SHADER_PRESET; if (video_shader_is_supported(RARCH_SHADER_CG)) - string_list_append(&str_list, "cgp", attr); + _len += strlcpy(new_exts + _len, "cgp", sizeof(new_exts) - _len); if (video_shader_is_supported(RARCH_SHADER_GLSL)) - string_list_append(&str_list, "glslp", attr); + { + if (new_exts[_len-1] != '\0') + _len += strlcpy(new_exts + _len, "|", sizeof(new_exts) - _len); + _len += strlcpy(new_exts + _len, "glslp", sizeof(new_exts) - _len); + } if (video_shader_is_supported(RARCH_SHADER_SLANG)) - string_list_append(&str_list, "slangp", attr); + { + if (new_exts[_len-1] != '\0') + _len += strlcpy(new_exts + _len, "|", sizeof(new_exts) - _len); + _len += strlcpy(new_exts + _len, "slangp", sizeof(new_exts) - _len); + } break; case DISPLAYLIST_SHADER_PASS: info->type_default = FILE_TYPE_SHADER; if (video_shader_is_supported(RARCH_SHADER_CG)) - string_list_append(&str_list, "cg", attr); + _len += strlcpy(new_exts + _len, "cg", sizeof(new_exts) - _len); if (video_shader_is_supported(RARCH_SHADER_GLSL)) - string_list_append(&str_list, "glsl", attr); + { + if (new_exts[_len-1] != '\0') + _len += strlcpy(new_exts + _len, "|", sizeof(new_exts) - _len); + _len += strlcpy(new_exts + _len, "glsl", sizeof(new_exts) - _len); + } if (video_shader_is_supported(RARCH_SHADER_SLANG)) - string_list_append(&str_list, "slang", attr); + { + if (new_exts[_len-1] != '\0') + _len += strlcpy(new_exts + _len, "|", sizeof(new_exts) - _len); + _len += strlcpy(new_exts + _len, "slang", sizeof(new_exts) - _len); + } break; default: break; } - string_list_join_concat(new_exts, sizeof(new_exts), &str_list, "|"); if (!string_is_empty(info->exts)) free(info->exts); - info->exts = strdup(new_exts); - string_list_deinitialize(&str_list); + info->exts = strdup(new_exts); use_filebrowser = true; } #endif @@ -15013,25 +15023,28 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_entries_clear(info->list); #if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL) { - struct string_list str_list = {0}; char new_exts[PATH_MAX_LENGTH]; - union string_list_elem_attr attr; - attr.i = 0; + size_t _len = 0; new_exts[0] = '\0'; - string_list_initialize(&str_list); filebrowser_clear_type(); info->type_default = FILE_TYPE_SHADER_PRESET; if (video_shader_is_supported(RARCH_SHADER_CG)) - string_list_append(&str_list, "cgp", attr); + _len += strlcpy(new_exts + _len, "cgp", sizeof(new_exts) - _len); if (video_shader_is_supported(RARCH_SHADER_GLSL)) - string_list_append(&str_list, "glslp", attr); + { + if (new_exts[_len-1] != '\0') + _len += strlcpy(new_exts + _len, "|", sizeof(new_exts) - _len); + _len += strlcpy(new_exts + _len, "glslp", sizeof(new_exts) - _len); + } if (video_shader_is_supported(RARCH_SHADER_SLANG)) - string_list_append(&str_list, "slangp", attr); - string_list_join_concat(new_exts, sizeof(new_exts), &str_list, "|"); + { + if (new_exts[_len-1] != '\0') + _len += strlcpy(new_exts + _len, "|", sizeof(new_exts) - _len); + _len += strlcpy(new_exts + _len, "slangp", sizeof(new_exts) - _len); + } if (!string_is_empty(info->exts)) free(info->exts); info->exts = strdup(new_exts); - string_list_deinitialize(&str_list); use_filebrowser = true; } #endif @@ -15043,30 +15056,33 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, filebrowser_clear_type(); info->type_default = FILE_TYPE_IMAGE; { + size_t _len = 0; char new_exts[PATH_MAX_LENGTH]; - union string_list_elem_attr attr; - struct string_list *str_list = string_list_new(); - attr.i = 0; new_exts[0] = '\0'; #ifdef HAVE_RBMP - string_list_append(str_list, "bmp", attr); + _len += strlcpy(new_exts + _len, "bmp", sizeof(new_exts) - _len); #endif #ifdef HAVE_RPNG - string_list_append(str_list, "png", attr); + if (new_exts[_len-1] != '\0') + _len += strlcpy(new_exts + _len, "|", sizeof(new_exts) - _len); + _len += strlcpy(new_exts + _len, "png", sizeof(new_exts) - _len); #endif #ifdef HAVE_RJPEG - string_list_append(str_list, "jpeg", attr); - string_list_append(str_list, "jpg", attr); + if (new_exts[_len-1] != '\0') + _len += strlcpy(new_exts + _len, "|", sizeof(new_exts) - _len); + _len += strlcpy(new_exts + _len, "jpeg", sizeof(new_exts) - _len); + if (new_exts[_len-1] != '\0') + _len += strlcpy(new_exts + _len, "|", sizeof(new_exts) - _len); + _len += strlcpy(new_exts + _len, "jpg", sizeof(new_exts) - _len); #endif #ifdef HAVE_RTGA - string_list_append(str_list, "tga", attr); + if (new_exts[_len-1] != '\0') + _len += strlcpy(new_exts + _len, "|", sizeof(new_exts) - _len); + _len += strlcpy(new_exts + _len, "tga", sizeof(new_exts) - _len); #endif - string_list_join_concat(new_exts, - sizeof(new_exts), str_list, "|"); if (!string_is_empty(info->exts)) free(info->exts); info->exts = strdup(new_exts); - string_list_free(str_list); } use_filebrowser = true; break; From d7d1011ab0b817f96f65016e7b39541fd28c5250 Mon Sep 17 00:00:00 2001 From: libretroadmin Date: Sat, 15 Jun 2024 19:12:15 +0200 Subject: [PATCH 6/7] More string_list removal --- menu/cbs/menu_cbs_ok.c | 42 ++++++++++++++++++++++----------- retroarch.c | 53 +++++++++++++++++++++--------------------- 2 files changed, 55 insertions(+), 40 deletions(-) diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index ad2e0872b2b..b9fb9a44093 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -6181,47 +6181,62 @@ static int action_ok_delete_entry(const char *path, static int action_ok_rdb_entry_submenu(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) { + char *tok, *save; union string_list_elem_attr attr; char new_label[PATH_MAX_LENGTH]; + char *elem0 = NULL; + char *elem1 = NULL; + char *elem2 = NULL; int ret = -1; char *rdb = NULL; int len = 0; - struct string_list str_list = {0}; struct string_list str_list2 = {0}; + char *label_cpy = NULL; if (!label) return -1; - new_label[0] = '\0'; - - string_list_initialize(&str_list); - if (!string_split_noalloc(&str_list, label, "|")) - goto end; + label_cpy = strdup(label); - string_list_initialize(&str_list2); + new_label[0] = '\0'; /* element 0 : label * element 1 : value * element 2 : database path */ + if ((tok = strtok_r(label_cpy, "|", &save))) + elem0 = strdup(tok); + if ((tok = strtok_r(NULL, "|", &save))) + elem1 = strdup(tok); + if ((tok = strtok_r(NULL, "|", &save))) + elem2 = strdup(tok); + free(label_cpy); + + string_list_initialize(&str_list2); attr.i = 0; - len += strlen(str_list.elems[1].data) + 1; - string_list_append(&str_list2, str_list.elems[1].data, attr); + len += strlen(elem1) + 1; + string_list_append(&str_list2, elem1, attr); + free(elem1); - len += strlen(str_list.elems[2].data) + 1; - string_list_append(&str_list2, str_list.elems[2].data, attr); + len += strlen(elem2) + 1; + string_list_append(&str_list2, elem2, attr); + free(elem2); if (!(rdb = (char*)calloc(len, sizeof(char)))) + { + if (elem0) + free(elem0); goto end; + } string_list_join_concat(rdb, len, &str_list2, "|"); fill_pathname_join_delim(new_label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST), - str_list.elems[0].data, '_', - sizeof(new_label)); + elem0, '_', sizeof(new_label)); + free(elem0); ret = generic_action_ok_displaylist_push( rdb, NULL, @@ -6232,7 +6247,6 @@ static int action_ok_rdb_entry_submenu(const char *path, end: if (rdb) free(rdb); - string_list_deinitialize(&str_list); string_list_deinitialize(&str_list2); return ret; diff --git a/retroarch.c b/retroarch.c index 7bc799781d4..e1cea6e65cc 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2168,8 +2168,9 @@ struct string_list *dir_list_new_special(const char *input_dir, char ext_shaders[255]; #endif char ext_name[16]; - const char *exts = NULL; - bool recursive = false; + size_t _len = 0; + const char *exts = NULL; + bool recursive = false; switch (type) { @@ -2196,36 +2197,36 @@ struct string_list *dir_list_new_special(const char *input_dir, case DIR_LIST_SHADERS: #if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL) { - union string_list_elem_attr attr; - struct string_list str_list; - - if (!string_list_initialize(&str_list)) - return NULL; - ext_shaders[0] = '\0'; - attr.i = 0; - if (video_shader_is_supported(RARCH_SHADER_CG)) { - string_list_append(&str_list, "cgp", attr); - string_list_append(&str_list, "cg", attr); + _len += strlcpy(ext_shaders + _len, "cgp", sizeof(ext_shaders) - _len); + if (ext_shaders[_len-1] != '\0') + _len += strlcpy(ext_shaders + _len, "|", sizeof(ext_shaders) - _len); + _len += strlcpy(ext_shaders + _len, "cg", sizeof(ext_shaders) - _len); } if (video_shader_is_supported(RARCH_SHADER_GLSL)) { - string_list_append(&str_list, "glslp", attr); - string_list_append(&str_list, "glsl", attr); + if (ext_shaders[_len-1] != '\0') + _len += strlcpy(ext_shaders + _len, "|", sizeof(ext_shaders) - _len); + _len += strlcpy(ext_shaders + _len, "glslp", sizeof(ext_shaders) - _len); + if (ext_shaders[_len-1] != '\0') + _len += strlcpy(ext_shaders + _len, "|", sizeof(ext_shaders) - _len); + _len += strlcpy(ext_shaders + _len, "glsl", sizeof(ext_shaders) - _len); } if (video_shader_is_supported(RARCH_SHADER_SLANG)) { - string_list_append(&str_list, "slangp", attr); - string_list_append(&str_list, "slang", attr); + if (ext_shaders[_len-1] != '\0') + _len += strlcpy(ext_shaders + _len, "|", sizeof(ext_shaders) - _len); + _len += strlcpy(ext_shaders + _len, "slangp", sizeof(ext_shaders) - _len); + if (ext_shaders[_len-1] != '\0') + _len += strlcpy(ext_shaders + _len, "|", sizeof(ext_shaders) - _len); + _len += strlcpy(ext_shaders + _len, "slang", sizeof(ext_shaders) - _len); } - string_list_join_concat(ext_shaders, sizeof(ext_shaders), &str_list, "|"); - string_list_deinitialize(&str_list); exts = ext_shaders; } break; @@ -6946,16 +6947,16 @@ static bool retroarch_parse_input_and_config( case 'd': { unsigned new_port; - unsigned id = 0; - struct string_list *list = string_split(optarg, ":"); + char *tok, *save; int port = 0; + unsigned id = 0; + char *optarg_cpy = strdup(optarg); - if (list && list->size == 2) - { - port = (int)strtol(list->elems[0].data, NULL, 0); - id = (unsigned)strtoul(list->elems[1].data, NULL, 0); - } - string_list_free(list); + if ((tok = strtok_r(optarg_cpy, ":", &save))) + port = (int)strtol(tok, NULL, 0); + if ((tok = strtok_r(NULL, ":", &save))) + id = (unsigned)strtoul(tok, NULL, 0); + free(optarg_cpy); if (port < 1 || port > MAX_USERS) { From 1f1ff0aafc9d7da78020fc19c7a1efa4ad55f257 Mon Sep 17 00:00:00 2001 From: github-actions Date: Sun, 16 Jun 2024 00:13:36 +0000 Subject: [PATCH 7/7] Fetch translations from Crowdin --- intl/msg_hash_be.h | 10 +++++++++- intl/msg_hash_id.h | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/intl/msg_hash_be.h b/intl/msg_hash_be.h index fc0559fdf2f..9073a1af776 100644 --- a/intl/msg_hash_be.h +++ b/intl/msg_hash_be.h @@ -3556,7 +3556,7 @@ MSG_HASH( ) MSG_HASH( MENU_ENUM_SUBLABEL_INPUT_META_GRAB_MOUSE_TOGGLE, - "Захапляе або вызваляе мыш. Пры захопе сістэмны курсор схаваны ды абмежаваны акном RetroArch, тым самым паляпшаючы адносны ўвод мышы." + "Захапляе або вызваляе мыш. Пры захопе сістэмны курсор схаваны ды абмежаваны акном RetroArch, паляпшаючы адносны ўвод мышы." ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_META_GAME_FOCUS_TOGGLE, @@ -3575,6 +3575,10 @@ MSG_HASH( "Меню працоўнага стала (пераключэнне)" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_VRR_RUNLOOP_TOGGLE, + "Сінхранізацыя з частатой кадраў змесціва (пераключэнне)" + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_META_RUNAHEAD_TOGGLE, "Забяганне (пераключэнне)" @@ -3677,6 +3681,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R2, "Кнопка R2 (трыгер)" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_TURBO_ENABLE, + "Турба" + ) /* Settings > Latency */ diff --git a/intl/msg_hash_id.h b/intl/msg_hash_id.h index 513e7e8ef99..f83075e191b 100644 --- a/intl/msg_hash_id.h +++ b/intl/msg_hash_id.h @@ -1876,11 +1876,11 @@ MSG_HASH( ) MSG_HASH( MENU_ENUM_LABEL_VALUE_VIDEO_HDR_MAX_NITS, - "Maksimal Pancaran Cahaya Layar" + "Tingkat Serian Layar" ) MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_HDR_MAX_NITS, - "Mengatur maksimal pancaran cahaya layar (dalam cd/m2) dari monitor/TV. Kunjungi situs RTings untuk rujukan." + "Mengatur tingkat serian layar (dalam cd/m2) dari monitor/TV. Kunjungi situs RTings untuk rujukan." ) MSG_HASH( MENU_ENUM_LABEL_VALUE_VIDEO_HDR_PAPER_WHITE_NITS,