BFEVFL: Difference between revisions

no edit summary
imported>Leoetlino
No edit summary
imported>Leoetlino
No edit summary
Line 1: Line 1:
<onlyinclude>'''bfevfl''' is a binary file format for [[Event flow|'''ev'''ent '''fl'''ows]].</onlyinclude>
<onlyinclude>'''bfevfl''' is a binary file format for [[Event flow|'''ev'''ent '''fl'''ows]].</onlyinclude>


== Structure ==
== Structures ==
bfevfl is a little endian format, so values are stored in little endian even on Wii U.
 
bfevfl uses pointers very heavily. All pointers are always 64 bit long -- since the same format is used on the Switch which is a 64 bit platform -- and must be present in the [[#Relocation table]].
 
There is no fixed order for most sections. Therefore, this article will only document the data structures and the most common order. For more details, it is recommended to look at the [https://github.com/leoetlino/evfl <code>evfl</code> library] directly.
 
=== Header ===
{|class="wikitable"
! Offset !! Type !! Description
|-
| 0x0 || char[8] || Magic ("BFEVFL\x00\x00")
|-
| 0x8 || u16 || Version (0x0300)
|-
| 0xa || u8 || Unknown (must be zero)
|-
| 0xb || u8 || Unknown
|-
| 0xc || u16 || Byte order mark
|-
| 0xe || u8 || Alignment (to get the actual value: 1 << raw_value)
|-
| 0xf || u8 || Unknown
|-
| 0x10 || u32 || File name offset
|-
| 0x14 || u16 || Is relocated flag (set in memory)
|-
| 0x16 || u16 || First block offset
|-
| 0x18 || u32 || Relocation table offset
|-
| 0x1c || u32 || File size
|-
| 0x20 || u16 || Number of [[#Flowchart|flowchart]]s
|-
| 0x22 || u16 || Number of [[#Timeline|timeline]]s
|-
| 0x24 || u32 || Padding
|-
| 0x28 || Flowchart* || Flowchart (nullptr if no flowchart)
|-
| 0x30 || [[#Dic|Dic]]* || Flowchart name dictionary
|-
| 0x38 || Timeline* || Timeline (nullptr if no timeline)
|-
| 0x40 || Dic* || Timeline name dictionary
|}
 
=== Relocation table ===
{{empty section}}
{{empty section}}
=== Dic ===
{{empty section}}
=== Flowchart ===
{{empty section}}
=== Timeline ===
{{empty section}}
== Tools ==
== Tools ==
* [https://github.com/leoetlino/evfl <code>evfl</code>]: Python library for parsing and writing event flows
* [https://github.com/leoetlino/evfl <code>evfl</code>]: Python library for parsing and writing event flows
Anonymous user