diff --git a/src/Ryujinx/Common/LocaleManager.cs b/src/Ryujinx/Common/LocaleManager.cs index 9aa82a4a5..d116fe709 100644 --- a/src/Ryujinx/Common/LocaleManager.cs +++ b/src/Ryujinx/Common/LocaleManager.cs @@ -38,8 +38,8 @@ namespace Ryujinx.Ava.Common.Locale { LocaleKeys.RyujinxConfirm, [RyujinxApp.FullAppName] }, { LocaleKeys.RyujinxUpdater, [RyujinxApp.FullAppName] }, { LocaleKeys.RyujinxRebooter, [RyujinxApp.FullAppName] }, - { LocaleKeys.CompatibilityListSearchBoxWatermarkWithCount, [CompatibilityCsv.Entries.Length] }, - { LocaleKeys.CompatibilityListTitle, [CompatibilityCsv.Entries.Length] } + { LocaleKeys.CompatibilityListSearchBoxWatermarkWithCount, [CompatibilityDatabase.Entries.Length] }, + { LocaleKeys.CompatibilityListTitle, [CompatibilityDatabase.Entries.Length] } }); Load(); diff --git a/src/Ryujinx/Headless/HeadlessRyujinx.Init.cs b/src/Ryujinx/Headless/HeadlessRyujinx.Init.cs index e73c43768..751a86571 100644 --- a/src/Ryujinx/Headless/HeadlessRyujinx.Init.cs +++ b/src/Ryujinx/Headless/HeadlessRyujinx.Init.cs @@ -2,6 +2,7 @@ using DiscordRPC; using LibHac.Tools.FsSystem; using Ryujinx.Audio.Backends.SDL2; using Ryujinx.Ava; +using Ryujinx.Ava.Systems; using Ryujinx.Ava.Systems.Configuration; using Ryujinx.Common.Configuration; using Ryujinx.Common.Configuration.Hid; diff --git a/src/Ryujinx/Program.cs b/src/Ryujinx/Program.cs index c24725b5c..016cc348a 100644 --- a/src/Ryujinx/Program.cs +++ b/src/Ryujinx/Program.cs @@ -5,6 +5,7 @@ using Gommon; using Projektanker.Icons.Avalonia; using Projektanker.Icons.Avalonia.FontAwesome; using Projektanker.Icons.Avalonia.MaterialDesign; +using Ryujinx.Ava.Systems; using Ryujinx.Ava.UI.Helpers; using Ryujinx.Ava.UI.Windows; using Ryujinx.Ava.Utilities; diff --git a/src/Ryujinx/Ryujinx.csproj b/src/Ryujinx/Ryujinx.csproj index 698b392ee..1f9642466 100644 --- a/src/Ryujinx/Ryujinx.csproj +++ b/src/Ryujinx/Ryujinx.csproj @@ -91,10 +91,12 @@ Always THIRDPARTY.md + False Always LICENSE.txt + False diff --git a/src/Ryujinx/AppHost.cs b/src/Ryujinx/Systems/AppHost.cs similarity index 99% rename from src/Ryujinx/AppHost.cs rename to src/Ryujinx/Systems/AppHost.cs index 06922bb49..455afaf45 100644 --- a/src/Ryujinx/AppHost.cs +++ b/src/Ryujinx/Systems/AppHost.cs @@ -59,7 +59,7 @@ using Size = Avalonia.Size; using Switch = Ryujinx.HLE.Switch; using VSyncMode = Ryujinx.Common.Configuration.VSyncMode; -namespace Ryujinx.Ava +namespace Ryujinx.Ava.Systems { internal class AppHost { diff --git a/src/Ryujinx/Systems/AppLibrary/ApplicationData.cs b/src/Ryujinx/Systems/AppLibrary/ApplicationData.cs index e04ea454a..0819b86b8 100644 --- a/src/Ryujinx/Systems/AppLibrary/ApplicationData.cs +++ b/src/Ryujinx/Systems/AppLibrary/ApplicationData.cs @@ -36,7 +36,7 @@ namespace Ryujinx.Ava.Systems.AppLibrary { _id = value; - Compatibility = CompatibilityCsv.Find(value); + Compatibility = CompatibilityDatabase.Find(value); RichPresenceSpec = PlayReports.Analyzer.TryGetSpec(IdString, out GameSpec gameSpec) ? gameSpec : default(Optional); diff --git a/src/Ryujinx/Systems/CompatibilityCsv.cs b/src/Ryujinx/Systems/CompatibilityDatabase.cs similarity index 98% rename from src/Ryujinx/Systems/CompatibilityCsv.cs rename to src/Ryujinx/Systems/CompatibilityDatabase.cs index 9bab87d9f..64ae31c2d 100644 --- a/src/Ryujinx/Systems/CompatibilityCsv.cs +++ b/src/Ryujinx/Systems/CompatibilityDatabase.cs @@ -11,24 +11,9 @@ using System.Text; namespace Ryujinx.Ava.Systems { - public struct ColumnIndices(Func, int> getIndex) + public class CompatibilityDatabase { - public const string TitleIdCol = "\"title_id\""; - public const string GameNameCol = "\"game_name\""; - public const string LabelsCol = "\"labels\""; - public const string StatusCol = "\"status\""; - public const string LastUpdatedCol = "\"last_updated\""; - - public readonly int TitleId = getIndex(TitleIdCol); - public readonly int GameName = getIndex(GameNameCol); - public readonly int Labels = getIndex(LabelsCol); - public readonly int Status = getIndex(StatusCol); - public readonly int LastUpdated = getIndex(LastUpdatedCol); - } - - public class CompatibilityCsv - { - static CompatibilityCsv() => Load(); + static CompatibilityDatabase() => Load(); public static void Load() { @@ -205,4 +190,19 @@ namespace Ryujinx.Ava.Systems return $"{char.ToUpper(firstChar)}{rest}"; } } + + public struct ColumnIndices(Func, int> getIndex) + { + public const string TitleIdCol = "\"title_id\""; + public const string GameNameCol = "\"game_name\""; + public const string LabelsCol = "\"labels\""; + public const string StatusCol = "\"status\""; + public const string LastUpdatedCol = "\"last_updated\""; + + public readonly int TitleId = getIndex(TitleIdCol); + public readonly int GameName = getIndex(GameNameCol); + public readonly int Labels = getIndex(LabelsCol); + public readonly int Status = getIndex(StatusCol); + public readonly int LastUpdated = getIndex(LastUpdatedCol); + } } diff --git a/src/Ryujinx/DiscordIntegrationModule.cs b/src/Ryujinx/Systems/DiscordIntegrationModule.cs similarity index 98% rename from src/Ryujinx/DiscordIntegrationModule.cs rename to src/Ryujinx/Systems/DiscordIntegrationModule.cs index 142261d72..8a3b42ac8 100644 --- a/src/Ryujinx/DiscordIntegrationModule.cs +++ b/src/Ryujinx/Systems/DiscordIntegrationModule.cs @@ -9,10 +9,9 @@ using Ryujinx.Common.Logging; using Ryujinx.HLE; using Ryujinx.HLE.Loaders.Processes; using Ryujinx.Horizon; -using Ryujinx.Horizon.Prepo.Types; using System.Text; -namespace Ryujinx.Ava +namespace Ryujinx.Ava.Systems { public static class DiscordIntegrationModule { @@ -124,7 +123,7 @@ namespace Ryujinx.Ava _currentApp = null; } - private static void HandlePlayReport(PlayReport playReport) + private static void HandlePlayReport(Horizon.Prepo.Types.PlayReport playReport) { if (_discordClient is null) return; if (!TitleIDs.CurrentApplication.Value.HasValue) return; diff --git a/src/Ryujinx/Rebooter.cs b/src/Ryujinx/Systems/Rebooter.cs similarity index 98% rename from src/Ryujinx/Rebooter.cs rename to src/Ryujinx/Systems/Rebooter.cs index 0aa30d997..4b149e9e3 100644 --- a/src/Ryujinx/Rebooter.cs +++ b/src/Ryujinx/Systems/Rebooter.cs @@ -8,7 +8,7 @@ using System.IO; using System.Linq; using System.Threading.Tasks; -namespace Ryujinx.Ava +namespace Ryujinx.Ava.Systems { internal static class Rebooter { diff --git a/src/Ryujinx/Updater.cs b/src/Ryujinx/Systems/Updater.cs similarity index 99% rename from src/Ryujinx/Updater.cs rename to src/Ryujinx/Systems/Updater.cs index 7ca5e885a..850bacc60 100644 --- a/src/Ryujinx/Updater.cs +++ b/src/Ryujinx/Systems/Updater.cs @@ -27,7 +27,7 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -namespace Ryujinx.Ava +namespace Ryujinx.Ava.Systems { internal static class Updater { diff --git a/src/Ryujinx/UI/ViewModels/CompatibilityViewModel.cs b/src/Ryujinx/UI/ViewModels/CompatibilityViewModel.cs index 650223e1f..b5813e78d 100644 --- a/src/Ryujinx/UI/ViewModels/CompatibilityViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/CompatibilityViewModel.cs @@ -10,7 +10,7 @@ namespace Ryujinx.Ava.UI.ViewModels { private bool _onlyShowOwnedGames = true; - private IEnumerable _currentEntries = CompatibilityCsv.Entries; + private IEnumerable _currentEntries = CompatibilityDatabase.Entries; private string[] _ownedGameTitleIds = []; public IEnumerable CurrentEntries => OnlyShowOwnedGames @@ -45,11 +45,11 @@ namespace Ryujinx.Ava.UI.ViewModels { if (string.IsNullOrEmpty(searchTerm)) { - SetEntries(CompatibilityCsv.Entries); + SetEntries(CompatibilityDatabase.Entries); return; } - SetEntries(CompatibilityCsv.Entries.Where(x => + SetEntries(CompatibilityDatabase.Entries.Where(x => x.GameName.ContainsIgnoreCase(searchTerm) || x.TitleId.Check(tid => tid.ContainsIgnoreCase(searchTerm)))); } diff --git a/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs b/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs index 95e9c9e90..b0cd6a556 100644 --- a/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs @@ -16,6 +16,7 @@ using LibHac.Ns; using Ryujinx.Ava.Common; using Ryujinx.Ava.Common.Locale; using Ryujinx.Ava.Input; +using Ryujinx.Ava.Systems; using Ryujinx.Ava.UI.Controls; using Ryujinx.Ava.UI.Helpers; using Ryujinx.Ava.UI.Models; diff --git a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs index 79425099c..4f5cb13d3 100644 --- a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs +++ b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs @@ -12,6 +12,7 @@ using LibHac.Ns; using Ryujinx.Ava.Common; using Ryujinx.Ava.Common.Locale; using Ryujinx.Ava.Input; +using Ryujinx.Ava.Systems; using Ryujinx.Ava.UI.Applet; using Ryujinx.Ava.UI.Helpers; using Ryujinx.Ava.UI.ViewModels;