mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-08 09:26:27 +02:00
AutoLoad DLC/updates (#12)
* Add hooks to ApplicationLibrary for loading DLC/updates * Trigger DLC/update load on games refresh * Initial moving of DLC/updates to UI.Common * Use new models in ApplicationLibrary * Make dlc/updates records; use ApplicationLibrary for loading logic * Fix a bug with DLC window; rework some logic * Auto-load bundled DLC on startup * Autoload DLC * Add setting for autoloading dlc/updates * Remove dead code; bind to AppLibrary apps directly in mainwindow * Stub out bulk dlc menu item * Add localization; stub out bulk load updates * Set autoload dirs explicitly * Begin extracting updates to match DLC refactors * Add title update autoloading * Reduce size of settings sections * Better cache lookup for apps * Dont reload entire library on game version change * Remove ApplicationAdded event; always enumerate nsp when autoloading
This commit is contained in:
parent
9a1863c752
commit
565acec468
30 changed files with 1509 additions and 459 deletions
|
@ -122,6 +122,11 @@ namespace Ryujinx.UI.Common.Configuration
|
|||
/// </summary>
|
||||
public ReactiveObject<List<string>> GameDirs { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// A list of directories containing DLC/updates the user wants to autoload during library refreshes
|
||||
/// </summary>
|
||||
public ReactiveObject<List<string>> AutoloadDirs { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// A list of file types to be hidden in the games List
|
||||
/// </summary>
|
||||
|
@ -192,6 +197,7 @@ namespace Ryujinx.UI.Common.Configuration
|
|||
GuiColumns = new Columns();
|
||||
ColumnSort = new ColumnSortSettings();
|
||||
GameDirs = new ReactiveObject<List<string>>();
|
||||
AutoloadDirs = new ReactiveObject<List<string>>();
|
||||
ShownFileTypes = new ShownFileTypeSettings();
|
||||
WindowStartup = new WindowStartupSettings();
|
||||
EnableCustomTheme = new ReactiveObject<bool>();
|
||||
|
@ -728,6 +734,7 @@ namespace Ryujinx.UI.Common.Configuration
|
|||
SortAscending = UI.ColumnSort.SortAscending,
|
||||
},
|
||||
GameDirs = UI.GameDirs,
|
||||
AutoloadDirs = UI.AutoloadDirs,
|
||||
ShownFileTypes = new ShownFileTypes
|
||||
{
|
||||
NSP = UI.ShownFileTypes.NSP,
|
||||
|
@ -836,6 +843,7 @@ namespace Ryujinx.UI.Common.Configuration
|
|||
UI.ColumnSort.SortColumnId.Value = 0;
|
||||
UI.ColumnSort.SortAscending.Value = false;
|
||||
UI.GameDirs.Value = new List<string>();
|
||||
UI.AutoloadDirs.Value = new List<string>();
|
||||
UI.ShownFileTypes.NSP.Value = true;
|
||||
UI.ShownFileTypes.PFS0.Value = true;
|
||||
UI.ShownFileTypes.XCI.Value = true;
|
||||
|
@ -1477,6 +1485,15 @@ namespace Ryujinx.UI.Common.Configuration
|
|||
configurationFileUpdated = true;
|
||||
}
|
||||
|
||||
if (configurationFileFormat.Version < 52)
|
||||
{
|
||||
Ryujinx.Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 52.");
|
||||
|
||||
configurationFileFormat.AutoloadDirs = new();
|
||||
|
||||
configurationFileUpdated = true;
|
||||
}
|
||||
|
||||
Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog;
|
||||
Graphics.ResScale.Value = configurationFileFormat.ResScale;
|
||||
Graphics.ResScaleCustom.Value = configurationFileFormat.ResScaleCustom;
|
||||
|
@ -1538,6 +1555,7 @@ namespace Ryujinx.UI.Common.Configuration
|
|||
UI.ColumnSort.SortColumnId.Value = configurationFileFormat.ColumnSort.SortColumnId;
|
||||
UI.ColumnSort.SortAscending.Value = configurationFileFormat.ColumnSort.SortAscending;
|
||||
UI.GameDirs.Value = configurationFileFormat.GameDirs;
|
||||
UI.AutoloadDirs.Value = configurationFileFormat.AutoloadDirs;
|
||||
UI.ShownFileTypes.NSP.Value = configurationFileFormat.ShownFileTypes.NSP;
|
||||
UI.ShownFileTypes.PFS0.Value = configurationFileFormat.ShownFileTypes.PFS0;
|
||||
UI.ShownFileTypes.XCI.Value = configurationFileFormat.ShownFileTypes.XCI;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue