diff --git a/MinecraftUSkinEditor/Classes/IO/PCK/PCKFileReader.cs b/MinecraftUSkinEditor/Classes/IO/PCK/PCKFileReader.cs index 838f7699..55294119 100644 --- a/MinecraftUSkinEditor/Classes/IO/PCK/PCKFileReader.cs +++ b/MinecraftUSkinEditor/Classes/IO/PCK/PCKFileReader.cs @@ -41,10 +41,9 @@ namespace PckStudio.Classes.IO string value = ReadString(stream); if (value.Equals("XMLVERSION")) has_xml_tag = true; _file.meta_data.Insert(index, value); - ReadInt(stream); // padding ???? } if (has_xml_tag) - Console.WriteLine(ReadInt(stream).ToString("X08")); // xml version num ?? + Console.WriteLine(ReadInt(stream)); // xml version num ?? } internal void ReadFileEntries(Stream stream) @@ -57,7 +56,6 @@ namespace PckStudio.Classes.IO string name = ReadString(stream); var entry = new PCKFile.FileData(name, file_type, file_size); _file.file_entries.Add(entry); - ReadInt(stream); } foreach (var file_entry in _file.file_entries) { @@ -68,7 +66,6 @@ namespace PckStudio.Classes.IO string key = _file.meta_data[index]; string value = ReadString(stream); file_entry.properties.Add(new ValueTuple(key, value)); - ReadInt(stream); // padding ??? } // file data buffer is only allocated when FileData is constructed with `dataSize` stream.Read(file_entry.data, 0, file_entry.size); @@ -89,6 +86,7 @@ namespace PckStudio.Classes.IO int len = ReadInt(stream); byte[] stringBuffer = new byte[len * 2]; stream.Read(stringBuffer, 0, len * 2); + ReadInt(stream); return Encoding.BigEndianUnicode.GetString(stringBuffer, 0, len * 2); } } diff --git a/MinecraftUSkinEditor/Classes/IO/PCK/PCKFileWriter.cs b/MinecraftUSkinEditor/Classes/IO/PCK/PCKFileWriter.cs index a50c0e5c..3bee19a9 100644 --- a/MinecraftUSkinEditor/Classes/IO/PCK/PCKFileWriter.cs +++ b/MinecraftUSkinEditor/Classes/IO/PCK/PCKFileWriter.cs @@ -44,6 +44,7 @@ namespace PckStudio.Classes.IO WriteInt(stream, s.Length); byte[] byteString = Encoding.BigEndianUnicode.GetBytes(s); stream.Write(byteString, 0, byteString.Length); + WriteInt(stream, 0); } internal void WriteMetaEntries(Stream stream) @@ -55,10 +56,9 @@ namespace PckStudio.Classes.IO if (metaEntry == "XMLVERION") has_xmlverion_tag = true; WriteInt(stream, _file.meta_data.IndexOf(metaEntry)); WriteString(stream, metaEntry); - WriteInt(stream, 0); } if (has_xmlverion_tag) - WriteInt(stream, 0); + WriteInt(stream, 0x1337); // :^) } internal void WriteFileEntries(Stream stream) @@ -69,7 +69,7 @@ namespace PckStudio.Classes.IO WriteInt(stream, entry.size); WriteInt(stream, entry.type); WriteString(stream, entry.name); - WriteInt(stream, 0); + } foreach (var entry in _file.file_entries) { @@ -80,7 +80,6 @@ namespace PckStudio.Classes.IO throw new Exception("Tag not in Meta: " + property.Item1); WriteInt(stream, _file.meta_data.IndexOf(property.Item1)); WriteString(stream, property.Item2); - WriteInt(stream, 0); } stream.Write(entry.data, 0, entry.size); }