LEB: Difference between revisions

1,557 bytes added ,  3 years ago
→‎Actor Section: More info on some sections
(→‎Actor Section: More info on some sections)
Line 125: Line 125:
|'''Y coordinate'''. One “tile” is 0xC0000 units, so using the lower 2 bytes here is going to generally be pretty insignificant. Hence them usually being 0
|'''Y coordinate'''. One “tile” is 0xC0000 units, so using the lower 2 bytes here is going to generally be pretty insignificant. Hence them usually being 0
|-
|-
|0x20-0x37
|0x20
|
|u32
|Unknown.
|Unknown
|-
|0x24
|u32
|Unknown
|-
|0x28
|u32
|Unknown. Mostly only used on lighting actors
|-
|0x2C
|u32
|Unknown. Commonly 0x3F800000
|-
|0x30
|u32
|Unknown. Commonly 0x3F800000
|-
|0x34
|u32
|Unknown. Commonly 0x3F800000
|-
|-
|0x38
|0x38
Line 161: Line 181:
|0x84
|0x84
|
|
|'''Unknown'''.
|'''Actor Relationships.''' Defines the relationship this actor has with other actors in the room, primarily for use with events. This section uses a lot of actor indexes, which are the based on the order the actors are defined in the room. That is, the first defined actor is 0, the second is 1, etc.
|-
 
|0x90
 
|
The sections starts with 8 bytes which define the structure and purpose of the data in the section, followed by 4 null bytes, and then followed by 3 sections of data.
|For actors that are longer than 0x90 bytes, this section is used for more data. The purpose so far is not clear, but often seems to be similar in structure to the parameters section.
 
 
'''xx bb kk ee''' 00 00 '''yy zz''' 00 00 00 00
 
'''x''' indicates the number of actors in section 1.
 
'''y''' indicates the number of actors in section 2.
 
'''z''' indicates the number of actors in section 3.
 
'''b''' appears to be 01 if the enemy appears from the +enemies tile in a chamber dungeon and 00 otherwise.
 
'''k''' is 01 only for TagHolocaustChecker actors. Probably indicates looking at enemy spawns/kills.
'''e''' is 01 for all enemies and 00 for anything else.
 
 
'''Section 1''' defines which other actors have behaviors controlled by this actor. This includes actors which get used by this actor's event, enemies that a TagHolocaustChecker watches for, that an AreaEventBox/AreaLevelOpen/etc will trigger this actor, and possibly other uses. It consists of a sequence of 20-byte structures, which are each 2 parameters (8 bytes each, same format as parameter section) and a 4-byte actor index.
 
 
'''Section 2'''<nowiki/>'s purpose is not yet known. It consists of a sequence of 24-byte structures, which are each 2 parameters (8 bytes each), and 2 u32's.
 
 
'''Section 3''' defines which actors are using this actor. It is simply a sequence of 4-byte actor indexes. This should line up with section 1 of other actors. As an example, if actor[2] defines control of actor[5] in its section 1, then actor[5]'s section 3 should contain 0x02.
|}
|}
=====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.
====Grid Section====
====Grid Section====
Another child FixedHash. It has a name section which usually contains two strings: <code>data</code> and <code>info</code>. Some have other strings in between, such as Lv08TurtleRock_01H (right half of the sidescroller leading to the boss). This FixedHash has one Entry for each of these strings in the names section. Each entry holds a block of data. The purpose of this is still unknown. The final entry seems to always have a data block of 0x10 bytes.
Another child FixedHash. It has a name section which usually contains two strings: <code>data</code> and <code>info</code>. Some have other strings in between, such as Lv08TurtleRock_01H (right half of the sidescroller leading to the boss). This FixedHash has one Entry for each of these strings in the names section. Each entry holds a block of data. The purpose of this is still unknown. The final entry seems to always have a data block of 0x10 bytes.
39

edits