diff --git a/Directory.Packages.props b/Directory.Packages.props index 5de9461a1..953591003 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -12,7 +12,6 @@ <PackageVersion Include="Avalonia.Svg.Skia" Version="0.10.18" /> <PackageVersion Include="CommandLineParser" Version="2.9.1" /> <PackageVersion Include="Concentus" Version="1.1.7" /> - <PackageVersion Include="Crc32.NET" Version="1.2.0" /> <PackageVersion Include="DiscordRichPresence" Version="1.1.3.18" /> <PackageVersion Include="DynamicData" Version="7.12.11" /> <PackageVersion Include="FluentAvaloniaUI" Version="1.4.5" /> @@ -45,10 +44,8 @@ <PackageVersion Include="SPB" Version="0.0.4-build28" /> <PackageVersion Include="System.Drawing.Common" Version="7.0.0" /> <PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="6.27.0" /> - <PackageVersion Include="System.IO.FileSystem.Primitives" Version="4.3.0" /> + <PackageVersion Include="System.IO.Hashing" Version="7.0.0" /> <PackageVersion Include="System.Management" Version="7.0.0" /> - <PackageVersion Include="System.Net.NameResolution" Version="4.3.0" /> - <PackageVersion Include="System.Threading.ThreadPool" Version="4.3.0" /> <PackageVersion Include="UnicornEngine.Unicorn" Version="2.0.2-rc1-f7c841d" /> <PackageVersion Include="XamlNameReferenceGenerator" Version="1.5.1" /> </ItemGroup> diff --git a/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj b/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj index 57e2240a7..20216e51e 100644 --- a/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj +++ b/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj @@ -29,9 +29,6 @@ <PackageReference Include="Silk.NET.Vulkan" /> <PackageReference Include="Silk.NET.Vulkan.Extensions.EXT" /> <PackageReference Include="Silk.NET.Vulkan.Extensions.KHR" /> - <PackageReference Include="System.IO.FileSystem.Primitives" /> - <PackageReference Include="System.Net.NameResolution" /> - <PackageReference Include="System.Threading.ThreadPool" /> </ItemGroup> <ItemGroup> diff --git a/Ryujinx.Input/Motion/CemuHook/Client.cs b/Ryujinx.Input/Motion/CemuHook/Client.cs index ecaf26f03..f5f7b8643 100644 --- a/Ryujinx.Input/Motion/CemuHook/Client.cs +++ b/Ryujinx.Input/Motion/CemuHook/Client.cs @@ -1,5 +1,4 @@ -using Force.Crc32; -using Ryujinx.Common; +using Ryujinx.Common; using Ryujinx.Common.Configuration.Hid; using Ryujinx.Common.Configuration.Hid.Controller; using Ryujinx.Common.Configuration.Hid.Controller.Motion; @@ -9,6 +8,7 @@ using Ryujinx.Input.Motion.CemuHook.Protocol; using System; using System.Collections.Generic; using System.IO; +using System.IO.Hashing; using System.Net; using System.Net.Sockets; using System.Numerics; @@ -401,10 +401,10 @@ namespace Ryujinx.Input.Motion.CemuHook writer.Seek(6, SeekOrigin.Begin); writer.Write(header.Length); - header.Crc32 = Crc32Algorithm.Compute(stream.ToArray()); + Crc32.Hash(stream.ToArray(), header.Crc32.AsSpan()); writer.Seek(8, SeekOrigin.Begin); - writer.Write(header.Crc32); + writer.Write(header.Crc32.AsSpan()); byte[] data = stream.ToArray(); @@ -440,10 +440,10 @@ namespace Ryujinx.Input.Motion.CemuHook writer.Seek(6, SeekOrigin.Begin); writer.Write(header.Length); - header.Crc32 = Crc32Algorithm.Compute(stream.ToArray()); + Crc32.Hash(stream.ToArray(), header.Crc32.AsSpan()); writer.Seek(8, SeekOrigin.Begin); - writer.Write(header.Crc32); + writer.Write(header.Crc32.AsSpan()); byte[] data = stream.ToArray(); @@ -458,8 +458,7 @@ namespace Ryujinx.Input.Motion.CemuHook Id = (uint)clientId, MagicString = Magic, Version = Version, - Length = 0, - Crc32 = 0 + Length = 0 }; return header; diff --git a/Ryujinx.Input/Motion/CemuHook/Protocol/Header.cs b/Ryujinx.Input/Motion/CemuHook/Protocol/Header.cs index 94cf4bb67..57f58ff03 100644 --- a/Ryujinx.Input/Motion/CemuHook/Protocol/Header.cs +++ b/Ryujinx.Input/Motion/CemuHook/Protocol/Header.cs @@ -1,14 +1,15 @@ -using System.Runtime.InteropServices; +using Ryujinx.Common.Memory; +using System.Runtime.InteropServices; namespace Ryujinx.Input.Motion.CemuHook.Protocol { [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct Header { - public uint MagicString; + public uint MagicString; public ushort Version; public ushort Length; - public uint Crc32; - public uint Id; + public Array4<byte> Crc32; + public uint Id; } } \ No newline at end of file diff --git a/Ryujinx.Input/Ryujinx.Input.csproj b/Ryujinx.Input/Ryujinx.Input.csproj index 40b82246c..df462734f 100644 --- a/Ryujinx.Input/Ryujinx.Input.csproj +++ b/Ryujinx.Input/Ryujinx.Input.csproj @@ -6,7 +6,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Crc32.NET" /> + <PackageReference Include="System.IO.Hashing" /> </ItemGroup> <ItemGroup>