mirror of
https://github.com/GreemDev/Ryujinx
synced 2024-12-22 03:46:39 +01:00
Compare commits
10 commits
4085c04468
...
3cecde23b1
Author | SHA1 | Date | |
---|---|---|---|
|
3cecde23b1 | ||
|
ed2dff7f86 | ||
|
5c618f69b4 | ||
|
a5e1ad482c | ||
|
baad1e313f | ||
|
a1e6d11dcb | ||
|
3d168a8bfa | ||
|
000c1756de | ||
|
1d0152b961 | ||
|
07690e4527 |
39 changed files with 133 additions and 176 deletions
|
@ -38,7 +38,7 @@
|
|||
<PackageVersion Include="Ryujinx.Graphics.Nvdec.Dependencies" Version="5.0.3-build14" />
|
||||
<PackageVersion Include="Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK" Version="1.2.0" />
|
||||
<PackageVersion Include="Ryujinx.SDL2-CS" Version="2.30.0-build32" />
|
||||
<PackageVersion Include="Gommon" Version="2.6.6" />
|
||||
<PackageVersion Include="Gommon" Version="2.6.8" />
|
||||
<PackageVersion Include="securifybv.ShellLink" Version="0.1.0" />
|
||||
<PackageVersion Include="shaderc.net" Version="0.1.0" />
|
||||
<PackageVersion Include="SharpZipLib" Version="1.4.2" />
|
||||
|
|
|
@ -40,11 +40,11 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.1</string>
|
||||
<string>1.2</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.1.0</string>
|
||||
<string>1.2.0</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<true/>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
|
|
|
@ -17,7 +17,7 @@ error_handler() {
|
|||
set the button_pressed to the button returned of the result
|
||||
|
||||
if the button_pressed is \"Open Download Page\" then
|
||||
open location \"https://ryujinx.org/download\"
|
||||
open location \"https://ryujinx.app/download\"
|
||||
end if
|
||||
"""
|
||||
|
||||
|
|
|
@ -24,11 +24,9 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||
case AppletId.SoftwareKeyboard:
|
||||
return new SoftwareKeyboardApplet(system);
|
||||
case AppletId.LibAppletWeb:
|
||||
return new BrowserApplet(system);
|
||||
case AppletId.LibAppletShop:
|
||||
return new BrowserApplet(system);
|
||||
case AppletId.LibAppletOff:
|
||||
return new BrowserApplet(system);
|
||||
return new BrowserApplet();
|
||||
case AppletId.MiiEdit:
|
||||
Logger.Warning?.Print(LogClass.Application, $"Please use the MiiEdit inside File/Open Applet");
|
||||
return new DummyApplet(system);
|
||||
|
|
|
@ -18,13 +18,6 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
|
|||
private List<BrowserArgument> _arguments;
|
||||
private ShimKind _shimKind;
|
||||
|
||||
public BrowserApplet(Horizon system) { }
|
||||
|
||||
public ResultCode GetResult()
|
||||
{
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
public ResultCode Start(AppletSession normalSession, AppletSession interactiveSession)
|
||||
{
|
||||
_normalSession = normalSession;
|
||||
|
|
|
@ -125,19 +125,6 @@ namespace Ryujinx.HLE.HOS.Applets.Cabinet
|
|||
return bytes;
|
||||
}
|
||||
|
||||
public static T ReadStruct<T>(byte[] data) where T : unmanaged
|
||||
{
|
||||
if (data.Length < Unsafe.SizeOf<T>())
|
||||
{
|
||||
throw new ArgumentException("Not enough data to read the struct");
|
||||
}
|
||||
|
||||
fixed (byte* dataPtr = data)
|
||||
{
|
||||
return Unsafe.Read<T>(dataPtr);
|
||||
}
|
||||
}
|
||||
|
||||
#region Structs
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
|
|
|
@ -117,11 +117,6 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
public ResultCode GetResult()
|
||||
{
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
private static byte[] BuildResponse(ControllerSupportResultInfo result)
|
||||
{
|
||||
using MemoryStream stream = MemoryStreamManager.Shared.GetStream();
|
||||
|
|
|
@ -11,11 +11,14 @@ namespace Ryujinx.HLE.HOS.Applets.Dummy
|
|||
{
|
||||
private readonly Horizon _system;
|
||||
private AppletSession _normalSession;
|
||||
|
||||
public event EventHandler AppletStateChanged;
|
||||
|
||||
public DummyApplet(Horizon system)
|
||||
{
|
||||
_system = system;
|
||||
}
|
||||
|
||||
public ResultCode Start(AppletSession normalSession, AppletSession interactiveSession)
|
||||
{
|
||||
_normalSession = normalSession;
|
||||
|
@ -24,10 +27,7 @@ namespace Ryujinx.HLE.HOS.Applets.Dummy
|
|||
_system.ReturnFocus();
|
||||
return ResultCode.Success;
|
||||
}
|
||||
private static T ReadStruct<T>(byte[] data) where T : struct
|
||||
{
|
||||
return MemoryMarshal.Read<T>(data.AsSpan());
|
||||
}
|
||||
|
||||
private static byte[] BuildResponse()
|
||||
{
|
||||
using MemoryStream stream = MemoryStreamManager.Shared.GetStream();
|
||||
|
@ -35,9 +35,5 @@ namespace Ryujinx.HLE.HOS.Applets.Dummy
|
|||
writer.Write((ulong)ResultCode.Success);
|
||||
return stream.ToArray();
|
||||
}
|
||||
public ResultCode GetResult()
|
||||
{
|
||||
return ResultCode.Success;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -203,10 +203,5 @@ namespace Ryujinx.HLE.HOS.Applets.Error
|
|||
_horizon.Device.UIHandler.DisplayErrorAppletDialog($"Error Number: {applicationErrorArg.ErrorNumber} (Details)", "\n" + detailsText, buttons.ToArray());
|
||||
}
|
||||
}
|
||||
|
||||
public ResultCode GetResult()
|
||||
{
|
||||
return ResultCode.Success;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||
ResultCode Start(AppletSession normalSession,
|
||||
AppletSession interactiveSession);
|
||||
|
||||
ResultCode GetResult();
|
||||
ResultCode GetResult() => ResultCode.Success;
|
||||
|
||||
bool DrawTo(RenderingSurfaceInfo surfaceInfo, IVirtualMemoryManager destination, ulong position) => false;
|
||||
|
||||
|
|
|
@ -37,11 +37,6 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
public ResultCode GetResult()
|
||||
{
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
private byte[] BuildResponse()
|
||||
{
|
||||
UserProfile currentUser = _system.AccountManager.LastOpenedUser;
|
||||
|
|
|
@ -144,11 +144,6 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||
}
|
||||
}
|
||||
|
||||
public ResultCode GetResult()
|
||||
{
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
private bool IsKeyboardActive()
|
||||
{
|
||||
return _backgroundState >= InlineKeyboardState.Appearing && _backgroundState < InlineKeyboardState.Disappearing;
|
||||
|
|
|
@ -2,7 +2,7 @@ namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard
|
|||
{
|
||||
/// <summary>
|
||||
/// Wraps a type in a class so it gets stored in the GC managed heap. This is used as communication mechanism
|
||||
/// between classed that need to be disposed and, thus, can't share their references.
|
||||
/// between classes that need to be disposed and, thus, can't share their references.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The internal type.</typeparam>
|
||||
class TRef<T>
|
||||
|
|
|
@ -24,6 +24,15 @@ namespace Ryujinx.HLE.HOS.Services.Ldn.Lp2p
|
|||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
[CommandCmif(776)]
|
||||
// DestroyGroup()
|
||||
public ResultCode DestroyGroup(ServiceCtx context)
|
||||
{
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceLdn);
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
[CommandCmif(1536)]
|
||||
// SendToOtherGroup(nn::lp2p::MacAddress, nn::lp2p::GroupId, s16, s16, u32, buffer<unknown, 0x21>)
|
||||
public ResultCode SendToOtherGroup(ServiceCtx context)
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
using Gommon;
|
||||
using Humanizer;
|
||||
using NetCoreServer;
|
||||
using Open.Nat;
|
||||
using Ryujinx.Common.Logging;
|
||||
|
@ -153,7 +155,10 @@ namespace Ryujinx.HLE.HOS.Services.Ldn.UserServiceCreator.LdnRyu.Proxy
|
|||
|
||||
if (_publicPort != 0)
|
||||
{
|
||||
_ = Task.Delay(PortLeaseRenew * 1000, _disposedCancellation.Token).ContinueWith((task) => Task.Run(RefreshLease));
|
||||
_ = Executor.ExecuteAfterDelayAsync(
|
||||
PortLeaseRenew.Seconds(),
|
||||
_disposedCancellation.Token,
|
||||
RefreshLease);
|
||||
}
|
||||
|
||||
_natDevice = device;
|
||||
|
@ -257,7 +262,10 @@ namespace Ryujinx.HLE.HOS.Services.Ldn.UserServiceCreator.LdnRyu.Proxy
|
|||
|
||||
}
|
||||
|
||||
_ = Task.Delay(PortLeaseRenew, _disposedCancellation.Token).ContinueWith((task) => Task.Run(RefreshLease));
|
||||
_ = Executor.ExecuteAfterDelayAsync(
|
||||
PortLeaseRenew.Milliseconds(),
|
||||
_disposedCancellation.Token,
|
||||
RefreshLease);
|
||||
}
|
||||
|
||||
public bool TryRegisterUser(P2pProxySession session, ExternalProxyConfig config)
|
||||
|
|
|
@ -1137,7 +1137,7 @@ namespace Ryujinx.Ava
|
|||
LocaleManager.Instance[LocaleKeys.VolumeShort] + $": {(int)(Device.GetVolume() * 100)}%",
|
||||
dockedMode,
|
||||
ConfigurationState.Instance.Graphics.AspectRatio.Value.ToText(),
|
||||
LocaleManager.Instance[LocaleKeys.Game] + $": {Device.Statistics.GetGameFrameRate():00.00} FPS ({Device.Statistics.GetGameFrameTime():00.00} ms)",
|
||||
$"{Device.Statistics.GetGameFrameRate():00.00} FPS ({Device.Statistics.GetGameFrameTime():00.00} ms)",
|
||||
$"FIFO: {Device.Statistics.GetFifoPercent():00.00} %",
|
||||
_displayCount));
|
||||
}
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "إضافة ملفات جديدة...",
|
||||
"UpdaterExtracting": "استخراج التحديث...",
|
||||
"UpdaterDownloading": "تحميل التحديث...",
|
||||
"Game": "لعبة",
|
||||
"Docked": "تركيب بالمنصة",
|
||||
"Handheld": "محمول",
|
||||
"ConnectionError": "خطأ في الاتصال",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "Neue Dateien hinzufügen...",
|
||||
"UpdaterExtracting": "Update extrahieren...",
|
||||
"UpdaterDownloading": "Update herunterladen...",
|
||||
"Game": "Spiel",
|
||||
"Docked": "Docked",
|
||||
"Handheld": "Handheld",
|
||||
"ConnectionError": "Verbindungsfehler.",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "Προσθήκη Νέων Αρχείων...",
|
||||
"UpdaterExtracting": "Εξαγωγή Ενημέρωσης...",
|
||||
"UpdaterDownloading": "Λήψη Ενημέρωσης...",
|
||||
"Game": "Παιχνίδι",
|
||||
"Docked": "Προσκολλημένο",
|
||||
"Handheld": "Χειροκίνητο",
|
||||
"ConnectionError": "Σφάλμα Σύνδεσης.",
|
||||
|
|
|
@ -730,7 +730,6 @@
|
|||
"UpdaterAddingFiles": "Adding New Files...",
|
||||
"UpdaterExtracting": "Extracting Update...",
|
||||
"UpdaterDownloading": "Downloading Update...",
|
||||
"Game": "Game",
|
||||
"Docked": "Docked",
|
||||
"Handheld": "Handheld",
|
||||
"ConnectionError": "Connection Error.",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"Language": "Español (ES)",
|
||||
"MenuBarFileOpenApplet": "Abrir applet",
|
||||
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||
"MenuBarFileOpenAppletOpenMiiApplet": "Applet Editor Mii",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Abre el editor de Mii en modo autónomo",
|
||||
"SettingsTabInputDirectMouseAccess": "Acceso directo al ratón",
|
||||
"SettingsTabSystemMemoryManagerMode": "Modo del administrador de memoria:",
|
||||
|
@ -32,12 +32,12 @@
|
|||
"MenuBarFileToolsInstallFirmwareFromFile": "Instalar firmware desde un archivo XCI o ZIP",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Instalar firmware desde una carpeta",
|
||||
"MenuBarToolsInstallKeys": "Install Keys",
|
||||
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||
"MenuBarFileToolsInstallKeysFromFile": "Instalar keys de KEYS o ZIP",
|
||||
"MenuBarFileToolsInstallKeysFromFolder": "Instalar keys de un directorio",
|
||||
"MenuBarToolsManageFileTypes": "Administrar tipos de archivo",
|
||||
"MenuBarToolsInstallFileTypes": "Instalar tipos de archivo",
|
||||
"MenuBarToolsUninstallFileTypes": "Desinstalar tipos de archivo",
|
||||
"MenuBarToolsXCITrimmer": "Trim XCI Files",
|
||||
"MenuBarToolsXCITrimmer": "Recortar archivos XCI",
|
||||
"MenuBarView": "_View",
|
||||
"MenuBarViewWindow": "Tamaño Ventana",
|
||||
"MenuBarViewWindow720": "720p",
|
||||
|
@ -89,11 +89,11 @@
|
|||
"GameListContextMenuOpenModsDirectoryToolTip": "Abre el directorio que contiene los Mods de la Aplicación.",
|
||||
"GameListContextMenuOpenSdModsDirectory": "Abrir Directorio de Mods de Atmosphere\n\n\n\n\n\n",
|
||||
"GameListContextMenuOpenSdModsDirectoryToolTip": "Abre el directorio alternativo de la tarjeta SD de Atmosphere que contiene los Mods de la Aplicación. Útil para los mods que están empaquetados para el hardware real.",
|
||||
"GameListContextMenuTrimXCI": "Check and Trim XCI File",
|
||||
"GameListContextMenuTrimXCIToolTip": "Check and Trim XCI File to Save Disk Space",
|
||||
"GameListContextMenuTrimXCI": "Verificar y recortar archivo XCI",
|
||||
"GameListContextMenuTrimXCIToolTip": "Verificar y recortar archivo XCI para ahorrar espacio en disco",
|
||||
"StatusBarGamesLoaded": "{0}/{1} juegos cargados",
|
||||
"StatusBarSystemVersion": "Versión del sistema: {0}",
|
||||
"StatusBarXCIFileTrimming": "Trimming XCI File '{0}'",
|
||||
"StatusBarXCIFileTrimming": "Recortando el siguiente archivo XCI: '{0}'",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Límite inferior para mapeos de memoria detectado",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "¿Quieres aumentar el valor de vm.max_map_count a {0}?",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "Algunos juegos podrían intentar crear más mapeos de memoria de los permitidos. Ryujinx se bloqueará tan pronto como se supere este límite.",
|
||||
|
@ -480,7 +480,7 @@
|
|||
"DialogUninstallFileTypesSuccessMessage": "¡Tipos de archivos desinstalados con éxito!",
|
||||
"DialogUninstallFileTypesErrorMessage": "No se pudo desinstalar los tipos de archivo.",
|
||||
"DialogOpenSettingsWindowLabel": "Abrir ventana de opciones",
|
||||
"DialogOpenXCITrimmerWindowLabel": "XCI Trimmer Window",
|
||||
"DialogOpenXCITrimmerWindowLabel": "Ventana recortador XCI",
|
||||
"DialogControllerAppletTitle": "Applet de mandos",
|
||||
"DialogMessageDialogErrorExceptionMessage": "Error al mostrar cuadro de diálogo: {0}",
|
||||
"DialogSoftwareKeyboardErrorExceptionMessage": "Error al mostrar teclado de software: {0}",
|
||||
|
@ -509,13 +509,13 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n¿Continuar?",
|
||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Instalando firmware...",
|
||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Versión de sistema {0} instalada con éxito.",
|
||||
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||
"DialogKeysInstallerKeysNotFoundErrorMessage": "Se halló un archivo Keys inválido en {0}",
|
||||
"DialogKeysInstallerKeysInstallTitle": "Instalar Keys",
|
||||
"DialogKeysInstallerKeysInstallMessage": "Un nuevo archivo Keys será instalado.",
|
||||
"DialogKeysInstallerKeysInstallSubMessage": "\n\nEsto puede reemplazar algunas de las Keys actualmente instaladas.",
|
||||
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDeseas continuar?",
|
||||
"DialogKeysInstallerKeysInstallWaitMessage": "Instalando Keys...",
|
||||
"DialogKeysInstallerKeysInstallSuccessMessage": "Nuevo archivo Keys instalado con éxito.",
|
||||
"DialogUserProfileDeletionWarningMessage": "Si eliminas el perfil seleccionado no quedará ningún otro perfil",
|
||||
"DialogUserProfileDeletionConfirmMessage": "¿Quieres eliminar el perfil seleccionado?",
|
||||
"DialogUserProfileUnsavedChangesTitle": "Advertencia - Cambios sin guardar",
|
||||
|
@ -688,23 +688,23 @@
|
|||
"OpenSetupGuideMessage": "Abrir la guía de instalación",
|
||||
"NoUpdate": "No actualizado",
|
||||
"TitleUpdateVersionLabel": "Versión {0} - {1}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"TitleXCIStatusPartialLabel": "Partial",
|
||||
"TitleXCIStatusTrimmableLabel": "Untrimmed",
|
||||
"TitleXCIStatusUntrimmableLabel": "Trimmed",
|
||||
"TitleXCIStatusFailedLabel": "(Failed)",
|
||||
"TitleXCICanSaveLabel": "Save {0:n0} Mb",
|
||||
"TitleXCISavingLabel": "Saved {0:n0} Mb",
|
||||
"TitleBundledUpdateVersionLabel": "Incorporado: Versión {0}",
|
||||
"TitleBundledDlcLabel": "Incorporado:",
|
||||
"TitleXCIStatusPartialLabel": "Parcial",
|
||||
"TitleXCIStatusTrimmableLabel": "Sin recortar",
|
||||
"TitleXCIStatusUntrimmableLabel": "Recortado",
|
||||
"TitleXCIStatusFailedLabel": "(Fallido)",
|
||||
"TitleXCICanSaveLabel": "Ahorra {0:n0} Mb",
|
||||
"TitleXCISavingLabel": "{0:n0} Mb ahorrado(s)",
|
||||
"RyujinxInfo": "Ryujinx - Info",
|
||||
"RyujinxConfirm": "Ryujinx - Confirmación",
|
||||
"FileDialogAllTypes": "Todos los tipos",
|
||||
"Never": "Nunca",
|
||||
"SwkbdMinCharacters": "Debe tener al menos {0} caracteres",
|
||||
"SwkbdMinRangeCharacters": "Debe tener {0}-{1} caracteres",
|
||||
"CabinetTitle": "Cabinet Dialog",
|
||||
"CabinetDialog": "Enter your Amiibo's new name",
|
||||
"CabinetScanDialog": "Please scan your Amiibo now.",
|
||||
"CabinetTitle": "Diálogo Gabinete",
|
||||
"CabinetDialog": "Ingresa el nuevo nombre de tu Amiibo",
|
||||
"CabinetScanDialog": "Escanea tu Amiibo ahora.",
|
||||
"SoftwareKeyboard": "Teclado de software",
|
||||
"SoftwareKeyboardModeNumeric": "Debe ser sólo 0-9 o '.'",
|
||||
"SoftwareKeyboardModeAlphabet": "Solo deben ser caracteres no CJK",
|
||||
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "Añadiendo nuevos archivos...",
|
||||
"UpdaterExtracting": "Extrayendo actualización...",
|
||||
"UpdaterDownloading": "Descargando actualización...",
|
||||
"Game": "Juego",
|
||||
"Docked": "Dock/TV",
|
||||
"Handheld": "Portátil",
|
||||
"ConnectionError": "Error de conexión.",
|
||||
|
@ -751,39 +750,39 @@
|
|||
"SelectDlcDialogTitle": "Selecciona archivo(s) de DLC",
|
||||
"SelectUpdateDialogTitle": "Selecciona archivo(s) de actualización",
|
||||
"SelectModDialogTitle": "Seleccionar un directorio de Mods",
|
||||
"TrimXCIFileDialogTitle": "Check and Trim XCI File",
|
||||
"TrimXCIFileDialogPrimaryText": "This function will first check the empty space and then trim the XCI File to save disk space.",
|
||||
"TrimXCIFileDialogSecondaryText": "Current File Size: {0:n} MB\nGame Data Size: {1:n} MB\nDisk Space Savings: {2:n} MB",
|
||||
"TrimXCIFileNoTrimNecessary": "XCI File does not need to be trimmed. Check logs for further details",
|
||||
"TrimXCIFileNoUntrimPossible": "XCI File cannot be untrimmed. Check logs for further details",
|
||||
"TrimXCIFileReadOnlyFileCannotFix": "XCI File is Read Only and could not be made writable. Check logs for further details",
|
||||
"TrimXCIFileFileSizeChanged": "XCI File has changed in size since it was scanned. Please check the file is not being written to and try again.",
|
||||
"TrimXCIFileFreeSpaceCheckFailed": "XCI File has data in the free space area, it is not safe to trim",
|
||||
"TrimXCIFileInvalidXCIFile": "XCI File contains invalid data. Check logs for further details",
|
||||
"TrimXCIFileFileIOWriteError": "XCI File could not be opened for writing. Check logs for further details",
|
||||
"TrimXCIFileFailedPrimaryText": "Trimming of the XCI file failed",
|
||||
"TrimXCIFileCancelled": "The operation was cancelled",
|
||||
"TrimXCIFileFileUndertermined": "No operation was performed",
|
||||
"TrimXCIFileDialogTitle": "Verificar y recortar archivo XCI",
|
||||
"TrimXCIFileDialogPrimaryText": "Esta función verificará el espacio vacío y después recortará el archivo XCI para ahorrar espacio en disco",
|
||||
"TrimXCIFileDialogSecondaryText": "Tamaño de archivo actual: {0:n} MB\nTamaño de datos de juego: {1:n} MB\nAhorro de espacio en disco: {2:n} MB",
|
||||
"TrimXCIFileNoTrimNecessary": "El archivo XCI no necesita ser recortado. Verifica los logs para más detalles.",
|
||||
"TrimXCIFileNoUntrimPossible": "El recorte del archivo XCI no puede ser deshecho. Verifica los registros para más detalles.",
|
||||
"TrimXCIFileReadOnlyFileCannotFix": "El archivo XCI es de solo Lectura y no se le puede escribir. Lee el registro para más información.",
|
||||
"TrimXCIFileFileSizeChanged": "El archivo XCI ha cambiado de tamaño desde que fue escaneado. Verifica que no se esté escribiendo al archivo y vuelve a intentarlo.",
|
||||
"TrimXCIFileFreeSpaceCheckFailed": "El archivo XCI tiene datos en el área de espacio libre, no es seguro recortar.",
|
||||
"TrimXCIFileInvalidXCIFile": "El archivo XCI contiene datos inválidos. Lee el registro para más información.",
|
||||
"TrimXCIFileFileIOWriteError": "El archivo XCI no se puede abrir para escribirlo. Lee el registro para más información.",
|
||||
"TrimXCIFileFailedPrimaryText": "El recorte del archivo XCI falló",
|
||||
"TrimXCIFileCancelled": "La operación fue cancelada",
|
||||
"TrimXCIFileFileUndertermined": "No se realizó ninguna operación",
|
||||
"UserProfileWindowTitle": "Administrar perfiles de usuario",
|
||||
"CheatWindowTitle": "Administrar cheats",
|
||||
"DlcWindowTitle": "Administrar contenido descargable",
|
||||
"ModWindowTitle": "Administrar Mods para {0} ({1})",
|
||||
"UpdateWindowTitle": "Administrar actualizaciones",
|
||||
"XCITrimmerWindowTitle": "XCI File Trimmer",
|
||||
"XCITrimmerTitleStatusCount": "{0} of {1} Title(s) Selected",
|
||||
"XCITrimmerTitleStatusCountWithFilter": "{0} of {1} Title(s) Selected ({2} displayed)",
|
||||
"XCITrimmerTitleStatusTrimming": "Trimming {0} Title(s)...",
|
||||
"XCITrimmerTitleStatusUntrimming": "Untrimming {0} Title(s)...",
|
||||
"XCITrimmerTitleStatusFailed": "Failed",
|
||||
"XCITrimmerPotentialSavings": "Potential Savings",
|
||||
"XCITrimmerActualSavings": "Actual Savings",
|
||||
"XCITrimmerWindowTitle": "Recortador de archivos XCI",
|
||||
"XCITrimmerTitleStatusCount": "{0} de {1} Título(s) seleccionado(s)",
|
||||
"XCITrimmerTitleStatusCountWithFilter": "{0} de {1} Título(s) seleccionado(s) ({2} mostrado(s))",
|
||||
"XCITrimmerTitleStatusTrimming": "Recortando {0} Título(s)...",
|
||||
"XCITrimmerTitleStatusUntrimming": "Deshaciendo recorte de {0} Título(s)...",
|
||||
"XCITrimmerTitleStatusFailed": "Fallido",
|
||||
"XCITrimmerPotentialSavings": "Ahorro potencial",
|
||||
"XCITrimmerActualSavings": "Ahorro real",
|
||||
"XCITrimmerSavingsMb": "{0:n0} Mb",
|
||||
"XCITrimmerSelectDisplayed": "Select Shown",
|
||||
"XCITrimmerDeselectDisplayed": "Deselect Shown",
|
||||
"XCITrimmerSortName": "Title",
|
||||
"XCITrimmerSortSaved": "Space Savings",
|
||||
"XCITrimmerTrim": "Trim",
|
||||
"XCITrimmerUntrim": "Untrim",
|
||||
"XCITrimmerSelectDisplayed": "Seleccionar mostrado(s)",
|
||||
"XCITrimmerDeselectDisplayed": "Deseleccionar mostrado(s)",
|
||||
"XCITrimmerSortName": "Título",
|
||||
"XCITrimmerSortSaved": "Ahorro de espacio",
|
||||
"XCITrimmerTrim": "Recortar",
|
||||
"XCITrimmerUntrim": "Deshacer recorte",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} nueva(s) actualización(es) agregada(s)",
|
||||
"UpdateWindowBundledContentNotice": "Las actualizaciones agrupadas no pueden ser eliminadas, solamente deshabilitadas.",
|
||||
"CheatWindowHeading": "Cheats disponibles para {0} [{1}]",
|
||||
|
@ -796,7 +795,7 @@
|
|||
"AutoloadUpdateRemovedMessage": "Se eliminaron {0} actualización(es) faltantes",
|
||||
"ModWindowHeading": "{0} Mod(s)",
|
||||
"UserProfilesEditProfile": "Editar selección",
|
||||
"Continue": "Continue",
|
||||
"Continue": "Continuar",
|
||||
"Cancel": "Cancelar",
|
||||
"Save": "Guardar",
|
||||
"Discard": "Descartar",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "Ajout des nouveaux fichiers...",
|
||||
"UpdaterExtracting": "Extraction de la mise à jour…",
|
||||
"UpdaterDownloading": "Téléchargement de la mise à jour...",
|
||||
"Game": "Jeu",
|
||||
"Docked": "Mode station d'accueil",
|
||||
"Handheld": "Mode Portable",
|
||||
"ConnectionError": "Erreur de connexion.",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "מוסיף קבצים חדשים...",
|
||||
"UpdaterExtracting": "מחלץ עדכון...",
|
||||
"UpdaterDownloading": "מוריד עדכון...",
|
||||
"Game": "משחק",
|
||||
"Docked": "בתחנת עגינה",
|
||||
"Handheld": "נייד",
|
||||
"ConnectionError": "שגיאת חיבור",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "Aggiunta dei nuovi file...",
|
||||
"UpdaterExtracting": "Estrazione dell'aggiornamento...",
|
||||
"UpdaterDownloading": "Download dell'aggiornamento...",
|
||||
"Game": "Gioco",
|
||||
"Docked": "TV",
|
||||
"Handheld": "Portatile",
|
||||
"ConnectionError": "Errore di connessione.",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "新規ファイルを追加中...",
|
||||
"UpdaterExtracting": "アップデートを展開中...",
|
||||
"UpdaterDownloading": "アップデートをダウンロード中...",
|
||||
"Game": "ゲーム",
|
||||
"Docked": "ドッキング",
|
||||
"Handheld": "携帯",
|
||||
"ConnectionError": "接続エラー.",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"Language": "한국어",
|
||||
"MenuBarFileOpenApplet": "애플릿 열기",
|
||||
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||
"MenuBarFileOpenAppletOpenMiiApplet": "Mii 편집 애플릿",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "독립 실행형 모드로 Mii 편집기 애플릿 열기",
|
||||
"SettingsTabInputDirectMouseAccess": "마우스 직접 접근",
|
||||
"SettingsTabSystemMemoryManagerMode": "메모리 관리자 모드 :",
|
||||
|
@ -484,7 +484,7 @@
|
|||
"DialogControllerAppletTitle": "컨트롤러 애플릿",
|
||||
"DialogMessageDialogErrorExceptionMessage": "메시지 대화 상자 표시 오류 : {0}",
|
||||
"DialogSoftwareKeyboardErrorExceptionMessage": "소프트웨어 키보드 표시 오류 : {0}",
|
||||
"DialogErrorAppletErrorExceptionMessage": "ErrorApplet 대화 상자 표시 오류 : {0}",
|
||||
"DialogErrorAppletErrorExceptionMessage": "애플릿 오류류 대화 상자 표시 오류 : {0}",
|
||||
"DialogUserErrorDialogMessage": "{0}: {1}",
|
||||
"DialogUserErrorDialogInfoMessage": "\n이 오류를 해결하는 방법에 대한 자세한 내용은 설정 가이드를 참조하세요.",
|
||||
"DialogUserErrorDialogTitle": "Ryujinx 오류 ({0})",
|
||||
|
@ -702,9 +702,9 @@
|
|||
"Never": "절대 안 함",
|
||||
"SwkbdMinCharacters": "{0}자 이상이어야 함",
|
||||
"SwkbdMinRangeCharacters": "{0}-{1}자 길이여야 함",
|
||||
"CabinetTitle": "Cabinet Dialog",
|
||||
"CabinetDialog": "Enter your Amiibo's new name",
|
||||
"CabinetScanDialog": "Please scan your Amiibo now.",
|
||||
"CabinetTitle": "캐비닛 대화 상자",
|
||||
"CabinetDialog": "Amiibo의 새 이름 입력하기",
|
||||
"CabinetScanDialog": "지금 Amiibo를 스캔하세요.",
|
||||
"SoftwareKeyboard": "소프트웨어 키보드",
|
||||
"SoftwareKeyboardModeNumeric": "0-9 또는 '.'만 가능",
|
||||
"SoftwareKeyboardModeAlphabet": "CJK 문자가 아닌 문자만 가능",
|
||||
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "새 파일 추가...",
|
||||
"UpdaterExtracting": "업데이트 추출...",
|
||||
"UpdaterDownloading": "업데이트 내려받기 중...",
|
||||
"Game": "게임",
|
||||
"Docked": "도킹",
|
||||
"Handheld": "휴대",
|
||||
"ConnectionError": "연결 오류가 발생했습니다.",
|
||||
|
@ -782,8 +781,8 @@
|
|||
"XCITrimmerDeselectDisplayed": "표시됨 선택 취소",
|
||||
"XCITrimmerSortName": "타이틀",
|
||||
"XCITrimmerSortSaved": "공간 절약s",
|
||||
"XCITrimmerTrim": "Trim",
|
||||
"XCITrimmerUntrim": "Untrim",
|
||||
"XCITrimmerTrim": "트림",
|
||||
"XCITrimmerUntrim": "언트림",
|
||||
"UpdateWindowUpdateAddedMessage": "{0}개의 새 업데이트가 추가됨",
|
||||
"UpdateWindowBundledContentNotice": "번들 업데이트는 제거할 수 없으며, 비활성화만 가능합니다.",
|
||||
"CheatWindowHeading": "{0} [{1}]에 사용 가능한 치트",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "Dodawanie Nowych Plików...",
|
||||
"UpdaterExtracting": "Wypakowywanie Aktualizacji...",
|
||||
"UpdaterDownloading": "Pobieranie Aktualizacji...",
|
||||
"Game": "Gra",
|
||||
"Docked": "Zadokowany",
|
||||
"Handheld": "Przenośny",
|
||||
"ConnectionError": "Błąd Połączenia.",
|
||||
|
|
|
@ -717,7 +717,6 @@
|
|||
"UpdaterAddingFiles": "Adicionando novos arquivos...",
|
||||
"UpdaterExtracting": "Extraíndo atualização...",
|
||||
"UpdaterDownloading": "Baixando atualização...",
|
||||
"Game": "Jogo",
|
||||
"Docked": "TV",
|
||||
"Handheld": "Portátil",
|
||||
"ConnectionError": "Erro de conexão.",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "Добавление новых файлов...",
|
||||
"UpdaterExtracting": "Извлечение обновления...",
|
||||
"UpdaterDownloading": "Загрузка обновления...",
|
||||
"Game": "Игра",
|
||||
"Docked": "Стационарный режим",
|
||||
"Handheld": "Портативный режим",
|
||||
"ConnectionError": "Ошибка соединения",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "กำลังเพิ่มไฟล์ใหม่...",
|
||||
"UpdaterExtracting": "กำลังแยกการอัปเดต...",
|
||||
"UpdaterDownloading": "กำลังดาวน์โหลดอัปเดต...",
|
||||
"Game": "เกมส์",
|
||||
"Docked": "ด็อก",
|
||||
"Handheld": "แฮนด์เฮลด์",
|
||||
"ConnectionError": "การเชื่อมต่อล้มเหลว",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "Yeni Dosyalar Ekleniyor...",
|
||||
"UpdaterExtracting": "Güncelleme Ayrıştırılıyor...",
|
||||
"UpdaterDownloading": "Güncelleme İndiriliyor...",
|
||||
"Game": "Oyun",
|
||||
"Docked": "Docked",
|
||||
"Handheld": "El tipi",
|
||||
"ConnectionError": "Bağlantı Hatası.",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "Додавання нових файлів...",
|
||||
"UpdaterExtracting": "Видобування оновлення...",
|
||||
"UpdaterDownloading": "Завантаження оновлення...",
|
||||
"Game": "Гра",
|
||||
"Docked": "Док-станція",
|
||||
"Handheld": "Портативний",
|
||||
"ConnectionError": "Помилка з'єднання.",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "安装更新中...",
|
||||
"UpdaterExtracting": "正在提取更新...",
|
||||
"UpdaterDownloading": "下载更新中...",
|
||||
"Game": "游戏",
|
||||
"Docked": "主机模式",
|
||||
"Handheld": "掌机模式",
|
||||
"ConnectionError": "连接错误。",
|
||||
|
|
|
@ -718,7 +718,6 @@
|
|||
"UpdaterAddingFiles": "正在加入新檔案...",
|
||||
"UpdaterExtracting": "正在提取更新...",
|
||||
"UpdaterDownloading": "正在下載更新...",
|
||||
"Game": "遊戲",
|
||||
"Docked": "底座模式",
|
||||
"Handheld": "手提模式",
|
||||
"ConnectionError": "連線錯誤。",
|
||||
|
|
|
@ -70,7 +70,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
private string _gpuStatusText;
|
||||
private string _shaderCountText;
|
||||
private bool _isAmiiboRequested;
|
||||
private bool _showRightmostSeparator;
|
||||
private bool _showShaderCompilationHint;
|
||||
private bool _isGameRunning;
|
||||
private bool _isFullScreen;
|
||||
private int _progressMaximum;
|
||||
|
@ -275,12 +275,12 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
public bool ShowFirmwareStatus => !ShowLoadProgress;
|
||||
|
||||
public bool ShowRightmostSeparator
|
||||
public bool ShowShaderCompilationHint
|
||||
{
|
||||
get => _showRightmostSeparator;
|
||||
get => _showShaderCompilationHint;
|
||||
set
|
||||
{
|
||||
_showRightmostSeparator = value;
|
||||
_showShaderCompilationHint = value;
|
||||
|
||||
OnPropertyChanged();
|
||||
}
|
||||
|
@ -1497,7 +1497,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
VolumeStatusText = args.VolumeStatus;
|
||||
FifoStatusText = args.FifoStatus;
|
||||
|
||||
ShaderCountText = (ShowRightmostSeparator = args.ShaderCount > 0)
|
||||
ShaderCountText = (ShowShaderCompilationHint = args.ShaderCount > 0)
|
||||
? $"{LocaleManager.Instance[LocaleKeys.CompilingShaders]}: {args.ShaderCount}"
|
||||
: string.Empty;
|
||||
|
||||
|
|
|
@ -200,7 +200,6 @@ namespace Ryujinx.Ava.UI.Views.Main
|
|||
|
||||
await Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
|
||||
ViewModel.WindowState = WindowState.Normal;
|
||||
|
||||
Window.Arrange(new Rect(Window.Position.X, Window.Position.Y, windowWidthScaled, windowHeightScaled));
|
||||
|
@ -210,7 +209,7 @@ namespace Ryujinx.Ava.UI.Views.Main
|
|||
public async void CheckForUpdates(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (Updater.CanUpdate(true))
|
||||
await Window.BeginUpdateAsync(true);
|
||||
await Updater.BeginUpdateAsync(true);
|
||||
}
|
||||
|
||||
public async void OpenXCITrimmerWindow(object sender, RoutedEventArgs e) => await XCITrimmerWindow.Show(ViewModel);
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
Background="{DynamicResource ThemeContentBackgroundColor}"
|
||||
DockPanel.Dock="Bottom"
|
||||
IsVisible="{Binding ShowMenuAndStatusBar}"
|
||||
ColumnDefinitions="Auto,Auto,*,Auto">
|
||||
ColumnDefinitions="Auto,Auto,*,Auto,Auto">
|
||||
<StackPanel
|
||||
Grid.Column="0"
|
||||
Margin="5"
|
||||
|
@ -284,14 +284,27 @@
|
|||
IsVisible="{Binding !ShowLoadProgress}"
|
||||
Text="{Binding FifoStatusText}"
|
||||
TextAlignment="Start" />
|
||||
</StackPanel>
|
||||
<StackPanel
|
||||
Grid.Column="3"
|
||||
Margin="0, 0, 5, 0"
|
||||
IsVisible="{Binding IsGameRunning}"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<TextBlock
|
||||
Name="ShaderCount"
|
||||
Margin="5,0,5,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
IsVisible="{Binding ShowShaderCompilationHint}"
|
||||
Text="{Binding ShaderCountText}" />
|
||||
<Border
|
||||
Width="2"
|
||||
Height="12"
|
||||
Margin="0"
|
||||
BorderBrush="Gray"
|
||||
Background="Gray"
|
||||
BorderThickness="1"
|
||||
IsVisible="{Binding !ShowLoadProgress}" />
|
||||
IsVisible="{Binding ShowShaderCompilationHint}" />
|
||||
<TextBlock
|
||||
Margin="5,0,5,0"
|
||||
HorizontalAlignment="Left"
|
||||
|
@ -308,35 +321,29 @@
|
|||
BorderThickness="1"
|
||||
IsVisible="{Binding !ShowLoadProgress}" />
|
||||
<TextBlock
|
||||
Margin="5,0,5,0"
|
||||
Margin="5,0,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
IsVisible="{Binding !ShowLoadProgress}"
|
||||
Text="{Binding GpuNameText}"
|
||||
TextAlignment="Start" />
|
||||
</StackPanel>
|
||||
<StackPanel
|
||||
Grid.Column="4"
|
||||
Margin="0,0,5,0"
|
||||
VerticalAlignment="Center"
|
||||
IsVisible="{Binding ShowFirmwareStatus}"
|
||||
Orientation="Horizontal">
|
||||
<Border
|
||||
Width="2"
|
||||
Height="12"
|
||||
Margin="0"
|
||||
BorderBrush="Gray"
|
||||
BorderThickness="1"
|
||||
IsVisible="{Binding ShowRightmostSeparator}" />
|
||||
<TextBlock
|
||||
Name="ShaderCount"
|
||||
Margin="5,0,5,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding ShaderCountText}" />
|
||||
</StackPanel>
|
||||
<StackPanel
|
||||
Grid.Column="3"
|
||||
Margin="0,0,5,0"
|
||||
VerticalAlignment="Center"
|
||||
IsVisible="{Binding ShowFirmwareStatus}"
|
||||
Orientation="Horizontal">
|
||||
IsVisible="{Binding IsGameRunning}" />
|
||||
<TextBlock
|
||||
Name="FirmwareStatus"
|
||||
Margin="0"
|
||||
Margin="5, 0, 0, 0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Text="{ext:Locale StatusBarSystemVersion}" />
|
||||
|
|
|
@ -7,6 +7,7 @@ using Avalonia.Threading;
|
|||
using DynamicData;
|
||||
using FluentAvalonia.UI.Controls;
|
||||
using FluentAvalonia.UI.Windowing;
|
||||
using Gommon;
|
||||
using LibHac.Tools.FsSystem;
|
||||
using Ryujinx.Ava.Common;
|
||||
using Ryujinx.Ava.Common.Locale;
|
||||
|
@ -387,10 +388,8 @@ namespace Ryujinx.Ava.UI.Windows
|
|||
|
||||
if (ConfigurationState.Instance.CheckUpdatesOnStart && !CommandLineState.HideAvailableUpdates && Updater.CanUpdate())
|
||||
{
|
||||
await this.BeginUpdateAsync()
|
||||
.ContinueWith(
|
||||
task => Logger.Error?.Print(LogClass.Application, $"Updater Error: {task.Exception}"),
|
||||
TaskContinuationOptions.OnlyOnFaulted);
|
||||
await Updater.BeginUpdateAsync()
|
||||
.Catch(task => Logger.Error?.Print(LogClass.Application, $"Updater Error: {task.Exception}"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
using Avalonia.Controls;
|
||||
using Avalonia.Threading;
|
||||
using FluentAvalonia.UI.Controls;
|
||||
using Gommon;
|
||||
|
@ -51,7 +50,7 @@ namespace Ryujinx.Ava
|
|||
|
||||
private static readonly string[] _windowsDependencyDirs = [];
|
||||
|
||||
public static async Task BeginUpdateAsync(this Window mainWindow, bool showVersionUpToDate = false)
|
||||
public static async Task BeginUpdateAsync(bool showVersionUpToDate = false)
|
||||
{
|
||||
if (_running)
|
||||
{
|
||||
|
@ -235,7 +234,7 @@ namespace Ryujinx.Ava
|
|||
switch (shouldUpdate)
|
||||
{
|
||||
case UserResult.Yes:
|
||||
await UpdateRyujinx(mainWindow, _buildUrl);
|
||||
await UpdateRyujinx(_buildUrl);
|
||||
break;
|
||||
// Secondary button maps to no, which in this case is the show changelog button.
|
||||
case UserResult.No:
|
||||
|
@ -258,7 +257,7 @@ namespace Ryujinx.Ava
|
|||
return result;
|
||||
}
|
||||
|
||||
private static async Task UpdateRyujinx(Window parent, string downloadUrl)
|
||||
private static async Task UpdateRyujinx(string downloadUrl)
|
||||
{
|
||||
_updateSuccessful = false;
|
||||
|
||||
|
@ -278,7 +277,7 @@ namespace Ryujinx.Ava
|
|||
SubHeader = LocaleManager.Instance[LocaleKeys.UpdaterDownloading],
|
||||
IconSource = new SymbolIconSource { Symbol = Symbol.Download },
|
||||
ShowProgressBar = true,
|
||||
XamlRoot = parent,
|
||||
XamlRoot = App.MainWindow,
|
||||
};
|
||||
|
||||
taskDialog.Opened += (s, e) =>
|
||||
|
|
Loading…
Reference in a new issue