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]