This commit is contained in:
twinaphex 2022-04-05 07:30:15 +02:00
commit 573dfb87f2
13 changed files with 424 additions and 58 deletions

View File

@ -1,7 +1,9 @@
# 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
- 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
@ -10,6 +12,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

View File

@ -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);

View File

@ -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;

View File

@ -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,

View File

@ -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ú"

View File

@ -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 */

View File

@ -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,14 @@ MSG_HASH(
"Mostre as configurações do \"Diretório\"."
)
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 */
@ -6262,12 +6274,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 +8824,14 @@ 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_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"

View File

@ -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,
"Шейдер меню"

View File

@ -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
@ -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 */
@ -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 */

View File

@ -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.",

View File

@ -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);

View File

@ -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;

View File

@ -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