public static void WriteSection(FileWriter writer, Header header, string magic, MSBTEntry section) { long startPos = writer.Position; writer.WriteSignature(magic); writer.Write(uint.MaxValue); section.Write(writer, header); long endPos = writer.Position; writer.AlignBytes(16, 0xAB); //Skip 20 bytes from the header writer.WriteSectionSizeU32(startPos + 4, startPos + 0x10, endPos); }
public static void WriteSection(FileWriter writer, Header header, string magic, MSBTEntry section) { long startPos = writer.Position; writer.WriteSignature(magic); writer.Write(uint.MaxValue); section.Write(writer, header); long endPos = writer.Position - 16; WritePadding(writer); using (writer.TemporarySeek(startPos + 4, System.IO.SeekOrigin.Begin)) { writer.Write((uint)(endPos - startPos)); } }