aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/Storage/StorageHelper.cs
diff options
context:
space:
mode:
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.cs28
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();
+ }
+ }
+ }
+}