public static void Write(EndianBinaryWriter writer, BeamFile file) { writer.SeekNext(BeamHeader.HeaderSize); var oldPos = writer.Position; WriteChunks(file.Chunks, writer); var len = writer.Position - oldPos; writer.SeekBack((int)len + BeamHeader.HeaderSize); file.Header.Size = (uint)len + BeamHeader.IffNameSize; WriteHeader(file.Header, writer); writer.SeekNext((int)len); }
public static void Write(Stream stream, BeamFile file) { using var writer = new EndianBinaryWriter(stream); Write(writer, file); }
public static void Write(string filePath, BeamFile file) { using var stream = File.Open(filePath, FileMode.Create); Write(stream, file); }