ActorCreator: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| (5 intermediate revisions by the same user not shown) | |||
| Line 66: | Line 66: | ||
| @ND | | @ND | ||
| bool | | bool | ||
| ? | | Set actor flag3 0x1000000 (what does this do?{{check}}) | ||
|- | |- | ||
| @RL | | @RL | ||
| Line 101: | Line 101: | ||
|- | |- | ||
| @MU || string || ? | | @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 113: | Line 119: | ||
| bool | | bool | ||
| Is an actor drop (e.g. enemy drop) | | 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]