ActorCreator: Difference between revisions
Jump to navigation
Jump to search
imported>Leoetlino |
|||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Subsystem infobox|name=ActorCreator|is_name_official=0|description=Constructs and initialises actors|init_addr_switch150=00000071011DBAE4|inst_addr_switch150=00000071026521F0}} | {{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 60: | Line 62: | ||
| @M | | @M | ||
| matrix34 | | matrix34 | ||
| Position {{check}} | | Position matrix (position, rotate, scale, ??? all-in-one) {{check}} | ||
|- | |- | ||
| @ND | | @ND | ||
| bool | | bool | ||
| ? | | Set actor flag3 0x1000000 (what does this do?{{check}}) | ||
|- | |- | ||
| @RL | | @RL | ||
Line 80: | Line 82: | ||
| @DD | | @DD | ||
| float | | float | ||
| | | Display distance | ||
|- | |- | ||
| @TV | | @TV | ||
| vec3 | | vec3 | ||
| Velocity | | Velocity | ||
|- | |- | ||
| @RV | | @RV | ||
| vec3 | | vec3 | ||
| | | Angular velocity | ||
|- | |- | ||
| @PC | | @PC | ||
| bool | | bool | ||
| ? | | Set actor flag2 0x200 (keep alive?{{check}}) | ||
|- | |- | ||
| @W | | @W | ||
| | | bool | ||
| Set actor flag 0x40 during actor creation/init | | 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 | ||
Line 108: | Line 118: | ||
| IsDrop | | IsDrop | ||
| bool | | bool | ||
| Is | | 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 | | InitBoundBoxPosOffset |
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]