language feature: Extension Members: More converted

This commit is contained in:
GreemDev 2025-07-02 14:49:45 -05:00
parent 2403bd4f3c
commit 3311842a16
7 changed files with 45 additions and 54 deletions

View file

@ -121,8 +121,8 @@ namespace Ryujinx.HLE.HOS
TickSource,
device,
device.Memory,
device.Configuration.MemoryConfiguration.ToKernelMemorySize(),
device.Configuration.MemoryConfiguration.ToKernelMemoryArrange());
device.Configuration.MemoryConfiguration.KernelMemorySize,
device.Configuration.MemoryConfiguration.KernelMemoryArrange);
Device = device;

View file

@ -64,7 +64,7 @@ namespace Ryujinx.HLE.HOS.Services.Spl
#pragma warning disable IDE0059 // Remove unnecessary value assignment
SystemVersion version = context.Device.System.ContentManager.GetCurrentFirmwareVersion();
#pragma warning restore IDE0059
MemorySize memorySize = context.Device.Configuration.MemoryConfiguration.ToKernelMemorySize();
MemorySize memorySize = context.Device.Configuration.MemoryConfiguration.KernelMemorySize;
switch (configItem)
{

View file

@ -18,11 +18,11 @@ namespace Ryujinx.HLE
{
private const ulong GiB = 1024 * 1024 * 1024;
extension(MemoryConfiguration configuration)
{
public MemoryArrange KernelMemoryArrange => configuration switch
{
#pragma warning disable IDE0055 // Disable formatting
public static MemoryArrange ToKernelMemoryArrange(this MemoryConfiguration configuration)
{
return configuration switch
{
MemoryConfiguration.MemoryConfiguration4GiB => MemoryArrange.MemoryArrange4GiB,
MemoryConfiguration.MemoryConfiguration4GiBAppletDev => MemoryArrange.MemoryArrange4GiBAppletDev,
MemoryConfiguration.MemoryConfiguration4GiBSystemDev => MemoryArrange.MemoryArrange4GiBSystemDev,
@ -31,13 +31,12 @@ namespace Ryujinx.HLE
MemoryConfiguration.MemoryConfiguration8GiB => MemoryArrange.MemoryArrange8GiB,
MemoryConfiguration.MemoryConfiguration12GiB => MemoryArrange.MemoryArrange12GiB,
_ => throw new AggregateException($"Invalid memory configuration \"{configuration}\"."),
#pragma warning restore IDE0055
};
}
public static MemorySize ToKernelMemorySize(this MemoryConfiguration configuration)
{
return configuration switch
public MemorySize KernelMemorySize => configuration switch
{
#pragma warning disable IDE0055 // Disable formatting
MemoryConfiguration.MemoryConfiguration4GiB or
MemoryConfiguration.MemoryConfiguration4GiBAppletDev or
MemoryConfiguration.MemoryConfiguration4GiBSystemDev => MemorySize.MemorySize4GiB,
@ -46,13 +45,12 @@ namespace Ryujinx.HLE
MemoryConfiguration.MemoryConfiguration8GiB => MemorySize.MemorySize8GiB,
MemoryConfiguration.MemoryConfiguration12GiB => MemorySize.MemorySize12GiB,
_ => throw new AggregateException($"Invalid memory configuration \"{configuration}\"."),
#pragma warning restore IDE0055
};
}
public static ulong ToDramSize(this MemoryConfiguration configuration)
{
return configuration switch
public ulong DramSize => configuration switch
{
#pragma warning disable IDE0055 // Disable formatting
MemoryConfiguration.MemoryConfiguration4GiB or
MemoryConfiguration.MemoryConfiguration4GiBAppletDev or
MemoryConfiguration.MemoryConfiguration4GiBSystemDev => 4 * GiB,
@ -61,8 +59,8 @@ namespace Ryujinx.HLE
MemoryConfiguration.MemoryConfiguration8GiB => 8 * GiB,
MemoryConfiguration.MemoryConfiguration12GiB => 12 * GiB,
_ => throw new AggregateException($"Invalid memory configuration \"{configuration}\"."),
#pragma warning restore IDE0055
};
}
#pragma warning restore IDE0055
}
}

View file

@ -70,7 +70,7 @@ namespace Ryujinx.HLE
#pragma warning disable IDE0055 // Disable formatting
DirtyHacks = new DirtyHacks(Configuration.Hacks);
AudioDeviceDriver = new CompatLayerHardwareDeviceDriver(Configuration.AudioDeviceDriver);
Memory = new MemoryBlock(Configuration.MemoryConfiguration.ToDramSize(), memoryAllocationFlags);
Memory = new MemoryBlock(Configuration.MemoryConfiguration.DramSize, memoryAllocationFlags);
Gpu = new GpuContext(Configuration.GpuRenderer, DirtyHacks);
System = new HOS.Horizon(this);
Statistics = new PerformanceStatistics(this);

View file

@ -29,9 +29,11 @@ namespace Ryujinx.Ava.UI.Helpers
return null;
}
return app.PercentageProgress != null ? null :
app.ProcessingOutcome is not OperationOutcome.Successful and not OperationOutcome.Undetermined ? app.ProcessingOutcome.ToLocalisedText() :
null;
return app.PercentageProgress != null
? null
: app.ProcessingOutcome is not OperationOutcome.Successful and not OperationOutcome.Undetermined
? app.ProcessingOutcome.LocalizedText
: null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)

View file

@ -5,32 +5,23 @@ namespace Ryujinx.Ava.UI.Helpers
{
public static class XCIFileTrimmerOperationOutcomeExtensions
{
public static string ToLocalisedText(this OperationOutcome operationOutcome)
extension(OperationOutcome opOutcome)
{
switch (operationOutcome)
public string LocalizedText => opOutcome switch
{
case OperationOutcome.NoTrimNecessary:
return LocaleManager.Instance[LocaleKeys.TrimXCIFileNoTrimNecessary];
case OperationOutcome.NoUntrimPossible:
return LocaleManager.Instance[LocaleKeys.TrimXCIFileNoUntrimPossible];
case OperationOutcome.ReadOnlyFileCannotFix:
return LocaleManager.Instance[LocaleKeys.TrimXCIFileReadOnlyFileCannotFix];
case OperationOutcome.FreeSpaceCheckFailed:
return LocaleManager.Instance[LocaleKeys.TrimXCIFileFreeSpaceCheckFailed];
case OperationOutcome.InvalidXCIFile:
return LocaleManager.Instance[LocaleKeys.TrimXCIFileInvalidXCIFile];
case OperationOutcome.FileIOWriteError:
return LocaleManager.Instance[LocaleKeys.TrimXCIFileFileIOWriteError];
case OperationOutcome.FileSizeChanged:
return LocaleManager.Instance[LocaleKeys.TrimXCIFileFileSizeChanged];
case OperationOutcome.Cancelled:
return LocaleManager.Instance[LocaleKeys.TrimXCIFileCancelled];
case OperationOutcome.Undetermined:
return LocaleManager.Instance[LocaleKeys.TrimXCIFileFileUndertermined];
case OperationOutcome.Successful:
default:
return null;
}
OperationOutcome.NoTrimNecessary => LocaleManager.Instance[LocaleKeys.TrimXCIFileNoTrimNecessary],
OperationOutcome.NoUntrimPossible => LocaleManager.Instance[LocaleKeys.TrimXCIFileNoUntrimPossible],
OperationOutcome.ReadOnlyFileCannotFix => LocaleManager.Instance[
LocaleKeys.TrimXCIFileReadOnlyFileCannotFix],
OperationOutcome.FreeSpaceCheckFailed => LocaleManager.Instance[
LocaleKeys.TrimXCIFileFreeSpaceCheckFailed],
OperationOutcome.InvalidXCIFile => LocaleManager.Instance[LocaleKeys.TrimXCIFileInvalidXCIFile],
OperationOutcome.FileIOWriteError => LocaleManager.Instance[LocaleKeys.TrimXCIFileFileIOWriteError],
OperationOutcome.FileSizeChanged => LocaleManager.Instance[LocaleKeys.TrimXCIFileFileSizeChanged],
OperationOutcome.Cancelled => LocaleManager.Instance[LocaleKeys.TrimXCIFileCancelled],
OperationOutcome.Undetermined => LocaleManager.Instance[LocaleKeys.TrimXCIFileFileUndertermined],
_ => null
};
}
}
}

View file

@ -1873,7 +1873,7 @@ namespace Ryujinx.Ava.UI.ViewModels
public async void ProcessTrimResult(String filename, XCIFileTrimmer.OperationOutcome operationOutcome)
{
string notifyUser = operationOutcome.ToLocalisedText();
string notifyUser = operationOutcome.LocalizedText;
if (notifyUser != null)
{