LEB: Difference between revisions

174 bytes added ,  2 years ago
(More info)
Line 20: Line 20:
<code>ffff ffff</code>
<code>ffff ffff</code>


=== Entries Section ===
===Entries Section===
There are 6 entries in most LEB files.
There are 6 entries in most LEB files.
{| class="wikitable"
{| class="wikitable"
Line 54: Line 54:
The Name Hashes of each should not be touched. The purpose of the DataOffsets is still unknown.
The Name Hashes of each should not be touched. The purpose of the DataOffsets is still unknown.


=== Data Section ===
===Data Section===
Much of the data section is still unknown.
Much of the data section is still unknown.


Line 63: Line 63:
Where the last 4 bytes store the offset of each actor's data block in the actor data section.
Where the last 4 bytes store the offset of each actor's data block in the actor data section.


==== Actor Data Block ====
====Actor Data Block====
This section starts is preceded by a u64 which specifies the number of bytes the actor data section takes. The section contains blocks of 0x98 bytes, one for each actor in the room, in the following format:
This section starts is preceded by a u64 which specifies the number of bytes the actor data section takes. The section contains blocks of data for each actor in the room. Usually these are 0x98 bytes but for some actors are longer, and in the following format:
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 73: Line 73:
|0x0
|0x0
|u64
|u64
|'''Magic'''. Appears to always be 0x90, but changing it appears to not have any effect.
|'''Group.''' For most actors, this will be 0x90, but in some cases it will be different. For example, rooms with Three-of-a-Kind enemies have 0xC4 for those enemies. Does not seem to functionally matter in most cases.
|-
|-
|0x8
|0x8
Line 129: Line 129:
|}
|}


==== Notes on Parameters for Specific Actors ====
====Notes on Parameters for Specific Actors====
'''ObjCaveRock:''' (and other blocks?), the first four parameters correspond to whether you can push them in a certain direction, ordered as RIGHT, LEFT, DOWN, UP. 0x0 is not pushable in that direction, 0x1 is pushable.
'''ObjCaveRock:''' (and other blocks?), the first four parameters correspond to whether you can push them in a certain direction, ordered as RIGHT, LEFT, DOWN, UP. 0x0 is not pushable in that direction, 0x1 is pushable.


=== Names Section ===
===Names Section===
The names section contains a list of actors by name, followed by a hyphen (-), followed by a 16-digit hexadecimal number. This also includes some plaintext parameters for some objects, such as the contents of a chest (ObjTreasureBox) or the destination of a loading zone (AreaLevelOpen). Note that these do not define what actors exist, in fact it seems like the actual labels here are meaningless aside from the aforementioned parameters.
The names section contains a list of actors by name, followed by a hyphen (-), followed by a 16-digit hexadecimal number. This also includes some plaintext parameters for some objects, such as the contents of a chest (ObjTreasureBox) or the destination of a loading zone (AreaLevelOpen). Note that these do not define what actors exist, in fact it seems like the actual labels here are meaningless aside from the aforementioned parameters.


All labels in the names section are separated by null bytes. Of note, there seems to always be one separator that 2 null bytes instead of 1. Depending on the file, this is either between <code>point</code> and <code>rail</code> at the start of the names section, or between the 1st and 2nd listed actors (it is more commonly the latter).
All labels in the names section are separated by null bytes. Of note, there seems to always be one separator that 2 null bytes instead of 1. Depending on the file, this is either between <code>point</code> and <code>rail</code> at the start of the names section, or between the 1st and 2nd listed actors (it is more commonly the latter).
[[Category:File formats]]
[[Category:File formats]]
39

edits