Merge branch 'next' of ssh://git.code.sf.net/u/deltaecho/flightgear_fgdata into next
4276
AI/Traffic/C/CLH.xml
2194
AI/Traffic/D/DLA.xml
59356
AI/Traffic/D/DLH.xml
|
@ -8,7 +8,7 @@
|
|||
<grain-texture-enabled type="int">1</grain-texture-enabled>
|
||||
<grain-magnification type="float"><use>/environment/aircraft-effects/dirt-fuselage</use></grain-magnification>
|
||||
<texture n="7">
|
||||
<image>Models/Effects/exterior/dirt.png</image>
|
||||
<image>Aircraft/c172p/Models/Effects/exterior/dirt.png</image>
|
||||
<type>2d</type>
|
||||
<filter>linear-mipmap-linear</filter>
|
||||
<wrap-s>repeat</wrap-s>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<grain-texture-enabled type="int">1</grain-texture-enabled>
|
||||
<grain-magnification type="float"><use>/environment/aircraft-effects/dirt-fuselage</use></grain-magnification>
|
||||
<texture n="7">
|
||||
<image>Models/Effects/exterior/dirt.png</image>
|
||||
<image>Aircraft/c172p/Models/Effects/exterior/dirt.png</image>
|
||||
<type>2d</type>
|
||||
<filter>linear-mipmap-linear</filter>
|
||||
<wrap-s>repeat</wrap-s>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<grain-texture-enabled type="int">1</grain-texture-enabled>
|
||||
<grain-magnification type="float"><use>/environment/aircraft-effects/dirt-edge</use></grain-magnification>
|
||||
<texture n="7">
|
||||
<image>Models/Effects/exterior/dirt.png</image>
|
||||
<image>Aircraft/c172p/Models/Effects/exterior/dirt.png</image>
|
||||
<type>2d</type>
|
||||
<filter>linear-mipmap-linear</filter>
|
||||
<wrap-s>repeat</wrap-s>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<grain-texture-enabled type="int">1</grain-texture-enabled>
|
||||
<grain-magnification type="float"><use>/environment/aircraft-effects/dirt-tail</use></grain-magnification>
|
||||
<texture n="7">
|
||||
<image>Models/Effects/exterior/dirt.png</image>
|
||||
<image>Aircraft/c172p/Models/Effects/exterior/dirt.png</image>
|
||||
<type>2d</type>
|
||||
<filter>linear-mipmap-linear</filter>
|
||||
<wrap-s>repeat</wrap-s>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<grain-texture-enabled type="int">1</grain-texture-enabled>
|
||||
<grain-magnification type="float"><use>/environment/aircraft-effects/dirt-wing</use></grain-magnification>
|
||||
<texture n="7">
|
||||
<image>Models/Effects/exterior/dirt.png</image>
|
||||
<image>Aircraft/c172p/Models/Effects/exterior/dirt.png</image>
|
||||
<type>2d</type>
|
||||
<filter>linear-mipmap-linear</filter>
|
||||
<wrap-s>repeat</wrap-s>
|
||||
|
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 28 KiB |
|
@ -35,7 +35,7 @@
|
|||
<grain-texture-enabled type="int">1</grain-texture-enabled>
|
||||
<grain-magnification type="float"><use>/environment/aircraft-effects/dirt-fuselage</use></grain-magnification>
|
||||
<texture n="7">
|
||||
<image>Models/Effects/exterior/dirt.png</image>
|
||||
<image>Aircraft/c172p/Models/Effects/exterior/dirt.png</image>
|
||||
<type>2d</type>
|
||||
<filter>linear-mipmap-linear</filter>
|
||||
<wrap-s>repeat</wrap-s>
|
||||
|
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
@ -2,8 +2,8 @@
|
|||
<PropertyList>
|
||||
|
||||
<!--
|
||||
Bendix/King KX155/165 COMM/NAV radio
|
||||
Use this instrument as COMM1/NAV1 radio
|
||||
Bendix/King KX155/165 COM/NAV radio
|
||||
Use this instrument as COM1/NAV1 radio
|
||||
|
||||
Created by Torsten Dreyer, October 2008
|
||||
|
||||
|
@ -39,6 +39,7 @@
|
|||
<comm-dial-mhz>instrumentation/comm[0]/frequencies/dial-mhz</comm-dial-mhz>
|
||||
<comm-volume>instrumentation/comm[0]/volume-selected</comm-volume>
|
||||
<comm-test>instrumentation/comm[0]/test-btn</comm-test>
|
||||
<channel-mode-selector>instrumentation/comm[0]/channel-mode-selector</channel-mode-selector>
|
||||
<nav-frq-swp>instrumentation/nav[0]/frq-swap-btn</nav-frq-swp>
|
||||
<nav-frq-selected>instrumentation/nav[0]/frequencies/selected-mhz</nav-frq-selected>
|
||||
<nav-frq-standby>instrumentation/nav[0]/frequencies/standby-mhz</nav-frq-standby>
|
||||
|
@ -52,41 +53,40 @@
|
|||
|
||||
<effect>
|
||||
<inherits-from>../../../../Effects/interior/lm-kx165-1r</inherits-from>
|
||||
<object-name>CommKnobs</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>NavKnobs</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>CommKHz</object-name>
|
||||
<object-name>CommMHz</object-name>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>NavKHz</object-name>
|
||||
<object-name>NavMHz</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>COMknobKHZ</object-name>
|
||||
<object-name>COMknobMHZ</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<object-name>COMvol</object-name>
|
||||
<object-name>COMchan</object-name>
|
||||
<object-name>NAVknobKHZ</object-name>
|
||||
<object-name>NAVknobMHZ</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<object-name>NAVmode</object-name>
|
||||
<object-name>NAVvol</object-name>
|
||||
</effect>
|
||||
<effect>
|
||||
<inherits-from>../../../../Effects/interior/lm-kx165-1</inherits-from>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>Chassis</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<object-name>COMchan</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<object-name>NAVmode</object-name>
|
||||
<object-name>KX165</object-name>
|
||||
</effect>
|
||||
|
||||
<effect>
|
||||
<inherits-from>../../../../Effects/interior/c172p-interior-radiance</inherits-from>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
|
@ -101,25 +101,23 @@
|
|||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>KX165Line</object-name>
|
||||
<object-name>Screen</object-name>
|
||||
</effect>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>Chassis</object-name>
|
||||
<object-name>CommKnobs</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>NavKnobs</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>CommKHz</object-name>
|
||||
<object-name>CommMHz</object-name>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>NavKHz</object-name>
|
||||
<object-name>NavMHz</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>KX165</object-name>
|
||||
<object-name>COMknobKHZ</object-name>
|
||||
<object-name>COMknobMHZ</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<object-name>COMchan</object-name>
|
||||
<object-name>COMvol</object-name>
|
||||
<object-name>NAVknobKHZ</object-name>
|
||||
<object-name>NAVknobMHZ</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<object-name>NAVmode</object-name>
|
||||
<object-name>NAVvol</object-name>
|
||||
<condition>
|
||||
<not>
|
||||
<property>/sim/rendering/shaders/skydome</property>
|
||||
|
@ -132,99 +130,80 @@
|
|||
</emission>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<object-name>CommKnobs</object-name>
|
||||
<object-name>CommKHz</object-name>
|
||||
<object-name>CommMHz</object-name>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavKnobs</object-name>
|
||||
<object-name>NavKHz</object-name>
|
||||
<object-name>NavMHz</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
<object-name>NavStby100M</object-name>
|
||||
<object-name>NavStby10K</object-name>
|
||||
<object-name>NavStby10M</object-name>
|
||||
<object-name>NavStby1M</object-name>
|
||||
<object-name>NavStbyDot</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavUse100K</object-name>
|
||||
<object-name>NavUse100M</object-name>
|
||||
<object-name>NavUse10K</object-name>
|
||||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>Chassis</object-name>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>CommKnobs</object-name>
|
||||
<object-name>CommKHz</object-name>
|
||||
<object-name>CommMHz</object-name>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>COMknobKHZ</object-name>
|
||||
<object-name>COMknobMHZ</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<object-name>COMchan</object-name>
|
||||
<object-name>COMvol</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavKnobs</object-name>
|
||||
<object-name>NavKHz</object-name>
|
||||
<object-name>NavMHz</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>NAVknobKHZ</object-name>
|
||||
<object-name>NAVknobMHZ</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<object-name>NAVmode</object-name>
|
||||
<object-name>NAVvol</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
<object-name>NavStby100M</object-name>
|
||||
<object-name>NavStby10K</object-name>
|
||||
<object-name>NavStby10M</object-name>
|
||||
<object-name>NavStby1M</object-name>
|
||||
<object-name>NavStbyDot</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavUse100K</object-name>
|
||||
<object-name>NavUse100M</object-name>
|
||||
<object-name>NavUse10K</object-name>
|
||||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>Chassis</object-name>
|
||||
<object-name>KX165Line</object-name>
|
||||
<object-name>KX165</object-name>
|
||||
<object-name>Screen</object-name>
|
||||
<property-base>/sim/instrumentation/comm[0]</property-base>
|
||||
<texture-prop>texture-file</texture-prop>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
<object-name>NavStby100M</object-name>
|
||||
<object-name>NavStby10K</object-name>
|
||||
<object-name>NavStby10M</object-name>
|
||||
<object-name>NavStby1M</object-name>
|
||||
<object-name>NavStbyDot</object-name>
|
||||
<object-name>NavUse100K</object-name>
|
||||
<object-name>NavUse100M</object-name>
|
||||
<object-name>NavUse10K</object-name>
|
||||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>KX165Line</object-name>
|
||||
<condition>
|
||||
<property>/sim/model/c172p/lighting/comm0-power</property>
|
||||
</condition>
|
||||
|
@ -232,8 +211,10 @@
|
|||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<object-name>COMchan</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<object-name>NAVmode</object-name>
|
||||
<condition>
|
||||
<not>
|
||||
<property>sim/rendering/rembrandt/enabled</property>
|
||||
|
@ -249,10 +230,33 @@
|
|||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
<object-name>NavStby100M</object-name>
|
||||
<object-name>NavStby10K</object-name>
|
||||
<object-name>NavStby10M</object-name>
|
||||
<object-name>NavStby1M</object-name>
|
||||
<object-name>NavStbyDot</object-name>
|
||||
<object-name>NavUse100K</object-name>
|
||||
<object-name>NavUse100M</object-name>
|
||||
<object-name>NavUse10K</object-name>
|
||||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>KX165Line</object-name>
|
||||
<condition>
|
||||
<and>
|
||||
<not>
|
||||
|
@ -271,20 +275,45 @@
|
|||
<factor-prop>/sim/model/c172p/lighting/comm0</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Effects/model-transparent</inherits-from>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
<object-name>NavStby100M</object-name>
|
||||
<object-name>NavStby10K</object-name>
|
||||
<object-name>NavStby10M</object-name>
|
||||
<object-name>NavStby1M</object-name>
|
||||
<object-name>NavStbyDot</object-name>
|
||||
<object-name>NavUse100K</object-name>
|
||||
<object-name>NavUse100M</object-name>
|
||||
<object-name>NavUse10K</object-name>
|
||||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>KX165Line</object-name>
|
||||
<object-name>Screen</object-name>
|
||||
</effect>
|
||||
|
||||
<!-- Comm part -->
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<property alias="../../params/comm-frq-swp"/>
|
||||
<factor>-0.004</factor>
|
||||
<factor>-0.003</factor>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
|
@ -361,6 +390,20 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>textranslate</type>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<property alias="../../params/comm-frq-selected"/>
|
||||
<step>0.001</step>
|
||||
<factor>100</factor>
|
||||
<bias>0.0001</bias>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>textranslate</type>
|
||||
|
@ -431,13 +474,27 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>textranslate</type>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<property alias="../../params/comm-frq-standby"/>
|
||||
<step>0.001</step>
|
||||
<factor>100</factor>
|
||||
<bias>0.0001</bias>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<!-- NAV part -->
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<property alias="../../params/nav-frq-swp"/>
|
||||
<factor>-0.004</factor>
|
||||
<factor>-0.003</factor>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
|
@ -588,7 +645,7 @@
|
|||
<!-- Knobs and buttons -->
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>NAVvol</object-name>
|
||||
<property alias="../../params/nav-audio"/>
|
||||
<factor>0.002</factor>
|
||||
<axis>
|
||||
|
@ -602,7 +659,7 @@
|
|||
<!-- Comm part -->
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>COMvol</object-name>
|
||||
<property alias="../../params/comm-volume"/>
|
||||
<factor>-65</factor>
|
||||
<axis>
|
||||
|
@ -611,9 +668,9 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.35003</x-m>
|
||||
<y-m> 0.05092</y-m>
|
||||
<z-m> 0.06991</z-m>
|
||||
<x-m>-0.34939</x-m>
|
||||
<y-m> 0.05082</y-m>
|
||||
<z-m> 0.07122</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
|
@ -684,9 +741,33 @@
|
|||
</hovered>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>COMknobKHZ</object-name>
|
||||
<factor>0.005</factor>
|
||||
<property>instrumentation/comm[0]/channel-mode-selector</property>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>COMchan</object-name>
|
||||
<factor>-0.001</factor>
|
||||
<property>instrumentation/comm[0]/channel-button</property>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>CommKHz</object-name>
|
||||
<object-name>COMknobKHZ</object-name>
|
||||
<property alias="/params/comm-dial-khz"/>
|
||||
<factor>-0.25</factor>
|
||||
<axis>
|
||||
|
@ -695,24 +776,11 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.34721</x-m>
|
||||
<y-m> 0.09092</y-m>
|
||||
<z-m> 0.07191</z-m>
|
||||
<x-m>-0.34726</x-m>
|
||||
<y-m> 0.09337</y-m>
|
||||
<z-m> 0.07401</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
<condition>
|
||||
<property alias="../../../../../params/power-comm"/>
|
||||
</condition>
|
||||
<command>property-adjust</command>
|
||||
<property alias="/params/comm-frq-standby"/>
|
||||
<factor>0.025</factor>
|
||||
<min>0.0</min>
|
||||
<max>1.0</max>
|
||||
<resolution>0.025</resolution>
|
||||
<wrap>true</wrap>
|
||||
<mask>decimal</mask>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property alias="/params/comm-dial-khz"/>
|
||||
|
@ -721,23 +789,52 @@
|
|||
<max>1440</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
<increase>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
c172p.increment(0, 1);
|
||||
</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>c172p.click("kx165-1-dial")</script>
|
||||
</binding>
|
||||
</action>
|
||||
</increase>
|
||||
<decrease>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
c172p.increment(0, -1);
|
||||
</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>c172p.click("kx165-1-dial")</script>
|
||||
</binding>
|
||||
</decrease>
|
||||
<shift-action>
|
||||
<repeatable>0</repeatable>
|
||||
<binding>
|
||||
<command>property-cycle</command>
|
||||
<property>instrumentation/comm[0]/channel-mode-selector</property>
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</shift-action>
|
||||
<hovered>
|
||||
<binding>
|
||||
<command>set-tooltip</command>
|
||||
<tooltip-id>comm1-kHz</tooltip-id>
|
||||
<label>Adjust COM1 kHz</label>
|
||||
<label>Adjust COM1 kHz; Shift click to toggle 8.33</label>
|
||||
</binding>
|
||||
</hovered>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>CommMHz</object-name>
|
||||
<object-name>COMknobMHZ</object-name>
|
||||
<property alias="/params/comm-dial-mhz"/>
|
||||
<factor>-0.25</factor>
|
||||
<axis>
|
||||
|
@ -746,9 +843,9 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.34721</x-m>
|
||||
<y-m> 0.09092</y-m>
|
||||
<z-m> 0.07191</z-m>
|
||||
<x-m>-0.34954</x-m>
|
||||
<y-m> 0.09337</y-m>
|
||||
<z-m> 0.07401</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
|
@ -759,7 +856,7 @@
|
|||
<property alias="/params/comm-frq-standby"/>
|
||||
<factor>1</factor>
|
||||
<min>118.0</min>
|
||||
<max>137.0</max>
|
||||
<max>136.99167</max>
|
||||
<wrap>true</wrap>
|
||||
<mask>integer</mask>
|
||||
</binding>
|
||||
|
@ -787,7 +884,7 @@
|
|||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<visible>true</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
|
@ -830,7 +927,7 @@
|
|||
<!-- Nav part -->
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>NAVvol</object-name>
|
||||
<property alias="../../params/nav-volume"/>
|
||||
<factor>-65</factor>
|
||||
<axis>
|
||||
|
@ -839,9 +936,9 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.35003</x-m>
|
||||
<y-m> 0.13092</y-m>
|
||||
<z-m>0.06991</z-m>
|
||||
<x-m>-0.34939</x-m>
|
||||
<y-m> 0.13118</y-m>
|
||||
<z-m> 0.07122</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
|
@ -890,7 +987,7 @@
|
|||
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>NavKHz</object-name>
|
||||
<object-name>NAVknobKHZ</object-name>
|
||||
<property alias="/params/nav-dial-khz"/>
|
||||
<factor>-0.25</factor>
|
||||
<axis>
|
||||
|
@ -899,9 +996,9 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.34568</x-m>
|
||||
<y-m> 0.17092</y-m>
|
||||
<z-m> 0.07191</z-m>
|
||||
<x-m>-0.34726</x-m>
|
||||
<y-m> 0.17527</y-m>
|
||||
<z-m> 0.07401</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
|
@ -941,7 +1038,7 @@
|
|||
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>NavMHz</object-name>
|
||||
<object-name>NAVknobMHZ</object-name>
|
||||
<property alias="/params/nav-dial-mhz"/>
|
||||
<factor>-0.25</factor>
|
||||
<axis>
|
||||
|
@ -950,9 +1047,9 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.34568</x-m>
|
||||
<y-m> 0.17092</y-m>
|
||||
<z-m> 0.07191</z-m>
|
||||
<x-m>-0.34954</x-m>
|
||||
<y-m> 0.17527</y-m>
|
||||
<z-m> 0.07401</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
|
@ -991,7 +1088,7 @@
|
|||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<visible>true</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
<PropertyList>
|
||||
|
||||
<!--
|
||||
Bendix/King KX155/165 COMM/NAV radio
|
||||
Use this instrument as COMM1/NAV1 radio
|
||||
Bendix/King KX155/165 COM/NAV radio
|
||||
Use this instrument as COM1/NAV1 radio
|
||||
|
||||
Created by Torsten Dreyer, October 2008
|
||||
|
||||
|
@ -39,6 +39,7 @@
|
|||
<comm-dial-mhz>instrumentation/comm[1]/frequencies/dial-mhz</comm-dial-mhz>
|
||||
<comm-volume>instrumentation/comm[1]/volume-selected</comm-volume>
|
||||
<comm-test>instrumentation/comm[1]/test-btn</comm-test>
|
||||
<channel-mode-selector>instrumentation/comm[1]/channel-mode-selector</channel-mode-selector>
|
||||
<nav-frq-swp>instrumentation/nav[1]/frq-swap-btn</nav-frq-swp>
|
||||
<nav-frq-selected>instrumentation/nav[1]/frequencies/selected-mhz</nav-frq-selected>
|
||||
<nav-frq-standby>instrumentation/nav[1]/frequencies/standby-mhz</nav-frq-standby>
|
||||
|
@ -52,41 +53,40 @@
|
|||
|
||||
<effect>
|
||||
<inherits-from>../../../../Effects/interior/lm-kx165-2r</inherits-from>
|
||||
<object-name>CommKnobs</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>NavKnobs</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>CommKHz</object-name>
|
||||
<object-name>CommMHz</object-name>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>NavKHz</object-name>
|
||||
<object-name>NavMHz</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>COMknobKHZ</object-name>
|
||||
<object-name>COMknobMHZ</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<object-name>COMvol</object-name>
|
||||
<object-name>COMchan</object-name>
|
||||
<object-name>NAVknobKHZ</object-name>
|
||||
<object-name>NAVknobMHZ</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<object-name>NAVmode</object-name>
|
||||
<object-name>NAVvol</object-name>
|
||||
</effect>
|
||||
<effect>
|
||||
<inherits-from>../../../../Effects/interior/lm-kx165-2</inherits-from>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>Chassis</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<object-name>COMchan</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<object-name>NAVmode</object-name>
|
||||
<object-name>KX165</object-name>
|
||||
</effect>
|
||||
|
||||
<effect>
|
||||
<inherits-from>../../../../Effects/interior/c172p-interior-radiance</inherits-from>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
|
@ -101,25 +101,23 @@
|
|||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>KX165Line</object-name>
|
||||
<object-name>Screen</object-name>
|
||||
</effect>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>Chassis</object-name>
|
||||
<object-name>CommKnobs</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>NavKnobs</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>CommKHz</object-name>
|
||||
<object-name>CommMHz</object-name>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>NavKHz</object-name>
|
||||
<object-name>NavMHz</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>KX165</object-name>
|
||||
<object-name>COMknobKHZ</object-name>
|
||||
<object-name>COMknobMHZ</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<object-name>COMchan</object-name>
|
||||
<object-name>COMvol</object-name>
|
||||
<object-name>NAVknobKHZ</object-name>
|
||||
<object-name>NAVknobMHZ</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<object-name>NAVmode</object-name>
|
||||
<object-name>NAVvol</object-name>
|
||||
<condition>
|
||||
<not>
|
||||
<property>/sim/rendering/shaders/skydome</property>
|
||||
|
@ -132,99 +130,80 @@
|
|||
</emission>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<object-name>CommKnobs</object-name>
|
||||
<object-name>CommKHz</object-name>
|
||||
<object-name>CommMHz</object-name>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavKnobs</object-name>
|
||||
<object-name>NavKHz</object-name>
|
||||
<object-name>NavMHz</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
<object-name>NavStby100M</object-name>
|
||||
<object-name>NavStby10K</object-name>
|
||||
<object-name>NavStby10M</object-name>
|
||||
<object-name>NavStby1M</object-name>
|
||||
<object-name>NavStbyDot</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavUse100K</object-name>
|
||||
<object-name>NavUse100M</object-name>
|
||||
<object-name>NavUse10K</object-name>
|
||||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>Chassis</object-name>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>CommKnobs</object-name>
|
||||
<object-name>CommKHz</object-name>
|
||||
<object-name>CommMHz</object-name>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>COMknobKHZ</object-name>
|
||||
<object-name>COMknobMHZ</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<object-name>COMchan</object-name>
|
||||
<object-name>COMvol</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavKnobs</object-name>
|
||||
<object-name>NavKHz</object-name>
|
||||
<object-name>NavMHz</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>NAVknobKHZ</object-name>
|
||||
<object-name>NAVknobMHZ</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<object-name>NAVmode</object-name>
|
||||
<object-name>NAVvol</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
<object-name>NavStby100M</object-name>
|
||||
<object-name>NavStby10K</object-name>
|
||||
<object-name>NavStby10M</object-name>
|
||||
<object-name>NavStby1M</object-name>
|
||||
<object-name>NavStbyDot</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavUse100K</object-name>
|
||||
<object-name>NavUse100M</object-name>
|
||||
<object-name>NavUse10K</object-name>
|
||||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>Chassis</object-name>
|
||||
<object-name>KX165Line</object-name>
|
||||
<object-name>KX165</object-name>
|
||||
<object-name>Screen</object-name>
|
||||
<property-base>/sim/instrumentation/comm[1]</property-base>
|
||||
<texture-prop>texture-file</texture-prop>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
<object-name>NavStby100M</object-name>
|
||||
<object-name>NavStby10K</object-name>
|
||||
<object-name>NavStby10M</object-name>
|
||||
<object-name>NavStby1M</object-name>
|
||||
<object-name>NavStbyDot</object-name>
|
||||
<object-name>NavUse100K</object-name>
|
||||
<object-name>NavUse100M</object-name>
|
||||
<object-name>NavUse10K</object-name>
|
||||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>KX165Line</object-name>
|
||||
<condition>
|
||||
<property>/sim/model/c172p/lighting/comm1-power</property>
|
||||
</condition>
|
||||
|
@ -232,8 +211,10 @@
|
|||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<object-name>COMchan</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<object-name>NAVmode</object-name>
|
||||
<condition>
|
||||
<not>
|
||||
<property>sim/rendering/rembrandt/enabled</property>
|
||||
|
@ -249,10 +230,33 @@
|
|||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
<object-name>NavStby100M</object-name>
|
||||
<object-name>NavStby10K</object-name>
|
||||
<object-name>NavStby10M</object-name>
|
||||
<object-name>NavStby1M</object-name>
|
||||
<object-name>NavStbyDot</object-name>
|
||||
<object-name>NavUse100K</object-name>
|
||||
<object-name>NavUse100M</object-name>
|
||||
<object-name>NavUse10K</object-name>
|
||||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>KX165Line</object-name>
|
||||
<condition>
|
||||
<and>
|
||||
<not>
|
||||
|
@ -271,20 +275,45 @@
|
|||
<factor-prop>/sim/model/c172p/lighting/comm1</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Effects/model-transparent</inherits-from>
|
||||
<object-name>CommUse</object-name>
|
||||
<object-name>CommStby</object-name>
|
||||
<object-name>NavUse</object-name>
|
||||
<object-name>NavStby</object-name>
|
||||
<object-name>CommStby100K</object-name>
|
||||
<object-name>CommStby100M</object-name>
|
||||
<object-name>CommStby10K</object-name>
|
||||
<object-name>CommStby10M</object-name>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<object-name>CommStby1M</object-name>
|
||||
<object-name>CommStbyDot</object-name>
|
||||
<object-name>CommUse100K</object-name>
|
||||
<object-name>CommUse100M</object-name>
|
||||
<object-name>CommUse10K</object-name>
|
||||
<object-name>CommUse10M</object-name>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<object-name>CommUse1M</object-name>
|
||||
<object-name>CommUseDot</object-name>
|
||||
<object-name>NavStby100K</object-name>
|
||||
<object-name>NavStby100M</object-name>
|
||||
<object-name>NavStby10K</object-name>
|
||||
<object-name>NavStby10M</object-name>
|
||||
<object-name>NavStby1M</object-name>
|
||||
<object-name>NavStbyDot</object-name>
|
||||
<object-name>NavUse100K</object-name>
|
||||
<object-name>NavUse100M</object-name>
|
||||
<object-name>NavUse10K</object-name>
|
||||
<object-name>NavUse10M</object-name>
|
||||
<object-name>NavUse1M</object-name>
|
||||
<object-name>NavUseDot</object-name>
|
||||
<object-name>KX165Line</object-name>
|
||||
<object-name>Screen</object-name>
|
||||
</effect>
|
||||
|
||||
<!-- Comm part -->
|
||||
<!-- comm part -->
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<property alias="../../params/comm-frq-swp"/>
|
||||
<factor>-0.004</factor>
|
||||
<factor>-0.003</factor>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
|
@ -361,6 +390,20 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>textranslate</type>
|
||||
<object-name>CommUse1K</object-name>
|
||||
<property alias="../../params/comm-frq-selected"/>
|
||||
<step>0.001</step>
|
||||
<factor>100</factor>
|
||||
<bias>0.0001</bias>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>textranslate</type>
|
||||
|
@ -431,13 +474,27 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>textranslate</type>
|
||||
<object-name>CommStby1K</object-name>
|
||||
<property alias="../../params/comm-frq-standby"/>
|
||||
<step>0.001</step>
|
||||
<factor>100</factor>
|
||||
<bias>0.0001</bias>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<!-- NAV part -->
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<property alias="../../params/nav-frq-swp"/>
|
||||
<factor>-0.004</factor>
|
||||
<factor>-0.003</factor>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
|
@ -585,10 +642,9 @@
|
|||
</axis>
|
||||
</animation>
|
||||
|
||||
<!-- Knobs and buttons -->
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>NAVvol</object-name>
|
||||
<property alias="../../params/nav-audio"/>
|
||||
<factor>0.002</factor>
|
||||
<axis>
|
||||
|
@ -597,12 +653,12 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
|
||||
<!-- Actions -->
|
||||
<!-- Comm part -->
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>CommVolume</object-name>
|
||||
<object-name>COMvol</object-name>
|
||||
<property alias="../../params/comm-volume"/>
|
||||
<factor>-65</factor>
|
||||
<axis>
|
||||
|
@ -611,9 +667,9 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.34509</x-m>
|
||||
<y-m> 0.05097</y-m>
|
||||
<z-m> 0.01597</z-m>
|
||||
<x-m>-0.34939</x-m>
|
||||
<y-m> 0.05132</y-m>
|
||||
<z-m> 0.01737</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
|
@ -684,9 +740,33 @@
|
|||
</hovered>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>COMknobKHZ</object-name>
|
||||
<factor>0.005</factor>
|
||||
<property>instrumentation/comm[1]/channel-mode-selector</property>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>COMchan</object-name>
|
||||
<factor>-0.001</factor>
|
||||
<property>instrumentation/comm[1]/channel-button</property>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>CommKHz</object-name>
|
||||
<object-name>COMknobKHZ</object-name>
|
||||
<property alias="/params/comm-dial-khz"/>
|
||||
<factor>-0.25</factor>
|
||||
<axis>
|
||||
|
@ -695,24 +775,11 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.34727</x-m>
|
||||
<y-m> 0.09097</y-m>
|
||||
<z-m> 0.01797</z-m>
|
||||
<x-m>-0.34726</x-m>
|
||||
<y-m> 0.09336</y-m>
|
||||
<z-m> 0.02016</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
<condition>
|
||||
<property alias="../../../../../params/power-comm"/>
|
||||
</condition>
|
||||
<command>property-adjust</command>
|
||||
<property alias="/params/comm-frq-standby"/>
|
||||
<factor>0.025</factor>
|
||||
<min>0.0</min>
|
||||
<max>1.0</max>
|
||||
<resolution>0.025</resolution>
|
||||
<wrap>true</wrap>
|
||||
<mask>decimal</mask>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property alias="/params/comm-dial-khz"/>
|
||||
|
@ -721,23 +788,52 @@
|
|||
<max>1440</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
<increase>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
c172p.increment(1, 1);
|
||||
</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>c172p.click("kx165-2-dial")</script>
|
||||
</binding>
|
||||
</action>
|
||||
</increase>
|
||||
<decrease>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
c172p.increment(1, -1);
|
||||
</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>c172p.click("kx165-2-dial")</script>
|
||||
</binding>
|
||||
</decrease>
|
||||
<shift-action>
|
||||
<repeatable>0</repeatable>
|
||||
<binding>
|
||||
<command>property-cycle</command>
|
||||
<property>instrumentation/comm[1]/channel-mode-selector</property>
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</shift-action>
|
||||
<hovered>
|
||||
<binding>
|
||||
<command>set-tooltip</command>
|
||||
<tooltip-id>comm2-kHz</tooltip-id>
|
||||
<label>Adjust COM2 kHz</label>
|
||||
<label>Adjust COM2 kHz; Shift click to toggle 8.33</label>
|
||||
</binding>
|
||||
</hovered>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>CommMHz</object-name>
|
||||
<object-name>COMknobMHZ</object-name>
|
||||
<property alias="/params/comm-dial-mhz"/>
|
||||
<factor>-0.25</factor>
|
||||
<axis>
|
||||
|
@ -746,9 +842,9 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.34727</x-m>
|
||||
<y-m> 0.09097</y-m>
|
||||
<z-m> 0.01797</z-m>
|
||||
<x-m>-0.34954</x-m>
|
||||
<y-m> 0.09337</y-m>
|
||||
<z-m> 0.02016</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
|
@ -759,7 +855,7 @@
|
|||
<property alias="/params/comm-frq-standby"/>
|
||||
<factor>1</factor>
|
||||
<min>118.0</min>
|
||||
<max>137.0</max>
|
||||
<max>136.99167</max>
|
||||
<wrap>true</wrap>
|
||||
<mask>integer</mask>
|
||||
</binding>
|
||||
|
@ -787,7 +883,7 @@
|
|||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>CommToggle</object-name>
|
||||
<object-name>COMxfer</object-name>
|
||||
<visible>true</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
|
@ -821,7 +917,7 @@
|
|||
<hovered>
|
||||
<binding>
|
||||
<command>set-tooltip</command>
|
||||
<tooltip-id>comm2-toggle</tooltip-id>
|
||||
<tooltip-id>comm1-toggle</tooltip-id>
|
||||
<label>Swap COM2 frequencies</label>
|
||||
</binding>
|
||||
</hovered>
|
||||
|
@ -830,7 +926,7 @@
|
|||
<!-- Nav part -->
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>NavVolume</object-name>
|
||||
<object-name>NAVvol</object-name>
|
||||
<property alias="../../params/nav-volume"/>
|
||||
<factor>-65</factor>
|
||||
<axis>
|
||||
|
@ -839,9 +935,9 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.35009</x-m>
|
||||
<y-m> 0.13097</y-m>
|
||||
<z-m> 0.01597</z-m>
|
||||
<x-m>-0.34939</x-m>
|
||||
<y-m> 0.13118</y-m>
|
||||
<z-m> 0.01737</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
|
@ -866,7 +962,7 @@
|
|||
<hovered>
|
||||
<binding>
|
||||
<command>set-tooltip</command>
|
||||
<tooltip-id>nav2-volume</tooltip-id>
|
||||
<tooltip-id>nav1-volume</tooltip-id>
|
||||
<label>%s</label>
|
||||
<measure-text>NAV2 Volume: 100% ; Ident disabled (Shift + click to pull)</measure-text>
|
||||
<property alias="../../../../params/nav-volume"/>
|
||||
|
@ -890,7 +986,7 @@
|
|||
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>NavKHz</object-name>
|
||||
<object-name>NAVknobKHZ</object-name>
|
||||
<property alias="/params/nav-dial-khz"/>
|
||||
<factor>-0.25</factor>
|
||||
<axis>
|
||||
|
@ -899,9 +995,9 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.34574</x-m>
|
||||
<y-m> 0.17097</y-m>
|
||||
<z-m> 0.01797</z-m>
|
||||
<x-m>-0.34726</x-m>
|
||||
<y-m> 0.17527</y-m>
|
||||
<z-m> 0.02016</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
|
@ -933,7 +1029,7 @@
|
|||
<hovered>
|
||||
<binding>
|
||||
<command>set-tooltip</command>
|
||||
<tooltip-id>nav2-kHz</tooltip-id>
|
||||
<tooltip-id>nav1-kHz</tooltip-id>
|
||||
<label>Adjust NAV2 kHz</label>
|
||||
</binding>
|
||||
</hovered>
|
||||
|
@ -941,7 +1037,7 @@
|
|||
|
||||
<animation>
|
||||
<type>knob</type>
|
||||
<object-name>NavMHz</object-name>
|
||||
<object-name>NAVknobMHZ</object-name>
|
||||
<property alias="/params/nav-dial-mhz"/>
|
||||
<factor>-0.25</factor>
|
||||
<axis>
|
||||
|
@ -950,9 +1046,9 @@
|
|||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.34574</x-m>
|
||||
<y-m> 0.17097</y-m>
|
||||
<z-m> 0.01797</z-m>
|
||||
<x-m>-0.34954</x-m>
|
||||
<y-m> 0.17527</y-m>
|
||||
<z-m> 0.02016</z-m>
|
||||
</center>
|
||||
<action>
|
||||
<binding>
|
||||
|
@ -991,7 +1087,7 @@
|
|||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>NavToggle</object-name>
|
||||
<object-name>NAVxfer</object-name>
|
||||
<visible>true</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
|
@ -1008,7 +1104,7 @@
|
|||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>c172p.click("kx165-2")</script>
|
||||
<script>c172p.click("kx165-1")</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
|
@ -1025,7 +1121,7 @@
|
|||
<hovered>
|
||||
<binding>
|
||||
<command>set-tooltip</command>
|
||||
<tooltip-id>nav2-toggle</tooltip-id>
|
||||
<tooltip-id>nav1-toggle</tooltip-id>
|
||||
<label>Swap NAV2 frequencies</label>
|
||||
</binding>
|
||||
</hovered>
|
||||
|
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 41 KiB |
|
@ -15,7 +15,7 @@ MATERIAL "exterior-parts.003" rgb 0.640 0.640 0.640 amb 1.000 1.000 1.000 emis
|
|||
MATERIAL "mat_antenna" rgb 0.712 0.712 0.712 amb 0.890 0.890 0.890 emis 0.000 0.000 0.000 spec 0.500 0.500 0.500 shi 12 trans 0.000
|
||||
MATERIAL "glass-exterior" rgb 0.648 1.000 0.709 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.599 1.000 1.000 shi 12 trans 0.800
|
||||
MATERIAL "Material.Glass" rgb 1.000 1.000 1.000 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 1.000 1.000 1.000 shi 12 trans 0.655
|
||||
MATERIAL "Panel.Glass" rgb 0.014 0.014 0.014 amb 0.500 0.500 0.500 emis 0.000 0.000 0.000 spec 0.844 0.844 0.844 shi 5 trans 0.850
|
||||
MATERIAL "Panel.Glass.001" rgb 0.014 0.014 0.014 amb 0.500 0.500 0.500 emis 0.000 0.000 0.000 spec 0.844 0.844 0.844 shi 5 trans 0.850
|
||||
MATERIAL "mat_panels_rack_base" rgb 0.800 0.684 0.600 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.216 0.216 0.216 shi 2 trans 0.000
|
||||
MATERIAL "visors" rgb 0.640 0.640 0.640 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.500 0.500 0.500 shi 12 trans 0.000
|
||||
MATERIAL "glareshield" rgb 0.012 0.012 0.012 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.776 0.776 0.776 shi 64 trans 0.000
|
||||
|
@ -71208,7 +71208,7 @@ kids 0
|
|||
OBJECT poly
|
||||
name "glass_panel"
|
||||
data 10
|
||||
Circle.014
|
||||
Circle.015
|
||||
crease 180.0
|
||||
numvert 513
|
||||
-0.36977 0.02208 0.06724
|
||||
|
@ -71690,14 +71690,6 @@ numvert 513
|
|||
-0.34967 0.03191 -0.11597
|
||||
-0.34967 0.05254 -0.18965
|
||||
-0.34967 0.03198 -0.18957
|
||||
-0.34967 0.10657 -0.03593
|
||||
-0.34967 0.08589 -0.03593
|
||||
-0.34967 0.10652 -0.1096
|
||||
-0.34967 0.08597 -0.10952
|
||||
-0.34967 0.10657 -0.11597
|
||||
-0.34967 0.08589 -0.11597
|
||||
-0.34967 0.10652 -0.18965
|
||||
-0.34967 0.08597 -0.18957
|
||||
-0.35218 -0.08221 -0.05833
|
||||
-0.35218 -0.10049 -0.05833
|
||||
-0.35218 -0.08225 -0.14815
|
||||
|
@ -71724,6 +71716,14 @@ numvert 513
|
|||
-0.35648 0.03007 -0.40629
|
||||
-0.35648 0.03569 -0.43268
|
||||
-0.35648 0.03009 -0.43265
|
||||
-0.34911 0.10568 -0.03567
|
||||
-0.34911 0.08624 -0.03567
|
||||
-0.34911 0.10563 -0.18902
|
||||
-0.34911 0.08632 -0.18894
|
||||
-0.34911 0.05151 -0.03567
|
||||
-0.34911 0.03207 -0.03567
|
||||
-0.34911 0.05146 -0.18902
|
||||
-0.34911 0.03215 -0.18894
|
||||
numsurf 25
|
||||
SURF 0X10
|
||||
mat 16
|
||||
|
@ -72261,58 +72261,58 @@ refs 4
|
|||
SURF 0X0
|
||||
mat 16
|
||||
refs 4
|
||||
480 0.238006 0.987558
|
||||
482 0.238277 0.73561
|
||||
481 0.307519 0.735342
|
||||
479 0.307657 0.987558
|
||||
SURF 0X0
|
||||
mat 16
|
||||
refs 4
|
||||
484 0.876815 0.265151
|
||||
486 0.877086 0.013203
|
||||
485 0.946328 0.012935
|
||||
483 0.946466 0.265151
|
||||
SURF 0X0
|
||||
mat 16
|
||||
refs 4
|
||||
488 0.815238 0.320389
|
||||
490 0.815598 0.01324
|
||||
489 0.876815 0.012935
|
||||
487 0.876815 0.32041
|
||||
480 0.815238 0.320389
|
||||
482 0.815598 0.01324
|
||||
481 0.876815 0.012935
|
||||
479 0.876815 0.32041
|
||||
SURF 0X0
|
||||
mat 16
|
||||
refs 10
|
||||
496 0.723538 0.260261
|
||||
497 0.723538 0.035975
|
||||
498 0.742945 0.012935
|
||||
491 0.796492 0.013389
|
||||
492 0.815238 0.035939
|
||||
499 0.815238 0.070373
|
||||
500 0.815238 0.128039
|
||||
493 0.815238 0.26154
|
||||
494 0.798547 0.281905
|
||||
495 0.741095 0.281905
|
||||
488 0.723538 0.260261
|
||||
489 0.723538 0.035975
|
||||
490 0.742945 0.012935
|
||||
483 0.796492 0.013389
|
||||
484 0.815238 0.035939
|
||||
491 0.815238 0.070373
|
||||
492 0.815238 0.128039
|
||||
485 0.815238 0.26154
|
||||
486 0.798547 0.281905
|
||||
487 0.741095 0.281905
|
||||
SURF 0X0
|
||||
mat 16
|
||||
refs 4
|
||||
502 0.948794 1
|
||||
504 0.949094 0.49508
|
||||
503 1 0.494542
|
||||
501 1 0.999999
|
||||
494 0.948794 1
|
||||
496 0.949094 0.49508
|
||||
495 1 0.494542
|
||||
493 1 0.999999
|
||||
SURF 0X0
|
||||
mat 16
|
||||
refs 4
|
||||
506 0.946466 0.327345
|
||||
508 0.946624 0.013271
|
||||
507 0.973496 0.012935
|
||||
505 0.973496 0.327342
|
||||
498 0.946466 0.327345
|
||||
500 0.946624 0.013271
|
||||
499 0.973496 0.012935
|
||||
497 0.973496 0.327342
|
||||
SURF 0X0
|
||||
mat 16
|
||||
refs 4
|
||||
510 0.307657 0.825695
|
||||
512 0.307771 0.735433
|
||||
511 0.326626 0.735342
|
||||
509 0.326626 0.825702
|
||||
502 0.307657 0.825695
|
||||
504 0.307771 0.735433
|
||||
503 0.326626 0.735342
|
||||
501 0.326626 0.825702
|
||||
SURF 0X0
|
||||
mat 16
|
||||
refs 4
|
||||
506 0.001415 0.764058
|
||||
508 0.199701 0.764334
|
||||
507 0.198987 0.841427
|
||||
505 0.002351 0.841606
|
||||
SURF 0X0
|
||||
mat 16
|
||||
refs 4
|
||||
510 0.001415 0.764058
|
||||
512 0.199701 0.764334
|
||||
511 0.198987 0.841427
|
||||
509 0.002351 0.841606
|
||||
kids 0
|
||||
OBJECT group
|
||||
name "GROUP_FrontPanels"
|
||||
|
|
|
@ -164,31 +164,48 @@
|
|||
<z-m> 0.08948</z-m>
|
||||
<heading-deg>-19.0</heading-deg>
|
||||
</offsets>
|
||||
<condition>
|
||||
<not>
|
||||
<equals>
|
||||
<property alias="/params/bushkit"/>
|
||||
<value>4</value>
|
||||
</equals>
|
||||
</not>
|
||||
</condition>
|
||||
</model>
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>Garmin196-GPS-non-Canvas</object-name>
|
||||
<property>/Interior/Panel/Instruments/garmin196/move</property>
|
||||
<factor>0.1</factor>
|
||||
<axis>
|
||||
<x>0.0</x>
|
||||
<y>1.0</y>
|
||||
<z>0.0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<!-- Canvas local Garmin 196 GPS -->
|
||||
<!--<model>
|
||||
<name>Garmin196-GPS</name>
|
||||
<path>Interior/Panel/garmin196/garmin196.xml</path>
|
||||
<offsets>
|
||||
<x-m>-0.4</x-m>
|
||||
<y-m>0.36</y-m>
|
||||
<z-m>0.205</z-m>
|
||||
<heading-deg>-12.0</heading-deg>
|
||||
</offsets>
|
||||
</model>
|
||||
<model>
|
||||
<name>Garmin196-GPS-non-Canvas</name>
|
||||
<path>Interior/Panel/Instruments/garmin196/garmin196.xml</path>
|
||||
<name>Garmin196-GPS-support</name>
|
||||
<path>Interior/Panel/garmin196/garmin196_support.xml</path>
|
||||
<offsets>
|
||||
<x-m>-0.305</x-m>
|
||||
<y-m> 0.36584</y-m>
|
||||
<z-m> 0.08948</z-m>
|
||||
<heading-deg>-19.0</heading-deg>
|
||||
<x-m>-0.4</x-m>
|
||||
<y-m>0.36</y-m>
|
||||
<z-m>0.205</z-m>
|
||||
<heading-deg>-12.0</heading-deg>
|
||||
</offsets>
|
||||
<condition>
|
||||
<equals>
|
||||
<property alias="/params/bushkit"/>
|
||||
<value>4</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</model>
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Garmin196-GPS</object-name>
|
||||
<object-name>Garmin196-GPS-support</object-name>
|
||||
<condition>
|
||||
<property>/sim/model/c172p/garmin196-visible</property>
|
||||
</condition>
|
||||
</animation>-->
|
||||
|
||||
<model>
|
||||
<name>GPS-Model</name>
|
||||
|
@ -277,7 +294,7 @@
|
|||
<property>/sim/model/c172p/garmin196-visible</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>clock</object-name>
|
||||
|
@ -287,7 +304,7 @@
|
|||
</not>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>digital-clock</object-name>
|
||||
|
@ -316,36 +333,6 @@
|
|||
</condition>
|
||||
</animation>
|
||||
|
||||
<!-- Canvas local Garmin 196 GPS -->
|
||||
<!--<model>
|
||||
<name>Garmin196-GPS</name>
|
||||
<path>Interior/Panel/garmin196/garmin196.xml</path>
|
||||
<offsets>
|
||||
<x-m>-0.4</x-m>
|
||||
<y-m>0.36</y-m>
|
||||
<z-m>0.205</z-m>
|
||||
<heading-deg>-12.0</heading-deg>
|
||||
</offsets>
|
||||
</model>
|
||||
<model>
|
||||
<name>Garmin196-GPS-support</name>
|
||||
<path>Interior/Panel/garmin196/garmin196_support.xml</path>
|
||||
<offsets>
|
||||
<x-m>-0.4</x-m>
|
||||
<y-m>0.36</y-m>
|
||||
<z-m>0.205</z-m>
|
||||
<heading-deg>-12.0</heading-deg>
|
||||
</offsets>
|
||||
</model>
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Garmin196-GPS</object-name>
|
||||
<object-name>Garmin196-GPS-support</object-name>
|
||||
<condition>
|
||||
<property>/sim/model/c172p/garmin196-visible</property>
|
||||
</condition>
|
||||
</animation>-->
|
||||
|
||||
<nasal>
|
||||
<load>
|
||||
var livery_update = aircraft.livery_update.new(
|
||||
|
@ -1079,7 +1066,7 @@
|
|||
<blue-prop>/sim/model/c172p/lighting/rgb-ra-b-factor</blue-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
|
||||
<!-- Courtesy Light -->
|
||||
<animation>
|
||||
<type>material</type>
|
||||
|
@ -3033,7 +3020,7 @@
|
|||
<font>Helvetica.txf</font>
|
||||
<character-size type="double">0.005</character-size>
|
||||
<character-aspect-ratio type="double">-1.0</character-aspect-ratio>
|
||||
<axis-alignment>yx-plane</axis-alignment>
|
||||
<axis-alignment>xy-plane</axis-alignment>
|
||||
<max-height>0.2</max-height>
|
||||
<max-width>0.07</max-width>
|
||||
<font-resolution>
|
||||
|
@ -3056,7 +3043,7 @@
|
|||
<font>Helvetica.txf</font>
|
||||
<character-size type="double">0.005</character-size>
|
||||
<character-aspect-ratio type="double">-1.0</character-aspect-ratio>
|
||||
<axis-alignment>yx-plane</axis-alignment>
|
||||
<axis-alignment>xy-plane</axis-alignment>
|
||||
<max-height>0.2</max-height>
|
||||
<max-width>0.07</max-width>
|
||||
<font-resolution>
|
||||
|
@ -3079,7 +3066,7 @@
|
|||
<font>Helvetica.txf</font>
|
||||
<character-size type="double">0.005</character-size>
|
||||
<character-aspect-ratio type="double">-1.0</character-aspect-ratio>
|
||||
<axis-alignment>yx-plane</axis-alignment>
|
||||
<axis-alignment>xy-plane</axis-alignment>
|
||||
<max-height>0.2</max-height>
|
||||
<max-width>0.07</max-width>
|
||||
<font-resolution>
|
||||
|
|
|
@ -45,6 +45,7 @@ aircraft.data.add(
|
|||
"instrumentation/comm[0]/frequencies/dial-khz",
|
||||
"instrumentation/comm[0]/frequencies/dial-mhz",
|
||||
"instrumentation/comm[0]/test-btn",
|
||||
"instrumentation/comm[0]/channel-mode-selector",
|
||||
"instrumentation/nav[0]/ident-audible",
|
||||
"instrumentation/nav[0]/power-btn",
|
||||
"instrumentation/nav[0]/volume",
|
||||
|
@ -64,6 +65,7 @@ aircraft.data.add(
|
|||
"instrumentation/comm[1]/frequencies/dial-khz",
|
||||
"instrumentation/comm[1]/frequencies/dial-mhz",
|
||||
"instrumentation/comm[1]/test-btn",
|
||||
"instrumentation/comm[0]/channel-mode-selector",
|
||||
"instrumentation/nav[1]/ident-audible",
|
||||
"instrumentation/nav[1]/power-btn",
|
||||
"instrumentation/nav[1]/volume",
|
||||
|
|
43
Aircraft/c172p/Nasal/kx165a.nas
Normal file
|
@ -0,0 +1,43 @@
|
|||
# Code to handle 8.33 khz for the KX165A radio
|
||||
var increment = func(index, direction) {
|
||||
var selector = getprop("instrumentation/comm[" ~ index ~ "]/channel-mode-selector");
|
||||
if (selector == 1) {
|
||||
setprop("instrumentation/comm[" ~ index ~ "]/frequencies/standby-channel", getprop("instrumentation/comm[" ~ index ~ "]/frequencies/standby-channel") + direction);
|
||||
} elsif (selector == 0) {
|
||||
setprop("instrumentation/comm[" ~ index ~ "]/frequencies/standby-channel", getprop("instrumentation/comm[" ~ index ~ "]/frequencies/standby-channel") + (direction * 4));
|
||||
}
|
||||
}
|
||||
|
||||
setlistener("/instrumentation/comm[0]/channel-mode-selector", func() {
|
||||
if (getprop("/instrumentation/comm[0]/channel-mode-selector") == 0) {
|
||||
var result = math.round(getprop("/instrumentation/comm[0]/frequencies/standby-channel") / 4) * 4;
|
||||
setprop("/instrumentation/comm[0]/frequencies/standby-channel", result);
|
||||
|
||||
var result = math.round(getprop("/instrumentation/comm[0]/frequencies/selected-channel") / 4) * 4;
|
||||
setprop("/instrumentation/comm[0]/frequencies/selected-channel", result);
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
setlistener("/instrumentation/comm[1]/channel-mode-selector", func() {
|
||||
if (getprop("/instrumentation/comm[1]/channel-mode-selector") == 0) {
|
||||
var result = math.round(getprop("/instrumentation/comm[1]/frequencies/standby-channel") / 4) * 4;
|
||||
setprop("/instrumentation/comm[1]/frequencies/standby-channel", result);
|
||||
|
||||
var result = math.round(getprop("/instrumentation/comm[1]/frequencies/selected-channel") / 4) * 4;
|
||||
setprop("/instrumentation/comm[1]/frequencies/selected-channel", result);
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
var hackListener = setlistener("/sim/signals/fdm-initialized", func() {
|
||||
# a dirty hack but it works. It triggers the above setlisteners on startup (passing the startup argument did not work)
|
||||
# in case a 8.33 frequency has been saved but 25k is selected on startup
|
||||
var selector = getprop("instrumentation/comm[0]/channel-mode-selector");
|
||||
setprop("/instrumentation/comm[0]/channel-mode-selector", 2);
|
||||
setprop("/instrumentation/comm[0]/channel-mode-selector", selector);
|
||||
var selector = getprop("instrumentation/comm[1]/channel-mode-selector");
|
||||
setprop("/instrumentation/comm[1]/channel-mode-selector", 2);
|
||||
setprop("/instrumentation/comm[1]/channel-mode-selector", selector);
|
||||
|
||||
# after the first startup we don't need this
|
||||
removelistener(hackListener);
|
||||
});
|
|
@ -123,25 +123,26 @@ var tiedown_left_updater = TiedownPositionUpdater.new("left");
|
|||
var tiedown_right_updater = TiedownPositionUpdater.new("right");
|
||||
var tiedown_tail_updater = TiedownPositionUpdater.new("tail");
|
||||
|
||||
setlistener("/sim/model/c172p/securing/tiedownL-visible", func (node) {
|
||||
tiedown_left_updater.enable_or_disable(node.getValue());
|
||||
}, 1, 0);
|
||||
setlistener("/sim/signals/fdm-initialized", func {
|
||||
setlistener("/sim/model/c172p/securing/tiedownL-visible", func (node) {
|
||||
tiedown_left_updater.enable_or_disable(node.getValue());
|
||||
}, 1, 0);
|
||||
|
||||
setlistener("/sim/model/c172p/securing/tiedownR-visible", func (node) {
|
||||
tiedown_right_updater.enable_or_disable(node.getValue());
|
||||
}, 1, 0);
|
||||
setlistener("/sim/model/c172p/securing/tiedownR-visible", func (node) {
|
||||
tiedown_right_updater.enable_or_disable(node.getValue());
|
||||
}, 1, 0);
|
||||
|
||||
setlistener("/sim/model/c172p/securing/tiedownT-visible", func (node) {
|
||||
tiedown_tail_updater.enable_or_disable(node.getValue());
|
||||
}, 1, 0);
|
||||
|
||||
setlistener("/fdm/jsbsim/damage/repairing", func (node) {
|
||||
# When the aircraft has been repaired (value is switched back
|
||||
# to 0), compute the new initial length of the tiedowns
|
||||
if (!node.getValue()) {
|
||||
tiedown_left_updater.init_ref_length();
|
||||
tiedown_right_updater.init_ref_length();
|
||||
tiedown_tail_updater.init_ref_length();
|
||||
}
|
||||
}, 0, 0);
|
||||
setlistener("/sim/model/c172p/securing/tiedownT-visible", func (node) {
|
||||
tiedown_tail_updater.enable_or_disable(node.getValue());
|
||||
}, 1, 0);
|
||||
|
||||
setlistener("/fdm/jsbsim/damage/repairing", func (node) {
|
||||
# When the aircraft has been repaired (value is switched back
|
||||
# to 0), compute the new initial length of the tiedowns
|
||||
if (!node.getValue()) {
|
||||
tiedown_left_updater.init_ref_length();
|
||||
tiedown_right_updater.init_ref_length();
|
||||
tiedown_tail_updater.init_ref_length();
|
||||
}
|
||||
}, 0, 0);
|
||||
});
|
||||
|
|
|
@ -183,6 +183,16 @@ Extra weight and drag due to bush wheels, floats and aircraft with 180 hp engine
|
|||
</switch>
|
||||
</channel>
|
||||
|
||||
<channel name="GPS-placement">
|
||||
<switch name="gps-placement">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
bushkit EQ 4
|
||||
</test>
|
||||
<output>/Interior/Panel/Instruments/garmin196/move</output>
|
||||
</switch>
|
||||
</channel>
|
||||
|
||||
<channel name="JSBSim hydrodynamics integration">
|
||||
<fcs_function name="tmp/floats-enabled-norm">
|
||||
<function>
|
||||
|
|
|
@ -142,11 +142,13 @@ file, these values will be used (they are hardcoded).
|
|||
<comm-radio>
|
||||
<name>comm</name>
|
||||
<number>0</number>
|
||||
<eight-point-three>1</eight-point-three>
|
||||
</comm-radio>
|
||||
|
||||
<comm-radio>
|
||||
<name>comm</name>
|
||||
<number>1</number>
|
||||
<eight-point-three>1</eight-point-three>
|
||||
</comm-radio>
|
||||
|
||||
<nav-radio>
|
||||
|
|
|
@ -764,6 +764,7 @@ http://forum.flightgear.org/viewtopic.php?f=4&t=25157
|
|||
<dial-mhz type="int">0</dial-mhz>
|
||||
</frequencies>
|
||||
<volume-selected type="double">0.7</volume-selected>
|
||||
<channel-mode-selector type="bool">1</channel-mode-selector>
|
||||
</comm>
|
||||
<comm n="1">
|
||||
<power-btn type="bool">1</power-btn>
|
||||
|
@ -772,6 +773,7 @@ http://forum.flightgear.org/viewtopic.php?f=4&t=25157
|
|||
<dial-mhz type="int">0</dial-mhz>
|
||||
</frequencies>
|
||||
<volume-selected type="double">0.7</volume-selected>
|
||||
<channel-mode-selector type="bool">1</channel-mode-selector>
|
||||
</comm>
|
||||
<nav n="0">
|
||||
<volume type="double">0.7</volume>
|
||||
|
@ -944,6 +946,7 @@ http://forum.flightgear.org/viewtopic.php?f=4&t=25157
|
|||
<file>Nasal/tanks.nas</file>
|
||||
<file>Nasal/kma20.nas</file>
|
||||
<file>Nasal/ki266.nas</file>
|
||||
<file>Nasal/kx165a.nas</file>
|
||||
<file>Nasal/engine.nas</file>
|
||||
<file>Nasal/avionics.nas</file>
|
||||
<file>Nasal/interior-lighting.nas</file>
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
<transition_model>0.8</transition_model>
|
||||
<hires_overlay_bias>0</hires_overlay_bias>
|
||||
</parameters>
|
||||
<object-mask>Terrain/deciduous-hires_mask.png</object-mask>
|
||||
<object-mask>Terrain/rice1.mask.png</object-mask>
|
||||
<xsize>2000</xsize>
|
||||
<ysize>2000</ysize>
|
||||
<light-coverage>2000000.0</light-coverage>
|
||||
|
@ -192,4 +192,4 @@
|
|||
<tree-width-m>12.0</tree-width-m>
|
||||
</material>
|
||||
|
||||
</PropertyList>
|
||||
</PropertyList>
|
||||
|
|
|
@ -48,19 +48,26 @@ var WPT_model = {
|
|||
var m = { parents:[WPT_model], idx:(idx+offset) };
|
||||
var wp = fp.getWP(idx);
|
||||
m.name = wp.wp_name;
|
||||
|
||||
|
||||
var alt = wp.alt_cstr;
|
||||
if (alt != 0)
|
||||
m.name ~= "\n"~alt;
|
||||
|
||||
var wp2idx = 1; # next waypoint
|
||||
|
||||
if (!idx) { # first point
|
||||
if(fp.getPlanSize(idx) == 1) # if only have one wpt then it must be at element 0.
|
||||
if (idx > 0) {
|
||||
var path = wp.path();
|
||||
# check for empty path
|
||||
if (size(path) == 0)
|
||||
return nil;
|
||||
var n = wp.path()[-1];
|
||||
} else {
|
||||
var wp2idx = 1; # next waypoint
|
||||
if (fp.getPlanSize() == 1) # if only have one wpt then it must be at element 0.
|
||||
wp2idx = 0;
|
||||
}
|
||||
if (idx) var n = wp.path()[-1];
|
||||
else var n = fp.getWP(wp2idx).path()[0];
|
||||
var path = fp.getWP(wp2idx).path();
|
||||
if (size(path) == 0)
|
||||
return nil;
|
||||
var n = fp.getWP(wp2idx).path()[0];
|
||||
}
|
||||
|
||||
(m.lat,m.lon) = (n.lat,n.lon);
|
||||
return m;
|
||||
|
@ -82,8 +89,12 @@ var searchCmd = func {
|
|||
for(var idx = 0; idx < planCount; idx += 1){
|
||||
var fp = driver.getFlightPlan(idx);
|
||||
var fpSize = fp.getPlanSize(idx);
|
||||
for (var i = 0; i < fpSize; i+=1)
|
||||
append(result, WPT_model.new(fp, i));
|
||||
|
||||
for (var i = 0; i < fpSize; i+=1) {
|
||||
var wm = WPT_model.new(fp, i);
|
||||
if (wm != nil)
|
||||
append(result, wm);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
|
|
@ -117,6 +117,11 @@ var end_compose_message = func()
|
|||
release_kbd();
|
||||
}
|
||||
|
||||
var view_select = func(callsign)
|
||||
{
|
||||
view.model_view_handler.select(callsign, 1);
|
||||
}
|
||||
|
||||
var handle_key = func(key)
|
||||
{
|
||||
if (key == `\n` or key == `\r` or key == `~`)
|
||||
|
@ -183,18 +188,20 @@ var dialog = {
|
|||
slant: getprop("/sim/gui/selected-style/fonts/mp-list/slant") or 0,
|
||||
};
|
||||
|
||||
me.header = ["chat", " callsign"," code"," model", " brg", func dialog.dist_hdr, func dialog.alt_hdr ~ " ", "ver", "ignore" ~ " "];
|
||||
me.header = ["view", " callsign", " model", func dialog.dist_hdr, func dialog.alt_hdr ~ " ", " brg", "chat", "ignore" ~ " ", " code", "ver", " set"];
|
||||
me.columns = [
|
||||
{ type: "button", legend: "", halign: "right", callback: "multiplayer.compose_message", "pref-height": 14, "pref-width": 14 },
|
||||
{ type: "checkbox", legend: "", property: "view", halign: "right", "pref-height": 14, "pref-width": 14, callback: "multiplayer.view_select", argprop: "callsign", },
|
||||
{ type: "text", property: "callsign", format: " %s", label: "-----------", halign: "fill" , font: me.font },
|
||||
{ type: "text", property: "id-code", format: " %s", label: "-----", halign: "fill" , font: me.font },
|
||||
{ type: "text", property: "model-short", format: " %s", label: "--------------", halign: "fill" , font: me.font },
|
||||
{ type: "text", property: "bearing-to", format: " %3.0f", label: "----", halign: "right", font: me.font },
|
||||
{ type: "text", property: func dialog.dist_node, format:" %8.2f", label: "---------", halign: "right", font: me.font },
|
||||
{ type: "text", property: func dialog.alt_node, format:" %7.0f", label: "---------", halign: "right", font: me.font },
|
||||
{ type: "text", property: "sim/multiplay/protocol-version", format: " %s", label: "--", halign: "fill" , font: me.font },
|
||||
{ type: "text", property: "bearing-to", format: " %3.0f", label: "----", halign: "right", font: me.font },
|
||||
{ type: "button", legend: "", halign: "right", callback: "multiplayer.compose_message", "pref-height": 14, "pref-width": 14 },
|
||||
{ type: "checkbox", property: "controls/invisible", callback: "multiplayer.dialog.toggle_ignore",
|
||||
argprop: "callsign", label: "---------", halign: "right", font: me.font },
|
||||
{ type: "text", property: "id-code", format: " %s", label: "-----", halign: "fill" , font: me.font },
|
||||
{ type: "text", property: "sim/multiplay/protocol-version", format: " %s", label: "--", halign: "fill" , font: me.font },
|
||||
{ type: "text", property: "set-loaded", format: "%s", label: "----", halign: "fill" , font: me.font },
|
||||
];
|
||||
me.cs_warnings = {};
|
||||
me.name = "who-is-online";
|
||||
|
@ -206,6 +213,7 @@ var dialog = {
|
|||
append(me.listeners, setlistener("/sim/startup/ysize", func me._redraw_()));
|
||||
append(me.listeners, setlistener("/sim/signals/reinit-gui", func me._redraw_()));
|
||||
append(me.listeners, setlistener("/sim/signals/multiplayer-updated", func me._redraw_()));
|
||||
append(me.listeners, setlistener("/sim/current-view/model-view", func me.update_view()));
|
||||
},
|
||||
create: func {
|
||||
if (me.dialog != nil)
|
||||
|
@ -228,6 +236,12 @@ var dialog = {
|
|||
var titlebar = me.dialog.addChild("group");
|
||||
titlebar.set("layout", "hbox");
|
||||
|
||||
var view_self = titlebar.addChild("button");
|
||||
view_self.node.setValues({ "pref-height": 16, legend: "view self", default: 0 });
|
||||
view_self.setBinding("nasal", "view.model_view_handler.select(getprop('/sim/multiplayer/callsign'), 1);");
|
||||
|
||||
titlebar.addChild("empty").set("stretch", 1);
|
||||
|
||||
var w = titlebar.addChild("button");
|
||||
w.node.setValues({ "pref-width": 16, "pref-height": 16, legend: me.unit_button, default: 0 });
|
||||
w.setBinding("nasal", "multiplayer.dialog.toggle_unit(); multiplayer.dialog._redraw_()");
|
||||
|
@ -255,7 +269,7 @@ var dialog = {
|
|||
var col = 0;
|
||||
foreach (var h; me.header) {
|
||||
var w = content.addChild("text");
|
||||
w.node.setValues({ "font" : me.font});
|
||||
w.node.setValues({ "font" : me.font});
|
||||
|
||||
var l = typeof(h) == "func" ? h() : h;
|
||||
w.node.setValues({ "label": l, "row": row, "col": col, halign: me.columns[col].halign });
|
||||
|
@ -268,8 +282,10 @@ w.node.setValues({ "font" : me.font});
|
|||
foreach (var mp; model.list) {
|
||||
var col = 0;
|
||||
var color = me.fg[2];
|
||||
if (mp.node.getNode("model-installed").getValue())
|
||||
if (mp.node.getNode("model-installed").getValue()) {
|
||||
color = me.fg[odd = !odd];
|
||||
color = me.fg[1];
|
||||
}
|
||||
else{
|
||||
print("no model installed; check fallback");
|
||||
var fbn = mp.node.getNode("sim/model/fallback-model-index");
|
||||
|
@ -281,24 +297,24 @@ w.node.setValues({ "font" : me.font});
|
|||
} else
|
||||
print(" ->> no fallback node");
|
||||
}
|
||||
foreach (var column; me.columns) {
|
||||
foreach (var column; me.columns) {
|
||||
var w = nil;
|
||||
if (column.type == "button") {
|
||||
w = content.addChild("button");
|
||||
w.node.setValues(column);
|
||||
w.setBinding("nasal", column.callback ~ "(\"" ~ mp.callsign ~ ", \");");
|
||||
w.node.setValues({ row: row, col: col});
|
||||
} else {
|
||||
var p = typeof(column.property) == "func" ? column.property() : column.property;
|
||||
if (column.type == "text") {
|
||||
w = content.addChild("text");
|
||||
w.node.setValues(column);
|
||||
} elsif (column.type == "checkbox") {
|
||||
w = content.addChild("checkbox");
|
||||
w.setBinding("nasal", column.callback ~ "(getprop(\"" ~ mp.root ~ "/" ~ column.argprop ~ "\"))");
|
||||
}
|
||||
if (column.type == "button") {
|
||||
w = content.addChild("button");
|
||||
w.node.setValues(column);
|
||||
w.setBinding("nasal", column.callback ~ "(\"" ~ mp.callsign ~ "\",);");
|
||||
w.node.setValues({ row: row, col: col});
|
||||
} else {
|
||||
var p = typeof(column.property) == "func" ? column.property() : column.property;
|
||||
if (column.type == "text") {
|
||||
w = content.addChild("text");
|
||||
w.node.setValues(column);
|
||||
} elsif (column.type == "checkbox") {
|
||||
w = content.addChild("checkbox");
|
||||
w.setBinding("nasal", column.callback ~ "(getprop(\"" ~ mp.root ~ "/" ~ column.argprop ~ "\"))");
|
||||
}
|
||||
w.node.setValues({ row: row, col: col, live: 1, property: mp.root ~ "/" ~ p });
|
||||
}
|
||||
}
|
||||
w.setColor(color[0], color[1], color[2], color[3]);
|
||||
col += 1;
|
||||
}
|
||||
|
@ -311,6 +327,17 @@ w.node.setValues({ "font" : me.font});
|
|||
me.update(me.loopid += 1);
|
||||
fgcommand("dialog-new", me.dialog.prop());
|
||||
fgcommand("dialog-show", me.dialog.prop());
|
||||
me.update_view();
|
||||
},
|
||||
update_view: func() {
|
||||
# We are called when the aircraft being viewed has changed. We update
|
||||
# the boxes in the 'view' column so that only the one for the aircraft
|
||||
# being viewed is checked. If the user's aircraft is being viewed, none
|
||||
# of these boxes will be checked.
|
||||
callsign = getprop("/sim/current-view/model-view");
|
||||
foreach (var mp; model.list) {
|
||||
mp.node.setValues({'view': mp.callsign == callsign});
|
||||
}
|
||||
},
|
||||
update: func(id) {
|
||||
id == me.loopid or return;
|
||||
|
@ -341,8 +368,19 @@ w.node.setValues({ "font" : me.font});
|
|||
else
|
||||
{
|
||||
# Node with valid position data (and "distance!=nil").
|
||||
|
||||
# For 'set-loaded' column, we find whether the 'set' has more
|
||||
# than just the 'sim' child (which we always create even if
|
||||
# we couldn't load the -set.xml, in order to provide default
|
||||
# values for views' config/z-offset-m values).
|
||||
var set = n.getNode("set");
|
||||
var set_numchildren = 0;
|
||||
if (set != nil) set_numchildren = size(set.getChildren());
|
||||
var set_loaded = (set_numchildren >= 2);
|
||||
|
||||
n.setValues({
|
||||
"model-short": n.getNode("model-installed").getValue() ? mp.model : "[" ~ mp.model ~ "]",
|
||||
"set-loaded": set_loaded ? " *" : " ",
|
||||
"bearing-to": self.course_to(ac),
|
||||
"distance-to-km": distance / 1000.0,
|
||||
"distance-to-nm": distance * M2NM,
|
||||
|
|
|
@ -42,7 +42,6 @@ var RouteManagerDelegate = {
|
|||
|
||||
arrivalChanged: func
|
||||
{
|
||||
printlog('info', 'saw arrival changed');
|
||||
me.flightplan.clearWPType('star');
|
||||
me.flightplan.clearWPType('approach');
|
||||
if (me.flightplan.destination == nil)
|
||||
|
@ -60,9 +59,10 @@ var RouteManagerDelegate = {
|
|||
if (me.flightplan.star != nil) {
|
||||
printlog('info', 'routing via STAR ' ~ me.flightplan.star.id);
|
||||
var wps = me.flightplan.star.route(me.flightplan.destination_runway);
|
||||
me.flightplan.insertWaypoints(wps, -1);
|
||||
|
||||
initialApproachFix = wps[-1]; # final waypoint of STAR
|
||||
if (wps != nil) {
|
||||
me.flightplan.insertWaypoints(wps, -1);
|
||||
initialApproachFix = wps[-1]; # final waypoint of STAR
|
||||
}
|
||||
}
|
||||
|
||||
if (me.flightplan.approach != nil) {
|
||||
|
|
268
Nasal/view.nas
|
@ -3,11 +3,43 @@
|
|||
##
|
||||
## Nasal code for implementing view-specific functionality.
|
||||
|
||||
# ATTENTION:
|
||||
# /sim/current-view/view-number is in the range 0..viewCount, it is NOT
|
||||
# the index used in aircraft XML files (e.g. <view n="100">)
|
||||
|
||||
# For debugging. Returns string containing description of <x>.
|
||||
#
|
||||
var str = func(x, prefix='') {
|
||||
prefix = '';
|
||||
var ret = '';
|
||||
ret = ret ~ prefix ~ typeof(x) ~ ':';
|
||||
if (typeof(x) == "hash") {
|
||||
ret = ret ~ '{';
|
||||
#prefix = prefix ~ ' ';
|
||||
foreach(var key; keys(x)){
|
||||
ret = ret ~ prefix ~ " '" ~ key ~ "'" ~ ':';
|
||||
ret = ret ~ str(x[key], prefix ~ ' ');
|
||||
}
|
||||
ret = ret ~ '}'
|
||||
}
|
||||
else {
|
||||
ret = ret ~ sprintf('%s', x);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
var index = nil; # current view index
|
||||
var indices = {}; # view_index -> number
|
||||
var views = nil; # list of all view branches (/sim/view[n]) as props.Node
|
||||
var current = nil; # current view branch (e.g. /sim/view[1]) as props.Node
|
||||
var fovProp = nil;
|
||||
|
||||
# activate view by index number used in XML definition (e.g. >100)
|
||||
var setViewByIndex = func(i) {
|
||||
if (indices[i] != nil)
|
||||
setprop("/sim/current-view/view-number", indices[i]);
|
||||
}
|
||||
|
||||
var hasmember = func(class, member) {
|
||||
if (contains(class, member))
|
||||
return 1;
|
||||
|
@ -74,9 +106,9 @@ var resetFOV = func {
|
|||
|
||||
var resetViewPos = func {
|
||||
var v = current.getNode("config");
|
||||
setprop("/sim/current-view/x-offset-m", v.getNode("x-offset-m", 1).getValue() or 0);
|
||||
setprop("/sim/current-view/y-offset-m", v.getNode("y-offset-m", 1).getValue() or 0);
|
||||
setprop("/sim/current-view/z-offset-m", v.getNode("z-offset-m", 1).getValue() or 0);
|
||||
setprop("/sim/current-view/x-offset-m", 0);
|
||||
setprop("/sim/current-view/y-offset-m", 0);
|
||||
setprop("/sim/current-view/z-offset-m", 0);
|
||||
}
|
||||
|
||||
var resetViewDir = func {
|
||||
|
@ -171,6 +203,18 @@ var default_handler = {
|
|||
};
|
||||
|
||||
|
||||
# If <from>/<path> exists and <to>/<path> doesn't, copy the former to the
|
||||
# latter.
|
||||
#
|
||||
var set_default = func(from, path, to) {
|
||||
from_ = from.getNode(path);
|
||||
if (from_ != nil) {
|
||||
if (to.getNode(path) == nil) {
|
||||
to.setValue(path, from_.getValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
##
|
||||
# View manager. Administrates optional Nasal view handlers.
|
||||
# Usage: view.manager.register(<view-id>, <view-handler>);
|
||||
|
@ -198,23 +242,55 @@ var default_handler = {
|
|||
var manager = {
|
||||
current : { node: nil, handler: default_handler },
|
||||
init : func {
|
||||
me.current = nil;
|
||||
me.views = {};
|
||||
me.loopid = 0;
|
||||
var viewnodes = props.globals.getNode("sim").getChildren("view");
|
||||
forindex (var i; viewnodes)
|
||||
me.views[i] = { node: viewnodes[i], handler: default_handler };
|
||||
var helicopter_view = viewnodes[1];
|
||||
forindex (var i; viewnodes) {
|
||||
# Install this view, marking as multiplayer if appropriate.
|
||||
var multiplayer = 1;
|
||||
if (i==4 or i==6) {
|
||||
# Fly-by and Tower Look From views do not currently
|
||||
# support multiplayer aircraft.
|
||||
multiplayer = 0;
|
||||
}
|
||||
var viewnode = viewnodes[i];
|
||||
me.views[i] = {
|
||||
node: viewnode,
|
||||
handler: default_handler,
|
||||
multiplayer: multiplayer
|
||||
};
|
||||
# If this view is similar to helicopter view, copy across
|
||||
# Helicopter View target offsets if not specified. E.g.
|
||||
# this allows Tower View AGL to work on aircraft that don't
|
||||
# know about it but need non-zero target-*-offset-m values
|
||||
# to centre the view on the middle of the aircraft.
|
||||
if (i==2 or i==3 or i==5 or i==7) {
|
||||
set_default(helicopter_view, "config/target-x-offset-m", viewnode);
|
||||
set_default(helicopter_view, "config/target-y-offset-m", viewnode);
|
||||
set_default(helicopter_view, "config/target-z-offset-m", viewnode);
|
||||
}
|
||||
}
|
||||
# see comment at begin of file
|
||||
setlistener("/sim/current-view/view-number", func(n) {
|
||||
manager.set_view(n.getValue());
|
||||
}, 1);
|
||||
},
|
||||
register : func(which, handler = nil) {
|
||||
if (num(which) == nil)
|
||||
which = indexof(which);
|
||||
var n = num(which);
|
||||
if (n == nil) n = indexof(which);
|
||||
if (n == nil) {
|
||||
printf('Unable to register view handler: which=%s', which);
|
||||
return;
|
||||
}
|
||||
if (handler == nil)
|
||||
handler = default_handler;
|
||||
me.views[which]["handler"] = handler;
|
||||
me.views[n]["handler"] = handler;
|
||||
var viewnodes = props.globals.getNode("sim").getChildren("view");
|
||||
me.views[n]["node"] = viewnodes[n];
|
||||
if (hasmember(handler, "init"))
|
||||
handler.init(me.views[which].node);
|
||||
handler.init(me.views[n].node);
|
||||
me.set_view();
|
||||
},
|
||||
set_view : func(which = nil) {
|
||||
|
@ -224,8 +300,13 @@ var manager = {
|
|||
which = indexof(which);
|
||||
|
||||
me.loopid += 1;
|
||||
if (hasmember(me.current.handler, "stop"))
|
||||
if (me.current != nil) {
|
||||
if (me.current.multiplayer) {
|
||||
model_view_handler.stop();
|
||||
}
|
||||
if (hasmember(me.current.handler, "stop"))
|
||||
me.current.handler.stop();
|
||||
}
|
||||
|
||||
me.current = me.views[which];
|
||||
|
||||
|
@ -233,6 +314,9 @@ var manager = {
|
|||
me.current.handler.start();
|
||||
if (hasmember(me.current.handler, "update"))
|
||||
me._loop_(me.loopid += 1);
|
||||
if (me.current != nil and me.current.multiplayer) {
|
||||
model_view_handler.start();
|
||||
}
|
||||
screenWidthCompens.update();
|
||||
},
|
||||
reset : func {
|
||||
|
@ -245,6 +329,20 @@ var manager = {
|
|||
id == me.loopid or return;
|
||||
settimer(func { me._loop_(id) }, me.current.handler.update() or 0);
|
||||
},
|
||||
multiplayer_callback: func(data) {
|
||||
# We are called by model_view_handler when the user wants to
|
||||
# look at a different aircraft.
|
||||
#
|
||||
# We can be called very early due to model_view_handler_class's use
|
||||
# of a listener, so we need to protect against me.current.node not
|
||||
# being set up yet.
|
||||
#
|
||||
if (me.current.node != nil) {
|
||||
me.current.node.getNode("config").setValues({
|
||||
"root": data.root,});
|
||||
me.current.node.getNode("config/root").setValue(data.root)
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
|
@ -346,82 +444,82 @@ var fly_by_view_handler = {
|
|||
};
|
||||
|
||||
|
||||
var model_view_handler = {
|
||||
init: func(node) {
|
||||
me.viewN = node;
|
||||
me.current = nil;
|
||||
me.legendN = props.globals.initNode("/sim/current-view/model-view", "");
|
||||
me.dialog = props.Node.new({ "dialog-name": "model-view" });
|
||||
me.listener = nil;
|
||||
},
|
||||
start: func {
|
||||
me.listener = setlistener("/sim/signals/multiplayer-updated", func me._update_(), 1);
|
||||
me.reset();
|
||||
fgcommand("dialog-show", me.dialog);
|
||||
},
|
||||
stop: func {
|
||||
fgcommand("dialog-close", me.dialog);
|
||||
if (me.listener!=nil)
|
||||
{
|
||||
removelistener(me.listener);
|
||||
me.listener=nil;
|
||||
}
|
||||
},
|
||||
reset: func {
|
||||
me.select(0);
|
||||
},
|
||||
find: func(callsign) {
|
||||
forindex (var i; me.list)
|
||||
if (me.list[i].callsign == callsign)
|
||||
return i;
|
||||
return nil;
|
||||
},
|
||||
select: func(which, by_callsign=0) {
|
||||
if (by_callsign or num(which) == nil)
|
||||
which = me.find(which) or 0; # turn callsign into index
|
||||
# Helper for views that can show multiplayer aircaft as well as the user's
|
||||
# aircraft. Used by <manager> above.
|
||||
#
|
||||
var model_view_handler_class = {
|
||||
new: func() {
|
||||
var m = { parents:[model_view_handler_class]};
|
||||
m.current = nil;
|
||||
m.legendN = props.globals.initNode("/sim/current-view/model-view", "");
|
||||
m.dialog = props.Node.new({ "dialog-name": "model-view" });
|
||||
m.listener = setlistener("/sim/signals/multiplayer-updated", func m._update_(), 1);
|
||||
m.reset();
|
||||
return m;
|
||||
},
|
||||
start: func() {
|
||||
fgcommand("dialog-show", me.dialog);
|
||||
me.next(0);
|
||||
},
|
||||
stop: func() {
|
||||
fgcommand("dialog-close", me.dialog);
|
||||
},
|
||||
reset: func {
|
||||
me.select(0);
|
||||
},
|
||||
find: func(callsign) {
|
||||
forindex (var i; me.list) {
|
||||
if (me.list[i].callsign == callsign)
|
||||
return i;
|
||||
}
|
||||
return nil;
|
||||
},
|
||||
select: func(which, by_callsign=0) {
|
||||
if (by_callsign or num(which) == nil) {
|
||||
which = me.find(which) or 0; # turn callsign into index
|
||||
}
|
||||
me.setup(me.list[which]);
|
||||
},
|
||||
next: func(step) {
|
||||
var i = me.find(me.current);
|
||||
i = i == nil ? 0 : math.mod(i + step, size(me.list));
|
||||
me.setup(me.list[i]);
|
||||
},
|
||||
_update_: func {
|
||||
var self = {
|
||||
callsign: getprop("/sim/multiplay/callsign"),
|
||||
model:,
|
||||
node: props.globals,
|
||||
root: '/',
|
||||
};
|
||||
# It looks like we can get called (from me.new()) before
|
||||
# multiplayer.model.list is created, so need to check whether it
|
||||
# exists.
|
||||
if (hasmember(multiplayer.model, 'list')) {
|
||||
me.list = [self] ~ multiplayer.model.list;
|
||||
}
|
||||
else {
|
||||
me.list = [self];
|
||||
}
|
||||
if (!me.find(me.current))
|
||||
me.select(0);
|
||||
},
|
||||
setup: func(data) {
|
||||
if (data.root == '/') {
|
||||
var ident = '[' ~ data.callsign ~ ']';
|
||||
} else {
|
||||
var ident = '"' ~ data.callsign ~ '" (' ~ data.model ~ ')';
|
||||
}
|
||||
|
||||
me.setup(me.list[which]);
|
||||
},
|
||||
next: func(step) {
|
||||
var i = me.find(me.current);
|
||||
i = i == nil ? 0 : math.mod(i + step, size(me.list));
|
||||
me.setup(me.list[i]);
|
||||
},
|
||||
_update_: func {
|
||||
var self = { callsign: getprop("/sim/multiplay/callsign"), model:,
|
||||
node: props.globals, root: '/' };
|
||||
me.list = [self] ~ multiplayer.model.list;
|
||||
if (!me.find(me.current))
|
||||
me.select(0);
|
||||
},
|
||||
setup: func(data) {
|
||||
if (data.root == '/') {
|
||||
var zoffset = getprop("/sim/chase-distance-m");
|
||||
var ident = '[' ~ data.callsign ~ ']';
|
||||
} else {
|
||||
var zoffset = 70;
|
||||
var ident = '"' ~ data.callsign ~ '" (' ~ data.model ~ ')';
|
||||
}
|
||||
|
||||
me.current = data.callsign;
|
||||
me.legendN.setValue(ident);
|
||||
setprop("/sim/current-view/z-offset-m", zoffset);
|
||||
|
||||
me.viewN.getNode("config").setValues({
|
||||
"eye-lat-deg-path": data.root ~ "/position/latitude-deg",
|
||||
"eye-lon-deg-path": data.root ~ "/position/longitude-deg",
|
||||
"eye-alt-ft-path": data.root ~ "/position/altitude-ft",
|
||||
"eye-heading-deg-path": data.root ~ "/orientation/heading-deg",
|
||||
"target-lat-deg-path": data.root ~ "/position/latitude-deg",
|
||||
"target-lon-deg-path": data.root ~ "/position/longitude-deg",
|
||||
"target-alt-ft-path": data.root ~ "/position/altitude-ft",
|
||||
"target-heading-deg-path": data.root ~ "/orientation/heading-deg",
|
||||
"target-pitch-deg-path": data.root ~ "/orientation/pitch-deg",
|
||||
"target-roll-deg-path": data.root ~ "/orientation/roll-deg",
|
||||
});
|
||||
},
|
||||
me.current = data.callsign;
|
||||
me.legendN.setValue(data.callsign);
|
||||
manager.multiplayer_callback(data);
|
||||
},
|
||||
};
|
||||
|
||||
var model_view_handler = model_view_handler_class.new();
|
||||
# Note that gui/dialogs/model-view.xml expects to be able to call
|
||||
# view.model_view_handler.next() etc.
|
||||
|
||||
var pilot_view_limiter = {
|
||||
new : func {
|
||||
|
@ -736,7 +834,6 @@ _setlistener("/sim/signals/nasal-dir-initialized", func {
|
|||
screenWidthCompens.init();
|
||||
manager.init();
|
||||
manager.register("Fly-By View", fly_by_view_handler);
|
||||
manager.register("Model View", model_view_handler);
|
||||
});
|
||||
_setlistener("/sim/signals/reinit", func {
|
||||
screenWidthCompens.update(opt:nil,force:1);
|
||||
|
@ -750,7 +847,7 @@ _setlistener("/sim/startup/ysize", func {
|
|||
|
||||
|
||||
var fdm_init_listener = _setlistener("/sim/signals/fdm-initialized", func {
|
||||
removelistener(fdm_init_listener); # uninstall, so we're only called once
|
||||
removelistener(fdm_init_listener); # uninstall, so we are only called once
|
||||
var zoffset = nil;
|
||||
foreach (var v; views) {
|
||||
var index = v.getIndex();
|
||||
|
@ -770,6 +867,7 @@ var fdm_init_listener = _setlistener("/sim/signals/fdm-initialized", func {
|
|||
}
|
||||
|
||||
forindex (var i; views) {
|
||||
indices[views[i].getIndex()] = i;
|
||||
var limits = views[i].getNode("config/limits/enabled");
|
||||
if (limits != nil) {
|
||||
func (i) {
|
||||
|
|
69
defaults.xml
|
@ -656,19 +656,8 @@ Started September 2000 by David Megginson, david@megginson.com
|
|||
<type>lookat</type>
|
||||
<config>
|
||||
<from-model type="bool">false</from-model>
|
||||
<from-model-idx type="int">0</from-model-idx>
|
||||
<eye-lat-deg-path>/position/latitude-deg</eye-lat-deg-path>
|
||||
<eye-lon-deg-path>/position/longitude-deg</eye-lon-deg-path>
|
||||
<eye-alt-ft-path>/position/altitude-ft</eye-alt-ft-path>
|
||||
<eye-heading-deg-path>/orientation/heading-deg</eye-heading-deg-path>
|
||||
<at-model type="bool">true</at-model>
|
||||
<at-model-idx type="int">0</at-model-idx>
|
||||
<at-model-heading-damping type="double">0.0</at-model-heading-damping>
|
||||
<target-z-offset-m type="double">0</target-z-offset-m>
|
||||
<ground-level-nearplane-m type="double">0.5f</ground-level-nearplane-m>
|
||||
<default-field-of-view-deg type="double">55.0</default-field-of-view-deg>
|
||||
<x-offset-m type="double">0</x-offset-m>
|
||||
<y-offset-m type="double">0</y-offset-m>
|
||||
<eye-heading-deg-path>/orientation/true-heading-deg</eye-heading-deg-path>
|
||||
<z-offset-m alias="/sim/chase-distance-m"/>
|
||||
</config>
|
||||
</view>
|
||||
|
@ -678,20 +667,13 @@ Started September 2000 by David Megginson, david@megginson.com
|
|||
<type>lookat</type>
|
||||
<config>
|
||||
<from-model type="bool">false</from-model>
|
||||
<from-model-idx type="int">0</from-model-idx>
|
||||
<eye-lat-deg-path>/position/latitude-deg</eye-lat-deg-path>
|
||||
<eye-lon-deg-path>/position/longitude-deg</eye-lon-deg-path>
|
||||
<eye-alt-ft-path>/position/altitude-ft</eye-alt-ft-path>
|
||||
<at-model type="bool">true</at-model>
|
||||
<eye-pitch-deg-path>/orientation/pitch-deg</eye-pitch-deg-path>
|
||||
<eye-roll-deg-path>/orientation/roll-deg</eye-roll-deg-path>
|
||||
<eye-heading-deg-path>/orientation/heading-deg</eye-heading-deg-path>
|
||||
<at-model type="bool">true</at-model>
|
||||
<at-model-idx type="int">0</at-model-idx>
|
||||
<eye-heading-deg-path>/orientation/true-heading-deg</eye-heading-deg-path>
|
||||
<at-model-roll-damping type="double">1.8</at-model-roll-damping>
|
||||
<at-model-pitch-damping type="double">1.8</at-model-pitch-damping>
|
||||
<at-model-heading-damping type="double">1.8</at-model-heading-damping>
|
||||
<target-z-offset-m type="double">0</target-z-offset-m>
|
||||
<ground-level-nearplane-m type="double">0.5f</ground-level-nearplane-m>
|
||||
<default-field-of-view-deg type="double">55.0</default-field-of-view-deg>
|
||||
<x-offset-m type="double">0</x-offset-m>
|
||||
<y-offset-m type="double">5</y-offset-m>
|
||||
|
@ -742,16 +724,15 @@ Started September 2000 by David Megginson, david@megginson.com
|
|||
<type>lookat</type>
|
||||
<config>
|
||||
<from-model type="bool">false</from-model>
|
||||
<from-model-idx type="int">0</from-model-idx>
|
||||
<eye-lat-deg-path>/position/latitude-deg</eye-lat-deg-path>
|
||||
<eye-lon-deg-path>/position/longitude-deg</eye-lon-deg-path>
|
||||
<eye-alt-ft-path>/position/altitude-ft</eye-alt-ft-path>
|
||||
<at-model type="bool">true</at-model>
|
||||
<at-model-idx type="int">0</at-model-idx>
|
||||
<ground-level-nearplane-m type="double">0.5f</ground-level-nearplane-m>
|
||||
<eye-pitch-deg-path>/orientation/pitch-deg</eye-pitch-deg-path>
|
||||
<eye-roll-deg-path>/orientation/roll-deg</eye-roll-deg-path>
|
||||
<at-model-roll-damping type="double">1.8</at-model-roll-damping>
|
||||
<at-model-pitch-damping type="double">1.8</at-model-pitch-damping>
|
||||
<at-model-heading-damping type="double">1.8</at-model-heading-damping>
|
||||
<default-field-of-view-deg type="double">55.0</default-field-of-view-deg>
|
||||
<x-offset-m type="double">25</x-offset-m>
|
||||
<y-offset-m type="double">2</y-offset-m>
|
||||
<x-offset-m type="double">0</x-offset-m>
|
||||
<y-offset-m type="double">5</y-offset-m>
|
||||
<z-offset-m alias="/sim/chase-distance-m"/>
|
||||
</config>
|
||||
</view>
|
||||
|
@ -770,19 +751,17 @@ Started September 2000 by David Megginson, david@megginson.com
|
|||
</config>
|
||||
</view>
|
||||
<view>
|
||||
<name>Model View</name>
|
||||
<name>Tower View AGL</name>
|
||||
<enabled type="bool" userarchive="y">true</enabled>
|
||||
<type>lookat</type>
|
||||
<config>
|
||||
<from-model type="bool">false</from-model>
|
||||
<from-model-idx type="int">0</from-model-idx>
|
||||
<eye-lat-deg-path>/sim/viewer/eye/latitude-deg</eye-lat-deg-path>
|
||||
<eye-lon-deg-path>/sim/viewer/eye/longitude-deg</eye-lon-deg-path>
|
||||
<eye-alt-ft-path>/sim/viewer/eye/altitude-ft</eye-alt-ft-path>
|
||||
<eye-heading-deg-path>/sim/viewer/eye/heading-deg</eye-heading-deg-path>
|
||||
<eye-pitch-deg-path>/sim/viewer/eye/pitch-deg</eye-pitch-deg-path>
|
||||
<eye-roll-deg-path>/sim/viewer/eye/roll-deg</eye-roll-deg-path>
|
||||
<at-model type="bool">false</at-model>
|
||||
<eye-lat-deg-path>/sim/tower/latitude-deg</eye-lat-deg-path>
|
||||
<eye-lon-deg-path>/sim/tower/longitude-deg</eye-lon-deg-path>
|
||||
<eye-alt-ft-path>/sim/tower/altitude-ft</eye-alt-ft-path>
|
||||
<eye-roll-deg-path>/sim/tower/roll-deg</eye-roll-deg-path>
|
||||
<eye-pitch-deg-path>/sim/tower/pitch-deg</eye-pitch-deg-path>
|
||||
<eye-heading-deg-path>/sim/tower/heading-deg</eye-heading-deg-path>
|
||||
<at-model type="bool">true</at-model>
|
||||
<at-model-idx type="int">0</at-model-idx>
|
||||
<target-lat-deg-path>/sim/viewer/target/latitude-deg</target-lat-deg-path>
|
||||
<target-lon-deg-path>/sim/viewer/target/longitude-deg</target-lon-deg-path>
|
||||
|
@ -790,17 +769,13 @@ Started September 2000 by David Megginson, david@megginson.com
|
|||
<target-heading-deg-path>/sim/viewer/target/heading-deg</target-heading-deg-path>
|
||||
<target-pitch-deg-path>/sim/viewer/target/pitch-deg</target-pitch-deg-path>
|
||||
<target-roll-deg-path>/sim/viewer/target/roll-deg</target-roll-deg-path>
|
||||
<target-x-offset-m type="double">0</target-x-offset-m>
|
||||
<target-y-offset-m type="double">0</target-y-offset-m>
|
||||
<target-z-offset-m type="double">0</target-z-offset-m>
|
||||
<ground-level-nearplane-m type="double">0.5f</ground-level-nearplane-m>
|
||||
<ground-level-nearplane-m type="double">10.0f</ground-level-nearplane-m>
|
||||
<default-field-of-view-deg type="double">55.0</default-field-of-view-deg>
|
||||
<x-offset-m type="double">0</x-offset-m>
|
||||
<y-offset-m type="double">0</y-offset-m>
|
||||
<z-offset-m type="double">100</z-offset-m>
|
||||
<heading-offset-deg type="double">0</heading-offset-deg>
|
||||
<pitch-offset-deg type="double">0</pitch-offset-deg>
|
||||
<roll-offset-deg type="double">0</roll-offset-deg>
|
||||
<z-offset-m type="double">0</z-offset-m>
|
||||
<lookat-agl type="bool">true</lookat-agl>
|
||||
<lookat-agl-damping type="double">2.2</lookat-agl-damping>
|
||||
</config>
|
||||
</view>
|
||||
<menubar>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<PropertyList>
|
||||
<name>model-view-select</name>
|
||||
<dialog-name>model-view-select</dialog-name>
|
||||
<x>46</x>
|
||||
<x>5</x>
|
||||
<y>33</y>
|
||||
<layout>hbox</layout>
|
||||
<default-padding>0</default-padding>
|
||||
|
|
|
@ -43,6 +43,15 @@
|
|||
<property>/sim/current-view/x-offset-m</property>
|
||||
<binding><command>dialog-apply</command></binding>
|
||||
</dial>
|
||||
|
||||
<button>
|
||||
<legend>Zero</legend>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/sim/current-view/x-offset-m</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<text>
|
||||
<label>-100.00</label>
|
||||
|
@ -64,6 +73,15 @@
|
|||
<property>/sim/current-view/y-offset-m</property>
|
||||
<binding><command>dialog-apply</command></binding>
|
||||
</dial>
|
||||
|
||||
<button>
|
||||
<legend>Zero</legend>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/sim/current-view/y-offset-m</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<text>
|
||||
<label>-100.00</label>
|
||||
|
@ -85,6 +103,15 @@
|
|||
<property>/sim/current-view/z-offset-m</property>
|
||||
<binding><command>dialog-apply</command></binding>
|
||||
</dial>
|
||||
|
||||
<button>
|
||||
<legend>Zero</legend>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/sim/current-view/z-offset-m</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<text>
|
||||
<label>-100.00</label>
|
||||
|
|