Merge branch 'features/compat-local-name' into 'master'

Draft: Display localized game name in Compatibility Window

See merge request [ryubing/ryujinx!82](https://git.ryujinx.app/ryubing/ryujinx/-/merge_requests/82)
This commit is contained in:
WilliamWsyHK
2025-09-06 23:16:02 -05:00
2 changed files with 10 additions and 1 deletions

View File

@ -82,7 +82,7 @@ namespace Ryujinx.Ava.Systems
static string ColStr(SepReader.Col col) => col.ToString().Trim('"'); static string ColStr(SepReader.Col col) => col.ToString().Trim('"');
} }
public string GameName { get; } public string GameName { get; set; }
public Optional<string> TitleId { get; } public Optional<string> TitleId { get; }
public string[] Labels { get; } public string[] Labels { get; }
public LocaleKeys? Status { get; } public LocaleKeys? Status { get; }

View File

@ -47,10 +47,19 @@ namespace Ryujinx.Ava.UI.ViewModels
private void AppCountUpdated(object _, ApplicationCountUpdatedEventArgs __) private void AppCountUpdated(object _, ApplicationCountUpdatedEventArgs __)
=> _ownedGameTitleIds = _appLibrary.Applications.Keys.Select(x => x.ToString("X16")).ToArray(); => _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) public CompatibilityViewModel(ApplicationLibrary appLibrary)
{ {
_appLibrary = appLibrary; _appLibrary = appLibrary;
AppCountUpdated(null, null); AppCountUpdated(null, null);
LocalizeGameNames();
CountByStatus(); CountByStatus();
_appLibrary.ApplicationCountUpdated += AppCountUpdated; _appLibrary.ApplicationCountUpdated += AppCountUpdated;
} }