StorageHelper.cs 851 B

12345678910111213141516171819202122232425262728
  1. using Ryujinx.Common.Memory;
  2. using Ryujinx.HLE.HOS.Services.Account.Acc;
  3. using System.IO;
  4. namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.Storage
  5. {
  6. class StorageHelper
  7. {
  8. private const uint LaunchParamsMagic = 0xc79497ca;
  9. public static byte[] MakeLaunchParams(UserProfile userProfile)
  10. {
  11. // Size needs to be at least 0x88 bytes otherwise application errors.
  12. using (MemoryStream ms = MemoryStreamManager.Shared.GetStream())
  13. {
  14. BinaryWriter writer = new BinaryWriter(ms);
  15. ms.SetLength(0x88);
  16. writer.Write(LaunchParamsMagic);
  17. writer.Write(1); // IsAccountSelected? Only lower 8 bits actually used.
  18. userProfile.UserId.Write(writer);
  19. return ms.ToArray();
  20. }
  21. }
  22. }
  23. }