Bas: Difference between revisions

Jump to navigation Jump to search
2,682 bytes added ,  1 year ago
m
m (Update Morph value info)
 
(34 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Stub}}{{Lowercase}}
{{Lowercase}}
<onlyinclude>
<onlyinclude>
'''bas''' files each represent an animation that can be called by an [[actor]] or [[Demo|cutscene]]. They contain a reference to an animation name, but not the animation file itself. They can be found at '''Actor/AS/{EventName}/{AnimationSequenceName}.bas''' in [[Beventpack|beventpacks]] and [[TitleBG.pack]]/Actor/AS, and '''Actor/AS/{AnimationSequenceName}.bas''' in bactorpacks.
'''bas''' files each represent an animation that can be called by an [[actor]] or [[Demo|cutscene]]. They contain a reference to an animation name, but not the animation file itself. They can be found at '''Actor/AS/{EventName}/{AnimationSequenceName}.bas''' in [[Beventpack|beventpacks]] and [[TitleBG.pack]]/Actor/AS, and '''Actor/AS/{AnimationSequenceName}.bas''' in bactorpacks.
Line 48: Line 48:
|Morph
|Morph
|int
|int
|Time to blend the previous animation into this one. Appears to be measured in frames
|Time to blend the previous animation into this one. Appears to be measured in frames.
|Animation
|Animation
| -
|-
|SequenceLoop
|bool
|Determines whether a sequence (Used with TypeIndex 61) is set to repeat
|Control
| -
| -
|-
|-
Line 74: Line 80:
|2
|2
|ArmorSelector
|ArmorSelector
|What armor is currently equipped. Used only in '''Player_Wait.bas'''. Only observed working values are <code>NoUpper</code>, <code>NoLower</code>, <code>NoAll</code>.{{#tag:ref|Element32 of Player_Wait.bas, WiiU 1.5.0|name=e32pw}} Does not appear to accept armor actor names.{{Check}}
|What armor is currently equipped. Used only in '''Player_Wait.bas'''. Only observed working values are <code>NoUpper</code>, <code>NoLower</code>, <code>NoAll</code>.{{#tag:ref|Element32 of Player_Wait.bas, WiiU 1.5.0|name=e32pw}} Does not appear to accept armor actor names.
|Control
|Control
|-
|-
|3
|3
|ArrowSelector
|ArrowSelector
| -
|Seems to check what arrow Link has equipped. However, the game only ever uses a '''StringArray''' of '''Empty''' and a default case. This is used to check whether Link has arrows in his bow, to determine how to blend his animations or to play different ones.
| -
|Control
|-
|-
|4
|4
|AttentionSelector
|AttentionSelector
| -
| -
| -
|Control
|-
|-
|5
|5
|BoneBlender
|BoneBlender
| -
| -
| -
|Control
|-
|-
|6
|6
Line 99: Line 105:
|7
|7
|BoolSelector
|BoolSelector
|Boolean evaluator - See [[#BitIndex]]{{#tag:ref|Element1 of Player_CutNinja.bas, WiiU 1.5.0|name=e1pcn}}{{#tag:ref|Element0 of Player_FaceDefault.bas, WiiU 1.5.0|name=e0pfd}}{{#tag:ref|Element2 of Player_FaceDefault.bas, WiiU 1.5.0|name=e2pfd}}
|Boolean evaluator - See [[#BitIndex]]{{#tag:ref|Element1 of Player_CutNinja.bas, WiiU 1.5.0|name=e1pcn}}{{#tag:ref|Element0 of Player_FaceDefault.bas, WiiU 1.5.0|name=e0pfd}}{{#tag:ref|Element2 of Player_FaceDefault.bas, WiiU 1.5.0|name=e2pfd}} If false, the element specified by Child0 is evaluated. If true, Child1 is evaluated.
|Control
|Control
|-
|-
Line 105: Line 111:
|ButtonSelector
|ButtonSelector
| -
| -
| -
|Control
|-
|-
|9
|9
|ChargeSelector
|ChargeSelector
| -
| -
| -
|Control
|-
|-
|10
|10
Line 120: Line 126:
|ComboSelector
|ComboSelector
| -
| -
| -
|Control
|-
|-
|12
|12
|DiffAngleYBlender
|DiffAngleYBlender
| -
| -
| -
|Control
|-
|-
|13
|13
|DiffAngleYSelector
|DiffAngleYSelector
| -
| -
| -
|Control
|-
|-
|14
|14
Line 155: Line 161:
|DungeonClearSelector
|DungeonClearSelector
| -
| -
| -
|Control
|-
|-
|19
|19
|DungeonNumberSelector
|DungeonNumberSelector
| -
| -
| -
|Control
|-
|-
|20
|20
|EmotionSelector
|EmotionSelector
| -
| -
| -
|Control
|-
|-
|21
|21
Line 175: Line 181:
|EyeSelector
|EyeSelector
| -
| -
| -
|Control
|-
|-
|23
|23
|EyebrowSelector
|EyebrowSelector
| -
| -
| -
|Control
|-
|-
|24
|24
|FaceEmotionSelector
|FaceEmotionSelector
| -
| -
| -
|Control
|-
|-
|25
|25
|FootBLLifeSelector
|FootBLLifeSelector
| -
| -
| -
|Control
|-
|-
|26
|26
|FootBRLifeSelector
|FootBRLifeSelector
| -
| -
| -
|Control
|-
|-
|27
|27
|FootFLLifeSelector
|FootFLLifeSelector
| -
| -
| -
|Control
|-
|-
|28
|28
|FootFRLifeSelector
|FootFRLifeSelector
| -
| -
| -
|Control
|-
|-
|29
|29
|ForwardBentBlender
|ForwardBentBlender
| -
| -
| -
|Control
|-
|-
|30
|30
|ForwardBentSelector
|ForwardBentSelector
| -
| -
| -
|Control
|-
|-
|31
|31
|GearSelector
|GearSelector
| -
| -
| -
|Control
|-
|-
|32
|32
|GenerationSelector
|GenerationSelector
| -
|Int check - Unknown<ref>Element7 of UH_C_Face_Talk.bas and Element3 of UH_C_Face_Default.bas</ref> In both referenced cases (used in NPC actorpacks), Value0 is '''2''', and Value1 is '''-2147483648''', which is the negative 32-bit integer limit.
| -
|Control
|-
|-
|33
|33
|GrabTypeSelector
|GrabTypeSelector
| -
|Compares the [[Bgparamlist#Liftable|LiftType]] of the actor that is being grabbed/lifted (from its bgparamlist). Known to accept as many as 24 children and a default case.
| -
|Control
|-
|-
|34
|34
|GroundNormalBlender
|GroundNormalBlender
| -
| -
| -
|Control
|-
|-
|35
|35
|GroundNormalSelector
|GroundNormalSelector
| -
| -
| -
|Control
|-
|-
|36
|36
|GroundNormalSideBlender
|GroundNormalSideBlender
| -
| -
| -
|Control
|-
|-
|37
|37
|GroundNormalSideSelector
|GroundNormalSideSelector
| -
| -
| -
|Control
|-
|-
|38
|38
Line 265: Line 271:
|MouthSelector
|MouthSelector
| -
| -
| -
|Control
|-
|-
|41
|41
Line 275: Line 281:
|NoLoopStickAngleBlender
|NoLoopStickAngleBlender
| -
| -
| -
|Control
|-
|-
|43
|43
|NoLoopStickAngleSelector
|NoLoopStickAngleSelector
| -
| -
| -
|Control
|-
|-
|44
|44
Line 290: Line 296:
|PersonalitySelector
|PersonalitySelector
| -
| -
| -
|Control
|-
|-
|46
|46
|PostureSelector
|PostureSelector
| -
| -
| -
|Control
|-
|-
|47
|47
|PreASSelector
|PreASSelector
|Compares last played animation name, takes StrRef of animation name. Known to accept two Children to test against, plus a default case, but might accept more or less.
|Compares last played animation name, takes StrRef of animation name. Accepts up to 5 children.{{#tag:ref|Element11 of Player_CutChargeWait.bas, WiiU 1.5.0|name=e11pccw}}
|Control
|Control
|-
|-
Line 305: Line 311:
|PreExclusionRandomSelector
|PreExclusionRandomSelector
| -
| -
| -
|Control
|-
|-
|49
|49
Line 320: Line 326:
|RightStickAngleBlender
|RightStickAngleBlender
| -
| -
| -
|Control
|-
|-
|52
|52
|RightStickAngleSelector
|RightStickAngleSelector
| -
| -
| -
|Control
|-
|-
|53
|53
|RightStickValueBlender
|RightStickValueBlender
| -
| -
| -
|Control
|-
|-
|54
|54
|RightStickValueSelector
|RightStickValueSelector
| -
| -
| -
|Control
|-
|-
|55
|55
|RightStickXBlender
|RightStickXBlender
| -
| -
| -
|Control
|-
|-
|56
|56
|RightStickXSelector
|RightStickXSelector
| -
| -
| -
|Control
|-
|-
|57
|57
|RightStickYBlender
|RightStickYBlender
| -
| -
| -
|Control
|-
|-
|58
|58
|RightStickYSelector
|RightStickYSelector
| -
| -
| -
|Control
|-
|-
|59
|59
|SelfHeightSelector
|SelfHeightSelector
| -
| -
| -
|Control
|-
|-
|60
|60
|SelfWeightSelector
|SelfWeightSelector
| -
| -
| -
|Control
|-
|-
|61
|61
Line 390: Line 396:
|SizeBlender
|SizeBlender
| -
| -
| -
|Control
|-
|-
|66
|66
|SizeSelector
|SizeSelector
| -
| -
| -
|Control
|-
|-
|67
|67
Line 430: Line 436:
|StickValueSelector
|StickValueSelector
| -
| -
| -
|Control
|-
|-
|74
|74
Line 455: Line 461:
|StressBlender
|StressBlender
| -
| -
| -
|Control
|-
|-
|79
|79
|StressSelector
|StressSelector
| -
| -
| -
|Control
|-
|-
|80
|80
Line 470: Line 476:
|TemperatureBlender
|TemperatureBlender
| -
| -
| -
|Control
|-
|-
|82
|82
Line 484: Line 490:
|84
|84
|TimeSelector
|TimeSelector
| -
|Checks the current time. Observed values are '''Morning_A''', '''Morning_B''', '''Evening_B''', '''Night_A''', and '''Night_B'''. '''Evening_A''' is never used, but is assumed to exist. Known to accept any number of children along with a default case.
| -
|Control
|-
|-
|85
|85
|TiredBlender
|TiredBlender
| -
| -
| -
|Control
|-
|-
|86
|86
|TiredSelector
|TiredSelector
| -
| -
| -
|Control
|-
|-
|87
|87
|UseItemSelector
|UseItemSelector
| -
| -
| -
|Control
|-
|-
|88
|88
|UserAngle2Blender
|UserAngle2Blender
| -
| -
| -
|Control
|-
|-
|89
|89
|UserAngle2Selector
|UserAngle2Selector
| -
| -
| -
|Control
|-
|-
|90
|90
|UserAngleBlender
|UserAngleBlender
| -
| -
| -
|Control
|-
|-
|91
|91
|UserAngleSelector
|UserAngleSelector
| -
| -
| -
|Control
|-
|-
|92
|92
|UserSpeedBlender
|UserSpeedBlender
| -
| -
| -
|Control
|-
|-
|93
|93
|UserSpeedSelector
|UserSpeedSelector
| -
| -
| -
|Control
|-
|-
|94
|94
|VariationSelector
|VariationSelector
| -
| -
| -
|Control
|-
|-
|95
|95
|WallAngleBlender
|WallAngleBlender
| -
| -
| -
|Control
|-
|-
|96
|96
|WallAngleSelector
|WallAngleSelector
| -
| -
| -
|Control
|-
|-
|97
|97
Line 560: Line 566:
|WeatherSelector
|WeatherSelector
| -
| -
| -
|Control
|-
|-
|100
|100
|WeightBlender
|WeightBlender
| -
| -
| -
|Control
|-
|-
|101
|101
|WeightSelector
|WeightSelector
| -
| -
| -
|Control
|-
|-
|102
|102
|WindVelocityBlender
|WindVelocityBlender
| -
| -
| -
|Control
|-
|-
|103
|103
|YSpeedBlender
|YSpeedBlender
| -
| -
| -
|Control
|-
|-
|104
|104
|YSpeedSelector
|YSpeedSelector
| -
| -
| -
|Control
|-
|-
|105
|105
|ZEx00ExposureBlender
|ZEx00ExposureBlender
| -
| -
| -
|Control
|-
|-
|106
|106
|ZEx00ExposureSelector
|ZEx00ExposureSelector
| -
| -
| -
|Control
|-
|-
|}
|}


===Children===
===Children===
Line 612: Line 619:


*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" />
*5 - Unknown (believed to check if Link is carrying an object)
*15 - Unknown. Appears in Player_WeaponEquipOn after an Attention Selector and a BitIndex 30 check, implying that it has something to do with shields.
*17 - Unknown (believed to check whether Link is airborne)
*30 - Whether or not Link has a shield equipped. (First Child is False, Second Child is True)<ref name="e1pcn" />
*33 - Unknown (believed to check if Link is tired)<ref name="e2pfd" />
*33 - Unknown (believed to check if Link is tired)<ref name="e2pfd" />
*36 - Unknown (believed to check if Link is locked onto a target)
*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
*38 - Unknown (believed to check if the current weapon is on fire)
*38 - Unknown (believed to check if the current weapon is on fire). (First Child is False, Second Child is True)
*46 - Unknown (believed to check if Link is crouched)
*46 - Unknown (believed to check if Link is crouched)


Line 702: Line 713:
Known TypeIndex values:
Known TypeIndex values:


*0 - Defines the impact of attack animations. Known values are AttackSmall, AttackMiddle, and AttackLarge.<ref>Compare Event0 of TriggerEvents and Event0 of HoldEvents for most of Link's attack animations</ref>
*0 - Used to play sound effects during animations. Known to accept any attack or enemy attack sound effect, but probably works with other sound files.<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.
*14 - Seems to indicate an enemy has entered a state of being airborne.
*14 - Seems to indicate an enemy has entered a state of being airborne.
*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.
*28 - Play audio. Able to play any bfwav file in PlayerVoice.bars.
*29 - Seems to determine when a weapon will bind to a bone. <ref>Player_WeaponEquipOn.bas</ref>




Line 740: Line 752:
Known TypeIndex values:
Known TypeIndex values:


*0 - Unknown
*0 - Seems to allow Link's attack animations to combo into one another. New attack elements will not combo together if there is no TypeIndex 0 present in the Hold Events.
*2 - Seems to determine when some attacks (entries in Player_CutJumpSt and others) will connect with targets. Removing TypeIndex 2 causes animations to play halfway through. TypeIndex 2 also tends to have a StartFrame somewhere near the middle of the animation, and an end frame of -1.0, indicating that it may be responsible for blending certain attack animations into one another, particularly those that loop or combine.
*2 - Seems to determine when some attacks (entries in Player_CutJumpSt and others) will connect with targets. Removing TypeIndex 2 causes animations to play halfway through. TypeIndex 2 also tends to have a StartFrame somewhere near the middle of the animation, and an end frame of -1.0, indicating that it may be responsible for blending certain attack animations into one another, particularly those that loop or combine.
*3 - Defines when an attack will deal damage. Value is the damage type. Left: slashing. Stab: piercing. Lower: blunt. {{Check}}
*3 - Defines when an attack will deal damage. Value is the damage type. Left: slashing. Stab: piercing. Lower: blunt. {{Check}}
*14 - Defines when an animation will block attack damage using Link's equipped shield.
*17 - Unknown
*17 - Unknown
*25 - Unknown
*22 - Unknown. Found in Link's Player_CutShieldRide.bas animation, and seems to correspond to the air effects under the board, but can't be applied to other attack animations.
*25 - Unknown. Appears to have something to do with Bone Control, as it is often observed with the !str32 Value "OnlyEye".
*35 - 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.
*49 - Believed to define the animation frames during which an actor is resistant to knock back. Notably used during animations where the actor leaves the ground and in most cases, active during frames when actor is airborne.


===References===
===References===
52

edits

Navigation menu