diff options
| author | TSRBerry <20988865+TSRBerry@users.noreply.github.com> | 2023-07-16 19:31:14 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-16 19:31:14 +0200 |
| commit | 326749498bed4360e5a4b11fc67d5ec7cb9a3076 (patch) | |
| tree | ae21fb26f99b401ca4e9efaab72b679a81c22369 /src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs | |
| parent | fec8291c17fa106c28f58b56419e90d49a41a1ea (diff) | |
[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 <acoustik666@gmail.com>
* 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 <acoustik666@gmail.com>
* Revert marking service methods as static
* Next dotnet format pass
* Address review feedback
---------
Co-authored-by: Ac_K <acoustik666@gmail.com>
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs')
| -rw-r--r-- | src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs | 67 |
1 files changed, 34 insertions, 33 deletions
diff --git a/src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs b/src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs index c5c6e8e9..fa415b39 100644 --- a/src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs +++ b/src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs @@ -22,11 +22,11 @@ namespace Ryujinx.HLE.HOS.Applets.Error { private const long ErrorMessageBinaryTitleId = 0x0100000000000801; - private Horizon _horizon; - private AppletSession _normalSession; - private CommonArguments _commonArguments; + private readonly Horizon _horizon; + private AppletSession _normalSession; + private CommonArguments _commonArguments; private ErrorCommonHeader _errorCommonHeader; - private byte[] _errorStorage; + private byte[] _errorStorage; public event EventHandler AppletStateChanged; @@ -40,14 +40,14 @@ namespace Ryujinx.HLE.HOS.Applets.Error public ResultCode Start(AppletSession normalSession, AppletSession interactiveSession) { - _normalSession = normalSession; + _normalSession = normalSession; _commonArguments = IApplet.ReadStruct<CommonArguments>(_normalSession.Pop()); Logger.Info?.PrintMsg(LogClass.ServiceAm, $"ErrorApplet version: 0x{_commonArguments.AppletVersion:x8}"); - _errorStorage = _normalSession.Pop(); + _errorStorage = _normalSession.Pop(); _errorCommonHeader = IApplet.ReadStruct<ErrorCommonHeader>(_errorStorage); - _errorStorage = _errorStorage.Skip(Marshal.SizeOf<ErrorCommonHeader>()).ToArray(); + _errorStorage = _errorStorage.Skip(Marshal.SizeOf<ErrorCommonHeader>()).ToArray(); switch (_errorCommonHeader.Type) { @@ -63,7 +63,8 @@ namespace Ryujinx.HLE.HOS.Applets.Error break; } - default: throw new NotImplementedException($"ErrorApplet type {_errorCommonHeader.Type} is not implemented."); + default: + throw new NotImplementedException($"ErrorApplet type {_errorCommonHeader.Type} is not implemented."); } AppletStateChanged?.Invoke(this, null); @@ -71,15 +72,16 @@ namespace Ryujinx.HLE.HOS.Applets.Error return ResultCode.Success; } - private (uint module, uint description) HexToResultCode(uint resultCode) + private static (uint module, uint description) HexToResultCode(uint resultCode) { return ((resultCode & 0x1FF) + 2000, (resultCode >> 9) & 0x3FFF); } - private string SystemLanguageToLanguageKey(SystemLanguage systemLanguage) + private static string SystemLanguageToLanguageKey(SystemLanguage systemLanguage) { return systemLanguage switch { +#pragma warning disable IDE0055 // Disable formatting SystemLanguage.Japanese => "ja", SystemLanguage.AmericanEnglish => "en-US", SystemLanguage.French => "fr", @@ -98,7 +100,8 @@ namespace Ryujinx.HLE.HOS.Applets.Error SystemLanguage.SimplifiedChinese => "zh-Hans", SystemLanguage.TraditionalChinese => "zh-Hant", SystemLanguage.BrazilianPortuguese => "pt-BR", - _ => "en-US" + _ => "en-US", +#pragma warning restore IDE0055 }; } @@ -111,26 +114,24 @@ namespace Ryujinx.HLE.HOS.Applets.Error { string binaryTitleContentPath = _horizon.ContentManager.GetInstalledContentPath(ErrorMessageBinaryTitleId, StorageId.BuiltInSystem, NcaContentType.Data); - using (LibHac.Fs.IStorage ncaFileStream = new LocalStorage(_horizon.Device.FileSystem.SwitchPathToSystemPath(binaryTitleContentPath), FileAccess.Read, FileMode.Open)) + using LibHac.Fs.IStorage ncaFileStream = new LocalStorage(FileSystem.VirtualFileSystem.SwitchPathToSystemPath(binaryTitleContentPath), FileAccess.Read, FileMode.Open); + Nca nca = new(_horizon.Device.FileSystem.KeySet, ncaFileStream); + IFileSystem romfs = nca.OpenFileSystem(NcaSectionType.Data, _horizon.FsIntegrityCheckLevel); + string languageCode = SystemLanguageToLanguageKey(_horizon.State.DesiredSystemLanguage); + string filePath = $"/{module}/{description:0000}/{languageCode}_{key}"; + + if (romfs.FileExists(filePath)) + { + using var binaryFile = new UniqueRef<IFile>(); + + romfs.OpenFile(ref binaryFile.Ref, filePath.ToU8Span(), OpenMode.Read).ThrowIfFailure(); + StreamReader reader = new(binaryFile.Get.AsStream(), Encoding.Unicode); + + return CleanText(reader.ReadToEnd()); + } + else { - Nca nca = new Nca(_horizon.Device.FileSystem.KeySet, ncaFileStream); - IFileSystem romfs = nca.OpenFileSystem(NcaSectionType.Data, _horizon.FsIntegrityCheckLevel); - string languageCode = SystemLanguageToLanguageKey(_horizon.State.DesiredSystemLanguage); - string filePath = $"/{module}/{description:0000}/{languageCode}_{key}"; - - if (romfs.FileExists(filePath)) - { - using var binaryFile = new UniqueRef<IFile>(); - - romfs.OpenFile(ref binaryFile.Ref, filePath.ToU8Span(), OpenMode.Read).ThrowIfFailure(); - StreamReader reader = new StreamReader(binaryFile.Get.AsStream(), Encoding.Unicode); - - return CleanText(reader.ReadToEnd()); - } - else - { - return ""; - } + return ""; } } @@ -145,7 +146,7 @@ namespace Ryujinx.HLE.HOS.Applets.Error { ErrorCommonArg errorCommonArg = IApplet.ReadStruct<ErrorCommonArg>(_errorStorage); - uint module = errorCommonArg.Module; + uint module = errorCommonArg.Module; uint description = errorCommonArg.Description; if (_errorCommonHeader.MessageFlag == 0) @@ -188,7 +189,7 @@ namespace Ryujinx.HLE.HOS.Applets.Error string messageText = Encoding.ASCII.GetString(messageTextBuffer.TakeWhile(b => !b.Equals(0)).ToArray()); string detailsText = Encoding.ASCII.GetString(detailsTextBuffer.TakeWhile(b => !b.Equals(0)).ToArray()); - List<string> buttons = new List<string>(); + List<string> buttons = new(); // TODO: Handle the LanguageCode to return the translated "OK" and "Details". @@ -213,4 +214,4 @@ namespace Ryujinx.HLE.HOS.Applets.Error return ResultCode.Success; } } -}
\ No newline at end of file +} |
