aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Mii/UtilityImpl.cs
diff options
context:
space:
mode:
authorMary-nyan <mary@mary.zone>2022-11-09 20:22:43 +0100
committerGitHub <noreply@github.com>2022-11-09 20:22:43 +0100
commitc6d05301aae7509ea6a1ec29d39a72bac94d80b0 (patch)
treea1e593a9fd180fbc467beae29907c37cb6e902e5 /Ryujinx.HLE/HOS/Services/Mii/UtilityImpl.cs
parent647de4cd31a82f39d23f92ea4377eeae5817b6c2 (diff)
infra: Migrate to .NET 7 (#3795)
* Update readme to mention .NET 7 * infra: Migrate to .NET 7 .NET 7 is still in preview but this prepare for the release coming up next month. * Use Random.Shared in CreateRandom * Move UInt128Utils.cs to Ryujinx.Common project * Fix inverted parameters in System.UInt128 constructor * Fix Visual Studio complains on Ryujinx.Graphics.Vic * time: Fix missing alignment enforcement in SystemClockContext Fixes at least Smash * time: Fix missing alignment enforcement in SteadyClockContext Fix games (like recent version of Smash) using time shared memory * Switch to .NET 7.0.100 release * Enable Tiered PGO * Ensure CreateId validity requirements are meet when doing random generation Also enforce correct packing layout for other Mii structures. This fix a Mario Kart 8 crashes related to the default Miis.
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Mii/UtilityImpl.cs')
-rw-r--r--Ryujinx.HLE/HOS/Services/Mii/UtilityImpl.cs11
1 files changed, 9 insertions, 2 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Mii/UtilityImpl.cs b/Ryujinx.HLE/HOS/Services/Mii/UtilityImpl.cs
index 8b7f3313..30b201f6 100644
--- a/Ryujinx.HLE/HOS/Services/Mii/UtilityImpl.cs
+++ b/Ryujinx.HLE/HOS/Services/Mii/UtilityImpl.cs
@@ -1,4 +1,5 @@
-using Ryujinx.Cpu;
+using Ryujinx.Common.Utilities;
+using Ryujinx.Cpu;
using Ryujinx.HLE.HOS.Services.Mii.Types;
using Ryujinx.HLE.HOS.Services.Time;
using Ryujinx.HLE.HOS.Services.Time.Clock;
@@ -62,7 +63,13 @@ namespace Ryujinx.HLE.HOS.Services.Mii
public CreateId MakeCreateId()
{
- return new CreateId(Guid.NewGuid().ToByteArray());
+ UInt128 value = UInt128Utils.CreateRandom();
+
+ // Ensure the random ID generated is valid as a create id.
+ value &= ~new UInt128(0xC0, 0);
+ value |= new UInt128(0x80, 0);
+
+ return new CreateId(value);
}
}
}