Use BinaryPrimitives.ReverseEndianness instead EndianSwap class (#832)

This PR remove the `EndianSwap` class who isn't needed anymore since .NET Core 3.0 got a buildin method `BinaryPrimitives.ReverseEndianness` who did the same thing.
This commit is contained in:
Ac_K 2019-11-23 03:15:15 +01:00 committed by jduncanator
parent cfcc360d06
commit bb74aeae54
4 changed files with 8 additions and 36 deletions

View file

@ -1,31 +0,0 @@
using System;
namespace Ryujinx.Common
{
public static class EndianSwap
{
public static ushort Swap16(ushort value) => (ushort)(((value >> 8) & 0xff) | (value << 8));
public static int Swap32(int value)
{
uint uintVal = (uint)value;
return (int)(((uintVal >> 24) & 0x000000ff) |
((uintVal >> 8) & 0x0000ff00) |
((uintVal << 8) & 0x00ff0000) |
((uintVal << 24) & 0xff000000));
}
public static uint FromBigEndianToPlatformEndian(uint value)
{
uint result = value;
if (BitConverter.IsLittleEndian)
{
result = (uint)EndianSwap.Swap32((int)result);
}
return result;
}
}
}

View file

@ -5,6 +5,7 @@ using Ryujinx.Common;
using Ryujinx.HLE.Exceptions; using Ryujinx.HLE.Exceptions;
using Ryujinx.HLE.FileSystem; using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.FileSystem.Content; using Ryujinx.HLE.FileSystem.Content;
using System.Buffers.Binary;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@ -142,7 +143,7 @@ namespace Ryujinx.HLE.HOS.Font
const int decMagic = 0x18029a7f; const int decMagic = 0x18029a7f;
const int key = 0x49621806; const int key = 0x49621806;
int encryptedSize = EndianSwap.Swap32(size ^ key); int encryptedSize = BinaryPrimitives.ReverseEndianness(size ^ key);
_device.Memory.WriteInt32(position + 0, decMagic); _device.Memory.WriteInt32(position + 0, decMagic);
_device.Memory.WriteInt32(position + 4, encryptedSize); _device.Memory.WriteInt32(position + 4, encryptedSize);

View file

@ -1,5 +1,6 @@
using Ryujinx.Common; using Ryujinx.Common;
using System; using System;
using System.Buffers.Binary;
using System.IO; using System.IO;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
@ -15,8 +16,8 @@ namespace Ryujinx.HLE.HOS.Services.Audio.Types
{ {
OpusPacketHeader header = reader.ReadStruct<OpusPacketHeader>(); OpusPacketHeader header = reader.ReadStruct<OpusPacketHeader>();
header.length = EndianSwap.FromBigEndianToPlatformEndian(header.length); header.length = BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(header.length) : header.length;
header.finalRange = EndianSwap.FromBigEndianToPlatformEndian(header.finalRange); header.finalRange = BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(header.finalRange) : header.finalRange;
return header; return header;
} }

View file

@ -1,6 +1,7 @@
using Ryujinx.Common; using Ryujinx.Common;
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.HLE.Utilities; using Ryujinx.HLE.Utilities;
using System.Buffers.Binary;
using System.Collections.Generic; using System.Collections.Generic;
using System.Net; using System.Net;
using System.Net.Sockets; using System.Net.Sockets;
@ -199,7 +200,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
{ {
int size = context.Memory.ReadByte(bufferPosition); int size = context.Memory.ReadByte(bufferPosition);
int family = context.Memory.ReadByte(bufferPosition + 1); int family = context.Memory.ReadByte(bufferPosition + 1);
int port = EndianSwap.Swap16(context.Memory.ReadUInt16(bufferPosition + 2)); int port = BinaryPrimitives.ReverseEndianness(context.Memory.ReadUInt16(bufferPosition + 2));
byte[] rawIp = context.Memory.ReadBytes(bufferPosition + 4, 4); byte[] rawIp = context.Memory.ReadBytes(bufferPosition + 4, 4);
@ -210,7 +211,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
{ {
context.Memory.WriteByte(bufferPosition, 0); context.Memory.WriteByte(bufferPosition, 0);
context.Memory.WriteByte(bufferPosition + 1, (byte)endPoint.AddressFamily); context.Memory.WriteByte(bufferPosition + 1, (byte)endPoint.AddressFamily);
context.Memory.WriteUInt16(bufferPosition + 2, EndianSwap.Swap16((ushort)endPoint.Port)); context.Memory.WriteUInt16(bufferPosition + 2, BinaryPrimitives.ReverseEndianness((ushort)endPoint.Port));
context.Memory.WriteBytes(bufferPosition + 4, endPoint.Address.GetAddressBytes()); context.Memory.WriteBytes(bufferPosition + 4, endPoint.Address.GetAddressBytes());
} }