From b2b2425203bff51b97a0b29d18499f8533eae3a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Kelemen?= Date: Sun, 3 Apr 2022 19:29:03 +0200 Subject: [PATCH 1/9] bluetoothctl: add / modify pairing steps (#13818) due to some changes in bluez / bluetoothctl, `pairable on` is required in order to create a `[LinkKey]` section in the configuration file for the connected device. if this section is missing, the device / gamepad will not pair after being disconnect and has to be repaired again. --- bluetooth/drivers/bluetoothctl.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bluetooth/drivers/bluetoothctl.c b/bluetooth/drivers/bluetoothctl.c index f3205c8ee9..31f5a24447 100644 --- a/bluetooth/drivers/bluetoothctl.c +++ b/bluetooth/drivers/bluetoothctl.c @@ -170,8 +170,7 @@ static bool bluetoothctl_connect_device(void *data, unsigned idx) string_list_free(list); snprintf(btctl->command, sizeof(btctl->command), "\ - bluetoothctl -- trust %s", - device); + bluetoothctl -- pairable on"); pclose(popen(btctl->command, "r")); @@ -181,6 +180,12 @@ static bool bluetoothctl_connect_device(void *data, unsigned idx) pclose(popen(btctl->command, "r")); + snprintf(btctl->command, sizeof(btctl->command), "\ + bluetoothctl -- trust %s", + device); + + pclose(popen(btctl->command, "r")); + snprintf(btctl->command, sizeof(btctl->command), "\ bluetoothctl -- connect %s", device); From 23f5b6fb865fe589ebcbe149834879aa04d6b74e Mon Sep 17 00:00:00 2001 From: Autechre Date: Sun, 3 Apr 2022 19:29:36 +0200 Subject: [PATCH 2/9] Update CHANGES.md --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index f492b20d9b..c3e9a21356 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,6 @@ # Future - AI/SERVICE: Disable AI Service setting by default +- BLUETOOTH/LAKKA: bluetoothctl: add / modify pairing steps - DATABASE: Serial scanning for Wii now includes WBFS - INPUT/MAPPING: Fix offset + crash when clearing input port binds - LOCALIZATION: Add Valencian language option From 77b5e312033e477e7fa959618cdd4398ce5bca8d Mon Sep 17 00:00:00 2001 From: github-actions Date: Mon, 4 Apr 2022 00:10:31 +0000 Subject: [PATCH 3/9] Fetch translations from Crowdin --- intl/msg_hash_es.h | 8 ++++++++ intl/msg_hash_fi.h | 28 +++++++++++++++++++++++++ intl/msg_hash_pt_br.h | 48 +++++++++++++++++++++++++++++++++++++++++++ intl/msg_hash_ru.h | 8 ++++++++ intl/progress.h | 2 +- 5 files changed, 93 insertions(+), 1 deletion(-) diff --git a/intl/msg_hash_es.h b/intl/msg_hash_es.h index 382db2e4d9..1acdb938c4 100644 --- a/intl/msg_hash_es.h +++ b/intl/msg_hash_es.h @@ -8880,6 +8880,14 @@ MSG_HASH( MENU_ENUM_SUBLABEL_XMB_THEME, "Selecciona otro tema de iconos de RetroArch." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE, + "Mostrar sombras" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_XMB_SHADOWS_ENABLE, + "Muestra sombras en todos los iconos, miniaturas y textos. Afecta levemente al rendimiento." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE, "Canal de shaders del menú" diff --git a/intl/msg_hash_fi.h b/intl/msg_hash_fi.h index ba5aa70551..c1bb982ba4 100644 --- a/intl/msg_hash_fi.h +++ b/intl/msg_hash_fi.h @@ -1206,6 +1206,10 @@ MSG_HASH( ) #ifdef HAVE_MIST +MSG_HASH( + MENU_ENUM_SUBLABEL_STEAM_SETTINGS, + "Muuta Steamiin liittyviä asetuksia." + ) #endif /* Settings > Drivers */ @@ -5056,6 +5060,10 @@ MSG_HASH( "Näytä \"Kansio\"-asetukset." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_SETTINGS_SHOW_STEAM, + "Näytä 'Steam'" + ) /* Settings > User Interface > Appearance */ @@ -6176,6 +6184,26 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT, "Sisältö" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CORE, + "Ytimen nimi" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_SYSTEM, + "Järjestelmän nimi" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT_SYSTEM, + "Sisältö (järjestelmän nimi)" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT_CORE, + "Sisältö (ytimen nimi)" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT_SYSTEM_CORE, + "Sisältö (järjestelmän nimi - ytimen nimi)" + ) #endif /* Music */ diff --git a/intl/msg_hash_pt_br.h b/intl/msg_hash_pt_br.h index 9c573dd8bc..bf95d99018 100644 --- a/intl/msg_hash_pt_br.h +++ b/intl/msg_hash_pt_br.h @@ -1262,6 +1262,10 @@ MSG_HASH( ) #ifdef HAVE_MIST +MSG_HASH( + MENU_ENUM_SUBLABEL_STEAM_SETTINGS, + "Altera as configurações relacionadas ao Steam." + ) #endif /* Settings > Drivers */ @@ -5164,6 +5168,10 @@ MSG_HASH( "Mostre as configurações do \"Diretório\"." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_SETTINGS_SHOW_STEAM, + "Mostrar \"Steam\"" + ) /* Settings > User Interface > Appearance */ @@ -6262,12 +6270,48 @@ MSG_HASH( #ifdef HAVE_MIST /* Settings > Steam */ +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_ENABLE, + "Ativar presença rica" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_STEAM_RICH_PRESENCE_ENABLE, + "Compartilha o seu estado atual do RetroArch no Steam." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT, + "Formato da presença rica do conteúdo" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_STEAM_RICH_PRESENCE_FORMAT, + "Define as informações que serão compartilhadas do conteúdo em execução." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT, "Conteúdo" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CORE, + "Nome do núcleo" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_SYSTEM, + "Nome do sistema" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT_SYSTEM, + "Conteúdo (nome do sistema)" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT_CORE, + "Conteúdo (nome do núcleo)" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT_SYSTEM_CORE, + "Conteúdo (nome do sistema — nome do núcleo)" + ) #endif /* Music */ @@ -8776,6 +8820,10 @@ MSG_HASH( MENU_ENUM_SUBLABEL_XMB_THEME, "Seleciona um tema diferente de ícone para o RetroArch." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE, + "Mostrar sombras" + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE, "Canal de shaders do menu" diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index 0a1a5efe40..3a63b30741 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -8968,6 +8968,14 @@ MSG_HASH( MENU_ENUM_SUBLABEL_XMB_THEME, "Выбор другой темы иконок для RetroArch." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE, + "Отрисовка теней" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_XMB_SHADOWS_ENABLE, + "Включить отбрасывание теней для значков, миниатюр и букв. Незначительно влияет на производительность." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE, "Шейдер меню" diff --git a/intl/progress.h b/intl/progress.h index 73fe412a22..19dabb6c7d 100644 --- a/intl/progress.h +++ b/intl/progress.h @@ -35,7 +35,7 @@ #define LANGUAGE_PROGRESS_ESPERANTO_APPROVED 0 /* Spanish */ -#define LANGUAGE_PROGRESS_SPANISH_TRANSLATED 99 +#define LANGUAGE_PROGRESS_SPANISH_TRANSLATED 100 #define LANGUAGE_PROGRESS_SPANISH_APPROVED 99 /* Persian */ From 1e7265e7aa08893ce75a971db65107dbe631427f Mon Sep 17 00:00:00 2001 From: jdgleaver <38211560+jdgleaver@users.noreply.github.com> Date: Mon, 4 Apr 2022 15:33:44 +0100 Subject: [PATCH 4/9] Static Platforms: Populate all history list metadata when launching content from playlists (#13822) --- tasks/task_content.c | 136 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) diff --git a/tasks/task_content.c b/tasks/task_content.c index a861e4e7aa..f164a09376 100644 --- a/tasks/task_content.c +++ b/tasks/task_content.c @@ -1713,6 +1713,135 @@ static void task_push_to_history_list( } } +#ifndef HAVE_DYNAMIC +/** + * task_push_to_history_list_from_playlist_pre_load_static: + * + * Will push content from the currently selected playlist + * to the history playlist before loading content. Required + * on static platforms, where essential playlist information + * (label, db_name, etc.) would otherwise be lost when the + * core is forked. + **/ +static bool task_push_to_history_list_from_playlist_pre_load_static( + const char *content_path, + const char *core) +{ + const char *core_path = NULL; + const char *core_name = NULL; + const char *label = NULL; + const char *crc32 = NULL; + const char *db_name = NULL; + unsigned ss_entry_slot = 0; + playlist_t *playlist_hist = g_defaults.content_history; + settings_t *settings = config_get_ptr(); +#ifdef HAVE_MENU + menu_handle_t *menu = menu_state_get_ptr()->driver_data; +#endif + + if (!settings || + !settings->bools.history_list_enable || + string_is_empty(content_path)) + return false; + + switch (path_is_media_type(content_path)) + { + case RARCH_CONTENT_MOVIE: +#ifdef HAVE_FFMPEG + playlist_hist = g_defaults.video_history; + core_name = "movieplayer"; + core_path = "builtin"; +#endif + break; + case RARCH_CONTENT_MUSIC: + playlist_hist = g_defaults.music_history; + core_name = "musicplayer"; + core_path = "builtin"; + break; + case RARCH_CONTENT_IMAGE: +#ifdef HAVE_IMAGEVIEWER + playlist_hist = g_defaults.image_history; + core_name = "imageviewer"; + core_path = "builtin"; +#endif + break; + default: + { + core_info_t *core_info = NULL; + + if (!string_is_empty(core) && + core_info_find(core, &core_info)) + { + /* Set core path and core display name */ + core_path = core_info->path; + core_name = core_info->display_name; + +#ifdef HAVE_MENU + /* Read remaining information from currently selected + * playlist entry (label, database name, checksum, + * save state slot) */ + if (menu) + { + playlist_t *playlist_curr = playlist_get_cached(); + + if (playlist_index_is_valid(playlist_curr, + menu->rpl_entry_selection_ptr, + content_path, core_path)) + { + const struct playlist_entry *pl_entry = NULL; + + playlist_get_index(playlist_curr, + menu->rpl_entry_selection_ptr, + &pl_entry); + + if (pl_entry) + { + label = pl_entry->label; + crc32 = pl_entry->crc32; + ss_entry_slot = pl_entry->entry_slot; + } + + playlist_get_db_name(playlist_curr, + menu->rpl_entry_selection_ptr, + &db_name); + } + } +#endif + } + + break; + } + } + + if (!string_is_empty(core_path) && + playlist_hist) + { + struct playlist_entry new_entry = {0}; + + /* The push function reads our entry as const, + * so these casts are safe */ + new_entry.path = (char*)content_path; + new_entry.label = (char*)label; + new_entry.core_path = (char*)core_path; + new_entry.core_name = (char*)core_name; + new_entry.crc32 = (char*)crc32; + new_entry.db_name = (char*)db_name; + new_entry.entry_slot = ss_entry_slot; + + /* TODO/FIXME: Subsystems are not properly supported + * on static platforms, so exclude the following: + * - subsystem_ident + * - subsystem_name + * - subsystem_roms */ + + command_playlist_push_write(playlist_hist, &new_entry); + return true; + } + + return false; +} +#endif + #ifdef HAVE_MENU static bool command_event_cmd_exec( content_state_t *p_content, @@ -1986,6 +2115,13 @@ bool task_push_load_content_from_playlist_from_menu( path_set(RARCH_PATH_CORE, core_path); #ifdef HAVE_DYNAMIC command_event(CMD_EVENT_LOAD_CORE, NULL); +#else + /* On targets that do not support dynamic core loading, + * must push content to the history list before calling + * command_event_cmd_exec() or playlist metadata will + * be lost */ + task_push_to_history_list_from_playlist_pre_load_static( + fullpath, core_path); #endif /* Load content From a91b538ba90229d3209a6f8f1bac4f60bf2135ee Mon Sep 17 00:00:00 2001 From: Autechre Date: Mon, 4 Apr 2022 16:51:34 +0200 Subject: [PATCH 5/9] Update CHANGES.md --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index c3e9a21356..87dc7c8f71 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,7 @@ - MENU/XMB: Unified the shadow alpha value to a slightly darker one for better readability - MENU/XMB: Corrected the option label and sublabel for actual behavior - MIYOO: Enable ALSA audio driver and default to it +- STATIC PLATFORMS: Populate all history list metadata when launching content from playlists - STEAM: Introduce Steam Rich Presence - VIDEO/THREADED: Stability fixes - WIIU: Fix USB get_device_name(), don't truncate to three chars From c687a29d6ab15b3f2ac52144f434a7562e5a213e Mon Sep 17 00:00:00 2001 From: jdgleaver <38211560+jdgleaver@users.noreply.github.com> Date: Mon, 4 Apr 2022 18:08:17 +0100 Subject: [PATCH 6/9] Input Remaps: Fix saving of 'Analog to Digital Type' when configuration overrides are used (#13824) --- retroarch.c | 69 +++++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/retroarch.c b/retroarch.c index dcb6626760..08f649c28e 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1906,6 +1906,18 @@ bool command_event(enum event_command cmd, void *data) settings->bools.savestate_auto_save, runloop_st->current_core_type); + if ( runloop_st->remaps_core_active + || runloop_st->remaps_content_dir_active + || runloop_st->remaps_game_active + || !string_is_empty(runloop_st->name.remapfile) + ) + { + input_remapping_deinit(true); + input_remapping_set_defaults(true); + } + else + input_remapping_restore_global_config(true); + #ifdef HAVE_CONFIGFILE if (runloop_st->overrides_active) { @@ -1928,18 +1940,6 @@ bool command_event(enum event_command cmd, void *data) video_driver_restore_cached(settings); - if ( runloop_st->remaps_core_active - || runloop_st->remaps_content_dir_active - || runloop_st->remaps_game_active - || !string_is_empty(runloop_st->name.remapfile) - ) - { - input_remapping_deinit(true); - input_remapping_set_defaults(true); - } - else - input_remapping_restore_global_config(true); - if (is_inited && load_dummy_core) { #ifdef HAVE_MENU @@ -5408,16 +5408,8 @@ bool retroarch_main_init(int argc, char *argv[]) { /* Before initialising the dummy core, ensure * that we: - * - Disable any active config overrides - * - Unload any active input remaps */ -#ifdef HAVE_CONFIGFILE - if (runloop_st->overrides_active) - { - /* Reload the original config */ - config_unload_override(); - runloop_st->overrides_active = false; - } -#endif + * - Unload any active input remaps + * - Disable any active config overrides */ if ( runloop_st->remaps_core_active || runloop_st->remaps_content_dir_active || runloop_st->remaps_game_active @@ -5430,6 +5422,15 @@ bool retroarch_main_init(int argc, char *argv[]) else input_remapping_restore_global_config(true); +#ifdef HAVE_CONFIGFILE + if (runloop_st->overrides_active) + { + /* Reload the original config */ + config_unload_override(); + runloop_st->overrides_active = false; + } +#endif + #ifdef HAVE_DYNAMIC /* Ensure that currently loaded core is properly * deinitialised */ @@ -6046,18 +6047,6 @@ bool retroarch_main_quit(void) * save state file may be truncated) */ content_wait_for_save_state_task(); -#ifdef HAVE_CONFIGFILE - if (runloop_st->overrides_active) - { - /* Reload the original config */ - config_unload_override(); - runloop_st->overrides_active = false; - } -#endif -#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL) - runloop_st->runtime_shader_preset_path[0] = '\0'; -#endif - if ( runloop_st->remaps_core_active || runloop_st->remaps_content_dir_active || runloop_st->remaps_game_active @@ -6069,6 +6058,18 @@ bool retroarch_main_quit(void) } else input_remapping_restore_global_config(true); + +#ifdef HAVE_CONFIGFILE + if (runloop_st->overrides_active) + { + /* Reload the original config */ + config_unload_override(); + runloop_st->overrides_active = false; + } +#endif +#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL) + runloop_st->runtime_shader_preset_path[0] = '\0'; +#endif } runloop_st->shutdown_initiated = true; From 9cbcaf1798646a0480b0b730631f588db905893b Mon Sep 17 00:00:00 2001 From: Autechre Date: Mon, 4 Apr 2022 20:25:00 +0200 Subject: [PATCH 7/9] Update CHANGES.md --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 87dc7c8f71..121e77459d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,7 @@ - BLUETOOTH/LAKKA: bluetoothctl: add / modify pairing steps - DATABASE: Serial scanning for Wii now includes WBFS - INPUT/MAPPING: Fix offset + crash when clearing input port binds +- INPUT/MAPPING: Fix saving of 'Analog to Digital Type' when configuration overrides are used - LOCALIZATION: Add Valencian language option - LOCALIZATION: Updates - MENU/SETTINGS: Move 'Show Menu Bar' under 'Windowed Mode' settings From dcabde33fc61febaa72cebd90c4ebe0b8246f2d7 Mon Sep 17 00:00:00 2001 From: Jamiras <32680403+Jamiras@users.noreply.github.com> Date: Mon, 4 Apr 2022 17:06:47 -0600 Subject: [PATCH 8/9] disallow manual frame delay setting in hardcore (#13826) --- cheevos/cheevos.c | 11 +++++++++++ menu/menu_setting.c | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/cheevos/cheevos.c b/cheevos/cheevos.c index e19a95b2fd..55eaad49f9 100644 --- a/cheevos/cheevos.c +++ b/cheevos/cheevos.c @@ -957,10 +957,21 @@ void rcheevos_validate_config_settings(void) core_option_manager_t* coreopts = NULL; struct retro_system_info *system = &runloop_state_get_ptr()->system.info; + const settings_t* settings = config_get_ptr(); if (!system->library_name || !rcheevos_locals.hardcore_active) return; + if (!settings->bools.video_frame_delay_auto && settings->uints.video_frame_delay != 0) { + const char* error = "Hardcore paused. Manual video frame delay setting not allowed."; + CHEEVOS_LOG(RCHEEVOS_TAG "%s\n", error); + rcheevos_pause_hardcore(); + + runloop_msg_queue_push(error, 0, 4 * 60, false, NULL, + MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_WARNING); + return; + } + if (!(disallowed_settings = rc_libretro_get_disallowed_settings(system->library_name))) return; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 0b69ade2ab..1f56f0783e 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -7823,6 +7823,12 @@ static void general_write_handler(rarch_setting_t *setting) *setting->value.target.fraction); } break; +#ifdef HAVE_CHEEVOS + case MENU_ENUM_LABEL_VIDEO_FRAME_DELAY: + case MENU_ENUM_LABEL_VIDEO_FRAME_DELAY_AUTO: + rcheevos_validate_config_settings(); + break; +#endif case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO: driver_ctl(RARCH_DRIVER_CTL_SET_REFRESH_RATE, setting->value.target.fraction); From a43ae5d08ab42d62a59ea18dd4602d9ded24d67f Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 5 Apr 2022 00:10:01 +0000 Subject: [PATCH 9/9] Fetch translations from Crowdin --- intl/msg_hash_de.h | 138 ++++++++++++++++++++++++++++++++++++------ intl/msg_hash_pt_br.h | 8 +++ intl/progress.h | 6 +- intl/steam_de.json | 2 +- 4 files changed, 133 insertions(+), 21 deletions(-) diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index 3c4bbacd7f..d6de791103 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -780,7 +780,7 @@ MSG_HASH( ) MSG_HASH( MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_DYNAMIC_SUPPORT, - "Dymanisches Laden der libretro-Bilbiothek zur Laufzeit" + "Dymanisches Laden der Libretro-Bilbiothek zur Laufzeit" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_CG_SUPPORT, @@ -888,6 +888,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_RDB_ENTRY_NARRATIVE, "Handlung" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_RDB_ENTRY_PACING, + "Geschwindigkeitssteuerung" + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_RDB_ENTRY_PERSPECTIVE, "Perspektive" @@ -1206,6 +1210,10 @@ MSG_HASH( ) #ifdef HAVE_MIST +MSG_HASH( + MENU_ENUM_SUBLABEL_STEAM_SETTINGS, + "Einstellungen für Steam ändern." + ) #endif /* Settings > Drivers */ @@ -1669,10 +1677,26 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_VIDEO_WINDOW_OPACITY, "Fenster-Deckkraft" ) +MSG_HASH( + MENU_ENUM_SUBLABEL_VIDEO_WINDOW_OPACITY, + "Fenstertransparenz festlegen." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_VIDEO_WINDOW_SHOW_DECORATIONS, "Fensterdekorationen anzeigen" ) +MSG_HASH( + MENU_ENUM_SUBLABEL_VIDEO_WINDOW_SHOW_DECORATIONS, + "Titelleiste und Ränder des Fensters anzeigen." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_UI_MENUBAR_ENABLE, + "Menüleiste anzeigen" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_UI_MENUBAR_ENABLE, + "Fenstermenüleiste anzeigen." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_VIDEO_WINDOW_SAVE_POSITION, "Fensterposition und -größe merken" @@ -1744,6 +1768,18 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_VIDEO_ASPECT_RATIO_INDEX, "Bildseitenverhältnis" ) +MSG_HASH( + MENU_ENUM_SUBLABEL_VIDEO_ASPECT_RATIO_INDEX, + "Seitenverhältnis angeben." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_VIDEO_ASPECT_RATIO, + "Seitenverhältnis konfigurieren" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_VIDEO_ASPECT_RATIO, + "Fließkommawert für Videoseitenverhältnis (Breite / Höhe)." + ) #if defined(DINGUX) MSG_HASH( MENU_ENUM_LABEL_VALUE_VIDEO_DINGUX_IPU_KEEP_ASPECT, @@ -2274,14 +2310,26 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_BUTTON_AXIS_THRESHOLD, "Analog-zu-digital-Grenzwert" ) +MSG_HASH( + MENU_ENUM_SUBLABEL_INPUT_BUTTON_AXIS_THRESHOLD, + "Wie weit eine Achse gekippt werden muss, um einen Tastendruck zu bewirken, wenn „Analog zu Digital“ verwendet wird." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_DEADZONE, "Totzonenregler" ) +MSG_HASH( + MENU_ENUM_SUBLABEL_INPUT_ANALOG_DEADZONE, + "Analogstickbewegungen unterhalb Deadzone-Wert ignorieren." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_SENSITIVITY, "Analogempfindlichkeit" ) +MSG_HASH( + MENU_ENUM_SUBLABEL_INPUT_ANALOG_SENSITIVITY, + "Die Empfindlichkeit von analogen Sticks anpassen." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_BIND_TIMEOUT, "Zeitlimit für Belegung" @@ -2673,11 +2721,11 @@ MSG_HASH( ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_META_SEND_DEBUG_INFO, - "Debug-Infomationen senden" + "Debugging-Informationen senden" ) MSG_HASH( MENU_ENUM_SUBLABEL_INPUT_META_SEND_DEBUG_INFO, - "Sendet diagnostische Informationen über das Gerät und die RetroArch-Konfiguration an unsere Server zur Analyse." + "Sendet Diagnoseinformationen über das Gerät und die RetroArch-Konfiguration zur Analyse an unsere Server." ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_HOST_TOGGLE, @@ -3326,7 +3374,7 @@ MSG_HASH( ) MSG_HASH( MENU_ENUM_SUBLABEL_SAVE_FILE_COMPRESSION, - "Nicht-flüchtige SaveRAM Dateien in einem archivierten Format speichern. Reduziert die Dateigröße stark auf Kosten von (leicht) erhöhten Speicher-/Ladezeiten.\nNur für Cores, die das Speichern über libretros Standard-SaveRAM-Schnittstelle ermöglichen." + "Nicht-flüchtige SaveRAM Dateien in einem archivierten Format speichern. Reduziert die Dateigröße stark auf Kosten von (leicht) erhöhten Speicher-/Ladezeiten.\nNur für Cores, die das Speichern über Libretros Standard-SaveRAM-Schnittstelle ermöglichen." ) MSG_HASH( MENU_ENUM_LABEL_VALUE_SAVESTATE_FILE_COMPRESSION, @@ -3397,11 +3445,11 @@ MSG_HASH( ) MSG_HASH( MENU_ENUM_LABEL_VALUE_LIBRETRO_LOG_LEVEL, - "Core Protokoll-Level" + "Core Protokollierungsstufe" ) MSG_HASH( MENU_ENUM_SUBLABEL_LIBRETRO_LOG_LEVEL, - "Den Protokoll-Level für Cores festlegen. Wenn der Level, der vom Core gemeldet wird, unter diesem Wert liegt, wird er ignoriert." + "Die Protokollierungsstufe für Cores festlegen. Wenn die Nachrichtenstufe, die vom Core gemeldet wird, unter diesem Wert liegt, wird sie ignoriert." ) MSG_HASH( MENU_ENUM_LABEL_VALUE_LOG_TO_FILE, @@ -5056,6 +5104,14 @@ MSG_HASH( "Die \"Verzeichnisse\"-Einstellungen anzeigen." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_SETTINGS_SHOW_STEAM, + "„Steam“ anzeigen" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_SETTINGS_SHOW_STEAM, + "„Steam“-Einstellungen anzeigen." + ) /* Settings > User Interface > Appearance */ @@ -5518,7 +5574,7 @@ MSG_HASH( ) MSG_HASH( MENU_ENUM_SUBLABEL_CORE_UPDATER_BUILDBOT_URL, - "URL zum Core-Verzeichnis auf dem libretro-Buildbot." + "URL zum Core-Verzeichnis auf dem Libretro-Buildbot." ) MSG_HASH( MENU_ENUM_LABEL_VALUE_BUILDBOT_ASSETS_URL, @@ -6114,12 +6170,48 @@ MSG_HASH( #ifdef HAVE_MIST /* Settings > Steam */ +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_ENABLE, + "Rich-Presence aktivieren" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_STEAM_RICH_PRESENCE_ENABLE, + "Den aktuellen Status in RetroArch auf Steam teilen." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT, + "Inhaltsformat für Rich-Presence" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_STEAM_RICH_PRESENCE_FORMAT, + "Entscheiden, welche Informationen zum laufenden Inhalt geteilt werden." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT, "Inhalt" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CORE, + "Core-Name" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_SYSTEM, + "Systemname" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT_SYSTEM, + "Inhalt (Systemname)" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT_CORE, + "Inhalt (Core-Name)" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_STEAM_RICH_PRESENCE_FORMAT_CONTENT_SYSTEM_CORE, + "Inhalt (Systemname - Core-Name)" + ) #endif /* Music */ @@ -8592,6 +8684,14 @@ MSG_HASH( MENU_ENUM_SUBLABEL_XMB_THEME, "Wähle ein anderes Thema für das Menü aus. Änderungen werden übernommen, nachdem Du das Programm neu gestartet hast." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE, + "Schatten zeichnen" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_XMB_SHADOWS_ENABLE, + "Schlagschatten für Symbole, Miniaturansichten und Buchstaben zeichnen. Dies führt zu einer geringfügigen Leistungseinbuße." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE, "Menü-Shader" @@ -9646,6 +9746,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_SUBSYSTEM_SETTINGS, "Subsysteme" ) +MSG_HASH( + MENU_ENUM_SUBLABEL_SUBSYSTEM_SETTINGS, + "Zugriff auf die Subsystemeinstellungen für aktuelle Inhalte." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_NO_NETPLAY_HOSTS_FOUND, "Keine Netzwerkspiele gefunden." @@ -9875,7 +9979,7 @@ MSG_HASH( ) MSG_HASH( MENU_ENUM_LABEL_VALUE_HELP_SEND_DEBUG_INFO, - "Debug-Info senden" + "Debugging-Informationen senden" ) MSG_HASH( MENU_ENUM_SUBLABEL_HELP_SEND_DEBUG_INFO, @@ -10152,19 +10256,19 @@ MSG_HASH( ) MSG_HASH( MSG_FAILED_TO_SAVE_DEBUG_INFO, - "Speichern der Debug-Informationen fehlgeschlagen." + "Speichern der Debugging-Informationen fehlgeschlagen." ) MSG_HASH( MSG_FAILED_TO_SEND_DEBUG_INFO, - "Senden der Debug-Informationen an den Server fehlgeschlagen." + "Senden der Debugging-Informationen an den Server fehlgeschlagen." ) MSG_HASH( MSG_SENDING_DEBUG_INFO, - "Debug-Informationen werden gesendet..." + "Debugging-Informationen werden gesendet..." ) MSG_HASH( MSG_SENT_DEBUG_INFO, - "Debug-Informationen erfolgreich an den Server gesendet. Deine ID-Nummer ist %u." + "Debugging-Informationen erfolgreich an den Server gesendet. Deine ID-Nummer ist %u." ) MSG_HASH( MSG_PRESS_TWO_MORE_TIMES_TO_SEND_DEBUG_INFO, @@ -10172,7 +10276,7 @@ MSG_HASH( ) MSG_HASH( MSG_PRESS_ONE_MORE_TIME_TO_SEND_DEBUG_INFO, - "Drücken Sie noch einmal, um Diagnoseinformationen an das RetroArch-Team zu senden." + "Drücke noch einmal, um Diagnoseinformationen an das RetroArch-Team zu senden." ) MSG_HASH( MSG_AUDIO_MIXER_VOLUME, @@ -10992,11 +11096,11 @@ MSG_HASH( ) MSG_HASH( MSG_LIBRETRO_ABI_BREAK, - "ist gegen eine andere libretro-Version als diese kompiliert." + "ist für eine andere Libretro-Version als diese kompiliert worden." ) MSG_HASH( MSG_LIBRETRO_FRONTEND, - "Frontend für libretro" + "Frontend für Libretro" ) MSG_HASH( MSG_LOADED_STATE_FROM_SLOT, @@ -11312,7 +11416,7 @@ MSG_HASH( ) MSG_HASH( MSG_USING_LIBRETRO_DUMMY_CORE_RECORDING_SKIPPED, - "Verwende libretro-Dumy-Core. Überspringe Aufzeichnung." + "Libretro-Dumy-Core wird verwendet. Aufzeichnung übersprungen." ) MSG_HASH( MSG_VALUE_CONNECT_DEVICE_FROM_A_VALID_PORT, @@ -11332,7 +11436,7 @@ MSG_HASH( ) MSG_HASH( MSG_VERSION_OF_LIBRETRO_API, - "Version der libretro-API" + "Version der Libretro-API" ) MSG_HASH( MSG_VIEWPORT_SIZE_CALCULATION_FAILED, diff --git a/intl/msg_hash_pt_br.h b/intl/msg_hash_pt_br.h index bf95d99018..900a6f037b 100644 --- a/intl/msg_hash_pt_br.h +++ b/intl/msg_hash_pt_br.h @@ -5172,6 +5172,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_SETTINGS_SHOW_STEAM, "Mostrar \"Steam\"" ) +MSG_HASH( + MENU_ENUM_SUBLABEL_SETTINGS_SHOW_STEAM, + "Mostra as configurações do \"Steam\"." + ) /* Settings > User Interface > Appearance */ @@ -8824,6 +8828,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE, "Mostrar sombras" ) +MSG_HASH( + MENU_ENUM_SUBLABEL_XMB_SHADOWS_ENABLE, + "Exibe sombras nos ícones, miniaturas e letras. Afeta ligeiramente o desempenho." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE, "Canal de shaders do menu" diff --git a/intl/progress.h b/intl/progress.h index 19dabb6c7d..4c59630827 100644 --- a/intl/progress.h +++ b/intl/progress.h @@ -23,8 +23,8 @@ #define LANGUAGE_PROGRESS_DANISH_APPROVED 0 /* German */ -#define LANGUAGE_PROGRESS_GERMAN_TRANSLATED 66 -#define LANGUAGE_PROGRESS_GERMAN_APPROVED 16 +#define LANGUAGE_PROGRESS_GERMAN_TRANSLATED 70 +#define LANGUAGE_PROGRESS_GERMAN_APPROVED 17 /* Greek */ #define LANGUAGE_PROGRESS_GREEK_TRANSLATED 17 @@ -103,7 +103,7 @@ #define LANGUAGE_PROGRESS_POLISH_APPROVED 18 /* Portuguese, Brazilian */ -#define LANGUAGE_PROGRESS_PORTUGUESE_BRAZILIAN_TRANSLATED 99 +#define LANGUAGE_PROGRESS_PORTUGUESE_BRAZILIAN_TRANSLATED 100 #define LANGUAGE_PROGRESS_PORTUGUESE_BRAZILIAN_APPROVED 4 /* Portuguese */ diff --git a/intl/steam_de.json b/intl/steam_de.json index 7bb156bd16..db37bbaf15 100644 --- a/intl/steam_de.json +++ b/intl/steam_de.json @@ -1,5 +1,5 @@ { - "main-desc": "RetroArch ist ein quelloffenes und plattformübergreifendes Frontend/Framework für Emulatoren, Game-Engines, Videospiele, Mediaplayer und andere Anwendungen.\n\nObwohl RetroArch viele weitere Funktionen hat, ist es am besten dafür bekannt, das Ausführen klassischer Spiele auf einer Vielzahl von Computern und Konsolen über eine glanzvolle grafische Oberfläche zu ermöglichen. Die Einstellungen sind ebenfalls vereinheitlicht, was eine einfache Konfiguration aller Inhalte erlaubt.\n\nZusätzlich werden in Kürze originale Spiel-Discs (CDs) in RetroArch ausführbar sein. Wir nehmen die Bewahrung von Videospielen ernst und möchten sicherstellen, dass Sie Ihre ursprünglich gekauften Inhalte auf modernen PCs ausführen können.\n\nRetroArch hat erweiterte Funktionen wie Shader, Netzwerkspiel, Zurückspulen, Next-Frame response times, prädiktive Eingabelatenzreduzierung und mehr!", + "main-desc": "RetroArch ist ein quelloffenes und plattformübergreifendes Frontend/Framework für Emulatoren, Spiel-Engines, Videospiele, Media-Player und andere Anwendungen.\n\nObwohl es viele andere Dinge kann, ist es vor allem dafür bekannt, damit klassische Spiele auf einer breiten Palette von Computern und Konsolen über eine elegante grafische Oberfläche auszuführen. Die Einstellungen sind ebenfalls vereinheitlicht, so dass die Konfiguration ein für alle Mal erledigt ist.\n\nDarüber hinaus können gleich originale Spieldiscs (CDs) mittels RetroArch gespielt werden. Wir nehmen die Bewahrung von Videospielen ernst und möchten sicherstellen, dass die ursprünglich gekauften Inhalte auf modernen PCs ausgeführt werden können.\n\nRetroArch verfügt über fortschrittliche Funktionen wie Shader, Netplay, Rückspulen, Nextframe-Reaktionszeiten, Runahead und vieles mehr!", "final-burn-neo-desc": "[img]{STEAM_APP_IMAGE}/extras/FBN_a2.png[/img]\n\nFinal Burn Neo (auch bekannt als FBNeo) ist der neue offizielle Zweig des Final-Burn-Alpha-Emulators, der mit Hunderten von Arcade- und Konsolenspielen kompatibel ist. Der libretro-Core von FBNeo bringt dessen Bibliothek kompatibler Titel zu RetroArch, wobei die enge Integration des Cores mit der libretro-API es ermöglicht, RetroArch's fortgeschrittene Zeitverschiebungsfunktionen, wie Rollback-basiertes Netzwerkspiel und prädiktive Latenzreduzierung, zu nutzen. Es enthält Eingabevoreinstellungen für die automatische Zuordnung von Tasten für verschiedene Spiele, einschließlich Kampfspiel-Layouts für moderne und alte Arcade-Steuerungen (Fightsticks).", "genesis-plus-gx-desc": "[img]{STEAM_APP_IMAGE}/extras/Genesis_Plus_GX_(Phone).png[/img]\n\nGenesis Plus GX begann als Homebrew-Portierung des Genesis-Plus-Emulators für eine gehackte Konsole, bevor es auf libretro portiert wurde. Mit dem Fokus auf Geschwindigkeit, Genauigkeit und Portabilität erscheint Genesis Plus GX nun auf einer Vielzahl von Plattformen und Frontends und ist bekannt als einer der leistungsfähigsten und kompatibelsten Emulatoren für die SEGA-Konsolen, mit Unterstützung sowohl für Modul- als auch für CD-ROM-Spiele. Es funktioniert auch gut mit vielen der fortgeschrittenen Funktionen von RetroArch, wie Echtzeit-Zurückspulen, prädiktive Latenzreduzierung, Cheats und RetroAchievements.", "kronos-desc": "[img]{STEAM_APP_IMAGE}/extras/main.png[/img]\n\nKronos ist ein moderner Zweig des UoYabause-Emulators, der selbst ein Zweig des ehrwürdigen Yabause-Emulators ist. Dieser DLC stellt den Kronos-libretro-Core für die Verwendung mit der RetroArch-Gaming- und Multimedia-Schnittstelle bereit, sodass Benutzer Software laden können, die mit dem Kronos-Emulator kompatibel ist.\n\nKronos nutzt moderne OpenGL-Funktionen, um eine Vielzahl zusätzlicher grafischer Funktionen, wie erhöhte interne Auflösung, zu bieten, weshalb eine aktuelle und einigermaßen leistungsstarke GPU empfohlen wird.\n\nKronos unterstützt das Laden von Spielen aus vielen verschiedenen Formaten, einschließlich ISO, BIN/CUE und dem komprimierten CHD-Format und benötigt externe BIOS-Dateien (saturn_bios.bin und stvbios.zip), welche entweder im \"System\"-Ordner von RetroArch oder neben der Zielsoftware vorhanden sein müssen, um korrekt zu funktionieren.",