Skip to content

Commit 1f99ac3

Browse files
committed
fix(a32nx): nav/logo legacy interaction - fs2020 (#10792)
* fix(a32nx): nav/logo legacy interaction (#10781) * fix: fs2020 workaround
1 parent 1e1a3a1 commit 1f99ac3

3 files changed

Lines changed: 119 additions & 73 deletions

File tree

fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Interior/Inputs/Overhead_Inputs.xml

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,22 @@
66

77
<InputEvent ID="A32NX_OVH_LIGHTS">
88
<Presets>
9-
<Extend Target="ASOBO_GIE_Anim_Handling">
10-
<Parameters Type="Default">
11-
<INPUT_EVENT_ID_SOURCE>A32NX_OVH_LIGHTS</INPUT_EVENT_ID_SOURCE>
12-
</Parameters>
13-
</Extend>
9+
<Condition NotEmpty="EXTEND_TARGET">
10+
<True>
11+
<Extend Target="#EXTEND_TARGET#">
12+
<Parameters Type="Default">
13+
<INPUT_EVENT_ID_SOURCE>A32NX_OVH_LIGHTS</INPUT_EVENT_ID_SOURCE>
14+
</Parameters>
15+
</Extend>
16+
</True>
17+
<False>
18+
<Extend Target="ASOBO_GIE_Anim_Handling">
19+
<Parameters Type="Default">
20+
<INPUT_EVENT_ID_SOURCE>A32NX_OVH_LIGHTS</INPUT_EVENT_ID_SOURCE>
21+
</Parameters>
22+
</Extend>
23+
</False>
24+
</Condition>
1425
</Presets>
1526
</InputEvent>
1627
</ModelBehaviors>
Lines changed: 102 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,107 @@
11
<!-- Copyright (c) 2026 FlyByWire Simulations -->
22
<!-- SPDX-License-Identifier: GPL-3.0 -->
3-
4-
<Template Name="FBW_A32NX_NAV_LOGO_LT_SW_Template">
5-
<Parameters Type="Default">
6-
<INPUT_EVENT_ID_SOURCE>A32NX_OVH_LIGHTS</INPUT_EVENT_ID_SOURCE>
7-
<STATE_VAR_NAME>A32NX_LIGHTS_NAV_LOGO</STATE_VAR_NAME>
8-
<ANIM_NAME>#NODE_ID#</ANIM_NAME>
9-
<ANIM_LAG>1000</ANIM_LAG>
10-
<ANIM_LENGTH>3</ANIM_LENGTH>
11-
<WWISE_EVENT>lswitch</WWISE_EVENT>
12-
<TOOLTIP_TITLE>A32NX.TOOLTIPS.LIGHTS_NAV_LOGO_TITLE</TOOLTIP_TITLE>
13-
<TT_DESCRIPTION_ID>A32NX.TOOLTIPS.LIGHTS_NAV_LOGO_ACTION</TT_DESCRIPTION_ID>
14-
</Parameters>
15-
<Parameters Type="Override">
16-
<POS_OFF>0</POS_OFF>
17-
<POS_SYS1>1</POS_SYS1>
18-
<POS_SYS2>2</POS_SYS2>
19-
</Parameters>
20-
<Component ID="#NODE_ID#" Node="#NODE_ID#">
21-
<UseTemplate Name="ASOBO_Interaction_Base_Template">
22-
<USE_INPUT_EVENT_ID>#INPUT_EVENT_ID_SOURCE#</USE_INPUT_EVENT_ID>
3+
<ModelBehaviors>
4+
<Template Name="FBW_A32NX_NAV_LOGO_LT_SW_Template">
5+
<Parameters Type="Default">
6+
<INPUT_EVENT_ID_SOURCE>A32NX_OVH_LIGHTS</INPUT_EVENT_ID_SOURCE>
237
<IE_NAME>NAV_LOGO_SW</IE_NAME>
24-
<INTERACTION_TYPE>Switch</INTERACTION_TYPE>
25-
<NUM_STATES>3</NUM_STATES>
26-
<STR_STATE_0>OFF</STR_STATE_0>
27-
<STR_STATE_1>SYS_1</STR_STATE_1>
28-
<STR_STATE_2>SYS_2</STR_STATE_2>
29-
<TT_VALUE_0>@TT_Package.GT_STATE_OFF</TT_VALUE_0>
30-
<TT_VALUE_1>A32NX.TOOLTIPS.STATE_SYS_1</TT_VALUE_1>
31-
<TT_VALUE_2>A32NX.TOOLTIPS.STATE_SYS_2</TT_VALUE_2>
32-
<SET_STATE_0>#POS_OFF# (&gt;L:#STATE_VAR_NAME#)</SET_STATE_0>
33-
<SET_STATE_1>#POS_SYS1# (&gt;L:#STATE_VAR_NAME#)</SET_STATE_1>
34-
<SET_STATE_2>#POS_SYS2# (&gt;L:#STATE_VAR_NAME#)</SET_STATE_2>
35-
<LOCAL_VAR_TO_WATCH_0>#STATE_VAR_NAME#</LOCAL_VAR_TO_WATCH_0>
36-
<SIMVAR_TO_WATCH_0>LIGHT NAV</SIMVAR_TO_WATCH_0>
37-
<SIMVAR_TO_WATCH_1>LIGHT LOGO</SIMVAR_TO_WATCH_1>
38-
<GET_STATE_EXTERNAL>(L:#STATE_VAR_NAME#) sp0</GET_STATE_EXTERNAL>
39-
<ENUM_VAL_TO_POS_EXTERNAL>
40-
l0 #POS_OFF# == if{
41-
0 (&gt;A:LIGHT NAV)
42-
0 (&gt;A:LIGHT LOGO)
43-
0 0 (&gt;K:2:NAV_LIGHTS_SET)
44-
0 0 (&gt;K:2:LOGO_LIGHTS_SET)
45-
} els{
46-
1 (&gt;A:LIGHT NAV)
47-
1 (&gt;A:LIGHT LOGO)
48-
0 1 (&gt;K:2:LOGO_LIGHTS_SET)
49-
50-
l0 #POS_SYS1# == if{
51-
4 0 (&gt;K:2:NAV_LIGHTS_SET)
52-
5 0 (&gt;K:2:NAV_LIGHTS_SET)
53-
6 0 (&gt;K:2:NAV_LIGHTS_SET)
54-
1 1 (&gt;K:2:NAV_LIGHTS_SET)
55-
2 1 (&gt;K:2:NAV_LIGHTS_SET)
56-
3 1 (&gt;K:2:NAV_LIGHTS_SET)
8+
<STATE_VAR_NAME>A32NX_LIGHTS_NAV_LOGO</STATE_VAR_NAME>
9+
<ANIM_NAME>#NODE_ID#</ANIM_NAME>
10+
<ANIM_LAG>1000</ANIM_LAG>
11+
<ANIM_LENGTH>3</ANIM_LENGTH>
12+
<WWISE_EVENT>lswitch</WWISE_EVENT>
13+
<TOOLTIP_TITLE>A32NX.TOOLTIPS.LIGHTS_NAV_LOGO_TITLE</TOOLTIP_TITLE>
14+
<TT_DESCRIPTION_ID>A32NX.TOOLTIPS.LIGHTS_NAV_LOGO_ACTION</TT_DESCRIPTION_ID>
15+
</Parameters>
16+
<Parameters Type="Override">
17+
<IE_TO_USE>#INPUT_EVENT_ID_SOURCE#_#IE_NAME#</IE_TO_USE>
18+
</Parameters>
19+
<Component ID="#NODE_ID#" Node="#NODE_ID#">
20+
<UseInputEvent ID="A32NX_OVH_LIGHTS">
21+
<EXTEND_TARGET>ASOBO_GIE_Base</EXTEND_TARGET>
22+
<IE_NAME>NAV_LOGO_SW</IE_NAME>
23+
<INC_ARG_COUNT>0</INC_ARG_COUNT>
24+
<DEC_ARG_COUNT>0</DEC_ARG_COUNT>
25+
<SET_ARG_COUNT>1</SET_ARG_COUNT>
26+
<INC_CODE>(B:#IE_TO_USE#) 1 + (&gt;B:#IE_TO_USE#_Set)</INC_CODE>
27+
<DEC_CODE>(B:#IE_TO_USE#) 1 - (&gt;B:#IE_TO_USE#_Set)</DEC_CODE>
28+
<SET_CODE>
29+
p0 0 max 2 min (&gt;L:A32NX_LIGHTS_NAV_LOGO)
30+
</SET_CODE>
31+
<INIT_CODE>
32+
(L:A32NX_LIGHTS_NAV_LOGO) 0 == if{
33+
0 (&gt;A:LIGHT NAV)
34+
0 (&gt;A:LIGHT LOGO)
35+
0 0 (&gt;K:2:NAV_LIGHTS_SET)
36+
0 0 (&gt;K:2:LOGO_LIGHTS_SET)
5737
} els{
58-
1 0 (&gt;K:2:NAV_LIGHTS_SET)
59-
2 0 (&gt;K:2:NAV_LIGHTS_SET)
60-
3 0 (&gt;K:2:NAV_LIGHTS_SET)
61-
4 1 (&gt;K:2:NAV_LIGHTS_SET)
62-
5 1 (&gt;K:2:NAV_LIGHTS_SET)
63-
6 1 (&gt;K:2:NAV_LIGHTS_SET)
38+
1 (&gt;A:LIGHT NAV)
39+
1 (&gt;A:LIGHT LOGO)
40+
0 1 (&gt;K:2:LOGO_LIGHTS_SET)
41+
42+
l0 1 == if{
43+
4 0 (&gt;K:2:NAV_LIGHTS_SET)
44+
5 0 (&gt;K:2:NAV_LIGHTS_SET)
45+
6 0 (&gt;K:2:NAV_LIGHTS_SET)
46+
1 1 (&gt;K:2:NAV_LIGHTS_SET)
47+
2 1 (&gt;K:2:NAV_LIGHTS_SET)
48+
3 1 (&gt;K:2:NAV_LIGHTS_SET)
49+
} els{
50+
1 0 (&gt;K:2:NAV_LIGHTS_SET)
51+
2 0 (&gt;K:2:NAV_LIGHTS_SET)
52+
3 0 (&gt;K:2:NAV_LIGHTS_SET)
53+
4 1 (&gt;K:2:NAV_LIGHTS_SET)
54+
5 1 (&gt;K:2:NAV_LIGHTS_SET)
55+
6 1 (&gt;K:2:NAV_LIGHTS_SET)
56+
}
6457
}
65-
}
66-
l0
67-
</ENUM_VAL_TO_POS_EXTERNAL>
68-
<SWITCH_DIRECTION>Vertical</SWITCH_DIRECTION>
69-
</UseTemplate>
70-
</Component>
71-
</Template>
58+
</INIT_CODE>
59+
<SET_PARAM_0_IS_DYNAMIC>False</SET_PARAM_0_IS_DYNAMIC>
60+
<TT_ICON>MOVE_AXIS_Y</TT_ICON>
61+
<TT_INTERACTION>PRIMARY_DOWN+Y_AXIS</TT_INTERACTION>
62+
<TT_INTERACTION_LOCKABLE>Y_AXIS</TT_INTERACTION_LOCKABLE>
63+
<TT_DESCRIPTION>#TT_DESCRIPTION_ID#</TT_DESCRIPTION>
64+
<TT_DESCRIPTION_IS_DYNAMIC>False</TT_DESCRIPTION_IS_DYNAMIC>
65+
<TT_VALUE>
66+
(L:A32NX_LIGHTS_NAV_LOGO)
67+
s0 0 == if{ (R:1:@TT_Package.GT_STATE_OFF) quit }
68+
l0 1 == if{ (R:1:A32NX.TOOLTIPS.STATE_SYS_1) quit }
69+
l0 2 == if{ (R:1:A32NX.TOOLTIPS.STATE_SYS_2) quit }
70+
</TT_VALUE>
71+
<TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC>
72+
<VALUE_UNITS/>
73+
<VALUE_CODE>(L:A32NX_LIGHTS_NAV_LOGO)</VALUE_CODE>
74+
<LOCAL_VAR_TO_WATCH_0>A32NX_LIGHTS_NAV_LOGO</LOCAL_VAR_TO_WATCH_0>
75+
<SIMVAR_TO_WATCH_0>LIGHT NAV</SIMVAR_TO_WATCH_0>
76+
<SIMVAR_TO_WATCH_1>LIGHT LOGO</SIMVAR_TO_WATCH_1>
77+
<BINDING_SET_0>Off</BINDING_SET_0>
78+
<BINDING_SET_0_EVENT_ID/>
79+
<BINDING_SET_0_PARAM_0>0</BINDING_SET_0_PARAM_0>
80+
<BINDING_SET_0_PARAM_0_IS_DYNAMIC>False</BINDING_SET_0_PARAM_0_IS_DYNAMIC>
81+
<BINDING_SET_1>SYS1</BINDING_SET_1>
82+
<BINDING_SET_1_EVENT_ID/>
83+
<BINDING_SET_1_PARAM_0>1</BINDING_SET_1_PARAM_0>
84+
<BINDING_SET_1_PARAM_0_IS_DYNAMIC>False</BINDING_SET_1_PARAM_0_IS_DYNAMIC>
85+
<BINDING_SET_2>SYS2</BINDING_SET_2>
86+
<BINDING_SET_2_EVENT_ID/>
87+
<BINDING_SET_2_PARAM_0>2</BINDING_SET_2_PARAM_0>
88+
<BINDING_SET_2_PARAM_0_IS_DYNAMIC>False</BINDING_SET_2_PARAM_0_IS_DYNAMIC>
89+
</UseInputEvent>
90+
<UseTemplate Name="ASOBO_GT_Part_ID"/>
91+
<UseTemplate Name="ASOBO_GT_Switch_3States">
92+
<TOOLTIP_ENTRY_0>#IE_TO_USE#</TOOLTIP_ENTRY_0>
93+
<ANIM_NAME>#ANIM_NAME#</ANIM_NAME>
94+
<ANIM_LAG>#ANIM_LAG#</ANIM_LAG>
95+
<ANIM_LENGTH>#ANIM_LENGTH#</ANIM_LENGTH>
96+
<SWITCH_DIRECTION>Vertical</SWITCH_DIRECTION>
97+
<WWISE_EVENT>#WWISE_EVENT#</WWISE_EVENT>
98+
<CODE_POS_0>2 (&gt;B:#IE_TO_USE#_Set)</CODE_POS_0>
99+
<CODE_POS_1>1 (&gt;B:#IE_TO_USE#_Set)</CODE_POS_1>
100+
<CODE_POS_2>0 (&gt;B:#IE_TO_USE#_Set)</CODE_POS_2>
101+
<STATE0_TEST>(B:#IE_TO_USE#) 2 ==</STATE0_TEST>
102+
<STATE1_TEST>(B:#IE_TO_USE#) 1 ==</STATE1_TEST>
103+
<STATE2_TEST>(B:#IE_TO_USE#) 0 ==</STATE2_TEST>
104+
</UseTemplate>
105+
</Component>
106+
</Template>
107+
</ModelBehaviors>

fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/model/A320_NEO_INTERIOR.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1964,8 +1964,7 @@
19641964
<!-- EXT LT NAV & LOGO -->
19651965
<UseTemplate Name="FBW_A32NX_NAV_LOGO_LT_SW_Template">
19661966
<NODE_ID>SWITCH_OVHD_EXTLT_NAVLOGO</NODE_ID>
1967-
<INVERT_DRAG_POSITIVE_CONDITION>True</INVERT_DRAG_POSITIVE_CONDITION>
1968-
<INVERT_WHEEL_INTERACTION>True</INVERT_WHEEL_INTERACTION>
1967+
<INVERT_ANIM>True</INVERT_ANIM>
19691968
</UseTemplate>
19701969

19711970
<!-- turn off the connection to the logo lights when the plane is not on ground and the flaps are retracted -->

0 commit comments

Comments
 (0)