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

This commit is contained in:
miku-666
2022-07-30 18:34:33 +02:00
parent 5be1a16eef
commit 8242457aca
2 changed files with 11 additions and 6 deletions
@@ -11,8 +11,9 @@ namespace PckStudio.Classes.IO
{
internal class PCKFileWriter : StreamDataWriter
{
internal PCKFile _pckfile;
internal List<string> LUT = new List<string>();
private PCKFile _pckfile;
private List<string> LUT = new List<string>();
private bool _isLittleEndian;
public static void Write(Stream stream, PCKFile file, bool isLittleEndian)
{
@@ -21,6 +22,7 @@ namespace PckStudio.Classes.IO
private PCKFileWriter(PCKFile file, bool isLittleEndian) : base(isLittleEndian)
{
_isLittleEndian = isLittleEndian;
_pckfile = file;
LUT = _pckfile.GatherMetaTags();
}
@@ -36,7 +38,7 @@ namespace PckStudio.Classes.IO
internal void WriteString(Stream stream, string s)
{
WriteInt(stream, s.Length);
WriteString(stream, s, Encoding.BigEndianUnicode);
WriteString(stream, s, _isLittleEndian ? Encoding.Unicode : Encoding.BigEndianUnicode);
WriteInt(stream, 0); // padding
}