Skip to content

Commit

Permalink
feat(misc): Animation speed/behaviors for button, switches and knobs (#…
Browse files Browse the repository at this point in the history
…6159)

* Utility anim template
* Anim behaviors for ECAM + split WX radar
* Animation behaviors + ATC knob fix
* Main bulk of animation behaviors
* Add to changelog.md
* Review: Add back spacing of templates
* Add compability with FMGC #4953
* fix: apu disch agent button
* fix: yoke l/r ap disc
* fix: cockpit door indicator
* fix: xpndr mode knob
* fix: alt rptg knob anim
* fix: f/o console/floor lt switch
  • Loading branch information
bouveng authored Jan 28, 2022
1 parent 97c2549 commit 16a62d4
Show file tree
Hide file tree
Showing 10 changed files with 1,295 additions and 454 deletions.
1 change: 1 addition & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@
1. [AP] Improved LOC ALGIN and ROLL OUT during Autoland - @aguther (Andreas Guther)
1. [FBW] Fix: do not compensate ground spoilers in C* law - @aguther (Andreas Guther)
1. [AP] Fix: adjustment of vertical speed limitation in SPD/MACH law - @IbrahimK42 (IbrahimK42)
1. [MISC] Animation speed/behaviors for button, switches and knobs - @bouveng (Johan Bouveng)

## 0.7.0

Expand Down
150 changes: 107 additions & 43 deletions flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Airbus.xml
Original file line number Diff line number Diff line change
Expand Up @@ -364,128 +364,185 @@
<SEQ2_POWERED>1</SEQ2_POWERED>
</DefaultTemplateParameters>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM ENG -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>ENG</BASE_NAME>
<PART_ID>ECAM_ENG</PART_ID>
<GROUP_INDEX>0</GROUP_INDEX>
<TOOLTIPID>TT:COCKPIT.TOOLTIPS.PUSH_ECAM_ENG</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM BLEED -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>BLEED</BASE_NAME>
<PART_ID>ECAM_BLEED</PART_ID>
<GROUP_INDEX>1</GROUP_INDEX> <!--Change to positive to activate-->
<TOOLTIPID>TT:COCKPIT.TOOLTIPS.PUSH_ECAM_BLEED</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM PRESS -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>PRESS</BASE_NAME>
<PART_ID>ECAM_PRESS</PART_ID>
<GROUP_INDEX>2</GROUP_INDEX> <!--Change to positive to activate-->
<TOOLTIPID>TT:COCKPIT.TOOLTIPS.PUSH_ECAM_PRESS</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM ELEC -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>ELEC</BASE_NAME>
<PART_ID>ECAM_ELEC</PART_ID>
<GROUP_INDEX>3</GROUP_INDEX> <!--Change to positive to activate-->
<TOOLTIPID>TT:COCKPIT.TOOLTIPS.PUSH_ECAM_ELEC</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM HYD -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>HYD</BASE_NAME>
<PART_ID>ECAM_HYD</PART_ID>
<GROUP_INDEX>4</GROUP_INDEX> <!--Change to positive to activate-->
<TOOLTIPID>TT:COCKPIT.TOOLTIPS.PUSH_ECAM_HYD</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM FUEL -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>FUEL</BASE_NAME>
<PART_ID>ECAM_FUEL</PART_ID>
<GROUP_INDEX>5</GROUP_INDEX>
<TOOLTIPID>TT:COCKPIT.TOOLTIPS.PUSH_ECAM_FUEL</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM APU -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>APU</BASE_NAME>
<PART_ID>ECAM_APU</PART_ID>
<GROUP_INDEX>6</GROUP_INDEX> <!--Change to positive to activate-->
<TOOLTIPID>TT:COCKPIT.TOOLTIPS.PUSH_ECAM_APU</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM COND -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>COND</BASE_NAME>
<PART_ID>ECAM_COND</PART_ID>
<GROUP_INDEX>7</GROUP_INDEX> <!--Change to positive to activate-->
<TOOLTIPID>TT:COCKPIT.TOOLTIPS.PUSH_ECAM_COND</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM DOOR -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>DOOR</BASE_NAME>
<PART_ID>ECAM_DOOR</PART_ID>
<GROUP_INDEX>8</GROUP_INDEX> <!--Change to positive to activate-->
<TOOLTIPID>TT:COCKPIT.TOOLTIPS.PUSH_ECAM_DOOR</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM WHEEL -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>WHEEL</BASE_NAME>
<PART_ID>ECAM_WHEEL</PART_ID>
<GROUP_INDEX>9</GROUP_INDEX> <!--Change to positive to activate-->
<TOOLTIPID>TT:COCKPIT.TOOLTIPS.PUSH_ECAM_WHEEL</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM F CTL -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>FTCL</BASE_NAME>
<PART_ID>ECAM_FCTL</PART_ID>
<GROUP_INDEX>10</GROUP_INDEX> <!--Change to positive to activate-->
<TOOLTIPID>TT:COCKPIT.TOOLTIPS.PUSH_ECAM_FCTL</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="A32NX_ECAM_ALL_BUTTON_Template">
<!-- ECAM ALL -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON_HELD</ANIM_TYPE>
<ANIM_TEMPLATE>A32NX_ECAM_ALL_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>ALL</BASE_NAME>
<PART_ID>ECAM_ALL</PART_ID>
<SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE>
<SWITCH_POSITION_VAR>A32NX_ECAM_ALL_Push</SWITCH_POSITION_VAR>
<TOOLTIPID>Cycle through ECAM pages</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_PAGE_BUTTON_Template">
<!-- ECAM STS -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_PAGE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>STS</BASE_NAME>
<Part_ID>STS</Part_ID>
<GROUP_INDEX>11</GROUP_INDEX> <!--Change to positive to activate-->
<TOOLTIPID>Display STS informations on ECAM</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_BUTTON_Template">
<!-- ECAM T.O CONFIG -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>TOCONFIG</BASE_NAME>
<PART_ID>ECAM_TOCFG</PART_ID>
<TOOLTIPID>Test T.O CONFIG</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_EMERCANC_BUTTON_Template">
<!-- ECAM EMER CANC -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_EMERCANC_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>EMERCANC</BASE_NAME>
<PART_ID>ECAM_EMERCANC</PART_ID>
<TOOLTIPID>Emergency cancel (Inop.)</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_Covered_Push_Toggle">
<!-- ECAM EMER CANC -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON_PROTECTED</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_Covered_Push_Toggle</ANIM_TEMPLATE>
<LOCK_NODE_ID>LOCK_ECAM_EMERCANC</LOCK_NODE_ID>
<TOOLTIPID>Emergency cancel (Inop.)</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="A32NX_ECAM_CLR_BUTTON_Template">
<!-- ECAM CLR -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>A32NX_ECAM_CLR_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>CLR</BASE_NAME>
<PART_ID>ECAM_CLR</PART_ID>
<TOOLTIPID>Clear ECAM messages</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="A32NX_ECAM_CLR_BUTTON_Template">
<!-- ECAM CLR -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>A32NX_ECAM_CLR_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>CLR2</BASE_NAME>
<PART_ID>ECAM_CLR2</PART_ID>
<TOOLTIPID>Clear ECAM messages</TOOLTIPID>
</UseTemplate>

<UseTemplate Name="FBW_ECAM_BUTTON_Template">
<!-- ECAM RCL -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>RCL</BASE_NAME>
<PART_ID>ECAM_RCL</PART_ID>
<TOOLTIPID>Recall ECAM messages</TOOLTIPID>
Expand Down Expand Up @@ -620,35 +677,16 @@
</Template>


<Template Name="FBW_AIRBUS_WeatherRadar_Template">
<Template Name="FBW_AIRBUS_WeatherRadar_Mode_Template">
<DefaultTemplateParameters>
<NODE_ID_MODE_KNOB>AIRBUS_Knob_WeatherRader_Mode</NODE_ID_MODE_KNOB>
<ANIM_NAME_MODE_KNOB>AIRBUS_Knob_WeatherRader_Mode</ANIM_NAME_MODE_KNOB>
<NODE_ID_ONOFF_SWITCH>AIRBUS_Switch_WeatherRader_OnOff</NODE_ID_ONOFF_SWITCH>
<ANIM_NAME_ONOFF_SWITCH>AIRBUS_Switch_WeatherRader_OnOff</ANIM_NAME_ONOFF_SWITCH>
<NODE_ID>AIRBUS_Knob_WeatherRader_Mode</NODE_ID>
<ANIM_NAME>AIRBUS_Knob_WeatherRader_Mode</ANIM_NAME>
<WWISE_EVENT>smallknob</WWISE_EVENT>
</DefaultTemplateParameters>

<Component ID="#NODE_ID_ONOFF_SWITCH#" Node="#NODE_ID_ONOFF_SWITCH#">
<UseTemplate Name="ASOBO_GT_Switch_XStates">
<ANIM_NAME>#ANIM_NAME_ONOFF_SWITCH#</ANIM_NAME>
<NUM_STATES>3</NUM_STATES>
<WWISE_EVENT>lswitch</WWISE_EVENT>
<SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE>
<SWITCH_POSITION_VAR>XMLVAR_A320_WeatherRadar_Sys</SWITCH_POSITION_VAR>
<SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION>
<ANIMREF_ID>0</ANIMREF_ID>
<ANIMTIP_0_ON_PERCENT>0</ANIMTIP_0_ON_PERCENT>
<ANIMTIP_1_ON_PERCENT>.5</ANIMTIP_1_ON_PERCENT>
<ANIMTIP_2_ON_PERCENT>1</ANIMTIP_2_ON_PERCENT>
<ANIMTIP_0>TT:COCKPIT.TOOLTIPS.RADAR_SYS_SET_1</ANIMTIP_0>
<ANIMTIP_1>TT:COCKPIT.TOOLTIPS.RADAR_SYS_SET_OFF</ANIMTIP_1>
<ANIMTIP_2>TT:COCKPIT.TOOLTIPS.RADAR_SYS_SET_2</ANIMTIP_2>
</UseTemplate>
</Component>
<Component ID="#NODE_ID_MODE_KNOB#" Node="#NODE_ID_MODE_KNOB#">
<Component ID="#NODE_ID#" Node="#NODE_ID#">
<UseTemplate Name="ASOBO_GT_Switch_XStates">
<ANIM_NAME>#ANIM_NAME_MODE_KNOB#</ANIM_NAME>
<ANIM_NAME>#ANIM_NAME#</ANIM_NAME>
<NUM_STATES>4</NUM_STATES>
<SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION>
<ARROW_TYPE>Curved</ARROW_TYPE>
Expand All @@ -669,6 +707,32 @@
</Component>
</Template>

<Template Name="FBW_AIRBUS_WeatherRadar_Sys_Template">
<DefaultTemplateParameters>
<NODE_ID>AIRBUS_Switch_WeatherRader_OnOff</NODE_ID>
<ANIM_NAME>AIRBUS_Switch_WeatherRader_OnOff</ANIM_NAME>
<WWISE_EVENT>smallknob</WWISE_EVENT>
</DefaultTemplateParameters>

<Component ID="#NODE_ID#" Node="#NODE_ID#">
<UseTemplate Name="ASOBO_GT_Switch_XStates">
<ANIM_NAME>#ANIM_NAME#</ANIM_NAME>
<NUM_STATES>3</NUM_STATES>
<WWISE_EVENT>lswitch</WWISE_EVENT>
<SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE>
<SWITCH_POSITION_VAR>XMLVAR_A320_WeatherRadar_Sys</SWITCH_POSITION_VAR>
<SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION>
<ANIMREF_ID>0</ANIMREF_ID>
<ANIMTIP_0_ON_PERCENT>0</ANIMTIP_0_ON_PERCENT>
<ANIMTIP_1_ON_PERCENT>.5</ANIMTIP_1_ON_PERCENT>
<ANIMTIP_2_ON_PERCENT>1</ANIMTIP_2_ON_PERCENT>
<ANIMTIP_0>TT:COCKPIT.TOOLTIPS.RADAR_SYS_SET_1</ANIMTIP_0>
<ANIMTIP_1>TT:COCKPIT.TOOLTIPS.RADAR_SYS_SET_OFF</ANIMTIP_1>
<ANIMTIP_2>TT:COCKPIT.TOOLTIPS.RADAR_SYS_SET_2</ANIMTIP_2>
</UseTemplate>
</Component>
</Template>

<Template Name="FBW_AIRLINER_Aircond_Knob_Template">
<DefaultTemplateParameters>
<ID>1</ID>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,9 @@
<OverrideTemplateParameters>
</OverrideTemplateParameters>

<UseTemplate Name="FBW_AIRLINER_Audio_Volume_Knob_Template">
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_AIRLINER_Audio_Volume_Knob_Template</ANIM_TEMPLATE>
<NODE_ID>#NODE_ID_RECEIVER_VHF_L#</NODE_ID>
<NODE_ID_LIGHT>#NODE_ID_LIGHT_RECEIVER_VHF_L#</NODE_ID_LIGHT>
<ANIM_NAME_KNOB>#ANIM_NAME_KNOB_RECEIVER_VHF_L#</ANIM_NAME_KNOB>
Expand All @@ -354,7 +356,9 @@
<TOOLTIP_HAND>TT:COCKPIT.TOOLTIPS.TRANSMITTER_VHF_L_AUDIO_TOGGLE</TOOLTIP_HAND>
<TOOLTIP_PB>TT:COCKPIT.TOOLTIPS.TRANSMITTER_SELECT_VHF_L</TOOLTIP_PB>
</UseTemplate>
<UseTemplate Name="FBW_AIRLINER_Audio_Volume_Knob_Template">
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_AIRLINER_Audio_Volume_Knob_Template</ANIM_TEMPLATE>
<NODE_ID>#NODE_ID_RECEIVER_VHF_C#</NODE_ID>
<NODE_ID_LIGHT>#NODE_ID_LIGHT_RECEIVER_VHF_C#</NODE_ID_LIGHT>
<ANIM_NAME_KNOB>#ANIM_NAME_KNOB_RECEIVER_VHF_C#</ANIM_NAME_KNOB>
Expand All @@ -373,7 +377,9 @@
<TOOLTIP_HAND>TT:COCKPIT.TOOLTIPS.TRANSMITTER_VHF_C_AUDIO_TOGGLE</TOOLTIP_HAND>
<TOOLTIP_PB>TT:COCKPIT.TOOLTIPS.TRANSMITTER_SELECT_VHF_C</TOOLTIP_PB>
</UseTemplate>
<UseTemplate Name="FBW_AIRLINER_Audio_Volume_Knob_Template">
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_AIRLINER_Audio_Volume_Knob_Template</ANIM_TEMPLATE>
<NODE_ID>#NODE_ID_RECEIVER_VHF_R#</NODE_ID>
<NODE_ID_LIGHT>#NODE_ID_LIGHT_RECEIVER_VHF_R#</NODE_ID_LIGHT>
<ANIM_NAME_KNOB>#ANIM_NAME_KNOB_RECEIVER_VHF_R#</ANIM_NAME_KNOB>
Expand All @@ -387,7 +393,6 @@
<Radio_ID>3</Radio_ID>
<Button_ID>3</Button_ID>
<TRANSMIT_ID>2</TRANSMIT_ID>

<TOOLTIP_LEFT>TT:COCKPIT.TOOLTIPS.TRANSMITTER_VHF_R_VOLUME_DEC</TOOLTIP_LEFT>
<TOOLTIP_RIGHT>TT:COCKPIT.TOOLTIPS.TRANSMITTER_VHF_R_VOLUME_INC</TOOLTIP_RIGHT>
<TOOLTIP_HAND>TT:COCKPIT.TOOLTIPS.TRANSMITTER_VHF_R_AUDIO_TOGGLE</TOOLTIP_HAND>
Expand Down
Loading

0 comments on commit 16a62d4

Please sign in to comment.