Bas: Difference between revisions

Jump to navigation Jump to search
19 bytes added ,  4 years ago
imported>Ginger
(→‎TriggerEvents: Grammar (I need to stop editing now))
imported>Ginger
(One intermediate revision by the same user not shown)
Line 4: Line 4:
</onlyinclude>
</onlyinclude>


== Layout ==
==Layout==
Each bas file is made up of one list of elements, named Elements. Each element (Element0, Element1, etc) can be either a test to figure out what animation to play, or a call to play the animation.
Each bas file is made up of one list of elements, named Elements. Each element (Element0, Element1, etc) can be either a test to figure out what animation to play, or a call to play the animation.


=== Parameters ===
===Parameters===
All nodes have Parameters, which determine what kind of node they are. They can be a control node, which helps decide which animation to play, or an animation node, which actually plays the animation.
All nodes have Parameters, which determine what kind of node they are. They can be a control node, which helps decide which animation to play, or an animation node, which actually plays the animation.
{| class="wikitable"
{| class="wikitable"
Line 54: Line 54:
|}
|}


==== Parameter TypeIndexes ====
====Parameter TypeIndexes====
{| class="wikitable"
{| class="wikitable"
!Index
!Index
Line 79: Line 79:
|Range evaluation
|Range evaluation
| -
| -
|Either Link's current movement speed or movement analog stick tilt{{#tag:ref|Element2 of Player_CutNinja.bas, WiiU 1.5.0|name=e2pcn}}
|Distance between Link and his current locked target{{#tag:ref|Element2 of Player_CutNinja.bas, WiiU 1.5.0|name=e2pcn}}
|-
|-
|44
|44
Line 138: Line 138:
|}
|}


=== Children ===
===Children===
Control nodes will have Children, in addition to Parameters, which determine which Element to go to after the control node is evaluated. The properties of Children will be named Child0, Child1, etc, and each will have a single integer value, which will correspond to the Element number. e.g. <code>Child0: 7</code> points to Element7.
Control nodes will have Children, in addition to Parameters, which determine which Element to go to after the control node is evaluated. The properties of Children will be named Child0, Child1, etc, and each will have a single integer value, which will correspond to the Element number. e.g. <code>Child0: 7</code> points to Element7.


=== Extend ===
===Extend===
All nodes have an Extend, which contains specific details about the node. Control node Extends will contain details about the comparison being performed, while animation nodes will contain information about the animation being played, such as: during which frames of the animation a weapon will deal damage if it hits something, when user input is ignored, when to draw weapon trails through the air for attack animations, etc.
All nodes have an Extend, which contains specific details about the node. Control node Extends will contain details about the comparison being performed, while animation nodes will contain information about the animation being played, such as: during which frames of the animation a weapon will deal damage if it hits something, when user input is ignored, when to draw weapon trails through the air for attack animations, etc.


==== Typed Array ====
====Typed Array====
A list of variables of a given type to use for various control comparisons. Corresponds directly to the Children of the node. i.e. if Value0 matches the value being compared against, the code will jump to the Element listed under Child0. If no comparison of a lower Child number has evaluated as true, automatically evaluates a Child whose value is "default" as true.{{#tag:ref|Element0 of Player_CutNinja.bas, WiiU 1.5.0|name=e0pcn}}{{#tag:ref|Element3 of Player_FaceDefault.bas, WiiU 1.5.0|name=e3pfd}}
A list of variables of a given type to use for various control comparisons. Corresponds directly to the Children of the node. i.e. if Value0 matches the value being compared against, the code will jump to the Element listed under Child0. If no comparison of a lower Child number has evaluated as true, automatically evaluates a Child whose value is "default" as true.{{#tag:ref|Element0 of Player_CutNinja.bas, WiiU 1.5.0|name=e0pcn}}{{#tag:ref|Element3 of Player_FaceDefault.bas, WiiU 1.5.0|name=e3pfd}}


==== BitIndex ====
====BitIndex====
Used with Parameter TypeIndex 7. Also has TypeIndex, which are used to perform the check.
Used with Parameter TypeIndex 7. Also has TypeIndex, which are used to perform the check.


* 2 - Unknown (believed to check if Link has any armor equipped)<ref name=e0pfd />
*2 - Unknown (believed to check if Link has any armor equipped)<ref name="e0pfd" />
* 30 - Whether or not Link has a shield equipped.<ref name=e1pcn />
*30 - Whether or not Link has a shield equipped.<ref name="e1pcn" />
* 33 - Unknown<ref name=e2pfd />
*33 - Unknown<ref name="e2pfd" />
* 37 - Whether IsBlunt is set to true in the equipped weapon’s bgparamlist
*37 - Whether IsBlunt is set to true in the equipped weapon’s bgparamlist
* 46 - Unknown (believed to check if Link is crouched)
*46 - Unknown (believed to check if Link is crouched)


==== Ranges ====
====Ranges====
Used with control nodes that perform a Range evaluation. If the value being compared is above the Start value and below the End value, evaluates as true. Otherwise, moves on to the next value. (Unknown what happens if none of the Ranges evaluate to true, presumably game crash)
Used with control nodes that perform a Range evaluation. If the value being compared is above the Start value and below the End value, evaluates as true. Otherwise, moves on to the next value. (Unknown what happens if none of the Ranges evaluate to true, presumably game crash)


==== FrameCtrl ====
====FrameCtrl====
Used with animation nodes. The node itself is required, even if it is empty (i.e. none of the keys are specified)
Used with animation nodes. The node itself is required, even if it is empty (i.e. none of the keys are specified)
{| class="wikitable"
{| class="wikitable"
Line 179: Line 179:
|}
|}


==== TriggerEvents ====
====TriggerEvents====
Used with Parameter TypeIndex 67. Possibly used with other animation node TypeIndexes, but none have so far been observed. Events which are triggered during this animation.
Used with Parameter TypeIndex 67. Possibly used with other animation node TypeIndexes, but none have so far been observed. Events which are triggered during this animation.
{| class="wikitable"
{| class="wikitable"
Line 205: Line 205:
Known TypeIndex values:
Known TypeIndex values:


* 0 - Unknown (believed to define when an attack begins to deal damage)<ref>Compare Event0 of TriggerEvents and Event0 of HoldEvents for most of Link's attack animations</ref>
*0 - Unknown (believed to define when an attack begins to deal damage)<ref>Compare Event0 of TriggerEvents and Event0 of HoldEvents for most of Link's attack animations</ref>
* 4 - Triggers the animation controller to transition back into the idle stance. The Frame value should be a few before the end of the actual animation, so that the controller can make the blending look natural.<ref>Compare TriggerEvent TypeIndex 4 Frame value for an animation with the number of frames in the actual animation.</ref>
*4 - Triggers the animation controller to transition back into the idle stance. The Frame value should be a few before the end of the actual animation, so that the controller can make the blending look natural.<ref>Compare TriggerEvent TypeIndex 4 Frame value for an animation with the number of frames in the actual animation.</ref>
* 7 - Call AS. Passes the strRef to the ASList to retrieve an AS file and starts evaluating it from Element0.
*7 - Call AS. Passes the strRef to the ASList to retrieve an AS file and starts evaluating it from Element0.
* 28 - Unknown (seems to always be triggered at frame -2, with value PV%03d, but needs more investigation)
*28 - Play audio. Only observed with PV%03d as the value, which corresponds to bfwav files in PlayerVoice.bars, but is believed to be able to play other audio files as well.


==== HoldEvents ====
====HoldEvents====
Used with Parameter TypeIndex 67. Possibly used with other animation node TypeIndexes, but none have so far been observed. States that are entered into while the animation is playing.
Used with Parameter TypeIndex 67. Possibly used with other animation node TypeIndexes, but none have so far been observed. States that are entered into while the animation is playing.
{| class="wikitable"
{| class="wikitable"
Line 241: Line 241:
Known TypeIndex values:
Known TypeIndex values:


* 0 - Unknown
*0 - Unknown
* 2 - Unknown
*2 - Unknown
* 3 - Defines when an attack will deal damage. Value is the damage type. Left: slashing. Stab: piercing. Lower: blunt.
*3 - Defines when an attack will deal damage. Value is the damage type. Left: slashing. Stab: piercing. Lower: blunt.
* 17 - Unknown
*17 - Unknown
* 25 - Unknown
*25 - Unknown
* 45 - Defines when to accept input to start the next attack.
*45 - Defines when to accept input to start the next attack.
* 48 - Defines when to display the trails in the air during an attack.
*48 - Defines when to display the trails in the air during an attack.


=== References ===
===References===
[[Category:File extensions]]
[[Category:File extensions]]
[[Category:File extensions (AAMP)]]
[[Category:File extensions (AAMP)]]
[[Category:Actor parameter files]]
[[Category:Actor parameter files]]
<references />
<references />
Anonymous user

Navigation menu