diff --git a/src/Ryujinx/Systems/CompatibilityDatabase.cs b/src/Ryujinx/Systems/CompatibilityDatabase.cs index 1a780a785..880e40792 100644 --- a/src/Ryujinx/Systems/CompatibilityDatabase.cs +++ b/src/Ryujinx/Systems/CompatibilityDatabase.cs @@ -82,7 +82,7 @@ namespace Ryujinx.Ava.Systems static string ColStr(SepReader.Col col) => col.ToString().Trim('"'); } - public string GameName { get; } + public string GameName { get; set; } public Optional TitleId { get; } public string[] Labels { get; } public LocaleKeys? Status { get; } diff --git a/src/Ryujinx/UI/ViewModels/CompatibilityViewModel.cs b/src/Ryujinx/UI/ViewModels/CompatibilityViewModel.cs index e4cd793c7..3cf17cad3 100644 --- a/src/Ryujinx/UI/ViewModels/CompatibilityViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/CompatibilityViewModel.cs @@ -47,10 +47,19 @@ namespace Ryujinx.Ava.UI.ViewModels private void AppCountUpdated(object _, ApplicationCountUpdatedEventArgs __) => _ownedGameTitleIds = _appLibrary.Applications.Keys.Select(x => x.ToString("X16")).ToArray(); + private void LocalizeGameNames() + { + foreach (var entry in CompatibilityDatabase.Entries) + { + entry.GameName = _appLibrary.Applications.Items.SingleOrDefault(x => x.IdString.EqualsIgnoreCase(entry.TitleId))?.Name ?? entry.GameName; + } + } + public CompatibilityViewModel(ApplicationLibrary appLibrary) { _appLibrary = appLibrary; AppCountUpdated(null, null); + LocalizeGameNames(); CountByStatus(); _appLibrary.ApplicationCountUpdated += AppCountUpdated; }