A32X: tray tables
This commit is contained in:
parent
12de1c2ed5
commit
eefca424e1
4 changed files with 281 additions and 0 deletions
|
@ -1183,6 +1183,7 @@
|
|||
<file>Aircraft/IDG-A32X/Nasal/engines.nas</file>
|
||||
<file>Aircraft/IDG-A32X/Nasal/ADIRS.nas</file>
|
||||
<file>Aircraft/IDG-A32X/Nasal/fire.nas</file>
|
||||
<file>Aircraft/IDG-A32X/Nasal/trays.nas</file>
|
||||
</systems>
|
||||
<thrust>
|
||||
<file>Aircraft/IDG-A32X/Nasal/fadec-common.nas</file>
|
||||
|
|
|
@ -5395,6 +5395,214 @@
|
|||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>tray</object-name>
|
||||
<object-name>cylinder01</object-name>
|
||||
<property>/controls/tray/lefttrayext</property>
|
||||
<interpolation>
|
||||
<entry><ind>0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>0.5</ind><dep>0.160</dep></entry>
|
||||
<entry><ind>1</ind><dep>0.160</dep></entry>
|
||||
</interpolation>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>tray.001</object-name>
|
||||
<object-name>cylinder01.001</object-name>
|
||||
<property>/controls/tray/righttrayext</property>
|
||||
<interpolation>
|
||||
<entry><ind>0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>0.5</ind><dep>0.160</dep></entry>
|
||||
<entry><ind>1</ind><dep>0.160</dep></entry>
|
||||
</interpolation>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>tray</object-name>
|
||||
<object-name>cylinder01</object-name>
|
||||
<property>/controls/tray/lefttrayext</property>
|
||||
<interpolation>
|
||||
<entry><ind>0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>0.5</ind><dep>0.045</dep></entry>
|
||||
<entry><ind>1</ind><dep>0.045</dep></entry>
|
||||
</interpolation>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<z>1</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>tray.001</object-name>
|
||||
<object-name>cylinder01.001</object-name>
|
||||
<property>/controls/tray/righttrayext</property>
|
||||
<interpolation>
|
||||
<entry><ind>0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>0.5</ind><dep>0.045</dep></entry>
|
||||
<entry><ind>1</ind><dep>0.045</dep></entry>
|
||||
</interpolation>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<z>1</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>tray</object-name>
|
||||
<property>/controls/tray/lefttrayext</property>
|
||||
<interpolation>
|
||||
<entry><ind>0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>0.45</ind><dep>0</dep></entry>
|
||||
<entry><ind>0.5</ind><dep>5</dep></entry>
|
||||
<entry><ind>1</ind><dep>5</dep></entry>
|
||||
</interpolation>
|
||||
<center>
|
||||
<x-m>-0.52671</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>-0.1702</z-m>
|
||||
</center>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>cylinder01.002</object-name>
|
||||
<property>/controls/tray/lefttrayext</property>
|
||||
<interpolation>
|
||||
<entry><ind>0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>0.45</ind><dep>0</dep></entry>
|
||||
<entry><ind>0.5</ind><dep>5</dep></entry>
|
||||
<entry><ind>1</ind><dep>185</dep></entry>
|
||||
</interpolation>
|
||||
<center>
|
||||
<x-m>-0.52671</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>-0.1702</z-m>
|
||||
</center>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>tray.001</object-name>
|
||||
<property>/controls/tray/righttrayext</property>
|
||||
<interpolation>
|
||||
<entry><ind>0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>0.45</ind><dep>0</dep></entry>
|
||||
<entry><ind>0.5</ind><dep>5</dep></entry>
|
||||
<entry><ind>1</ind><dep>5</dep></entry>
|
||||
</interpolation>
|
||||
<center>
|
||||
<x-m>-0.52671</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>-0.1702</z-m>
|
||||
</center>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>cylinder01.001</object-name>
|
||||
<property>/controls/tray/righttrayext</property>
|
||||
<interpolation>
|
||||
<entry><ind>0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>0.45</ind><dep>0</dep></entry>
|
||||
<entry><ind>0.5</ind><dep>5</dep></entry>
|
||||
<entry><ind>1</ind><dep>185</dep></entry>
|
||||
</interpolation>
|
||||
<center>
|
||||
<x-m>-0.52671</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>-0.1702</z-m>
|
||||
</center>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>tray</object-name>
|
||||
<object-name>cylinder01.002</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<binding>
|
||||
<command>property-cycle</command>
|
||||
<property>/controls/tray/cmdL</property>
|
||||
<value>0</value>
|
||||
<value>0.5</value>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</action>
|
||||
<action>
|
||||
<button>1</button>
|
||||
<binding>
|
||||
<command>property-cycle</command>
|
||||
<property>/controls/tray/cmdL</property>
|
||||
<value>1</value>
|
||||
<value>0.5</value>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>tray.001</object-name>
|
||||
<object-name>cylinder01.001</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<binding>
|
||||
<command>property-cycle</command>
|
||||
<property>/controls/tray/cmdR</property>
|
||||
<value>0</value>
|
||||
<value>0.5</value>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</action>
|
||||
<action>
|
||||
<button>1</button>
|
||||
<binding>
|
||||
<command>property-cycle</command>
|
||||
<property>/controls/tray/cmdR</property>
|
||||
<value>1</value>
|
||||
<value>0.5</value>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Aircraft/IDG-A32X/Models/Effects/floorlightmap</inherits-from>
|
||||
<object-name>object0000</object-name>
|
||||
|
|
|
@ -203,6 +203,7 @@ setlistener("/sim/signals/fdm-initialized", func {
|
|||
systems.fuel_init();
|
||||
systems.fire_init();
|
||||
systems.eng_init();
|
||||
systems.tray_init();
|
||||
fmgc.APinit();
|
||||
librariesLoop.start();
|
||||
fmgc.FMGCinit();
|
||||
|
|
71
Nasal/trays.nas
Normal file
71
Nasal/trays.nas
Normal file
|
@ -0,0 +1,71 @@
|
|||
# A3XX Tray Tables
|
||||
# Jonathan Redpath (legoboyvdlp)
|
||||
|
||||
#########################################
|
||||
# Copyright (c) it0uchpods Design Group #
|
||||
#########################################
|
||||
|
||||
#############
|
||||
# Init Vars #
|
||||
#############
|
||||
setlistener("/sim/signals/fdm-initialized", func {
|
||||
var cmdL = getprop("/controls/tray/cmdL");
|
||||
var cmdR = getprop("/controls/tray/cmdR");
|
||||
var trayLext = getprop("/controls/tray/lefttrayext");
|
||||
var trayRext = getprop("/controls/tray/righttrayext");
|
||||
});
|
||||
|
||||
var tray_init = func {
|
||||
setprop("/controls/tray/cmdL", 0); # 0 = in 0.5 = half 1 = full
|
||||
setprop("/controls/tray/cmdR", 0); # 0 = in 0.5 = half 1 = full
|
||||
setprop("/controls/tray/lefttrayext", 0); # controls the lateral extension
|
||||
setprop("/controls/tray/righttrayext", 0);
|
||||
tray_timer.start();
|
||||
}
|
||||
|
||||
##############
|
||||
# Main Loops #
|
||||
##############
|
||||
var master_tray = func {
|
||||
cmdL = getprop("/controls/tray/cmdL");
|
||||
cmdR = getprop("/controls/tray/cmdR");
|
||||
trayLext = getprop("/controls/tray/lefttrayext");
|
||||
trayRext = getprop("/controls/tray/righttrayext");
|
||||
|
||||
if (cmdL == 0 and trayLext == 1) {
|
||||
interpolate("/controls/tray/lefttrayext", 0, 2);
|
||||
} elsif (cmdL == 0 and trayLext == 0.5) {
|
||||
interpolate("/controls/tray/lefttrayext", 0, 1);
|
||||
} elsif (cmdL == 0.5 and trayLext == 1) {
|
||||
interpolate("/controls/tray/lefttrayext", 0.5, 1);
|
||||
} elsif (cmdL == 0.5 and trayLext == 0) {
|
||||
interpolate("/controls/tray/lefttrayext", 0.5, 1);
|
||||
} elsif (cmdL == 1 and trayLext == 0) {
|
||||
interpolate("/controls/tray/lefttrayext", 1, 2);
|
||||
} elsif (cmdL == 1 and trayLext == 0.5) {
|
||||
interpolate("/controls/tray/lefttrayext", 1, 1);
|
||||
}
|
||||
|
||||
if (cmdR == 0 and trayRext == 1) {
|
||||
interpolate("/controls/tray/righttrayext", 0, 2);
|
||||
} elsif (cmdR == 0 and trayRext == 0.5) {
|
||||
interpolate("/controls/tray/righttrayext", 0, 1);
|
||||
} elsif (cmdR == 0.5 and trayRext == 1) {
|
||||
interpolate("/controls/tray/righttrayext", 0.5, 1);
|
||||
} elsif (cmdR == 0.5 and trayRext == 0) {
|
||||
interpolate("/controls/tray/righttrayext", 0.5, 1);
|
||||
} elsif (cmdR == 1 and trayRext == 0) {
|
||||
interpolate("/controls/tray/righttrayext", 1, 2);
|
||||
} elsif (cmdR == 1 and trayRext == 0.5) {
|
||||
interpolate("/controls/tray/righttrayext", 1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
###################
|
||||
# Update Function #
|
||||
###################
|
||||
var update_tray = func {
|
||||
master_tray();
|
||||
}
|
||||
|
||||
var tray_timer = maketimer(0.1, update_tray);
|
Reference in a new issue