ActorCreator: Difference between revisions

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]