Difference between revisions of "ActorCreator"

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
(→‎Parameters: add references)
 
Line 104: Line 104:
 
| @DC || bool || ?
 
| @DC || bool || ?
 
|-
 
|-
| @SB || bool || bitwise OR <code>actor->field_6C</code> with 0x10 (what does this do?{{check}})
+
| @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  

Latest revision as of 16:45, 20 May 2020

ActorCreator
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

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]
  1. 0x71011D2D7C [nx-1.5.0 executable]
  2. https://gist.github.com/leoetlino/ff246cb5c16b12c5af14a899d1cd8ffd
  3. 0x71011D2DAC [nx-1.5.0 executable]