diff options
| author | Mary-nyan <mary@mary.zone> | 2022-11-09 20:22:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-09 20:22:43 +0100 |
| commit | c6d05301aae7509ea6a1ec29d39a72bac94d80b0 (patch) | |
| tree | a1e593a9fd180fbc467beae29907c37cb6e902e5 /Ryujinx.HLE/HOS/Services/Mii/UtilityImpl.cs | |
| parent | 647de4cd31a82f39d23f92ea4377eeae5817b6c2 (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.cs | 11 |
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); } } } |
