Merge branch 'master' of http://172.20.20.19:3000/ft/skyscraper8
Some checks are pending
🚀 Pack skyscraper8 / make-zip (push) Waiting to run

# Conflicts:
#	skyscraper8/Skyscraper/IO/RemoteStreamReader/RemoteStreamReaderClient.cs
This commit is contained in:
feyris-tan 2026-05-14 10:19:30 +02:00
commit d91d58b71d
2 changed files with 421 additions and 429 deletions

View File

@ -200,16 +200,6 @@ namespace skyscraper5.Skyscraper.IO
return BitConverter.ToDouble(buffer, 0);
}
public static double ReadDoubleBE(this Stream stream)
{
byte[] buffer = new byte[8];
if (stream.Read(buffer, 0, 8) != 8)
throw new EndOfStreamException();
if (BitConverter.IsLittleEndian)
Array.Reverse(buffer, 0, 8);
return BitConverter.ToDouble(buffer, 0);
}
public static void WriteUInt8(this Stream stream, byte value)
{
byte[] buffer = new byte[1];
@ -397,5 +387,41 @@ namespace skyscraper5.Skyscraper.IO
}
return totalRead;
}
}
public static void WriteDoubleBE(this Stream stream, double value)
{
byte[] buffer = BitConverter.GetBytes(value);
if (BitConverter.IsLittleEndian)
Array.Reverse(buffer);
stream.Write(buffer, 0, 8);
}
public static double ReadDoubleBE(this Stream stream)
{
byte[] buffer = new byte[8];
if (stream.Read(buffer, 0, 8) != 8)
throw new EndOfStreamException("failed to read double");
if (BitConverter.IsLittleEndian)
Array.Reverse(buffer);
return BitConverter.ToDouble(buffer, 0);
}
public static void WriteFloatBE(this Stream stream, float value)
{
byte[] buffer = BitConverter.GetBytes(value);
if (BitConverter.IsLittleEndian)
Array.Reverse(buffer);
stream.Write(buffer, 0, 4);
}
public static float ReadFloatBE(this NetworkStream stream)
{
byte[] buffer = new byte[4];
if (stream.Read(buffer, 0, 4) != 4)
throw new EndOfStreamException("failed to read float");
if (BitConverter.IsLittleEndian)
Array.Reverse(buffer);
return BitConverter.ToSingle(buffer, 0);
}
}
}

View File

@ -152,41 +152,7 @@ namespace skyscraper5.Skyscraper.Net.Sockets
return buffer[0];
}
public static void WriteDoubleBE(this NetworkStream stream, double value)
{
byte[] buffer = BitConverter.GetBytes(value);
if (BitConverter.IsLittleEndian)
Array.Reverse(buffer);
stream.Write(buffer, 0, 8);
}
public static double ReadDoubleBE(this NetworkStream stream)
{
byte[] buffer = new byte[8];
if (stream.Read(buffer,0,8) != 8)
throw new EndOfStreamException("failed to read double");
if (BitConverter.IsLittleEndian)
Array.Reverse(buffer);
return BitConverter.ToDouble(buffer, 0);
}
public static void WriteFloatBE(this NetworkStream stream, float value)
{
byte[] buffer = BitConverter.GetBytes(value);
if (BitConverter.IsLittleEndian)
Array.Reverse(buffer);
stream.Write(buffer, 0, 4);
}
public static float ReadFloatBE(this NetworkStream stream)
{
byte[] buffer = new byte[4];
if (stream.Read(buffer, 0, 4) != 4)
throw new EndOfStreamException("failed to read float");
if (BitConverter.IsLittleEndian)
Array.Reverse(buffer);
return BitConverter.ToSingle(buffer, 0);
}
public static void WriteIntPtr(this NetworkStream stream, IntPtr ptr)
{