ActorCreator: Difference between revisions
Jump to navigation
Jump to search
imported>Leoetlino Created page with "{{Subsystem infobox|name=ActorCreator|init_addr_switch150=00000071011DBAE4|inst_addr_switch150=00000071026521F0|is_name_official=0|description=Constructs and initialises actor..." |
|||
| (21 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
{{Subsystem infobox|name=ActorCreator | {{Subsystem infobox|name=ActorCreator|is_name_official=0|description=Constructs and initialises actors|init_addr_switch150=00000071011DBAE4|inst_addr_switch150=00000071026521F0}} | ||
'''ActorCreator''' is responsible for constructing and setting up actor instances. | '''ActorCreator''' is responsible for constructing and setting up actor instances. | ||
ActorCreator also has a linked list of all actors. | |||
== Creation parameters == | == Creation parameters == | ||
| Line 6: | Line 8: | ||
=== Parameter type === | === Parameter type === | ||
{|class="wikitable" | {| class="wikitable" | ||
! Value | ! Value | ||
! Type | |||
|- | |- | ||
| 0 | | 0 | ||
| Int | |||
|- | |- | ||
| 1 | | 1 | ||
| ? | |||
|- | |- | ||
| 2 | | 2 | ||
| Float | |||
|- | |- | ||
| 3 | | 3 | ||
| Bool | |||
|- | |- | ||
| 4 | | 4 | ||
| Vec3 | |||
|- | |- | ||
| 5 | | 5 | ||
| String | |||
|- | |- | ||
| 6 | | | 6 | ||
| Invoker (pointer) | |||
|- | |- | ||
| 7 | | 7 | ||
| Matrix34 | |||
|} | |} | ||
=== Parameters === | === Parameters === | ||
{{expand section}} | {{expand section}} | ||
{|class="wikitable sortable" | {| class="wikitable sortable" | ||
! Name | ! Name | ||
! Type | |||
! Description | |||
|- | |||
| @SB | |||
| bool | |||
| ? | |||
|- | |||
| @P | |||
| vec3 | |||
| Position | |||
|- | |||
| @R | |||
| vec3 | |||
| Rotate | |||
|- | |||
| @S | |||
| vec3 | |||
| Scale | |||
|- | |- | ||
| @ | | @M | ||
| matrix34 | |||
| Position matrix (position, rotate, scale, ??? all-in-one) {{check}} | |||
|- | |- | ||
| @ | | @ND | ||
| bool | |||
| Set actor flag3 0x1000000 (what does this do?{{check}}) | |||
|- | |- | ||
| @ | | @RL | ||
| int | |||
| ? | |||
|- | |- | ||
| @ | | @D | ||
| invoker | |||
| Actor create callback (called with Actor* as argument) | |||
|- | |- | ||
| @ | | @I | ||
| int | |||
| ? | |||
|- | |- | ||
| @ | | @DD | ||
| float | |||
| Display distance | |||
|- | |- | ||
| @ | | @TV | ||
| vec3 | |||
| Velocity | |||
|- | |- | ||
| @RV | | @RV | ||
| vec3 | |||
| Angular velocity | |||
|- | |- | ||
| @ | | @PC | ||
| bool | |||
| Set actor flag2 0x200 (keep alive?{{check}}) | |||
|- | |- | ||
| @ | | @W | ||
| bool | |||
| Set actor flag 0x40 during actor creation/init | |||
|- | |- | ||
| @ | | @MU || string || ? | ||
|- | |- | ||
| @ | | @DC || bool || ? | ||
|- | |- | ||
| @ | | @SB || bool || bitwise OR <code>actor->field_6C</code> with 0x10 | ||
Used for resident actors, event system actors. Disables unload distance checks. (What other effects does this have?{{check}}) | |||
|- | |- | ||
| =AT | | =AT | ||
| bool | |||
| Is AI tree variable (special purpose) | |||
|- | |- | ||
| SharpWeaponJudgeType | | SharpWeaponJudgeType | ||
| int | |||
| (Weapon) Minimum modifier tier that a weapon can receive | |||
|- | |- | ||
| IsDrop || | | IsDrop | ||
| bool | |||
| Is an actor drop (e.g. enemy drop) | |||
This flag causes the actor to be added to the "Drops" [[ActorLimiter]] list<ref>{{addr|a=0x71011D2D7C|ver=nx-1.5.0}}</ref>. | |||
|- | |- | ||
| | | IsAmiibo || bool || Is an amiibo drop<ref>https://gist.github.com/leoetlino/ff246cb5c16b12c5af14a899d1cd8ffd</ref> | ||
This flag causes the actor to be added to the "amiibo" [[ActorLimiter]] list<ref>{{addr|a=0x71011D2DAC|ver=nx-1.5.0}}</ref>. | |||
|- | |- | ||
| | | InitBoundBoxPosOffset | ||
| bool | |||
| ? | |||
|- | |- | ||
| | | IsPlayerPut | ||
| bool | |||
| Is Inventory Item Drop{{check}} | |||
|- | |- | ||
| | | IsIncreaseSkeletalSlotNumLimit | ||
| bool | |||
| ? | |||
|- | |- | ||
| | | Life | ||
| int | |||
| Life (health) | |||
|- | |- | ||
| | | AttackPower | ||
| int | |||
| Attack power | |||
|- | |- | ||
| | | ScaleTime | ||
| float | |||
| ? | |||
|- | |- | ||
| | | AtMinDamage | ||
| int | |||
| Attack minimum damage | |||
|- | |- | ||
| | | Range | ||
| float | |||
| ? | |||
|- | |- | ||
| | | AttackAttrEventKill | ||
| bool | |||
| ? | |||
|- | |- | ||
| RopeAlwaysUpdateRigidParam | | RopeFlag | ||
| bool | |||
| Is Rope{{check}} | |||
|- | |||
| RopeAlwaysUpdateRigidParam | |||
| bool | |||
| Update Rope Physics{{check}} | |||
|} | |} | ||
[[Category:Internals]] | [[Category:Internals]] | ||
[[Category:Subsystems (BotW)]] | [[Category:Subsystems (BotW)]] | ||
Latest revision as of 16:45, 20 May 2020
| Subsystem | |
|---|---|
| Official name | No |
| Description | Constructs and initialises actors |
| Init function |
Switch 1.5.0: 00000071011DBAE4 Wii U 1.5.0: ??? |
| Instance | Switch 1.5.0: 00000071026521F0 |
| Debug only | No |
ActorCreator is responsible for constructing and setting up actor instances.
ActorCreator also has a linked list of all actors.
Creation parameters
To specify actor parameters such as position, a ring buffer structure is used to store and pass parameters to ActorCreator.
Parameter type
| Value | Type |
|---|---|
| 0 | Int |
| 1 | ? |
| 2 | Float |
| 3 | Bool |
| 4 | Vec3 |
| 5 | String |
| 6 | Invoker (pointer) |
| 7 | Matrix34 |
Parameters
This section needs expansion. You can help by adding to it. |
| Name | Type | Description |
|---|---|---|
| @SB | bool | ? |
| @P | vec3 | Position |
| @R | vec3 | Rotate |
| @S | vec3 | Scale |
| @M | matrix34 | Position matrix (position, rotate, scale, ??? all-in-one) [check] |
| @ND | bool | Set actor flag3 0x1000000 (what does this do?[check]) |
| @RL | int | ? |
| @D | invoker | Actor create callback (called with Actor* as argument) |
| @I | int | ? |
| @DD | float | Display distance |
| @TV | vec3 | Velocity |
| @RV | vec3 | Angular velocity |
| @PC | bool | Set actor flag2 0x200 (keep alive?[check]) |
| @W | bool | Set actor flag 0x40 during actor creation/init |
| @MU | string | ? |
| @DC | bool | ? |
| @SB | bool | bitwise OR actor->field_6C with 0x10
Used for resident actors, event system actors. Disables unload distance checks. (What other effects does this have?[check]) |
| =AT | bool | Is AI tree variable (special purpose) |
| SharpWeaponJudgeType | int | (Weapon) Minimum modifier tier that a weapon can receive |
| IsDrop | bool | Is an actor drop (e.g. enemy drop)
This flag causes the actor to be added to the "Drops" ActorLimiter list[1]. |
| IsAmiibo | bool | Is an amiibo drop[2]
This flag causes the actor to be added to the "amiibo" ActorLimiter list[3]. |
| InitBoundBoxPosOffset | bool | ? |
| IsPlayerPut | bool | Is Inventory Item Drop[check] |
| IsIncreaseSkeletalSlotNumLimit | bool | ? |
| Life | int | Life (health) |
| AttackPower | int | Attack power |
| ScaleTime | float | ? |
| AtMinDamage | int | Attack minimum damage |
| Range | float | ? |
| AttackAttrEventKill | bool | ? |
| RopeFlag | bool | Is Rope[check] |
| RopeAlwaysUpdateRigidParam | bool | Update Rope Physics[check] |
- ↑ 0x71011D2D7C [nx-1.5.0 executable]
- ↑ https://gist.github.com/leoetlino/ff246cb5c16b12c5af14a899d1cd8ffd
- ↑ 0x71011D2DAC [nx-1.5.0 executable]