mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-05-24 08:06:32 +00:00
Remove _isLittleEndian from PCKFile{Reader/Writer} and added StreamData{Reader/Writer}.IsUsingLittleEndian property
This commit is contained in:
@@ -12,7 +12,6 @@ namespace PckStudio.Classes.IO
|
||||
{
|
||||
private PCKFile _file;
|
||||
private List<string> LUT;
|
||||
bool _isLittleEndian;
|
||||
|
||||
|
||||
public static PCKFile Read(Stream stream, bool isLittleEndian)
|
||||
@@ -22,7 +21,6 @@ namespace PckStudio.Classes.IO
|
||||
|
||||
private PCKFileReader(bool isLittleEndian) : base(isLittleEndian)
|
||||
{
|
||||
_isLittleEndian = isLittleEndian;
|
||||
}
|
||||
|
||||
private PCKFile ReadFileFromStream(Stream stream)
|
||||
@@ -76,7 +74,7 @@ namespace PckStudio.Classes.IO
|
||||
internal string ReadString(Stream stream)
|
||||
{
|
||||
int len = ReadInt(stream);
|
||||
string s = ReadString(stream, len, _isLittleEndian ? Encoding.Unicode : Encoding.BigEndianUnicode);
|
||||
string s = ReadString(stream, len, IsUsingLittleEndian ? Encoding.Unicode : Encoding.BigEndianUnicode);
|
||||
ReadInt(stream); // padding
|
||||
return s;
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ namespace PckStudio.Classes.IO
|
||||
{
|
||||
private PCKFile _pckfile;
|
||||
private List<string> LUT = new List<string>();
|
||||
private bool _isLittleEndian;
|
||||
|
||||
public static void Write(Stream stream, PCKFile file, bool isLittleEndian)
|
||||
{
|
||||
@@ -22,7 +21,6 @@ namespace PckStudio.Classes.IO
|
||||
|
||||
private PCKFileWriter(PCKFile file, bool isLittleEndian) : base(isLittleEndian)
|
||||
{
|
||||
_isLittleEndian = isLittleEndian;
|
||||
_pckfile = file;
|
||||
LUT = _pckfile.GatherMetaTags();
|
||||
}
|
||||
@@ -38,7 +36,7 @@ namespace PckStudio.Classes.IO
|
||||
internal void WriteString(Stream stream, string s)
|
||||
{
|
||||
WriteInt(stream, s.Length);
|
||||
WriteString(stream, s, _isLittleEndian ? Encoding.Unicode : Encoding.BigEndianUnicode);
|
||||
WriteString(stream, s, IsUsingLittleEndian ? Encoding.Unicode : Encoding.BigEndianUnicode);
|
||||
WriteInt(stream, 0); // padding
|
||||
}
|
||||
|
||||
|
||||
@@ -9,10 +9,11 @@ namespace PckStudio.Classes.Utils
|
||||
{
|
||||
public class StreamDataReader
|
||||
{
|
||||
private static bool isLittleEndian;
|
||||
protected StreamDataReader(bool useLittleEndian)
|
||||
private static bool useLittleEndian;
|
||||
protected static bool IsUsingLittleEndian => useLittleEndian;
|
||||
protected StreamDataReader(bool littleEndian)
|
||||
{
|
||||
isLittleEndian = useLittleEndian;
|
||||
useLittleEndian = littleEndian;
|
||||
}
|
||||
|
||||
protected static string ReadString(Stream stream, int length, Encoding encoding)
|
||||
@@ -32,7 +33,7 @@ namespace PckStudio.Classes.Utils
|
||||
protected static short ReadShort(Stream stream)
|
||||
{
|
||||
byte[] bytes = ReadBytes(stream, 2);
|
||||
if (BitConverter.IsLittleEndian && !isLittleEndian)
|
||||
if (BitConverter.IsLittleEndian && !useLittleEndian)
|
||||
Array.Reverse(bytes);
|
||||
return BitConverter.ToInt16(bytes, 0);
|
||||
}
|
||||
@@ -41,7 +42,7 @@ namespace PckStudio.Classes.Utils
|
||||
protected static int ReadInt(Stream stream)
|
||||
{
|
||||
byte[] buffer = ReadBytes(stream, 4);
|
||||
if (BitConverter.IsLittleEndian && !isLittleEndian)
|
||||
if (BitConverter.IsLittleEndian && !useLittleEndian)
|
||||
Array.Reverse(buffer);
|
||||
return BitConverter.ToInt32(buffer, 0);
|
||||
}
|
||||
@@ -50,7 +51,7 @@ namespace PckStudio.Classes.Utils
|
||||
protected static long ReadLong(Stream stream)
|
||||
{
|
||||
byte[] buffer = ReadBytes(stream, 8);
|
||||
if (BitConverter.IsLittleEndian && !isLittleEndian)
|
||||
if (BitConverter.IsLittleEndian && !useLittleEndian)
|
||||
Array.Reverse(buffer);
|
||||
return BitConverter.ToInt64(buffer, 0);
|
||||
}
|
||||
|
||||
@@ -10,10 +10,11 @@ namespace PckStudio.Classes.Utils
|
||||
internal class StreamDataWriter
|
||||
{
|
||||
private static bool useLittleEndian;
|
||||
protected static bool IsUsingLittleEndian => useLittleEndian;
|
||||
|
||||
protected StreamDataWriter(bool isLittleEndian)
|
||||
protected StreamDataWriter(bool littleEndian)
|
||||
{
|
||||
useLittleEndian = isLittleEndian;
|
||||
useLittleEndian = littleEndian;
|
||||
}
|
||||
|
||||
protected static void WriteUShort(Stream stream, ushort value) => WriteShort(stream, (short)value);
|
||||
|
||||
Reference in New Issue
Block a user