diff options
Diffstat (limited to 'src/Ryujinx.Horizon/Sdk/Account/Nickname.cs')
| -rw-r--r-- | src/Ryujinx.Horizon/Sdk/Account/Nickname.cs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/Ryujinx.Horizon/Sdk/Account/Nickname.cs b/src/Ryujinx.Horizon/Sdk/Account/Nickname.cs new file mode 100644 index 00000000..1f351ee3 --- /dev/null +++ b/src/Ryujinx.Horizon/Sdk/Account/Nickname.cs @@ -0,0 +1,29 @@ +using Ryujinx.Common.Memory; +using System; +using System.Runtime.InteropServices; +using System.Text; + +namespace Ryujinx.Horizon.Sdk.Account +{ + [StructLayout(LayoutKind.Sequential, Size = 0x21, Pack = 0x1)] + readonly struct Nickname + { + public readonly Array33<byte> Name; + + public Nickname(in Array33<byte> name) + { + Name = name; + } + + public override string ToString() + { + int length = ((ReadOnlySpan<byte>)Name.AsSpan()).IndexOf((byte)0); + if (length < 0) + { + length = 33; + } + + return Encoding.UTF8.GetString(Name.AsSpan()[..length]); + } + } +} |
