diff options
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/Am/AppletAE/Storage/StorageHelper.cs')
| -rw-r--r-- | src/Ryujinx.HLE/HOS/Services/Am/AppletAE/Storage/StorageHelper.cs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/Storage/StorageHelper.cs b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/Storage/StorageHelper.cs new file mode 100644 index 00000000..49e342f2 --- /dev/null +++ b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/Storage/StorageHelper.cs @@ -0,0 +1,28 @@ +using Ryujinx.Common.Memory; +using Ryujinx.HLE.HOS.Services.Account.Acc; +using System.IO; + +namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.Storage +{ + class StorageHelper + { + private const uint LaunchParamsMagic = 0xc79497ca; + + public static byte[] MakeLaunchParams(UserProfile userProfile) + { + // Size needs to be at least 0x88 bytes otherwise application errors. + using (MemoryStream ms = MemoryStreamManager.Shared.GetStream()) + { + BinaryWriter writer = new BinaryWriter(ms); + + ms.SetLength(0x88); + + writer.Write(LaunchParamsMagic); + writer.Write(1); // IsAccountSelected? Only lower 8 bits actually used. + userProfile.UserId.Write(writer); + + return ms.ToArray(); + } + } + } +} |
