Difference between revisions of "ActorCreator"

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
imported>Leoetlino
m (→‎Parameters: | (pipe character) breaks the table)
(4 intermediate revisions by the same user 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, rotate, scale, ??? (all-in-one) {{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  
Line 92: Line 94:
 
| @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 (what does this do?{{check}})
 
|-
 
|-
 
| =AT  
 
| =AT  

Revision as of 12:32, 19 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 (what does this do?[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)
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]