clean_ryujinx/src/Ryujinx/UI/SetupWizard/RyujinxSetupWizard.Steps.cs
GreemDev c90d2af9cd game dir setup
known bugs are a missing prod.keys popup after setup (how), as well as the dialog for autoload kinda cluttering up the screen after you hit next on the game dir page
2025-12-19 23:15:23 -06:00

87 lines
2.4 KiB
C#

using Ryujinx.Ava.UI.SetupWizard.Pages;
using Ryujinx.UI.SetupWizard.Pages;
using System.Threading.Tasks;
namespace Ryujinx.Ava.UI.SetupWizard
{
public partial class RyujinxSetupWizard
{
private async ValueTask<bool> SetupKeys()
{
if (_overwrite || !RyujinxApp.MainWindow.VirtualFileSystem.HasKeySet)
{
Retry:
bool result = await NextPage<SetupKeysPage, SetupKeysPageContext>(out SetupKeysPageContext keyContext)
.Show();
if (!result)
return false;
if (!keyContext.CompleteStep())
goto Retry;
}
return true;
}
private async ValueTask<bool> SetupFirmware()
{
if (_overwrite || !HasFirmware)
{
if (!RyujinxApp.MainWindow.VirtualFileSystem.HasKeySet)
{
NotificationManager.Error("Keys still seem to not be installed. Please try again.");
return false;
}
Retry:
bool result =
await NextPage<SetupFirmwarePage, SetupFirmwarePageContext>(out SetupFirmwarePageContext fwContext)
.Show();
if (!result)
return false;
if (!fwContext.CompleteStep())
goto Retry;
OnPropertyChanged(nameof(HasFirmware));
}
return true;
}
private async ValueTask<bool> SetupGameDirs()
{
if (!HasFirmware)
{
NotificationManager.Error("Firmware still seems to not be installed. Please try again.");
return false;
}
Retry:
bool result =
await NextPage<SetupGameDirsPage, SetupGameDirsPageContext>(out SetupGameDirsPageContext gdContext)
.Show();
if (!result)
return false;
var res = gdContext.CompleteStep();
if (res.IsOf<RetryError>())
return false;
if (!res)
goto Retry;
return true;
}
private ValueTask<bool> Finish()
=> NextPage<SetupFinishedPage, SetupFinishedPageContext>(out _)
.WithHelpButtonVisible(false)
.Show();
}
}