Nintendo Binary cafe Event Flow Libray | Based on evfl by Léo Lam
BfevLibrary has been tested to parse, serialize (json), deserialize (json), and write every BFEV file found in Breath of the Wild byte-perfectly.
// Read from a File Path
BfevFile bfev = BfevFile.FromBinary("path/to/file.bfevfl");
// Read from a byte[]
// Do not use with File.ReadAllBytes(), use
// a Stream instead.
SarcFile sarc = SarcFile.FromBinary("D:/Botw/Update/content/Events/100enemy.sbeventpack");
BfevFile bfev = BfevFile.FromBinary(sarc["EventFlow/100enemy.bfevfl"]);
// Read from a Stream
using FileStream fs = File.OpenRead("path/to/file.bfevfl");
BfevFile bfev = new(fs);
// Read from JSON
string json = File.ReadAllText("path/to/file.bfevfl.json");
BfevFile bfev = BfevFile.FromJson(json);
// Write to a File Path
bfev.ToBinary("path/to/file_out.bfevfl");
// Write to a byte[]
byte[] data = bfev.ToBinary();
// Write to a Stream
using FileStream fs = File.Create("path/to/file_out.bfevfl");
bfev.ToBinary(fs);
// Write to Json
string json = bfev.ToJson(format: true);
Install-Package BfevLibrary
git clone https://github.com/NCF-Library/BfevLibrary.git
dotnet build BfevLibrary
- Arch Leaders: C# Re-Implementation & JSON SerDe
- Léo Lam: Original Python Implementation & General Help