ActorInfo.product.sbyml: Difference between revisions
No edit summary |
(→Actors: aabb finally found out!) |
||
Line 1: | Line 1: | ||
<onlyinclude>{{NoRstb}} | <onlyinclude> | ||
{{NoRstb}} | |||
'''ActorInfo.product.sbyml''' (found in the Actor directory) is a [[Yaz0]]-compressed [[BYML]] file which contains general information about all [[Actor|actors]] in the game. It is used when constructing actors, and also used to access actor data efficiently when loading the full [[actor pack]] is unnecessary (e.g. on menu screens). Therefore, in order to add new actors, or to change items' parameters on menu screens, this file must be edited. | '''ActorInfo.product.sbyml''' (found in the Actor directory) is a [[Yaz0]]-compressed [[BYML]] file which contains general information about all [[Actor|actors]] in the game. It is used when constructing actors, and also used to access actor data efficiently when loading the full [[actor pack]] is unnecessary (e.g. on menu screens). Therefore, in order to add new actors, or to change items' parameters on menu screens, this file must be edited. | ||
Line 5: | Line 6: | ||
</onlyinclude> | </onlyinclude> | ||
== Contents == | ==Contents== | ||
=== Actors === | ===Actors=== | ||
'''Actors''' is an array of dictionaries. It must be sorted in the same order as the Hashes section. | '''Actors''' is an array of dictionaries. It must be sorted in the same order as the Hashes section. | ||
Line 15: | Line 16: | ||
!Type | !Type | ||
!Description | !Description | ||
|- | |||
|aabbMax | |||
|float | |||
|Defines max radius for AttentionClients (Talk, Examine, ...) | |||
|- | |||
|aabbMin | |||
|float | |||
|Defines min radius for AttentionClients (Talk, Examine, ...) | |||
|- | |- | ||
|bugMask | |bugMask | ||
Line 20: | Line 29: | ||
|Affects the [[ActorDebug]] interface and probably more things in debug builds. | |Affects the [[ActorDebug]] interface and probably more things in debug builds. | ||
* & 2: アクターサウンドバグ ("Actor sound bug")<ref>{{addr|a=0x7100D26480|ver=nx-1.5.0}}</ref> | *& 2: アクターサウンドバグ ("Actor sound bug")<ref>{{addr|a=0x7100D26480|ver=nx-1.5.0}}</ref> | ||
* & 1: アクター挙動バグ ("Actor behavior bug")<ref>{{addr|a=0x7100D26534|ver=nx-1.5.0}}</ref> | *& 1: アクター挙動バグ ("Actor behavior bug")<ref>{{addr|a=0x7100D26534|ver=nx-1.5.0}}</ref> | ||
|- | |- | ||
|instSize | |instSize | ||
Line 48: | Line 57: | ||
|} | |} | ||
=== Hashes === | ===Hashes=== | ||
'''Hashes''' is an array of CRC32 hashes of actor names. | '''Hashes''' is an array of CRC32 hashes of actor names. | ||
Line 56: | Line 65: | ||
[[Category:Content (BotW)]] | [[Category:Content (BotW)]] | ||
[[Category:Content (BotW, product)]] | [[Category:Content (BotW, product)]] | ||
<references /> |
Revision as of 11:17, 17 June 2022
ActorInfo.product.sbyml (found in the Actor directory) is a Yaz0-compressed BYML file which contains general information about all actors in the game. It is used when constructing actors, and also used to access actor data efficiently when loading the full actor pack is unnecessary (e.g. on menu screens). Therefore, in order to add new actors, or to change items' parameters on menu screens, this file must be edited.
ActorInfo is a machine generated file. It is not meant to be edited directly; much of the information it includes are either automatically generated or copied from ActorParam files (which can be found in the game content) and other source-only files.
Contents
Actors
Actors is an array of dictionaries. It must be sorted in the same order as the Hashes section.
Each actor has its own entry in this array, which must have the following properties:
Key | Type | Description |
---|---|---|
aabbMax | float | Defines max radius for AttentionClients (Talk, Examine, ...) |
aabbMin | float | Defines min radius for AttentionClients (Talk, Examine, ...) |
bugMask | int | Affects the ActorDebug interface and probably more things in debug builds. |
instSize | int | Size of the memory heap that will be allocated for an actor instance — if too low, may cause unexpected crashes |
name | str | Actor name |
profile | str | Profile name (see ActorTemplate) |
sortKey | int | Determines the order of the actor in the Picture Book (0 if not needed) |
tags | dict | A dictionary with entries of the form (key=tag%08x, value=crc32_hash) where %08x is the hex representation of the CRC32 hash of the tag name. The value is an unsigned int if it is greater than 0x80000000 and a regular int otherwise. |
yLimitAlgorithm | str | See blifecondition. This might not be a required entry. [check] |
Hashes
Hashes is an array of CRC32 hashes of actor names.
This array must be sorted because ActorInfoData performs a binary search on this array to find actor entries efficiently. As a direct consequence the actor array must be sorted according to the CRC32 hashes of the actor names.
Similar to tag values, each number is stored as an unsigned int if it is greater than 0x80000000 and as a signed int otherwise.