aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/Utilities
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/Utilities
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/Utilities')
-rw-r--r--Ryujinx.HLE/Utilities/UInt128.cs75
1 files changed, 0 insertions, 75 deletions
diff --git a/Ryujinx.HLE/Utilities/UInt128.cs b/Ryujinx.HLE/Utilities/UInt128.cs
deleted file mode 100644
index 22d87f6b..00000000
--- a/Ryujinx.HLE/Utilities/UInt128.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Runtime.InteropServices;
-
-namespace Ryujinx.HLE.Utilities
-{
- [StructLayout(LayoutKind.Sequential)]
- public struct UInt128 : IEquatable<UInt128>
- {
- public readonly long Low;
- public readonly long High;
-
- public bool IsNull => (Low | High) == 0;
-
- public UInt128(long low, long high)
- {
- Low = low;
- High = high;
- }
-
- public UInt128(byte[] bytes)
- {
- Low = BitConverter.ToInt64(bytes, 0);
- High = BitConverter.ToInt64(bytes, 8);
- }
-
- public UInt128(string hex)
- {
- if (hex == null || hex.Length != 32 || !hex.All("0123456789abcdefABCDEF".Contains))
- {
- throw new ArgumentException("Invalid Hex value!", nameof(hex));
- }
-
- Low = Convert.ToInt64(hex.Substring(16), 16);
- High = Convert.ToInt64(hex.Substring(0, 16), 16);
- }
-
- public void Write(BinaryWriter binaryWriter)
- {
- binaryWriter.Write(Low);
- binaryWriter.Write(High);
- }
-
- public override string ToString()
- {
- return High.ToString("x16") + Low.ToString("x16");
- }
-
- public static bool operator ==(UInt128 x, UInt128 y)
- {
- return x.Equals(y);
- }
-
- public static bool operator !=(UInt128 x, UInt128 y)
- {
- return !x.Equals(y);
- }
-
- public override bool Equals(object obj)
- {
- return obj is UInt128 uint128 && Equals(uint128);
- }
-
- public bool Equals(UInt128 cmpObj)
- {
- return Low == cmpObj.Low && High == cmpObj.High;
- }
-
- public override int GetHashCode()
- {
- return HashCode.Combine(Low, High);
- }
- }
-} \ No newline at end of file