Fix PCKFile{Reader/Writer} to use LE Unicode when reading vita/ps4 pck

This commit is contained in:
miku-666
2022-07-30 18:29:56 +02:00
parent 5be1a16eef
commit 8242457aca
2 changed files with 11 additions and 6 deletions

View File

@@ -10,8 +10,10 @@ namespace PckStudio.Classes.IO
{
internal class PCKFileReader : StreamDataReader
{
internal PCKFile _file;
internal List<string> LUT;
private PCKFile _file;
private List<string> LUT;
bool _isLittleEndian;
public static PCKFile Read(Stream stream, bool isLittleEndian)
{
@@ -20,6 +22,7 @@ namespace PckStudio.Classes.IO
private PCKFileReader(bool isLittleEndian) : base(isLittleEndian)
{
_isLittleEndian = isLittleEndian;
}
private PCKFile ReadFileFromStream(Stream stream)
@@ -73,7 +76,7 @@ namespace PckStudio.Classes.IO
internal string ReadString(Stream stream)
{
int len = ReadInt(stream);
string s = ReadString(stream, len, Encoding.BigEndianUnicode);
string s = ReadString(stream, len, _isLittleEndian ? Encoding.Unicode : Encoding.BigEndianUnicode);
ReadInt(stream); // padding
return s;
}