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;