From 326749498bed4360e5a4b11fc67d5ec7cb9a3076 Mon Sep 17 00:00:00 2001 From: TSRBerry <20988865+TSRBerry@users.noreply.github.com> Date: Sun, 16 Jul 2023 19:31:14 +0200 Subject: [Ryujinx.HLE] Address dotnet-format issues (#5380) * dotnet format style --severity info Some changes were manually reverted. * dotnet format analyzers --serverity info Some changes have been minimally adapted. * Restore a few unused methods and variables * Silence dotnet format IDE0060 warnings * Silence dotnet format IDE0052 warnings * Address or silence dotnet format IDE1006 warnings * Address dotnet format CA1816 warnings * Address or silence dotnet format CA2208 warnings * Address or silence dotnet format CA1806 and a few CA1854 warnings * Address dotnet format CA2211 warnings * Address dotnet format CA1822 warnings * Address or silence dotnet format CA1069 warnings * Make dotnet format succeed in style mode * Address or silence dotnet format CA2211 warnings * Address review comments * Address dotnet format CA2208 warnings properly * Make ProcessResult readonly * Address most dotnet format whitespace warnings * Apply dotnet format whitespace formatting A few of them have been manually reverted and the corresponding warning was silenced * Add previously silenced warnings back I have no clue how these disappeared * Revert formatting changes for while and for-loops * Format if-blocks correctly * Run dotnet format style after rebase * Run dotnet format whitespace after rebase * Run dotnet format style after rebase * Run dotnet format analyzers after rebase * Run dotnet format after rebase and remove unused usings - analyzers - style - whitespace * Disable 'prefer switch expression' rule * Add comments to disabled warnings * Fix a few disabled warnings * Fix naming rule violation, Convert shader properties to auto-property and convert values to const * Simplify properties and array initialization, Use const when possible, Remove trailing commas * Start working on disabled warnings * Fix and silence a few dotnet-format warnings again * Run dotnet format after rebase * Use using declaration instead of block syntax * Address IDE0251 warnings * Address a few disabled IDE0060 warnings * Silence IDE0060 in .editorconfig * Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas" This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e. * dotnet format whitespace after rebase * First dotnet format pass * Fix naming rule violations * Fix typo * Add trailing commas, use targeted new and use array initializer * Fix build issues * Fix remaining build issues * Remove SuppressMessage for CA1069 where possible * Address dotnet format issues * Address formatting issues Co-authored-by: Ac_K * Add GetHashCode implementation for RenderingSurfaceInfo * Explicitly silence CA1822 for every affected method in Syscall * Address formatting issues in Demangler.cs * Address review feedback Co-authored-by: Ac_K * Revert marking service methods as static * Next dotnet format pass * Address review feedback --------- Co-authored-by: Ac_K --- .../HOS/Services/Sdb/Avm/IAvmService.cs | 2 +- .../HOS/Services/Sdb/Pdm/INotifyService.cs | 2 +- .../HOS/Services/Sdb/Pdm/IQueryService.cs | 2 +- .../Pdm/QueryService/QueryPlayStatisticsManager.cs | 14 +++---- .../Types/ApplicationPlayStatistics.cs | 6 +-- .../QueryService/Types/PlayLogQueryCapability.cs | 4 +- src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/ResultCode.cs | 8 ++-- .../HOS/Services/Sdb/Pl/ISharedFontManager.cs | 18 ++++++--- .../HOS/Services/Sdb/Pl/SharedFontManager.cs | 47 +++++++++++----------- .../HOS/Services/Sdb/Pl/Types/SharedFontType.cs | 14 +++---- 10 files changed, 61 insertions(+), 56 deletions(-) (limited to 'src/Ryujinx.HLE/HOS/Services/Sdb') diff --git a/src/Ryujinx.HLE/HOS/Services/Sdb/Avm/IAvmService.cs b/src/Ryujinx.HLE/HOS/Services/Sdb/Avm/IAvmService.cs index d65c8bba..ec312108 100644 --- a/src/Ryujinx.HLE/HOS/Services/Sdb/Avm/IAvmService.cs +++ b/src/Ryujinx.HLE/HOS/Services/Sdb/Avm/IAvmService.cs @@ -5,4 +5,4 @@ { public IAvmService(ServiceCtx context) { } } -} \ No newline at end of file +} diff --git a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/INotifyService.cs b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/INotifyService.cs index 5247a238..c2e04290 100644 --- a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/INotifyService.cs +++ b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/INotifyService.cs @@ -5,4 +5,4 @@ { public INotifyService(ServiceCtx context) { } } -} \ No newline at end of file +} diff --git a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/IQueryService.cs b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/IQueryService.cs index 1f66ff9d..c46050b8 100644 --- a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/IQueryService.cs +++ b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/IQueryService.cs @@ -21,4 +21,4 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pdm return QueryPlayStatisticsManager.GetPlayStatistics(context, true); } } -} \ No newline at end of file +} diff --git a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/QueryPlayStatisticsManager.cs b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/QueryPlayStatisticsManager.cs index 52a07d46..7017cc50 100644 --- a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/QueryPlayStatisticsManager.cs +++ b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/QueryPlayStatisticsManager.cs @@ -9,17 +9,17 @@ using System.Runtime.CompilerServices; namespace Ryujinx.HLE.HOS.Services.Sdb.Pdm.QueryService { - static class QueryPlayStatisticsManager + class QueryPlayStatisticsManager { - private static Dictionary applicationPlayStatistics = new Dictionary(); + private static readonly Dictionary _applicationPlayStatistics = new(); internal static ResultCode GetPlayStatistics(ServiceCtx context, bool byUserId = false) { ulong inputPosition = context.Request.SendBuff[0].Position; - ulong inputSize = context.Request.SendBuff[0].Size; + ulong inputSize = context.Request.SendBuff[0].Size; ulong outputPosition = context.Request.ReceiveBuff[0].Position; - ulong outputSize = context.Request.ReceiveBuff[0].Size; + ulong outputSize = context.Request.ReceiveBuff[0].Size; UserId userId = byUserId ? context.RequestData.ReadStruct() : new UserId(); @@ -33,7 +33,7 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pdm.QueryService PlayLogQueryCapability queryCapability = (PlayLogQueryCapability)context.Device.Processes.ActiveApplication.ApplicationControlProperties.PlayLogQueryCapability; - List titleIds = new List(); + List titleIds = new(); for (ulong i = 0; i < inputSize / sizeof(ulong); i++) { @@ -55,7 +55,7 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pdm.QueryService MemoryHelper.FillWithZeros(context.Memory, outputPosition, (int)outputSize); // Return ResultCode.ServiceUnavailable if data is locked by another process. - var filteredApplicationPlayStatistics = applicationPlayStatistics.AsEnumerable(); + var filteredApplicationPlayStatistics = _applicationPlayStatistics.AsEnumerable(); if (queryCapability == PlayLogQueryCapability.None) { @@ -81,4 +81,4 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pdm.QueryService return ResultCode.Success; } } -} \ No newline at end of file +} diff --git a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/Types/ApplicationPlayStatistics.cs b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/Types/ApplicationPlayStatistics.cs index c28d757e..b58fd219 100644 --- a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/Types/ApplicationPlayStatistics.cs +++ b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/Types/ApplicationPlayStatistics.cs @@ -6,7 +6,7 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pdm.QueryService.Types struct ApplicationPlayStatistics { public ulong TitleId; - public long TotalPlayTime; // In nanoseconds. - public long TotalLaunchCount; + public long TotalPlayTime; // In nanoseconds. + public long TotalLaunchCount; } -} \ No newline at end of file +} diff --git a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/Types/PlayLogQueryCapability.cs b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/Types/PlayLogQueryCapability.cs index 9e4b85de..c1e77ed3 100644 --- a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/Types/PlayLogQueryCapability.cs +++ b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/QueryService/Types/PlayLogQueryCapability.cs @@ -4,6 +4,6 @@ { None, WhiteList, - All + All, } -} \ No newline at end of file +} diff --git a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/ResultCode.cs b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/ResultCode.cs index c337051b..dd20220f 100644 --- a/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/ResultCode.cs +++ b/src/Ryujinx.HLE/HOS/Services/Sdb/Pdm/ResultCode.cs @@ -2,14 +2,14 @@ { enum ResultCode { - ModuleId = 178, + ModuleId = 178, ErrorCodeShift = 9, Success = 0, - InvalidUserID = (100 << ErrorCodeShift) | ModuleId, - UserNotFound = (101 << ErrorCodeShift) | ModuleId, + InvalidUserID = (100 << ErrorCodeShift) | ModuleId, + UserNotFound = (101 << ErrorCodeShift) | ModuleId, ServiceUnavailable = (150 << ErrorCodeShift) | ModuleId, - FileStorageFailure = (200 << ErrorCodeShift) | ModuleId + FileStorageFailure = (200 << ErrorCodeShift) | ModuleId, } } diff --git a/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/ISharedFontManager.cs b/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/ISharedFontManager.cs index 9e2f7a4e..45c4ce7e 100644 --- a/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/ISharedFontManager.cs +++ b/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/ISharedFontManager.cs @@ -17,7 +17,9 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl // RequestLoad(u32) public ResultCode RequestLoad(ServiceCtx context) { +#pragma warning disable IDE0059 // Remove unnecessary value assignment SharedFontType fontType = (SharedFontType)context.RequestData.ReadInt32(); +#pragma warning restore IDE0059 // We don't need to do anything here because we do lazy initialization // on SharedFontManager (the font is loaded when necessary). @@ -28,7 +30,9 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl // GetLoadState(u32) -> u32 public ResultCode GetLoadState(ServiceCtx context) { +#pragma warning disable IDE0059 // Remove unnecessary value assignment SharedFontType fontType = (SharedFontType)context.RequestData.ReadInt32(); +#pragma warning restore IDE0059 // 1 (true) indicates that the font is already loaded. // All fonts are already loaded. @@ -82,8 +86,10 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl // GetSharedFontInOrderOfPriority(bytes<8, 1>) -> (u8, u32, buffer, buffer, buffer) public ResultCode GetSharedFontInOrderOfPriority(ServiceCtx context) { +#pragma warning disable IDE0059 // Remove unnecessary value assignment long languageCode = context.RequestData.ReadInt64(); - int loadedCount = 0; +#pragma warning restore IDE0059 + int loadedCount = 0; for (SharedFontType type = 0; type < SharedFontType.Count; type++) { @@ -115,15 +121,15 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl private bool AddFontToOrderOfPriorityList(ServiceCtx context, SharedFontType fontType, uint offset) { ulong typesPosition = context.Request.ReceiveBuff[0].Position; - ulong typesSize = context.Request.ReceiveBuff[0].Size; + ulong typesSize = context.Request.ReceiveBuff[0].Size; ulong offsetsPosition = context.Request.ReceiveBuff[1].Position; - ulong offsetsSize = context.Request.ReceiveBuff[1].Size; + ulong offsetsSize = context.Request.ReceiveBuff[1].Size; ulong fontSizeBufferPosition = context.Request.ReceiveBuff[2].Position; - ulong fontSizeBufferSize = context.Request.ReceiveBuff[2].Size; + ulong fontSizeBufferSize = context.Request.ReceiveBuff[2].Size; - if (offset + 4 > (uint)typesSize || + if (offset + 4 > (uint)typesSize || offset + 4 > (uint)offsetsSize || offset + 4 > (uint)fontSizeBufferSize) { @@ -137,4 +143,4 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl return true; } } -} \ No newline at end of file +} diff --git a/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/SharedFontManager.cs b/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/SharedFontManager.cs index c0556c31..64179589 100644 --- a/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/SharedFontManager.cs +++ b/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/SharedFontManager.cs @@ -19,10 +19,10 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl { class SharedFontManager { - private static readonly uint FontKey = 0x06186249; - private static readonly uint BFTTFMagic = 0x18029a7f; + private const uint FontKey = 0x06186249; + private const uint BFTTFMagic = 0x18029a7f; - private readonly Switch _device; + private readonly Switch _device; private readonly SharedMemoryStorage _storage; private struct FontInfo @@ -33,7 +33,7 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl public FontInfo(int offset, int size) { Offset = offset; - Size = size; + Size = size; } } @@ -41,7 +41,7 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl public SharedFontManager(Switch device, SharedMemoryStorage storage) { - _device = device; + _device = device; _storage = storage; } @@ -65,7 +65,7 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl if (contentManager.TryGetFontTitle(name, out ulong fontTitle) && contentManager.TryGetFontFilename(name, out string fontFilename)) { string contentPath = contentManager.GetInstalledContentPath(fontTitle, StorageId.BuiltInSystem, NcaContentType.Data); - string fontPath = _device.FileSystem.SwitchPathToSystemPath(contentPath); + string fontPath = VirtualFileSystem.SwitchPathToSystemPath(contentPath); if (!string.IsNullOrWhiteSpace(fontPath)) { @@ -73,7 +73,7 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl using (IStorage ncaFileStream = new LocalStorage(fontPath, FileAccess.Read, FileMode.Open)) { - Nca nca = new Nca(_device.System.KeySet, ncaFileStream); + Nca nca = new(_device.System.KeySet, ncaFileStream); IFileSystem romfs = nca.OpenFileSystem(NcaSectionType.Data, _device.System.FsIntegrityCheckLevel); using var fontFile = new UniqueRef(); @@ -83,7 +83,7 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl data = DecryptFont(fontFile.Get.AsStream()); } - FontInfo info = new FontInfo((int)fontOffset, data.Length); + FontInfo info = new((int)fontOffset, data.Length); WriteMagicAndSize(fontOffset, data.Length); @@ -121,7 +121,7 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl { SharedFontType.SimplifiedChineseEx, CreateFont("FontExtendedChineseSimplified") }, { SharedFontType.TraditionalChinese, CreateFont("FontChineseTraditional") }, { SharedFontType.Korean, CreateFont("FontKorean") }, - { SharedFontType.NintendoEx, CreateFont("FontNintendoExtended") } + { SharedFontType.NintendoEx, CreateFont("FontNintendoExtended") }, }; if (fontOffset > Horizon.FontSize) @@ -156,28 +156,27 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl return _fontData[fontType].Offset + 8; } - private static byte[] DecryptFont(Stream bfttfStream) + private byte[] DecryptFont(Stream bfttfStream) { static uint KXor(uint data) => data ^ FontKey; - using (BinaryReader reader = new BinaryReader(bfttfStream)) - using (MemoryStream ttfStream = MemoryStreamManager.Shared.GetStream()) - using (BinaryWriter output = new BinaryWriter(ttfStream)) + using BinaryReader reader = new(bfttfStream); + using MemoryStream ttfStream = MemoryStreamManager.Shared.GetStream(); + using BinaryWriter output = new(ttfStream); + + if (KXor(reader.ReadUInt32()) != BFTTFMagic) { - if (KXor(reader.ReadUInt32()) != BFTTFMagic) - { - throw new InvalidDataException("Error: Input file is not in BFTTF format!"); - } + throw new InvalidDataException("Error: Input file is not in BFTTF format!"); + } - bfttfStream.Position += 4; + bfttfStream.Position += 4; - for (int i = 0; i < (bfttfStream.Length - 8) / 4; i++) - { - output.Write(KXor(reader.ReadUInt32())); - } - - return ttfStream.ToArray(); + for (int i = 0; i < (bfttfStream.Length - 8) / 4; i++) + { + output.Write(KXor(reader.ReadUInt32())); } + + return ttfStream.ToArray(); } } } diff --git a/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/Types/SharedFontType.cs b/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/Types/SharedFontType.cs index 90ee4f03..273fcafb 100644 --- a/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/Types/SharedFontType.cs +++ b/src/Ryujinx.HLE/HOS/Services/Sdb/Pl/Types/SharedFontType.cs @@ -2,12 +2,12 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl.Types { public enum SharedFontType { - JapanUsEurope = 0, - SimplifiedChinese = 1, + JapanUsEurope = 0, + SimplifiedChinese = 1, SimplifiedChineseEx = 2, - TraditionalChinese = 3, - Korean = 4, - NintendoEx = 5, - Count + TraditionalChinese = 3, + Korean = 4, + NintendoEx = 5, + Count, } -} \ No newline at end of file +} -- cgit v1.2.3