Merge branch ryujinx:master into ui-userprofiles-and-misc

This commit is contained in:
Neo 2025-11-11 02:37:12 -06:00
commit b6eb78598c
4 changed files with 67 additions and 32 deletions

View file

@ -45,7 +45,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Graphics.Vic", "src
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Graphics.Video", "src\Ryujinx.Graphics.Video\Ryujinx.Graphics.Video.csproj", "{FD4A2C14-8E3D-4957-ABBE-3C38897B3E2D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ryujinx.Audio.Backends.SDL3", "src\Ryujinx.Audio.Backends.SDL3\Ryujinx.Audio.Backends.SDL3.csproj", "{988E6191-82E1-4E13-9DDB-CB9FA2FDAF29}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Audio.Backends.SDL3", "src\Ryujinx.Audio.Backends.SDL3\Ryujinx.Audio.Backends.SDL3.csproj", "{988E6191-82E1-4E13-9DDB-CB9FA2FDAF29}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Audio.Backends.OpenAL", "src\Ryujinx.Audio.Backends.OpenAL\Ryujinx.Audio.Backends.OpenAL.csproj", "{0BE11899-DF2D-4BDE-B9EE-2489E8D35E7D}"
EndProject
@ -53,7 +53,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Audio.Backends.Soun
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Input", "src\Ryujinx.Input\Ryujinx.Input.csproj", "{C16F112F-38C3-40BC-9F5F-4791112063D6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ryujinx.Input.SDL3", "src\Ryujinx.Input.SDL3\Ryujinx.Input.SDL3.csproj", "{D728444C-3D1F-4A0E-B4C9-5C9375D47EA3}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Input.SDL3", "src\Ryujinx.Input.SDL3\Ryujinx.Input.SDL3.csproj", "{D728444C-3D1F-4A0E-B4C9-5C9375D47EA3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Graphics.Nvdec.FFmpeg", "src\Ryujinx.Graphics.Nvdec.FFmpeg\Ryujinx.Graphics.Nvdec.FFmpeg.csproj", "{BEE1C184-C9A4-410B-8DFC-FB74D5C93AEB}"
EndProject
@ -77,7 +77,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.HLE.Generators", "s
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ryujinx.BuildValidationTasks", "src\Ryujinx.BuildValidationTasks\Ryujinx.BuildValidationTasks.csproj", "{4A89A234-4F19-497D-A576-DDE8CDFC5B22}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ryujinx.SDL3.Common", "src\Ryujinx.SDL3.Common\Ryujinx.SDL3.Common.csproj", "{F6F9826A-BC58-4D78-A700-F358A66B2B06}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.SDL3.Common", "src\Ryujinx.SDL3.Common\Ryujinx.SDL3.Common.csproj", "{F6F9826A-BC58-4D78-A700-F358A66B2B06}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{36F870C1-3E5F-485F-B426-F0645AF78751}"
ProjectSection(SolutionItems) = preProject
@ -558,11 +558,6 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{F6F9826A-BC58-4D78-A700-F358A66B2B06} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{D728444C-3D1F-4A0E-B4C9-5C9375D47EA3} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{988E6191-82E1-4E13-9DDB-CB9FA2FDAF29} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {110169B3-3328-4730-8AB0-BA05BEF75C1A}
EndGlobalSection

View file

@ -375,7 +375,7 @@
"el_GR": "",
"en_US": "Load DLC...",
"es_ES": "Cargar DLC...",
"fr_FR": "Charger les DLC...",
"fr_FR": "Charger des DLC...",
"he_IL": "",
"it_IT": "Carica DLC...",
"ja_JP": "",
@ -400,7 +400,7 @@
"el_GR": "",
"en_US": "Load Title Updates...",
"es_ES": "Cargar Actualizaciones de Títulos...",
"fr_FR": "Charger les Mises à Jour du Titre...",
"fr_FR": "Charger des Mises à Jour de Titres...",
"he_IL": "",
"it_IT": "Carica aggiornamenti...",
"ja_JP": "",
@ -575,7 +575,7 @@
"el_GR": "Εκκίνηση Παιχνιδιών σε Πλήρη Οθόνη",
"en_US": "Start Games in Fullscreen Mode",
"es_ES": "Iniciar Juegos en Pantalla Completa",
"fr_FR": "Démarrer les Jeux en Mode Plein Écran",
"fr_FR": "Démarrer les Jeux en Plein Écran",
"he_IL": "התחל משחקים במסך מלא",
"it_IT": "Avvia i giochi a schermo intero",
"ja_JP": "全画面モードでゲームを開始",
@ -3250,7 +3250,7 @@
"el_GR": "Διεπαφή",
"en_US": "Interface",
"es_ES": "Interfaz",
"fr_FR": "",
"fr_FR": null,
"he_IL": "ממשק",
"it_IT": "Interfaccia",
"ja_JP": "インターフェース",
@ -6250,7 +6250,7 @@
"el_GR": "Ενεργοποίηση Αρχείων Καταγραφής Εντοπισμού Σφαλμάτων",
"en_US": "Enable Debug Logs",
"es_ES": "Habilitar Registros de Debug",
"fr_FR": "Activer les Journaux de Débogage",
"fr_FR": "Activer les Journaux de Debug",
"he_IL": "אפשר רישום ניפוי באגים",
"it_IT": "Attiva log di debug",
"ja_JP": "デバッグログを有効にする",
@ -14524,8 +14524,8 @@
"de_DE": "",
"el_GR": "",
"en_US": "{0} DRAM Enabled",
"es_ES": "",
"fr_FR": "",
"es_ES": "{0} DRAM Habilitada",
"fr_FR": "{0} DRAM Activée",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
@ -14549,8 +14549,8 @@
"de_DE": "",
"el_GR": "",
"en_US": "Using above 4GiB DRAM may cause crashes in some applications.",
"es_ES": "",
"fr_FR": "",
"es_ES": "Usar más de 4 GiB de DRAM puede causar fallos en algunas aplicaciones.",
"fr_FR": "Lutilisation de plus de 4 Gio de DRAM peut provoquer des plantages dans certaines applications.",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
@ -14574,8 +14574,8 @@
"de_DE": "",
"el_GR": "",
"en_US": "Debug: GDB Stub Enabled (Port: {0})",
"es_ES": "",
"fr_FR": "",
"es_ES": "Debug: GDB Stub Habilitado (Puerto: {0})",
"fr_FR": "Debug : GDB Stub Activé (Port : {0})",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
@ -14599,8 +14599,8 @@
"de_DE": "",
"el_GR": "",
"en_US": "This will affect performance.",
"es_ES": "",
"fr_FR": "",
"es_ES": "Esto afectará el rendimiento.",
"fr_FR": "Cela affectera les performances.",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
@ -14624,8 +14624,8 @@
"de_DE": "",
"el_GR": "",
"en_US": "Debug: Suspend on Start Enabled",
"es_ES": "",
"fr_FR": "",
"es_ES": "Debug: Suspender al Inicio Habilitado",
"fr_FR": "Debug : Suspension au Démarrage Activée",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
@ -14649,8 +14649,8 @@
"de_DE": "",
"el_GR": "",
"en_US": "Application has been suspended. Attach a debugger to continue.",
"es_ES": "",
"fr_FR": "",
"es_ES": "La aplicación ha sido suspendida. Adjunte un depurador para continuar.",
"fr_FR": "Lapplication a été suspendue. Attachez un débogueur pour continuer.",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
@ -16975,7 +16975,7 @@
"el_GR": "Ενεργοποιεί την εκτύπωση μηνυμάτων αρχείου καταγραφής εντοπισμού σφαλμάτων",
"en_US": "Prints debug log messages in the console.\n\nOnly use this if specifically instructed by a staff member, as it will make logs difficult to read and worsen emulator performance.",
"es_ES": "Escribe mensajes de debug en la consola\n\nActiva esto solo si un miembro del equipo te lo pide expresamente, pues hará que el registro sea difícil de leer y empeorará el rendimiento del emulador.",
"fr_FR": "Affiche dans la console les journaux de débogage.\n\nNutilisez cette option que si un membre du personnel vous la expressément demandé, car cela rendra les journaux difficiles à lire et dégradera la performance de lémulateur.",
"fr_FR": "Affiche dans la console les journaux de debug.\n\nNutilisez cette option que si un membre du personnel vous la expressément demandé, car cela rendra les journaux difficiles à lire et dégradera la performance de lémulateur.",
"he_IL": "מדפיס הודעות יומן ניפוי באגים בשורת הפקודות.",
"it_IT": "Stampa i messaggi di log per il debug nella console.\n\nUsa questa opzione solo se specificatamente richiesto da un membro del team, dal momento che rende i log difficili da leggere e riduce le prestazioni dell'emulatore.",
"ja_JP": "デバッグログメッセージをコンソールに出力します.\n\nログが読みづらくなり,エミュレータのパフォーマンスが低下するため,開発者から特別な指示がある場合のみ使用してください.",
@ -18975,7 +18975,7 @@
"el_GR": "",
"en_US": "Choose a Switch compatible FILE to load",
"es_ES": "Elige un ARCHIVO compatible con Switch para cargar",
"fr_FR": "Choisissez un FICHIER compatible avec Switch à charger",
"fr_FR": "Choisissez un FICHIER compatible Switch à charger",
"he_IL": "",
"it_IT": "Scegli un FILE compatibile con Switch da caricare",
"ja_JP": "",
@ -19025,7 +19025,7 @@
"el_GR": "",
"en_US": "Choose one or more FOLDERS to bulk load title updates from",
"es_ES": "Elige una o más CARPETAS para cargar actualizaciones de título de forma masiva",
"fr_FR": "Choisissez un ou plusieurs DOSSIERS pour charger en masse des mises à jour du titre",
"fr_FR": "Choisissez un ou plusieurs DOSSIERS pour charger en masse des mises à jour de titres",
"he_IL": "",
"it_IT": "Scegli una o più CARTELLE da cui caricare in blocco gli aggiornamenti del titolo",
"ja_JP": "",

View file

@ -11,6 +11,7 @@ using Ryujinx.Common.Logging;
using Ryujinx.HLE;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using RyuLogger = Ryujinx.Common.Logging.Logger;
@ -28,6 +29,7 @@ namespace Ryujinx.Ava.Systems.Configuration
RyuLogger.Warning?.Print(LogClass.Application, $"Unsupported configuration version {cff.Version}, loading default.");
LoadDefault();
return;
}
foreach ((int newVersion, Action<ConfigurationFileFormat> migratorFunction)
@ -167,14 +169,53 @@ namespace Ryujinx.Ava.Systems.Configuration
DirtyHacks hacks = new(cff.DirtyHacks ?? []);
Hacks.Xc2MenuSoftlockFix.Value = hacks.IsEnabled(DirtyHack.Xc2MenuSoftlockFix);
}
if (configurationFileUpdated)
List<string> existingDirs = [];
bool didPathUpdate = false;
{ // Game dirs
foreach (var gameDir in UI.GameDirs.Value)
{
if (Directory.Exists(gameDir))
{
existingDirs.Add(gameDir);
}
else
{
RyuLogger.Warning?.Print(LogClass.Configuration, $"Path '{gameDir}' seems to no longer exist. Removing it from game directory configuration.");
didPathUpdate = true;
}
}
UI.GameDirs.Value = existingDirs.ToList();
}
existingDirs.Clear();
{ // Autoload dirs
foreach (var autoloadDir in UI.AutoloadDirs.Value)
{
if (Directory.Exists(autoloadDir))
{
existingDirs.Add(autoloadDir);
}
else
{
RyuLogger.Warning?.Print(LogClass.Configuration, $"Path '{autoloadDir}' seems to no longer exist. Removing it from auto load directory configuration.");
didPathUpdate = true;
}
}
UI.AutoloadDirs.Value = existingDirs.ToList();
}
if (configurationFileUpdated || didPathUpdate)
{
ToFileFormat().SaveConfig(configurationFilePath);
RyuLogger.Notice.Print(LogClass.Application, $"Configuration file updated to version {ConfigurationFileFormat.CurrentVersion}");
if (configurationFileUpdated)
RyuLogger.Notice.Print(LogClass.Application, $"Configuration file updated to version {ConfigurationFileFormat.CurrentVersion}");
}
}

View file

@ -481,7 +481,6 @@ namespace Ryujinx.Ava.UI.ViewModels
if (Program.PreviewerDetached)
{
Task.Run(LoadTimeZones);
}
}