Embed compatibility list into executable

instead of downloading

Co-Authored-By: Vita Chumakova <me@ezhevita.dev>
This commit is contained in:
Evan Husted
2025-01-07 03:37:07 -06:00
parent 259526430c
commit d8265f7772
6 changed files with 4328 additions and 44 deletions

View File

@ -1,6 +1,9 @@
using Avalonia.Controls;
using Avalonia.Styling;
using nietras.SeparatedValues;
using Ryujinx.Ava.UI.Helpers;
using System.IO;
using System.Reflection;
using System.Threading.Tasks;
namespace Ryujinx.Ava.Utilities.Compat
@ -9,8 +12,15 @@ namespace Ryujinx.Ava.Utilities.Compat
{
public static async Task Show()
{
await CompatibilityHelper.InitAsync();
if (CompatibilityCsv.Shared is null)
{
await using Stream csvStream = Assembly.GetExecutingAssembly()
.GetManifestResourceStream("RyujinxGameCompatibilityList")!;
csvStream.Position = 0;
CompatibilityCsv.Shared = new CompatibilityCsv(Sep.Reader().From(csvStream));
}
CompatibilityContentDialog contentDialog = new()
{
Content = new CompatibilityList { DataContext = new CompatibilityViewModel(RyujinxApp.MainWindow.ViewModel.ApplicationLibrary) }