Merge branch 'master' of git://gitorious.org/fg/fgdata
This commit is contained in:
commit
e602bdc837
9 changed files with 2236 additions and 1634 deletions
File diff suppressed because it is too large
Load diff
|
@ -2,6 +2,233 @@ var input = func(v) {
|
|||
setprop("/instrumentation/cdu/input",getprop("/instrumentation/cdu/input")~v);
|
||||
}
|
||||
|
||||
var input = func(v) {
|
||||
setprop("/instrumentation/cdu/input",getprop("/instrumentation/cdu/input")~v);
|
||||
}
|
||||
|
||||
var key = func(v) {
|
||||
var cduDisplay = getprop("/instrumentation/cdu/display");
|
||||
var serviceable = getprop("/instrumentation/cdu/serviceable");
|
||||
var eicasDisplay = getprop("/instrumentation/eicas/display");
|
||||
var cduInput = getprop("/instrumentation/cdu/input");
|
||||
|
||||
if (serviceable == 1){
|
||||
if (v == "LSK1L"){
|
||||
if (cduDisplay == "DEP_ARR_INDEX"){
|
||||
cduDisplay = "RTE1_DEP";
|
||||
}
|
||||
if (cduDisplay == "EICAS_MODES"){
|
||||
eicasDisplay = "ENG";
|
||||
}
|
||||
if (cduDisplay == "EICAS_SYN"){
|
||||
eicasDisplay = "ELEC";
|
||||
}
|
||||
if (cduDisplay == "INIT_REF"){
|
||||
cduDisplay = "IDENT";
|
||||
}
|
||||
if (cduDisplay == "NAV_RAD"){
|
||||
setprop("/instrumentation/nav[0]/frequencies/selected-mhz",cduInput);
|
||||
cduInput = "";
|
||||
}
|
||||
if (cduDisplay == "RTE1_1"){
|
||||
setprop("/autopilot/route-manager/departure/airport",cduInput);
|
||||
cduInput = "";
|
||||
}
|
||||
if (cduDisplay == "RTE1_LEGS"){
|
||||
if (cduInput == "DELETE"){
|
||||
setprop("/autopilot/route-manager/input","@DELETE1");
|
||||
cduInput = "";
|
||||
}
|
||||
else{
|
||||
setprop("/autopilot/route-manager/input","@INSERT2:"~cduInput);
|
||||
}
|
||||
}
|
||||
if (cduDisplay == "TO_REF"){
|
||||
setprop("/instrumentation/fmc/to-flap",cduInput);
|
||||
cduInput = "";
|
||||
}
|
||||
}
|
||||
if (v == "LSK1R"){
|
||||
if (cduDisplay == "EICAS_MODES"){
|
||||
eicasDisplay = "FUEL";
|
||||
}
|
||||
if (cduDisplay == "EICAS_SYN"){
|
||||
eicasDisplay = "HYD";
|
||||
}
|
||||
if (cduDisplay == "NAV RAD"){
|
||||
setprop("/instrumentation/nav[1]/frequencies/selected-mhz",cduInput);
|
||||
cduInput = "";
|
||||
}
|
||||
if (cduDisplay == "RTE1_1"){
|
||||
setprop("/autopilot/route-manager/destination/airport",cduInput);
|
||||
cduInput = "";
|
||||
}
|
||||
if (cduDisplay == "RTE1_LEGS"){
|
||||
setprop("/autopilot/route-manager/route/wp[1]/altitude-ft",cduInput);
|
||||
if (substr(cduInput,0,2) == "FL"){
|
||||
setprop("/autopilot/route-manager/route/wp[1]/altitude-ft",substr(cduInput,2)*100);
|
||||
}
|
||||
cduInput = "";
|
||||
}
|
||||
}
|
||||
if (v == "LSK2L"){
|
||||
if (cduDisplay == "EICAS_MODES"){
|
||||
eicasDisplay = "STAT";
|
||||
}
|
||||
if (cduDisplay == "EICAS_SYN"){
|
||||
eicasDisplay = "ECS";
|
||||
}
|
||||
if (cduDisplay == "POS_INIT"){
|
||||
setprop("/instrumentation/fmc/ref-airport",cduInput);
|
||||
cduInput = "";;
|
||||
}
|
||||
if (cduDisplay == "INIT_REF"){
|
||||
cduDisplay = "POS_INIT";
|
||||
}
|
||||
if (cduDisplay == "RTE1_1"){
|
||||
setprop("/autopilot/route-manager/departure/runway",cduInput);
|
||||
cduInput = "";;
|
||||
}
|
||||
if (cduDisplay == "RTE1_LEGS"){
|
||||
if (cduInput == "DELETE"){
|
||||
setprop("/autopilot/route-manager/input","@DELETE2");
|
||||
cduInput = "";
|
||||
}
|
||||
else{
|
||||
setprop("/autopilot/route-manager/input","@INSERT3:"~cduInput);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (v == "LSK2R"){
|
||||
if (cduDisplay == "DEP_ARR_INDEX"){
|
||||
cduDisplay = "RTE1_ARR";
|
||||
}
|
||||
if (cduDisplay == "EICAS_MODES"){
|
||||
eicasDisplay = "GEAR";
|
||||
}
|
||||
if (cduDisplay == "EICAS_SYN"){
|
||||
eicasDisplay = "DRS";
|
||||
}
|
||||
if (cduDisplay == "RTE1_LEGS"){
|
||||
setprop("/autopilot/route-manager/route/wp[2]/altitude-ft",cduInput);
|
||||
if (substr(cduInput,0,2) == "FL"){
|
||||
setprop("/autopilot/route-manager/route/wp[2]/altitude-ft",substr(cduInput,2)*100);
|
||||
}
|
||||
cduInput = "";
|
||||
}
|
||||
}
|
||||
if (v == "LSK3L"){
|
||||
if (cduDisplay == "INIT_REF"){
|
||||
cduDisplay = "PERF_INIT";
|
||||
}
|
||||
if (cduDisplay == "RTE1_LEGS"){
|
||||
if (cduInput == "DELETE"){
|
||||
setprop("/autopilot/route-manager/input","@DELETE3");
|
||||
cduInput = "";
|
||||
}
|
||||
else{
|
||||
setprop("/autopilot/route-manager/input","@INSERT4:"~cduInput);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (v == "LSK3R"){
|
||||
if (cduDisplay == "RTE1_LEGS"){
|
||||
setprop("/autopilot/route-manager/route/wp[3]/altitude-ft",cduInput);
|
||||
if (substr(cduInput,0,2) == "FL"){
|
||||
setprop("/autopilot/route-manager/route/wp[3]/altitude-ft",substr(cduInput,2)*100);
|
||||
}
|
||||
cduInput = "";
|
||||
}
|
||||
}
|
||||
if (v == "LSK4L"){
|
||||
if (cduDisplay == "INIT_REF"){
|
||||
cduDisplay = "THR_LIM";
|
||||
}
|
||||
if (cduDisplay == "RTE1_LEGS"){
|
||||
if (cduInput == "DELETE"){
|
||||
setprop("/autopilot/route-manager/input","@DELETE4");
|
||||
cduInput = "";
|
||||
}
|
||||
else{
|
||||
setprop("/autopilot/route-manager/input","@INSERT5:"~cduInput);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (v == "LSK4R"){
|
||||
if (cduDisplay == "RTE1_LEGS"){
|
||||
setprop("/autopilot/route-manager/route/wp[4]/altitude-ft",cduInput);
|
||||
if (substr(cduInput,0,2) == "FL"){
|
||||
setprop("/autopilot/route-manager/route/wp[4]/altitude-ft",substr(cduInput,2)*100);
|
||||
}
|
||||
cduInput = "";
|
||||
}
|
||||
}
|
||||
if (v == "LSK5L"){
|
||||
if (cduDisplay == "INIT_REF"){
|
||||
cduDisplay = "TO_REF";
|
||||
}
|
||||
if (cduDisplay == "RTE1_LEGS"){
|
||||
if (cduInput == "DELETE"){
|
||||
setprop("/autopilot/route-manager/input","@DELETE5");
|
||||
cduInput = "";
|
||||
}
|
||||
else{
|
||||
setprop("/autopilot/route-manager/input","@INSERT6:"~cduInput);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (v == "LSK5R"){
|
||||
if (cduDisplay == "RTE1_LEGS"){
|
||||
setprop("/autopilot/route-manager/route/wp[5]/altitude-ft",cduInput);
|
||||
if (substr(cduInput,0,2) == "FL"){
|
||||
setprop("/autopilot/route-manager/route/wp[5]/altitude-ft",substr(cduInput,2)*100);
|
||||
}
|
||||
cduInput = "";
|
||||
}
|
||||
}
|
||||
if (v == "LSK6L"){
|
||||
if (cduDisplay == "INIT_REF"){
|
||||
cduDisplay = "APP_REF";
|
||||
}
|
||||
if (cduDisplay == "APP_REF"){
|
||||
cduDisplay = "INIT_REF";
|
||||
}
|
||||
if ((cduDisplay == "IDENT") or (cduDisplay = "PERF_INIT") or (cduDisplay = "POS_INIT") or (cduDisplay = "POS_REF") or (cduDisplay = "THR_LIM") or (cduDisplay = "TO_REF")){
|
||||
cduDisplay = "INIT_REF";
|
||||
}
|
||||
}
|
||||
if (v == "LSK6R"){
|
||||
if (cduDisplay == "THR_LIM"){
|
||||
cduDisplay = "TO_REF";
|
||||
}
|
||||
if (cduDisplay == "APP_REF"){
|
||||
cduDisplay = "THR_LIM";
|
||||
}
|
||||
if ((cduDisplay == "RTE1_1") or (cduDisplay == "RTE1_LEGS")){
|
||||
setprop("/autopilot/route-manager/input","@ACTIVATE");
|
||||
}
|
||||
if ((cduDisplay == "POS_INIT") or (cduDisplay == "DEP") or (cduDisplay == "RTE1_ARR") or (cduDisplay == "RTE1_DEP")){
|
||||
cduDisplay = "RTE1_1";
|
||||
}
|
||||
if ((cduDisplay == "IDENT") or (cduDisplay == "TO_REF")){
|
||||
cduDisplay = "POS_INIT";
|
||||
}
|
||||
if (cduDisplay == "EICAS_SYN"){
|
||||
cduDisplay = "EICAS_MODES";
|
||||
}
|
||||
if (cduDisplay == "EICAS_MODES"){
|
||||
cduDisplay = "EICAS_SYN";
|
||||
}
|
||||
}
|
||||
|
||||
setprop("/instrumentation/cdu/display",cduDisplay);
|
||||
if (eicasDisplay != nil){
|
||||
setprop("/instrumentation/eicas/display",eicasDisplay);
|
||||
}
|
||||
setprop("/instrumentation/cdu/input",cduInput);
|
||||
}
|
||||
}
|
||||
|
||||
var delete = func {
|
||||
var length = size(getprop("/instrumentation/cdu/input")) - 1;
|
||||
setprop("/instrumentation/cdu/input",substr(getprop("/instrumentation/cdu/input"),0,length));
|
||||
|
@ -54,8 +281,12 @@ var cdu = func{
|
|||
title = "APPROACH REF";
|
||||
line1lt = "GROSS WT";
|
||||
line1rt = "FLAPS VREF";
|
||||
line1l = getprop("/instrumentation/fmc/vspeeds/Vref");
|
||||
line4lt = getprop("/autopilot/route-manager/destination/airport");
|
||||
if (getprop("/instrumentation/fmc/vspeeds/Vref") != nil){
|
||||
line1l = getprop("/instrumentation/fmc/vspeeds/Vref");
|
||||
}
|
||||
if (getprop("/autopilot/route-manager/destination/airport") != nil){
|
||||
line4lt = getprop("/autopilot/route-manager/destination/airport");
|
||||
}
|
||||
line6l = "<INDEX";
|
||||
line6r = "THRUST LIM>";
|
||||
}
|
||||
|
@ -63,9 +294,13 @@ var cdu = func{
|
|||
title = "DEP/ARR INDEX";
|
||||
line1l = "<DEP";
|
||||
line1ct = "RTE 1";
|
||||
line1c = getprop("/autopilot/route-manager/departure/airport");
|
||||
if (getprop("/autopilot/route-manager/departure/airport") != nil){
|
||||
line1c = getprop("/autopilot/route-manager/departure/airport");
|
||||
}
|
||||
line1r = "ARR>";
|
||||
line2c = getprop("/autopilot/route-manager/destination/airport");
|
||||
if (getprop("/autopilot/route-manager/destination/airport") != nil){
|
||||
line2c = getprop("/autopilot/route-manager/destination/airport");
|
||||
}
|
||||
line2r = "ARR>";
|
||||
line3l = "<DEP";
|
||||
line3r = "ARR>";
|
||||
|
@ -107,10 +342,14 @@ var cdu = func{
|
|||
if (display == "IDENT") {
|
||||
title = "IDENT";
|
||||
line1lt = "MODEL";
|
||||
line1l = getprop("/instrumentation/cdu/ident/model");
|
||||
if (getprop("/instrumentation/cdu/ident/model") != nil){
|
||||
line1l = getprop("/instrumentation/cdu/ident/model");
|
||||
}
|
||||
line1rt = "ENGINES";
|
||||
line2lt = "NAV DATA";
|
||||
line1r = getprop("/instrumentation/cdu/ident/engines");
|
||||
if (getprop("/instrumentation/cdu/ident/engines") != nil){
|
||||
line1r = getprop("/instrumentation/cdu/ident/engines");
|
||||
}
|
||||
line6l = "<INDEX";
|
||||
line6r = "POS INIT>";
|
||||
}
|
||||
|
@ -191,11 +430,17 @@ var cdu = func{
|
|||
title = "RTE 1";
|
||||
page = "1/2";
|
||||
line1lt = "ORIGIN";
|
||||
line1l = getprop("/autopilot/route-manager/departure/airport");
|
||||
if (getprop("/autopilot/route-manager/departure/airport") != nil){
|
||||
line1l = getprop("/autopilot/route-manager/departure/airport");
|
||||
}
|
||||
line1rt = "DEST";
|
||||
line1r = getprop("/autopilot/route-manager/destination/airport");
|
||||
if (getprop("/autopilot/route-manager/destination/airport") != nil){
|
||||
line1r = getprop("/autopilot/route-manager/destination/airport");
|
||||
}
|
||||
line2lt = "RUNWAY";
|
||||
line2l = getprop("/autopilot/route-manager/departure/runway");
|
||||
if (getprop("/autopilot/route-manager/departure/runway") != nil){
|
||||
line2l = getprop("/autopilot/route-manager/departure/runway");
|
||||
}
|
||||
line2rt = "FLT NO";
|
||||
line3rt = "CO ROUTE";
|
||||
line5l = "<RTE COPY";
|
||||
|
@ -231,20 +476,34 @@ var cdu = func{
|
|||
line6r = "ACTIVATE>";
|
||||
}
|
||||
if (display == "RTE1_ARR") {
|
||||
title = getprop("/autopilot/route-manager/destination/airport")~" ARRIVALS";
|
||||
if (getprop("/autopilot/route-manager/destination/airport") != nil){
|
||||
title = getprop("/autopilot/route-manager/destination/airport")~" ARRIVALS";
|
||||
}
|
||||
else{
|
||||
title = "ARRIVALS";
|
||||
}
|
||||
line1lt = "STARS";
|
||||
line1rt = "APPROACHES";
|
||||
line1r = getprop("/autopilot/route-manager/destination/runway");
|
||||
if (getprop("/autopilot/route-manager/destination/runway") != nil){
|
||||
line1r = getprop("/autopilot/route-manager/destination/runway");
|
||||
}
|
||||
line2lt = "TRANS";
|
||||
line3rt = "RUNWAYS";
|
||||
line6l = "<INDEX";
|
||||
line6r = "ROUTE>";
|
||||
}
|
||||
if (display == "RTE1_DEP") {
|
||||
title = getprop("/autopilot/route-manager/departure/airport")~" DEPARTURES";
|
||||
if (getprop("/autopilot/route-manager/departure/airport") != nil){
|
||||
title = getprop("/autopilot/route-manager/departure/airport")~" DEPARTURES";
|
||||
}
|
||||
else{
|
||||
title = "DEPARTURES";
|
||||
}
|
||||
line1lt = "SIDS";
|
||||
line1rt = "RUNWAYS";
|
||||
line1r = getprop("/autopilot/route-manager/departure/runway");
|
||||
if (getprop("/autopilot/route-manager/departure/runway") != nil){
|
||||
line1r = getprop("/autopilot/route-manager/departure/runway");
|
||||
}
|
||||
line2lt = "TRANS";
|
||||
line6l = "<ERASE";
|
||||
line6r = "ROUTE>";
|
||||
|
@ -257,22 +516,70 @@ var cdu = func{
|
|||
title = "RTE 1 LEGS";
|
||||
}
|
||||
if (getprop("/autopilot/route-manager/route/wp[1]/id") != nil){
|
||||
line1lt = sprintf("%3.0f", getprop("/autopilot/route-manager/route/wp[1]/leg-bearing-true-deg"));
|
||||
line1l = getprop("/autopilot/route-manager/route/wp[1]/id");
|
||||
line2ct = sprintf("%3.0f", getprop("/autopilot/route-manager/route/wp[1]/leg-distance-nm"))~" NM";
|
||||
line1r = sprintf("%5.0f", getprop("/autopilot/route-manager/route/wp[1]/altitude-ft"));
|
||||
if (getprop("/autopilot/route-manager/route/wp[1]/speed-kts") != nil){
|
||||
line4r = getprop("/autopilot/route-manager/route/wp[1]/speed-kts")~"/"~sprintf("%5.0f", getprop("/autopilot/route-manager/route/wp[1]/altitude-ft"));
|
||||
}
|
||||
}
|
||||
if (getprop("/autopilot/route-manager/route/wp[2]/id") != nil){
|
||||
if (getprop("/autopilot/route-manager/route/wp[2]/leg-bearing-true-deg") != nil){
|
||||
line2lt = sprintf("%3.0f", getprop("/autopilot/route-manager/route/wp[2]/leg-bearing-true-deg"));
|
||||
}
|
||||
line2l = getprop("/autopilot/route-manager/route/wp[2]/id");
|
||||
if (getprop("/autopilot/route-manager/route/wp[2]/leg-distance-nm") != nil){
|
||||
line3ct = sprintf("%3.0f", getprop("/autopilot/route-manager/route/wp[2]/leg-distance-nm"))~" NM";
|
||||
}
|
||||
line2r = sprintf("%5.0f", getprop("/autopilot/route-manager/route/wp[2]/altitude-ft"));
|
||||
if (getprop("/autopilot/route-manager/route/wp[2]/speed-kts") != nil){
|
||||
line4r = getprop("/autopilot/route-manager/route/wp[2]/speed-kts")~"/"~sprintf("%5.0f", getprop("/autopilot/route-manager/route/wp[2]/altitude-ft"));
|
||||
}
|
||||
}
|
||||
if (getprop("/autopilot/route-manager/route/wp[3]/id") != nil){
|
||||
if (getprop("/autopilot/route-manager/route/wp[3]/leg-bearing-true-deg") != nil){
|
||||
line3lt = sprintf("%3.0f", getprop("/autopilot/route-manager/route/wp[3]/leg-bearing-true-deg"));
|
||||
}
|
||||
line3l = getprop("/autopilot/route-manager/route/wp[3]/id");
|
||||
if (getprop("/autopilot/route-manager/route/wp[3]/leg-distance-nm") != nil){
|
||||
line4ct = sprintf("%3.0f", getprop("/autopilot/route-manager/route/wp[3]/leg-distance-nm"))~" NM";
|
||||
}
|
||||
line3r = sprintf("%5.0f", getprop("/autopilot/route-manager/route/wp[3]/altitude-ft"));
|
||||
if (getprop("/autopilot/route-manager/route/wp[3]/speed-kts") != nil){
|
||||
line3r = getprop("/autopilot/route-manager/route/wp[3]/speed-kts")~"/"~sprintf("%5.0f", getprop("/autopilot/route-manager/route/wp[3]/altitude-ft"));;
|
||||
}
|
||||
}
|
||||
if (getprop("/autopilot/route-manager/route/wp[4]/id") != nil){
|
||||
if (getprop("/autopilot/route-manager/route/wp[4]/leg-bearing-true-deg") != nil){
|
||||
line4lt = sprintf("%3.0f", getprop("/autopilot/route-manager/route/wp[4]/leg-bearing-true-deg"));
|
||||
}
|
||||
line4l = getprop("/autopilot/route-manager/route/wp[4]/id");
|
||||
if (getprop("/autopilot/route-manager/route/wp[4]/leg-distance-nm") != nil){
|
||||
line5ct = sprintf("%3.0f", getprop("/autopilot/route-manager/route/wp[4]/leg-distance-nm"))~" NM";
|
||||
}
|
||||
line4r = sprintf("%5.0f", getprop("/autopilot/route-manager/route/wp[4]/altitude-ft"));
|
||||
if (getprop("/autopilot/route-manager/route/wp[4]/speed-kts") != nil){
|
||||
line4r = getprop("/autopilot/route-manager/route/wp[4]/speed-kts")~"/"~sprintf("%5.0f", getprop("/autopilot/route-manager/route/wp[4]/altitude-ft"));
|
||||
}
|
||||
}
|
||||
if (getprop("/autopilot/route-manager/route/wp[5]/id") != nil){
|
||||
if (getprop("/autopilot/route-manager/route/wp[5]/leg-bearing-true-deg") != nil){
|
||||
line5lt = sprintf("%3.0f", getprop("/autopilot/route-manager/route/wp[5]/leg-bearing-true-deg"));
|
||||
}
|
||||
line5l = getprop("/autopilot/route-manager/route/wp[5]/id");
|
||||
line5r = sprintf("%5.0f", getprop("/autopilot/route-manager/route/wp[5]/altitude-ft"));
|
||||
if (getprop("/autopilot/route-manager/route/wp[5]/speed-kts") != nil){
|
||||
line4r = getprop("/autopilot/route-manager/route/wp[5]/speed-kts")~"/"~sprintf("%5.0f", getprop("/autopilot/route-manager/route/wp[5]/altitude-ft"));
|
||||
}
|
||||
}
|
||||
line6l = "<RTE 2 LEGS";
|
||||
line6r = "RTE DATA>";
|
||||
if (getprop("/autopilot/route-manager/active") == 1){
|
||||
line6r = "RTE DATA>";
|
||||
}
|
||||
else{
|
||||
line6r = "ACTIVATE>";
|
||||
}
|
||||
}
|
||||
if (display == "THR_LIM") {
|
||||
title = "THRUST LIM";
|
||||
|
@ -295,13 +602,19 @@ var cdu = func{
|
|||
line1lt = "FLAP/ACCEL HT";
|
||||
line1l = getprop("/instrumentation/fmc/to-flap");
|
||||
line1rt = "REF V1";
|
||||
line1r = sprintf("%3.0f", getprop("/instrumentation/fmc/vspeeds/V1"));
|
||||
if (getprop("/instrumentation/fmc/vspeeds/V1") != nil){
|
||||
line1r = sprintf("%3.0f", getprop("/instrumentation/fmc/vspeeds/V1"));
|
||||
}
|
||||
line2lt = "E/O ACCEL HT";
|
||||
line2rt = "REF VR";
|
||||
line2r = sprintf("%3.0f", getprop("/instrumentation/fmc/vspeeds/VR"));
|
||||
if (getprop("/instrumentation/fmc/vspeeds/VR") != nil){
|
||||
line2r = sprintf("%3.0f", getprop("/instrumentation/fmc/vspeeds/VR"));
|
||||
}
|
||||
line3lt = "THR REDUCTION";
|
||||
line3rt = "REF V2";
|
||||
line3r = sprintf("%3.0f", getprop("/instrumentation/fmc/vspeeds/V2"));
|
||||
if (getprop("/instrumentation/fmc/vspeeds/V2") != nil){
|
||||
line3r = sprintf("%3.0f", getprop("/instrumentation/fmc/vspeeds/V2"));
|
||||
}
|
||||
line4lt = "WIND/SLOPE";
|
||||
line4rt = "TRIM CG";
|
||||
line5rt = "POS SHIFT";
|
||||
|
|
|
@ -7,6 +7,17 @@
|
|||
<texture alias="../../texture"/>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>CDU</object-name>
|
||||
<emission>
|
||||
<factor-prop>/controls/lighting/panel-norm</factor-prop>
|
||||
<red>0.1</red>
|
||||
<green>0.1</green>
|
||||
<blue>0.1</blue>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>Btn.A</object-name>
|
||||
|
@ -78,9 +89,10 @@
|
|||
<object-name>Btn.side.r.4</object-name>
|
||||
<object-name>Btn.side.r.5</object-name>
|
||||
<object-name>Btn.side.r.6</object-name>
|
||||
|
||||
<condition>
|
||||
<property>/instrumentation/cdu/serviceable</property>
|
||||
</condition>
|
||||
<emission>
|
||||
<factor-prop>/instrumentation/cdu/serviceable</factor-prop>
|
||||
<red>1</red>
|
||||
<green>0.8</green>
|
||||
<blue>0.5</blue>
|
||||
|
@ -92,7 +104,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.110</z-m>
|
||||
<z-m> 0.104</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -113,7 +125,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.043</y-m>
|
||||
<z-m> 0.110</z-m>
|
||||
<z-m> 0.103</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -133,8 +145,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.048</y-m>
|
||||
<z-m> 0.103</z-m>
|
||||
<y-m>-0.045</y-m>
|
||||
<z-m> 0.097</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -154,8 +166,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.052</y-m>
|
||||
<z-m> 0.098</z-m>
|
||||
<y-m>-0.049</y-m>
|
||||
<z-m> 0.092</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -176,7 +188,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.103</z-m>
|
||||
<z-m> 0.097</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -197,7 +209,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.098</z-m>
|
||||
<z-m> 0.092</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -217,8 +229,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.048</y-m>
|
||||
<z-m> 0.103</z-m>
|
||||
<y-m> 0.045</y-m>
|
||||
<z-m> 0.097</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -238,8 +250,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.052</y-m>
|
||||
<z-m> 0.098</z-m>
|
||||
<y-m> 0.049</y-m>
|
||||
<z-m> 0.092</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -259,8 +271,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.048</y-m>
|
||||
<z-m> 0.090</z-m>
|
||||
<y-m>-0.045</y-m>
|
||||
<z-m> 0.085</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -280,8 +292,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.052</y-m>
|
||||
<z-m> 0.085</z-m>
|
||||
<y-m>-0.049</y-m>
|
||||
<z-m> 0.080</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -302,7 +314,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.090</z-m>
|
||||
<z-m> 0.085</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -323,7 +335,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.085</z-m>
|
||||
<z-m> 0.080</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -343,8 +355,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.048</y-m>
|
||||
<z-m> 0.090</z-m>
|
||||
<y-m> 0.045</y-m>
|
||||
<z-m> 0.085</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -364,8 +376,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.052</y-m>
|
||||
<z-m> 0.085</z-m>
|
||||
<y-m> 0.049</y-m>
|
||||
<z-m> 0.080</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -385,8 +397,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.048</y-m>
|
||||
<z-m> 0.077</z-m>
|
||||
<y-m>-0.045</y-m>
|
||||
<z-m> 0.073</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -406,8 +418,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.052</y-m>
|
||||
<z-m> 0.072</z-m>
|
||||
<y-m>-0.049</y-m>
|
||||
<z-m> 0.068</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -428,7 +440,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.077</z-m>
|
||||
<z-m> 0.073</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -449,7 +461,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.072</z-m>
|
||||
<z-m> 0.068</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -469,8 +481,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.048</y-m>
|
||||
<z-m> 0.077</z-m>
|
||||
<y-m> 0.045</y-m>
|
||||
<z-m> 0.073</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -490,8 +502,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.052</y-m>
|
||||
<z-m> 0.072</z-m>
|
||||
<y-m> 0.049</y-m>
|
||||
<z-m> 0.068</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -511,8 +523,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.048</y-m>
|
||||
<z-m> 0.064</z-m>
|
||||
<y-m>-0.045</y-m>
|
||||
<z-m> 0.061</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -532,8 +544,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.052</y-m>
|
||||
<z-m> 0.059</z-m>
|
||||
<y-m>-0.049</y-m>
|
||||
<z-m> 0.056</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -554,7 +566,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.064</z-m>
|
||||
<z-m> 0.061</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -575,7 +587,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.059</z-m>
|
||||
<z-m> 0.056</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -595,8 +607,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.048</y-m>
|
||||
<z-m> 0.064</z-m>
|
||||
<y-m> 0.045</y-m>
|
||||
<z-m> 0.061</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -616,8 +628,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.052</y-m>
|
||||
<z-m> 0.059</z-m>
|
||||
<y-m> 0.049</y-m>
|
||||
<z-m> 0.056</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -637,8 +649,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.048</y-m>
|
||||
<z-m> 0.051</z-m>
|
||||
<y-m>-0.045</y-m>
|
||||
<z-m> 0.049</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -658,8 +670,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.052</y-m>
|
||||
<z-m> 0.046</z-m>
|
||||
<y-m>-0.049</y-m>
|
||||
<z-m> 0.044</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -680,7 +692,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.051</z-m>
|
||||
<z-m> 0.049</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -701,7 +713,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.046</z-m>
|
||||
<z-m> 0.044</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -721,8 +733,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.048</y-m>
|
||||
<z-m> 0.051</z-m>
|
||||
<y-m> 0.045</y-m>
|
||||
<z-m> 0.049</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -742,8 +754,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.052</y-m>
|
||||
<z-m> 0.046</z-m>
|
||||
<y-m> 0.049</y-m>
|
||||
<z-m> 0.044</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -763,8 +775,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.048</y-m>
|
||||
<z-m> 0.038</z-m>
|
||||
<y-m>-0.045</y-m>
|
||||
<z-m> 0.037</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -784,8 +796,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m>-0.052</y-m>
|
||||
<z-m> 0.033</z-m>
|
||||
<y-m>-0.049</y-m>
|
||||
<z-m> 0.032</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -806,7 +818,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.038</z-m>
|
||||
<z-m> 0.037</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -827,7 +839,7 @@
|
|||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 0.033</z-m>
|
||||
<z-m> 0.032</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -847,8 +859,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.048</y-m>
|
||||
<z-m> 0.038</z-m>
|
||||
<y-m> 0.045</y-m>
|
||||
<z-m> 0.037</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -868,8 +880,8 @@
|
|||
<path>Aircraft/Instruments-3d/cdu/display-text-value.xml</path>
|
||||
<offsets>
|
||||
<x-m> 0.004</x-m>
|
||||
<y-m> 0.052</y-m>
|
||||
<z-m> 0.033</z-m>
|
||||
<y-m> 0.049</y-m>
|
||||
<z-m> 0.032</z-m>
|
||||
</offsets>
|
||||
<overlay>
|
||||
<params>
|
||||
|
@ -915,81 +927,8 @@
|
|||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>DEP_ARR_INDEX</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">RTE1_DEP</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>EICAS_MODES</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/eicas/display</property>
|
||||
<value type="string">ENG</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>EICAS_SYN</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/eicas/display</property>
|
||||
<value type="string">ELEC</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>INIT_REF</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">IDENT</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>NAV_RAD</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>setprop("/instrumentation/nav[0]/frequencies/selected-mhz",getprop("/instrumentation/cdu/input"));
|
||||
setprop("/instrumentation/cdu/input","");</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>RTE1_1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>setprop("/autopilot/route-manager/departure/airport",getprop("/instrumentation/cdu/input"));
|
||||
setprop("/instrumentation/cdu/input","");</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>TO_REF</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>setprop("/instrumentation/fmc/to-flap",getprop("/instrumentation/cdu/input"));
|
||||
setprop("/instrumentation/cdu/input","");</script>
|
||||
<script>cdu.key('LSK1L');</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -1001,48 +940,8 @@
|
|||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>EICAS_MODES</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/eicas/display</property>
|
||||
<value type="string">FUEL</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>EICAS_SYN</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/eicas/display</property>
|
||||
<value type="string">HYD</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>NAV_RAD</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>setprop("/instrumentation/nav[1]/frequencies/selected-mhz",getprop("/instrumentation/cdu/input"));
|
||||
setprop("/instrumentation/cdu/input","");</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>RTE1_1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>setprop("/autopilot/route-manager/destination/airport",getprop("/instrumentation/cdu/input"));
|
||||
setprop("/instrumentation/cdu/input","");</script>
|
||||
<script>cdu.key('LSK1R');</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -1054,59 +953,8 @@
|
|||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>EICAS_MODES</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/eicas/display</property>
|
||||
<value type="string">STAT</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>EICAS_SYN</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/eicas/display</property>
|
||||
<value type="string">ECS</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>INIT_REF</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">POS_INIT</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>POS_INIT</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>setprop("/instrumentation/fmc/ref-airport",getprop("/instrumentation/cdu/input"));
|
||||
setprop("/instrumentation/cdu/input","");</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>RTE1_1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>setprop("/autopilot/route-manager/departure/runway",getprop("/instrumentation/cdu/input"));
|
||||
setprop("/instrumentation/cdu/input","");</script>
|
||||
<script>cdu.key('LSK2L');</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -1118,37 +966,8 @@
|
|||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>DEP_ARR_INDEX</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">RTE1_ARR</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>EICAS_MODES</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/eicas/display</property>
|
||||
<value type="string">GEAR</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>EICAS_SYN</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/eicas/display</property>
|
||||
<value type="string">DRS</value>
|
||||
<command>nasal</command>
|
||||
<script>cdu.key('LSK2R');</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -1160,15 +979,8 @@
|
|||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>INIT_REF</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">PERF_INIT</value>
|
||||
<command>nasal</command>
|
||||
<script>cdu.key('LSK3L');</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -1180,15 +992,8 @@
|
|||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>INIT_REF</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">THR_LIM</value>
|
||||
<command>nasal</command>
|
||||
<script>cdu.key('LSK4L');</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -1200,15 +1005,8 @@
|
|||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>INIT_REF</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">TO_REF</value>
|
||||
<command>nasal</command>
|
||||
<script>cdu.key('LSK5L');</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -1219,55 +1017,8 @@
|
|||
<action>
|
||||
<button>0</button>
|
||||
<binding>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>INIT_REF</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>APP_REF</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<command>property-cycle</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">APP_REF</value>
|
||||
<value type="string">INIT_REF</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>IDENT</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>PERF_INIT</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>POS_INIT</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>POS_REF</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>THR_LIM</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>TO_REF</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">INIT_REF</value>
|
||||
<command>nasal</command>
|
||||
<script>cdu.key('LSK6L');</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -1278,103 +1029,11 @@
|
|||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>APP_REF</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">THR_LIM</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>IDENT</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>TO_REF</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">POS_INIT</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>EICAS_MODES</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">EICAS_SYN</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>EICAS_SYN</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">EICAS_MODES</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>POS_INIT</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>DEP</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>RTE1_ARR</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>RTE1_DEP</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">RTE1_1</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>RTE1_1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/autopilot/route-manager/input</property>
|
||||
<value type="string">@activate</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>THR_LIM</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value type="string">TO_REF</value>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>cdu.key('LSK6R');</script>
|
||||
</binding>
|
||||
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
|
@ -2032,6 +1691,16 @@
|
|||
<command>nasal</command>
|
||||
<script>cdu.delete();</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/cdu/display</property>
|
||||
<value>RTE1_LEGS</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>cdu.input('DELETE');</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
|
|
|
@ -15,199 +15,212 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
-->
|
||||
<PropertyList>
|
||||
<PropertyList>
|
||||
<weather-scenarios>
|
||||
<scenario>
|
||||
<name>Disabled</name>
|
||||
<description>METAR weather generation is disabled. Use the above controls to setup your weather.</description>
|
||||
<name type="string">Disabled</name>
|
||||
<description type="string">METAR weather generation is disabled. Use the above controls to setup your weather.</description>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<name>Live data</name>
|
||||
<description>Fetch live weather data for your nearest airport from noaa.gov. You need a working internet connection.
|
||||
All the controls in this dialog are computed automatically, once a valid METAR is received.
|
||||
<name type="string">Live data</name>
|
||||
<description type="string">
|
||||
Fetch live weather data for your nearest airport from noaa.gov. You need a working internet connection.
|
||||
All the controls in this dialog are computed automatically, once a valid METAR is received.
|
||||
</description>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<name>Manual input</name>
|
||||
<description>Enter your favorite METAR weather in the textbox below. A valid METAR syntax is required.</description>
|
||||
<name type="string">Manual input</name>
|
||||
<description type="string">Enter your favorite METAR weather in the textbox below. A valid METAR syntax is required.</description>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<name>Fair weather</name>
|
||||
<metar>XXXX 012345Z 15003KT 12SM SCT041 FEW200 20/08 Q1015 NOSIG</metar>
|
||||
<description>A lovely day for trip to your favorite 100$ hamburger airfield</description>
|
||||
<name type="string">Fair weather</name>
|
||||
<metar type="string">XXXX 012345Z 15003KT 12SM SCT041 FEW200 20/08 Q1015 NOSIG</metar>
|
||||
<description type="string">A lovely day for trip to your favorite 100$ hamburger airfield</description>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<name>Thunderstorm</name>
|
||||
<metar>XXXX 012345Z 15012G25KT 4000 TSRA FEW030CB SCT035TCU 27/24 Q0995</metar>
|
||||
<description>A hot and damp summer day with thunderstorms developing in the afternoon.
|
||||
Be prepared for reduction of visibility in showers and strong gusts
|
||||
near thunderstorms</description>
|
||||
<name type="string">Thunderstorm</name>
|
||||
<metar type="string">XXXX 012345Z 15012G25KT 4000 TSRA FEW030CB SCT035TCU 27/24 Q0995</metar>
|
||||
<description type="string">
|
||||
A hot and damp summer day with thunderstorms developing in the afternoon.
|
||||
Be prepared for reduction of visibility in showers and strong gusts
|
||||
near thunderstorms
|
||||
</description>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<name>Stormy Monday</name>
|
||||
<metar>XXXX 012345Z 28035G50KT 250V300 9999 TSRA SCT022CB BKN030 13/09 Q1005</metar>
|
||||
<description>You're out for an adventure? Gusty winds blowing from the west
|
||||
and isolated thunderstorms should be avoided. Fasten your seatbelt!</description>
|
||||
<name type="string">Stormy Monday</name>
|
||||
<metar type="string">XXXX 012345Z 28035G50KT 250V300 9999 TSRA SCT022CB BKN030 13/09 Q1005</metar>
|
||||
<description type="string">
|
||||
You're out for an adventure? Gusty winds blowing from the west
|
||||
and isolated thunderstorms should be avoided. Fasten your seatbelt!
|
||||
</description>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<name>Marginal VFR</name>
|
||||
<metar>XXXX 012345Z 23010KT 5000 SHRA SCT012 BKN018 OVC060 15/11 Q1010</metar>
|
||||
<description>After the storm - limited visibility and some showers.
|
||||
Go or No-Go?</description>
|
||||
<name type="string">Marginal VFR</name>
|
||||
<metar type="string">XXXX 012345Z 23010KT 5000 SHRA SCT012 BKN018 OVC060 15/11 Q1010</metar>
|
||||
<description type="string">
|
||||
After the storm - limited visibility and some showers.
|
||||
Go or No-Go?
|
||||
</description>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<name>CAT I minimum</name>
|
||||
<metar>XXXX 012345Z 15015KT 0800 -RA BKN002 OVC004 08/06 Q0990</metar>
|
||||
<description>If you just got your IFR rating, this is what you are allowed to do. But can you?</description>
|
||||
<name type="string">CAT I minimum</name>
|
||||
<metar type="string">XXXX 012345Z 15015KT 0800 -RA BKN002 OVC004 08/06 Q0990</metar>
|
||||
<description type="string">If you just got your IFR rating, this is what you are allowed to do. But can you?</description>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<name>CAT II minimum</name>
|
||||
<metar>XXXX 012345Z 15010KT 0400 -RA BKN001 OVC002 08/06 Q0990</metar>
|
||||
<description>With just a 1/4 mile visibility and clouds at 100ft, you don't see much of the runway until
|
||||
seconds before touchdown. Trust your instruments to stay alive.</description>
|
||||
<name type="string">CAT II minimum</name>
|
||||
<metar type="string">XXXX 012345Z 15010KT 0400 -RA BKN001 OVC002 08/06 Q0990</metar>
|
||||
<description type="string">
|
||||
With just a 1/4 mile visibility and clouds at 100ft, you don't see much of the runway until
|
||||
seconds before touchdown. Trust your instruments to stay alive.
|
||||
</description>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<name>CAT IIIb minimum</name>
|
||||
<metar>XXXX 012345Z VRB01KT 0100 -RA FG OVC001 OVC002 02/02 Q0990</metar>
|
||||
<description>This is expert level. You will barely see the taxiway from the cockpit, even if you are
|
||||
on ground. Fog and light drizzle, freezing level at 1000ft.</description>
|
||||
<name type="string">CAT IIIb minimum</name>
|
||||
<metar type="string">XXXX 012345Z VRB01KT 0100 -RA FG OVC001 OVC002 02/02 Q0990</metar>
|
||||
<description type="string">
|
||||
This is expert level. You will barely see the taxiway from the cockpit, even if you are
|
||||
on ground. Fog and light drizzle, freezing level at 1000ft.
|
||||
</description>
|
||||
</scenario>
|
||||
|
||||
<scenario>
|
||||
<name>Early morning fog</name>
|
||||
<metar>XXXX 012345Z 00000KT 0800 FG NCD 08/08 A3030</metar>
|
||||
<description>Fog developed this autumn's morning. Expect good visibility above the layer.
|
||||
However - getting through it can be a challenge. Stay alive for a 500' climb
|
||||
and you'll see the sun!</description>
|
||||
<name type="string">Early morning fog</name>
|
||||
<metar type="string">XXXX 012345Z 00000KT 0800 FG NCD 08/08 A3030</metar>
|
||||
<description type="string">
|
||||
Fog developed this autumn's morning. Expect good visibility above the layer.
|
||||
However - getting through it can be a challenge. Stay alive for a 500' climb
|
||||
and you'll see the sun!
|
||||
</description>
|
||||
</scenario>
|
||||
</weather-scenarios>
|
||||
<weather-scenario>Fair weather</weather-scenario>
|
||||
<weather-scenario type="string">Fair weather</weather-scenario>
|
||||
<config>
|
||||
|
||||
<boundary-transition-ft>500</boundary-transition-ft>
|
||||
<boundary-transition-ft type="double">500</boundary-transition-ft>
|
||||
|
||||
<boundary>
|
||||
<boundary>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>0</elevation-ft>
|
||||
<wind-from-heading-deg>270</wind-from-heading-deg>
|
||||
<wind-speed-kt>3</wind-speed-kt>
|
||||
<visibility-m>16093.44</visibility-m>
|
||||
<pressure-sea-level-inhg>29.92</pressure-sea-level-inhg>
|
||||
<temperature-degc>15.0</temperature-degc>
|
||||
<dewpoint-degc>5.0</dewpoint-degc>
|
||||
<turbulence>
|
||||
<factor>0.2</factor>
|
||||
<magnitude-norm>0.0</magnitude-norm>
|
||||
<rate-hz>1.0</rate-hz>
|
||||
</turbulence>
|
||||
<wind-heading-change-deg>0</wind-heading-change-deg>
|
||||
<wind-speed-change-rel>0</wind-speed-change-rel>
|
||||
</entry>
|
||||
<entry>
|
||||
<elevation-ft type="double">0</elevation-ft>
|
||||
<wind-from-heading-deg type="double">270</wind-from-heading-deg>
|
||||
<wind-speed-kt type="double">3</wind-speed-kt>
|
||||
<visibility-m type="double">16093.44</visibility-m>
|
||||
<pressure-sea-level-inhg type="double">29.92</pressure-sea-level-inhg>
|
||||
<temperature-degc type="double">15.0</temperature-degc>
|
||||
<dewpoint-degc type="double">5.0</dewpoint-degc>
|
||||
<turbulence>
|
||||
<factor type="double">0.2</factor>
|
||||
<magnitude-norm type="double">0.0</magnitude-norm>
|
||||
<rate-hz type="double">1.0</rate-hz>
|
||||
</turbulence>
|
||||
<wind-heading-change-deg type="double">0</wind-heading-change-deg>
|
||||
<wind-speed-change-rel type="double">0</wind-speed-change-rel>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>500</elevation-ft>
|
||||
<wind-from-heading-deg>280</wind-from-heading-deg>
|
||||
<wind-speed-kt>6</wind-speed-kt>
|
||||
<turbulence>
|
||||
<factor>1.0</factor>
|
||||
<magnitude-norm>0.1</magnitude-norm>
|
||||
<rate-hz>1.0</rate-hz>
|
||||
</turbulence>
|
||||
<wind-heading-change-deg>5</wind-heading-change-deg>
|
||||
<wind-speed-change-rel>0.3</wind-speed-change-rel>
|
||||
</entry>
|
||||
<entry>
|
||||
<elevation-ft type="double">500</elevation-ft>
|
||||
<wind-from-heading-deg type="double">280</wind-from-heading-deg>
|
||||
<wind-speed-kt type="double">6</wind-speed-kt>
|
||||
<turbulence>
|
||||
<factor type="double">1.0</factor>
|
||||
<magnitude-norm type="double">0.1</magnitude-norm>
|
||||
<rate-hz type="double">1.0</rate-hz>
|
||||
</turbulence>
|
||||
<wind-heading-change-deg type="double">5</wind-heading-change-deg>
|
||||
<wind-speed-change-rel type="double">0.3</wind-speed-change-rel>
|
||||
</entry>
|
||||
|
||||
</boundary>
|
||||
</boundary>
|
||||
|
||||
<aloft>
|
||||
<aloft>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>5000</elevation-ft>
|
||||
<wind-from-heading-deg>300</wind-from-heading-deg>
|
||||
<wind-speed-kt>10</wind-speed-kt>
|
||||
<visibility-m>16093.44</visibility-m>
|
||||
<pressure-sea-level-inhg>29.92</pressure-sea-level-inhg>
|
||||
<turbulence>
|
||||
<factor>0.5</factor>
|
||||
<magnitude-norm>0.05</magnitude-norm>
|
||||
<rate-hz>1.0</rate-hz>
|
||||
</turbulence>
|
||||
<wind-heading-change-deg>25</wind-heading-change-deg>
|
||||
<wind-speed-change-rel>1</wind-speed-change-rel>
|
||||
</entry>
|
||||
<entry>
|
||||
<elevation-ft type="double">5000</elevation-ft>
|
||||
<wind-from-heading-deg type="double">300</wind-from-heading-deg>
|
||||
<wind-speed-kt type="double">10</wind-speed-kt>
|
||||
<visibility-m type="double">16093.44</visibility-m>
|
||||
<pressure-sea-level-inhg type="double">29.92</pressure-sea-level-inhg>
|
||||
<turbulence>
|
||||
<factor type="double">0.5</factor>
|
||||
<magnitude-norm type="double">0.05</magnitude-norm>
|
||||
<rate-hz type="double">1.0</rate-hz>
|
||||
</turbulence>
|
||||
<wind-heading-change-deg type="double">25</wind-heading-change-deg>
|
||||
<wind-speed-change-rel type="double">1</wind-speed-change-rel>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>10000</elevation-ft>
|
||||
<wind-from-heading-deg>310</wind-from-heading-deg>
|
||||
<wind-speed-kt>20</wind-speed-kt>
|
||||
<turbulence>
|
||||
<factor>0.0</factor>
|
||||
<magnitude-norm>0.0</magnitude-norm>
|
||||
<rate-hz>1.0</rate-hz>
|
||||
</turbulence>
|
||||
<wind-heading-change-deg>30</wind-heading-change-deg>
|
||||
<wind-speed-change-rel>1.2</wind-speed-change-rel>
|
||||
</entry>
|
||||
<entry>
|
||||
<elevation-ft type="double">10000</elevation-ft>
|
||||
<wind-from-heading-deg type="double">310</wind-from-heading-deg>
|
||||
<wind-speed-kt type="double">20</wind-speed-kt>
|
||||
<turbulence>
|
||||
<factor type="double">0.0</factor>
|
||||
<magnitude-norm type="double">0.0</magnitude-norm>
|
||||
<rate-hz type="double">1.0</rate-hz>
|
||||
</turbulence>
|
||||
<wind-heading-change-deg type="double">30</wind-heading-change-deg>
|
||||
<wind-speed-change-rel type="double">1.2</wind-speed-change-rel>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>18000</elevation-ft>
|
||||
<wind-from-heading-deg>320</wind-from-heading-deg>
|
||||
<wind-speed-kt>30</wind-speed-kt>
|
||||
<wind-heading-change-deg>35</wind-heading-change-deg>
|
||||
<wind-speed-change-rel>1.3</wind-speed-change-rel>
|
||||
</entry>
|
||||
<entry>
|
||||
<elevation-ft type="double">18000</elevation-ft>
|
||||
<wind-from-heading-deg type="double">320</wind-from-heading-deg>
|
||||
<wind-speed-kt type="double">30</wind-speed-kt>
|
||||
<wind-heading-change-deg type="double">35</wind-heading-change-deg>
|
||||
<wind-speed-change-rel type="double">1.3</wind-speed-change-rel>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>24000</elevation-ft>
|
||||
<wind-from-heading-deg>330</wind-from-heading-deg>
|
||||
<wind-speed-kt>50</wind-speed-kt>
|
||||
<wind-heading-change-deg>35</wind-heading-change-deg>
|
||||
<wind-speed-change-rel>1.3</wind-speed-change-rel>
|
||||
</entry>
|
||||
<entry>
|
||||
<elevation-ft type="double">24000</elevation-ft>
|
||||
<wind-from-heading-deg type="double">330</wind-from-heading-deg>
|
||||
<wind-speed-kt type="double">50</wind-speed-kt>
|
||||
<wind-heading-change-deg type="double">35</wind-heading-change-deg>
|
||||
<wind-speed-change-rel type="double">1.3</wind-speed-change-rel>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>30000</elevation-ft>
|
||||
<wind-from-heading-deg>340</wind-from-heading-deg>
|
||||
<wind-speed-kt>70</wind-speed-kt>
|
||||
<wind-heading-change-deg>35</wind-heading-change-deg>
|
||||
<wind-speed-change-rel>1.3</wind-speed-change-rel>
|
||||
</entry>
|
||||
<entry>
|
||||
<elevation-ft type="double">30000</elevation-ft>
|
||||
<wind-from-heading-deg type="double">340</wind-from-heading-deg>
|
||||
<wind-speed-kt type="double">70</wind-speed-kt>
|
||||
<wind-heading-change-deg type="double">35</wind-heading-change-deg>
|
||||
<wind-speed-change-rel type="double">1.3</wind-speed-change-rel>
|
||||
</entry>
|
||||
|
||||
</aloft>
|
||||
</aloft>
|
||||
|
||||
</config>
|
||||
|
||||
<clouds>
|
||||
<layer n="0">
|
||||
<coverage>clear</coverage>
|
||||
<elevation-ft>-9999</elevation-ft>
|
||||
<thickness-ft>600</thickness-ft>
|
||||
<transition-ft>150</transition-ft>
|
||||
<span-m>40000</span-m>
|
||||
</layer>
|
||||
<layer n="1">
|
||||
<coverage>clear</coverage>
|
||||
<elevation-ft>-9999</elevation-ft>
|
||||
<thickness-ft>65</thickness-ft>
|
||||
<transition-ft>25</transition-ft>
|
||||
<span-m>40000</span-m>
|
||||
</layer>
|
||||
<layer n="2">
|
||||
<coverage>clear</coverage>
|
||||
<elevation-ft>-9999</elevation-ft>
|
||||
<span-m>40000</span-m>
|
||||
</layer>
|
||||
<layer n="3">
|
||||
<coverage>clear</coverage>
|
||||
<elevation-ft>-9999</elevation-ft>
|
||||
<span-m>40000</span-m>
|
||||
</layer>
|
||||
<layer n="4">
|
||||
<coverage>clear</coverage>
|
||||
<elevation-ft>-9999</elevation-ft>
|
||||
<span-m>40000</span-m>
|
||||
</layer>
|
||||
<layer n="0">
|
||||
<coverage type="string">clear</coverage>
|
||||
<elevation-ft type="double">-9999</elevation-ft>
|
||||
<thickness-ft type="double">600</thickness-ft>
|
||||
<transition-ft type="double">150</transition-ft>
|
||||
<span-m>40000</span-m>
|
||||
</layer>
|
||||
<layer n="1">
|
||||
<coverage type="string">clear</coverage>
|
||||
<elevation-ft type="double">-9999</elevation-ft>
|
||||
<thickness-ft type="double">65</thickness-ft>
|
||||
<transition-ft type="double">25</transition-ft>
|
||||
<span-m type="double">40000</span-m>
|
||||
</layer>
|
||||
<layer n="2">
|
||||
<coverage type="string">clear</coverage>
|
||||
<elevation-ft type="double">-9999</elevation-ft>
|
||||
<span-m type="double">40000</span-m>
|
||||
</layer>
|
||||
<layer n="3">
|
||||
<coverage type="double">clear</coverage>
|
||||
<elevation-ft type="double">-9999</elevation-ft>
|
||||
<span-m type="double">40000</span-m>
|
||||
</layer>
|
||||
<layer n="4">
|
||||
<coverage type="string">clear</coverage>
|
||||
<elevation-ft type="double">-9999</elevation-ft>
|
||||
<span-m type="double">40000</span-m>
|
||||
</layer>
|
||||
</clouds>
|
||||
|
||||
<cloudlayers include="cloudlayers.xml"/>
|
||||
|
@ -225,67 +238,80 @@
|
|||
Wait for
|
||||
/environment/metar[10]/valid to become true.
|
||||
-->
|
||||
<metar n="0">/environment/metar[0]</metar> <!-- nearest airport -->
|
||||
<metar n="1">/environment/metar[1]</metar> <!-- NAV1 -->
|
||||
<metar n="2">/environment/metar[2]</metar> <!-- NAV2 -->
|
||||
<metar n="3">/environment/metar[3]</metar> <!-- VHF-COMM1 -->
|
||||
<metar n="4">/environment/metar[4]</metar> <!-- VHF-COMM2 -->
|
||||
<metar n="5">/environment/metar[5]</metar> <!-- UHF-COMM1 -->
|
||||
<metar n="6">/environment/metar[6]</metar> <!-- UHF-COMM2 -->
|
||||
<metar n="0" type="string">/environment/metar[0]</metar>
|
||||
<!-- nearest airport -->
|
||||
<metar n="1" type="string">/environment/metar[1]</metar>
|
||||
<!-- NAV1 -->
|
||||
<metar n="2" type="string">/environment/metar[2]</metar>
|
||||
<!-- NAV2 -->
|
||||
<metar n="3" type="string">/environment/metar[3]</metar>
|
||||
<!-- VHF-COMM1 -->
|
||||
<metar n="4" type="string">/environment/metar[4]</metar>
|
||||
<!-- VHF-COMM2 -->
|
||||
<metar n="5" type="string">/environment/metar[5]</metar>
|
||||
<!-- UHF-COMM1 -->
|
||||
<metar n="6" type="string">/environment/metar[6]</metar>
|
||||
<!-- UHF-COMM2 -->
|
||||
|
||||
<!-- User defined queries -->
|
||||
<metar n="10">/environment/metar[10]</metar>
|
||||
<metar n="11">/environment/metar[11]</metar>
|
||||
<metar n="10" type="string">/environment/metar[10]</metar>
|
||||
<metar n="11" type="string">/environment/metar[11]</metar>
|
||||
|
||||
<!-- use NOAA for METAR (no aloft data) -->
|
||||
<data-source>noaa</data-source>
|
||||
<data-source type="string">noaa</data-source>
|
||||
|
||||
<!-- use http://www.navlost.eu/ for METAR and aloft data -->
|
||||
<!-- data-source>nwx<data-source -->
|
||||
<enabled>true</enabled>
|
||||
<enabled type="bool">true</enabled>
|
||||
</realwx>
|
||||
|
||||
<metar>
|
||||
<!-- create a low-level cloud layer for fog/mist/haze from metar -->
|
||||
<set-ground-cloud-layer type="bool">true</set-ground-cloud-layer>
|
||||
<!-- create a low-level cloud layer for fog/mist/haze from metar -->
|
||||
<set-ground-cloud-layer type="bool">true</set-ground-cloud-layer>
|
||||
</metar>
|
||||
|
||||
<turbulence>
|
||||
<!-- the turbulence/magnitude-norm interpolator applies this value
|
||||
as an exponent to the magnitude -->
|
||||
<sensitivity type="double">2</sensitivity>
|
||||
</turbulence>
|
||||
|
||||
<params>
|
||||
<metar-max-age-min type="long">240</metar-max-age-min>
|
||||
<metar-updates-environment type="bool">true</metar-updates-environment>
|
||||
<metar-updates-winds-aloft type="bool">true</metar-updates-winds-aloft>
|
||||
<control-fdm-atmosphere type="bool">true</control-fdm-atmosphere>
|
||||
<contrail-altitude>30000</contrail-altitude>
|
||||
<!-- definitions for the metar generated fog/mist/haze layer -->
|
||||
<fog-mist-haze-layer>
|
||||
<offset-from-station-elevation-ft>-200</offset-from-station-elevation-ft>
|
||||
<visibility-above-layer-m>20000</visibility-above-layer-m>
|
||||
<metar-max-age-min type="long">240</metar-max-age-min>
|
||||
<metar-updates-environment type="bool">true</metar-updates-environment>
|
||||
<metar-updates-winds-aloft type="bool">true</metar-updates-winds-aloft>
|
||||
<control-fdm-atmosphere type="bool">true</control-fdm-atmosphere>
|
||||
<contrail-altitude type="double">30000</contrail-altitude>
|
||||
<!-- definitions for the metar generated fog/mist/haze layer -->
|
||||
<fog-mist-haze-layer>
|
||||
<offset-from-station-elevation-ft type="double">-200</offset-from-station-elevation-ft>
|
||||
<visibility-above-layer-m type="double">20000</visibility-above-layer-m>
|
||||
|
||||
<fog-thickness-ft>500</fog-thickness-ft>
|
||||
<fog-2dlayer-alpha>1.0</fog-2dlayer-alpha>
|
||||
<fog-2dlayer-coverage>overcast</fog-2dlayer-coverage>
|
||||
<fog-bc-2dlayer-coverage>broken</fog-bc-2dlayer-coverage>
|
||||
<fog-shallow-thickness-ft>30</fog-shallow-thickness-ft>
|
||||
<fog-thickness-ft type="double">500</fog-thickness-ft>
|
||||
<fog-2dlayer-alpha type="double">1.0</fog-2dlayer-alpha>
|
||||
<fog-2dlayer-coverage type="string">overcast</fog-2dlayer-coverage>
|
||||
<fog-bc-2dlayer-coverage type="string">broken</fog-bc-2dlayer-coverage>
|
||||
<fog-shallow-thickness-ft type="double">30</fog-shallow-thickness-ft>
|
||||
|
||||
<mist-thickness-ft>2000</mist-thickness-ft>
|
||||
<mist-2dlayer-alpha>0.8</mist-2dlayer-alpha>
|
||||
<mist-2dlayer-coverage>overcast</mist-2dlayer-coverage>
|
||||
<mist-thickness-ft type="double">2000</mist-thickness-ft>
|
||||
<mist-2dlayer-alpha type="double">0.8</mist-2dlayer-alpha>
|
||||
<mist-2dlayer-coverage type="string">overcast</mist-2dlayer-coverage>
|
||||
|
||||
<haze-thickness-ft>2000</haze-thickness-ft>
|
||||
<haze-2dlayer-alpha>0.6</haze-2dlayer-alpha>
|
||||
<haze-2dlayer-coverage>overcast</haze-2dlayer-coverage>
|
||||
</fog-mist-haze-layer>
|
||||
<haze-thickness-ft type="double">2000</haze-thickness-ft>
|
||||
<haze-2dlayer-alpha type="double">0.6</haze-2dlayer-alpha>
|
||||
<haze-2dlayer-coverage type="string">overcast</haze-2dlayer-coverage>
|
||||
</fog-mist-haze-layer>
|
||||
|
||||
</params>
|
||||
|
||||
<wildfire>
|
||||
<enabled type="bool" userarchive="y">false</enabled>
|
||||
<share-events type="bool" userarchive="y">false</share-events>
|
||||
<save-on-exit type="bool" userarchive="y">false</save-on-exit>
|
||||
<restore-on-startup type="bool" userarchive="y">false</restore-on-startup>
|
||||
<fire-on-crash type="bool" userarchive="y">false</fire-on-crash>
|
||||
<report-score type="bool" userarchive="y">false</report-score>
|
||||
<data type="string"/>
|
||||
<enabled type="bool" userarchive="y">false</enabled>
|
||||
<share-events type="bool" userarchive="y">false</share-events>
|
||||
<save-on-exit type="bool" userarchive="y">false</save-on-exit>
|
||||
<restore-on-startup type="bool" userarchive="y">false</restore-on-startup>
|
||||
<fire-on-crash type="bool" userarchive="y">false</fire-on-crash>
|
||||
<report-score type="bool" userarchive="y">false</report-score>
|
||||
<data type="string"/>
|
||||
</wildfire>
|
||||
|
||||
</PropertyList>
|
||||
|
|
|
@ -127,7 +127,7 @@
|
|||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>EnvironmentInterpolator:turbulence-magnitude</name>
|
||||
<name>EnvironmentInterpolator:turbulence-raw-magnitude</name>
|
||||
<enable>
|
||||
<condition>
|
||||
<property>/environment/config/enabled</property>
|
||||
|
@ -139,12 +139,34 @@
|
|||
</condition>
|
||||
<property>/environment/config/presets/turbulence-magnitude-norm-override</property>
|
||||
</input>
|
||||
<input>/environment/config/interpolated/turbulence/magnitude-norm</input>
|
||||
<output>/environment/turbulence/magnitude-norm</output>
|
||||
<input>
|
||||
<property>/environment/config/interpolated/turbulence/magnitude-norm</property>
|
||||
</input>
|
||||
<output>/environment/turbulence/raw-magnitude-norm</output>
|
||||
<type>exponential</type>
|
||||
<filter-time>1</filter-time>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>EnvironmentInterpolator:turbulence-magnitude</name>
|
||||
<enable>
|
||||
<condition>
|
||||
<property>/environment/config/enabled</property>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<expression>
|
||||
<pow>
|
||||
<property>/environment/turbulence/raw-magnitude-norm</property>
|
||||
<property>/environment/turbulence/sensitivity</property>
|
||||
</pow>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/environment/turbulence/magnitude-norm</output>
|
||||
<type>gain</type>
|
||||
<gain>1</gain>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>EnvironmentInterpolator:turbulence-rate</name>
|
||||
<enable>
|
||||
|
|
528
Input/Joysticks/ThrustMaster/T-Flight-Hotas-X.xml
Normal file
528
Input/Joysticks/ThrustMaster/T-Flight-Hotas-X.xml
Normal file
|
@ -0,0 +1,528 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Joystick binding for ThrustMaster T.Flight Hotas X
|
||||
Adrien Bailly
|
||||
|
||||
Original file by 'flug':
|
||||
http://www.flightgear.org/forums/viewtopic.php?f=2&t=5517
|
||||
|
||||
|
||||
Axis # (direction) mapped to
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
axis 0: (left-right) aileron
|
||||
axis 1: (forward-backward) elevator
|
||||
axis 2: (slider) throttle
|
||||
axis 3: (twist) rudder
|
||||
axis 4: (top hat) view left/right
|
||||
|
||||
Note that internally, FG numbers buttons starting with 0. The markings on the
|
||||
HOTAS-X start with Button 1, and I have used the HOTAS-X number markings below:
|
||||
|
||||
Button # Location Function
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
button 1: (joystick R1) Brakes & reset view
|
||||
button 2: (joystick L1) Push-To-Talk (for fgcom)
|
||||
button 3: (joystick R3) Trim nose down
|
||||
button 4: (joystick L3) Trim nose up
|
||||
|
||||
NO MODIFIER:
|
||||
button 5: (throttle) Flaps up
|
||||
button 6: (throttle) Flaps down
|
||||
button 7: (throttle) Gear up/down
|
||||
button 8: (throttle) Switch view
|
||||
|
||||
MODIFIER 1 (keep button R2 down):
|
||||
button 5: (throttle) Mixture rich
|
||||
button 6: (throttle) Mixture lean
|
||||
button 7 (throttle) Propeller coarse
|
||||
button 8: (throttle) Propeller fine
|
||||
|
||||
MODIFIER 2 (keep button L2 down):
|
||||
button 5: (throttle) Battery ON/OFF
|
||||
button 6: (throttle) Fuel selector
|
||||
button 7 (throttle) Magnetos
|
||||
button 8: (throttle) ???
|
||||
|
||||
MODIFIER 1+2 (keep buttons L2 and R2 down):
|
||||
button 5: (throttle) ???
|
||||
button 6: (throttle) ???
|
||||
button 7 (throttle) ???
|
||||
button 8: (throttle) ???
|
||||
|
||||
button 9: (throttle R2) Modifier 1
|
||||
button 10: (throttle L2) Modifier 2
|
||||
|
||||
button SE: (base SE) ???
|
||||
button ST: (base ST) ???
|
||||
|
||||
HAT SWITCH
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
With the rocker switch and throttle twist controlling view direction, it is easy
|
||||
to look all around in different directions.
|
||||
-->
|
||||
|
||||
<PropertyList>
|
||||
<name type="string">T.Flight Hotas X</name>
|
||||
<name type="string">Hotas X</name>
|
||||
<name type="string">Thrustmaster Hotas X</name>
|
||||
<name type="string">Thrustmaster T.Flight Hotas X</name>
|
||||
<nasal>
|
||||
<script>
|
||||
<![CDATA[
|
||||
setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1", 0);
|
||||
setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2", 0);
|
||||
]]>
|
||||
</script>
|
||||
</nasal>
|
||||
|
||||
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~ Axis Bindings ~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
||||
<axis n="0">
|
||||
<desc>Joystick: Aileron</desc>
|
||||
<binding>
|
||||
<command>property-scale</command>
|
||||
<property>/controls/flight/aileron</property>
|
||||
<factor type="double">1.0</factor>
|
||||
<power type="double">1.0</power>
|
||||
</binding>
|
||||
</axis>
|
||||
|
||||
<axis n="1">
|
||||
<desc>Joystick: Elevator</desc>
|
||||
<binding>
|
||||
<command>property-scale</command>
|
||||
<property>/controls/flight/elevator</property>
|
||||
<factor type="double">-1.0</factor>
|
||||
<power type="double">1.0</power>
|
||||
</binding>
|
||||
</axis>
|
||||
|
||||
<axis n= "2">
|
||||
<desc>Throttle</desc>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>controls.throttleAxis()</script>
|
||||
</binding>
|
||||
</axis>
|
||||
|
||||
<axis n="3">
|
||||
<desc>Rudder</desc>
|
||||
<binding>
|
||||
<command>property-scale</command>
|
||||
<property>/controls/flight/rudder</property>
|
||||
<power type="double">1.0</power>
|
||||
</binding>
|
||||
</axis>
|
||||
|
||||
<!-- Throttle rocker switch axis pans l/r -->
|
||||
<axis n="4">
|
||||
<desc>Throttle rocker switch: View Left/Right</desc>
|
||||
<dead-band type="double">0.05</dead-band>
|
||||
<binding>
|
||||
<command>property-scale</command>
|
||||
<property>/sim/current-view/heading-offset-deg</property>
|
||||
<factor type="double">-180</factor>
|
||||
<power type="double">1.2</power>
|
||||
</binding>
|
||||
</axis>
|
||||
|
||||
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~ Hat Switch ~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
||||
<axis n="5">
|
||||
<desc>Hat Switch: View Direction (use mod buttons for different effects)</desc>
|
||||
<low>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/sim/current-view/goal-heading-offset-deg</property>
|
||||
<step type="double">5.0</step>
|
||||
</binding>
|
||||
</low>
|
||||
<high>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/sim/current-view/goal-heading-offset-deg</property>
|
||||
<step type="double">-5.0</step>
|
||||
</binding>
|
||||
</high>
|
||||
</axis>
|
||||
|
||||
<axis n="6">
|
||||
<desc>Hat Switch: View Elevation (use mod buttons for different effects)</desc>
|
||||
<low>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/sim/current-view/goal-pitch-offset-deg</property>
|
||||
<step type="double">5.0</step>
|
||||
</binding>
|
||||
</low>
|
||||
<high>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/sim/current-view/goal-pitch-offset-deg</property>
|
||||
<step type="double">-5.0</step>
|
||||
</binding>
|
||||
</high>
|
||||
</axis>
|
||||
|
||||
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~ Button Bindings ~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
||||
|
||||
<!-- Trigger (R1) -->
|
||||
<button n="0">
|
||||
<desc>Button R1(1) (trigger): Brakes + reset to pilot view</desc>
|
||||
<repeatable type="bool">true</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
controls.applyBrakes(1.0);
|
||||
setprop("/sim/current-view/view-number", 0);
|
||||
view.resetView();
|
||||
</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
controls.applyBrakes(0.0);
|
||||
</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
|
||||
<!-- Button right of Hat switch, Labeled L1(2) -->
|
||||
<button n="1">
|
||||
<desc>Button L1(2) (joystick center): Push-To-Talk (for fgcom)</desc>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
controls.ptt(1); # push-to-talk (fgcom) ON
|
||||
</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
controls.ptt(0); # push-to-talk (fgcom) OFF
|
||||
</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
|
||||
|
||||
<!-- Front button, right of trigger, (R3) -->
|
||||
<button n="2">
|
||||
<desc>Button R3(3): Elevator trim down</desc>
|
||||
<repeatable type="bool">true</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
controls.elevatorTrim(1);
|
||||
gui.popupTip(sprintf("Elevator trim: %d", 100 * getprop("/controls/flight/elevator-trim")));
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
|
||||
<!-- Button far right of Hat switch, Labeled L3(4) -->
|
||||
<button n="3">
|
||||
<desc>Button L3(4): Elevator trim down</desc>
|
||||
<repeatable type="bool">true</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
controls.elevatorTrim(-1);
|
||||
gui.popupTip(sprintf("Elevator trim: %d", 100 * getprop("/controls/flight/elevator-trim")));
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
|
||||
<!-- Throttle Button labeled 5 -->
|
||||
<button n="4">
|
||||
<desc>Button (5): Flaps up / Mixture rich / Battery on-off / ???</desc>
|
||||
<repeatable type="bool">false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1");
|
||||
mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2");
|
||||
if(mod1==0 and mod2==0) {
|
||||
controls.flapsDown(-1);
|
||||
gui.popupTip(sprintf("Flaps: %d deg", 30*getprop("/controls/flight/flaps")+0.1));
|
||||
}
|
||||
elsif(mod1==1 and mod2==0) {
|
||||
controls.adjMixture(10);
|
||||
gui.popupTip(sprintf("Mixture rich"));
|
||||
}
|
||||
elsif(mod1 == 0 and mod2==1) {
|
||||
j = getprop("/controls/electric/battery-switch");
|
||||
if(j == 0) {
|
||||
setprop("/controls/electric/battery-switch", 1);
|
||||
gui.popupTip(sprintf("Battery ON"));
|
||||
} else {
|
||||
setprop("/controls/electric/battery-switch", 0);
|
||||
gui.popupTip(sprintf("Battery OFF"));
|
||||
}
|
||||
}
|
||||
elsif(mod1==1 and mod2==1) {
|
||||
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1");
|
||||
mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2");
|
||||
if(mod1==0 and mod2==0) {
|
||||
controls.flapsDown(0);
|
||||
gui.popupTip(sprintf("Flaps: %d deg", 30*getprop("/controls/flight/flaps")+0.1));
|
||||
}
|
||||
elsif(mod1==1 and mod2==0) {
|
||||
# mixture
|
||||
}
|
||||
elsif(mod1 == 0 and mod2==1) {
|
||||
|
||||
}
|
||||
elsif(mod1==1 and mod2==1) {
|
||||
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
|
||||
<!-- Throttle Button labeled 6 -->
|
||||
<button n="5">
|
||||
<desc>Button (6): Flaps down / Mixture lean / Fuel selector / ???</desc>
|
||||
<repeatable type="bool">false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1");
|
||||
mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2");
|
||||
if(mod1==0 and mod2==0) {
|
||||
controls.flapsDown(1);
|
||||
gui.popupTip(sprintf("Flaps: %d deg", 30*getprop("/controls/flight/flaps")+0.1));
|
||||
}
|
||||
elsif(mod1==1 and mod2==0) {
|
||||
controls.adjMixture(-10);
|
||||
gui.popupTip(sprintf("Mixture lean"));
|
||||
}
|
||||
elsif(mod1 == 0 and mod2==1) {
|
||||
k = getprop("/controls/fuel/tank/fuel_selector");
|
||||
if (k == 0) {
|
||||
setprop("/controls/fuel/tank/fuel_selector", 1);
|
||||
setprop("/controls/engines/engine/fuel-pump", 1);
|
||||
} else {
|
||||
setprop("/controls/fuel/tank/fuel_selector", 0);
|
||||
setprop("/controls/engines/engine/fuel-pump", 0);
|
||||
}
|
||||
}
|
||||
elsif(mod1==1 and mod2==1) {
|
||||
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1");
|
||||
mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2");
|
||||
if(mod1==0 and mod2==0) {
|
||||
controls.flapsDown(0);
|
||||
gui.popupTip(sprintf("Flaps: %d deg", 30*getprop("/controls/flight/flaps")+0.1));
|
||||
}
|
||||
elsif(mod1==1 and mod2==0) {
|
||||
# mixture
|
||||
}
|
||||
elsif(mod1 == 0 and mod2==1) {
|
||||
|
||||
}
|
||||
elsif(mod1==1 and mod2==1) {
|
||||
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
|
||||
<!-- Throttle Button labeled 7 (circle)-->
|
||||
<button n="6">
|
||||
<desc>Button (7): Landing Gear Toggle / Propeller coarse / Magnetos / ???</desc>
|
||||
<repeatable type="bool">false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1");
|
||||
mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2");
|
||||
if(mod1==0 and mod2==0) {
|
||||
controls.gearToggle();
|
||||
}
|
||||
elsif(mod1==1 and mod2==0) {
|
||||
controls.adjPropeller(10);
|
||||
gui.popupTip(sprintf("Propeller coarse"));
|
||||
}
|
||||
elsif(mod1 == 0 and mod2==1) {
|
||||
l = getprop("/controls/engines/engine/magnetos");
|
||||
if (l == 0) {
|
||||
props.setAll("/controls/engines/engine", "magnetos", 1);
|
||||
} elsif ( l == 1 ) {
|
||||
props.setAll("/controls/engines/engine", "magnetos", 2);
|
||||
} elsif ( l == 2 ) {
|
||||
props.setAll("/controls/engines/engine", "magnetos", 3);
|
||||
} elsif ( l == 3 ) {
|
||||
props.setAll("/controls/engines/engine", "magnetos", 0);
|
||||
}
|
||||
}
|
||||
elsif(mod1==1 and mod2==1) {
|
||||
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1");
|
||||
mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2");
|
||||
if(mod1==0 and mod2==0) {
|
||||
# gear
|
||||
}
|
||||
elsif(mod1==1 and mod2==0) {
|
||||
# propeller
|
||||
}
|
||||
elsif(mod1 == 0 and mod2==1) {
|
||||
# magnetos
|
||||
}
|
||||
elsif(mod1==1 and mod2==1) {
|
||||
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
|
||||
<!-- Throttle Button labeled 8 (triangle) -->
|
||||
<button n="7">
|
||||
<desc>Button (8): Switch view / Propeller fine / Starter / ???</desc>
|
||||
<repeatable type="bool">false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1");
|
||||
mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2");
|
||||
if(mod1==0 and mod2==0) {
|
||||
view.stepView(1);
|
||||
}
|
||||
elsif(mod1==1 and mod2==0) {
|
||||
controls.adjPropeller(-10);
|
||||
gui.popupTip(sprintf("Propeller fine"));
|
||||
}
|
||||
elsif(mod1==0 and mod2==1) {
|
||||
setprop("/controls/engines/engine/starter", 1);
|
||||
setprop("/controls/engines/engine[1]/starter", 1);
|
||||
setprop("/controls/engines/engine[2]/starter", 1);
|
||||
setprop("/controls/engines/engine[3]/starter", 1);
|
||||
setprop("/controls/engines/engine[4]/starter", 1);
|
||||
gui.popupTip(sprintf("Cranking..."));
|
||||
}
|
||||
elsif(mod1==1 and mod2==1) {
|
||||
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1");
|
||||
mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2");
|
||||
if(mod1==0 and mod2==0) {
|
||||
# switch views
|
||||
}
|
||||
elsif(mod1==1 and mod2==0) {
|
||||
# propeller
|
||||
}
|
||||
elsif(mod1==0 and mod2==1) {
|
||||
setprop("/controls/engines/engine/starter", 0);
|
||||
setprop("/controls/engines/engine[1]/starter", 0);
|
||||
setprop("/controls/engines/engine[2]/starter", 0);
|
||||
setprop("/controls/engines/engine[3]/starter", 0);
|
||||
setprop("/controls/engines/engine[4]/starter", 0);
|
||||
}
|
||||
elsif(mod1==1 and mod2==1) {
|
||||
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
|
||||
<!-- Throttle Button labeled R2(9) -->
|
||||
<button n="8">
|
||||
<desc>Button R2(9): Modifier 1</desc>
|
||||
<repeatable type="bool">false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1", 1);
|
||||
</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1", 0);
|
||||
</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
|
||||
<!-- Throttle Button labeled L2(10) -->
|
||||
<button n="9">
|
||||
<desc>Button L2(10): Modifier2</desc>
|
||||
<repeatable type="bool">false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2", 1);
|
||||
</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2", 0);
|
||||
</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
|
||||
<!-- Base Button SE -->
|
||||
<button n="10">
|
||||
<desc>Button SE: ???</desc>
|
||||
<repeatable type="bool">false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
gui.popupTip(sprintf("Button n=10 unused"));
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<!-- Base Button ST -->
|
||||
<button n="11">
|
||||
<desc>Button ST: ???</desc>
|
||||
<repeatable type="bool">false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
gui.popupTip(sprintf("Button n=11 unused"));
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
</PropertyList>
|
|
@ -138,7 +138,6 @@ command interface /autopilot/route-manager/input:
|
|||
dest.getNode("runway").clearValue();
|
||||
}
|
||||
|
||||
print("updated runways");
|
||||
gui.dialog_update("route-manager");
|
||||
}
|
||||
|
||||
|
|
|
@ -748,6 +748,7 @@ Shared parameters for various materials.
|
|||
<name>DeciduousBroadCover</name>
|
||||
<name>DeciduousForest</name>
|
||||
<name>Bog</name>
|
||||
<name>Heath</name>
|
||||
<texture>Terrain/deciduous1.png</texture>
|
||||
<texture>Terrain/deciduous2.png</texture>
|
||||
<texture>Terrain/deciduous4.png</texture>
|
||||
|
@ -869,6 +870,7 @@ Shared parameters for various materials.
|
|||
<name>ShrubCover</name>
|
||||
<name>ShrubGrassCover</name>
|
||||
<name>ScrubCover</name>
|
||||
<name>Sclerophyllous</name>
|
||||
<texture>Terrain/shrub1.png</texture>
|
||||
<!--
|
||||
<texture>Terrain/shrub.png</texture>
|
||||
|
@ -910,6 +912,9 @@ Shared parameters for various materials.
|
|||
</condition>
|
||||
<name>BuiltUpCover</name>
|
||||
<name>Urban</name>
|
||||
<name>Construction</name>
|
||||
<name>Industrial</name>
|
||||
<name>Port</name>
|
||||
<effect>Effects/urban</effect>
|
||||
<texture-set>
|
||||
<texture>Terrain/city1.png</texture>
|
||||
|
@ -1004,6 +1009,7 @@ Shared parameters for various materials.
|
|||
</equals>
|
||||
</condition>
|
||||
<name>Town</name>
|
||||
<name>SubUrban</name>
|
||||
<texture>Terrain/Town1.png</texture>
|
||||
<xsize>1024</xsize>
|
||||
<ysize>1024</ysize>
|
||||
|
@ -1067,6 +1073,8 @@ Shared parameters for various materials.
|
|||
<name>Stream</name>
|
||||
<name>Canal</name>
|
||||
<name>Lagoon</name>
|
||||
<name>Estuary</name>
|
||||
<name>Watercourse</name>
|
||||
<name>Saline</name>
|
||||
<texture>Terrain/water-lake.png</texture>
|
||||
<xsize>400</xsize>
|
||||
|
@ -1143,6 +1151,7 @@ Shared parameters for various materials.
|
|||
<name>Marsh</name>
|
||||
<name>Littoral</name>
|
||||
<name>FloodLand</name>
|
||||
<name>SaltMarsh</name>
|
||||
<name>HerbWetlandCover</name>
|
||||
<name>WoodedWetlandCover</name>
|
||||
<texture>Terrain/marsh2.png</texture>
|
||||
|
@ -1261,6 +1270,7 @@ Shared parameters for various materials.
|
|||
<name>Grass</name>
|
||||
<name>Airport</name>
|
||||
<name>AirportKeep</name>
|
||||
<name>Greenspace</name>
|
||||
<texture>Terrain/airport.png</texture>
|
||||
<xsize>125</xsize>
|
||||
<ysize>125</ysize>
|
||||
|
@ -1362,6 +1372,8 @@ Shared parameters for various materials.
|
|||
<name>IrrCropPastureCover</name>
|
||||
<name>IrrCrop</name>
|
||||
<name>Orchard</name>
|
||||
<name>Olives</name>
|
||||
<name>Vineyard</name>
|
||||
<name>Rice</name>
|
||||
<texture>Terrain/irrcrop1.png</texture>
|
||||
<texture>Terrain/irrcrop2.png</texture>
|
||||
|
@ -1426,6 +1438,7 @@ Shared parameters for various materials.
|
|||
<effect>Effects/crop</effect>
|
||||
<name>DryCropPastureCover</name>
|
||||
<name>DryCrop</name>
|
||||
<name>NaturalCrop</name>
|
||||
<texture>Terrain/drycrop1.png</texture>
|
||||
<texture>Terrain/drycrop2.png</texture>
|
||||
<texture>Terrain/drycrop3.png</texture>
|
||||
|
@ -1492,6 +1505,7 @@ Shared parameters for various materials.
|
|||
<effect>Effects/cropgrass</effect>
|
||||
<name>CropGrassCover</name>
|
||||
<name>CropGrass</name>
|
||||
<name>Grassland</name>
|
||||
<texture>Terrain/cropgrass1.png</texture>
|
||||
<texture>Terrain/cropgrass2.png</texture>
|
||||
<texture>Terrain/cropgrass3.png</texture>
|
||||
|
@ -1533,6 +1547,7 @@ Shared parameters for various materials.
|
|||
</condition>
|
||||
<name>CropWoodCover</name>
|
||||
<name>CropWood</name>
|
||||
<name>AgroForest</name>
|
||||
<effect>Effects/landmass</effect>
|
||||
<texture>Terrain/cropwood.png</texture>
|
||||
<xsize>2000</xsize>
|
||||
|
@ -1594,6 +1609,7 @@ Shared parameters for various materials.
|
|||
<name>DeciduousBroadCover</name>
|
||||
<name>DeciduousForest</name>
|
||||
<name>Bog</name>
|
||||
<name>Heath</name>
|
||||
<texture>Terrain.winter/deciduous1.png</texture>
|
||||
<texture>Terrain.winter/deciduous2.png</texture>
|
||||
<texture>Terrain.winter/deciduous4.png</texture>
|
||||
|
@ -1711,6 +1727,7 @@ Shared parameters for various materials.
|
|||
<name>ShrubCover</name>
|
||||
<name>ShrubGrassCover</name>
|
||||
<name>ScrubCover</name>
|
||||
<name>Sclerophyllous</name>
|
||||
<texture>Terrain.winter/shrub.png</texture>
|
||||
<texture>Terrain.winter/shrub2.png</texture>
|
||||
<texture>Terrain.winter/shrub3.png</texture>
|
||||
|
@ -1749,6 +1766,9 @@ Shared parameters for various materials.
|
|||
</condition>
|
||||
<name>BuiltUpCover</name>
|
||||
<name>Urban</name>
|
||||
<name>Construction</name>
|
||||
<name>Industrial</name>
|
||||
<name>Port</name>
|
||||
<effect>Effects/urban</effect>
|
||||
<texture-set>
|
||||
<texture>Terrain/city1.png</texture>
|
||||
|
@ -1843,6 +1863,7 @@ Shared parameters for various materials.
|
|||
</equals>
|
||||
</condition>
|
||||
<name>Town</name>
|
||||
<name>SubUrban</name>
|
||||
<texture>Terrain.winter/Town1.png</texture>
|
||||
<xsize>1024</xsize>
|
||||
<ysize>1024</ysize>
|
||||
|
@ -1914,6 +1935,8 @@ Shared parameters for various materials.
|
|||
<name>Stream</name>
|
||||
<name>Canal</name>
|
||||
<name>Lagoon</name>
|
||||
<name>Estuary</name>
|
||||
<name>Watercourse</name>
|
||||
<name>Saline</name>
|
||||
<texture>Terrain.winter/water-lake.png</texture>
|
||||
<xsize>400</xsize>
|
||||
|
@ -1990,6 +2013,7 @@ Shared parameters for various materials.
|
|||
<name>Marsh</name>
|
||||
<name>Littoral</name>
|
||||
<name>FloodLand</name>
|
||||
<name>SaltMarsh</name>
|
||||
<name>HerbWetlandCover</name>
|
||||
<name>WoodedWetlandCover</name>
|
||||
<texture>Terrain.winter/marsh2.png</texture>
|
||||
|
@ -2104,6 +2128,7 @@ Shared parameters for various materials.
|
|||
<name>Grass</name>
|
||||
<name>Airport</name>
|
||||
<name>AirportKeep</name>
|
||||
<name>Greenspace</name>
|
||||
<texture>Terrain.winter/airport.png</texture>
|
||||
<xsize>125</xsize>
|
||||
<ysize>125</ysize>
|
||||
|
@ -2203,6 +2228,9 @@ Shared parameters for various materials.
|
|||
<name>IrrCropPastureCover</name>
|
||||
<name>IrrCrop</name>
|
||||
<name>Orchard</name>
|
||||
<name>Olives</name>
|
||||
<name>Vineyard</name>
|
||||
<name>Rice</name>
|
||||
<texture>Terrain.winter/irrcrop1.png</texture>
|
||||
<texture>Terrain.winter/irrcrop2.png</texture>
|
||||
<texture>Terrain.winter/irrcrop3.png</texture>
|
||||
|
@ -2267,6 +2295,7 @@ Shared parameters for various materials.
|
|||
</condition>
|
||||
<name>DryCropPastureCover</name>
|
||||
<name>DryCrop</name>
|
||||
<name>NaturalCrop</name>
|
||||
<texture>Terrain.winter/drycrop1.png</texture>
|
||||
<texture>Terrain.winter/drycrop2.png</texture>
|
||||
<texture>Terrain.winter/drycrop3.png</texture>
|
||||
|
@ -2332,6 +2361,7 @@ Shared parameters for various materials.
|
|||
</condition>
|
||||
<name>CropGrassCover</name>
|
||||
<name>CropGrass</name>
|
||||
<name>Grassland</name>
|
||||
<texture>Terrain.winter/cropgrass1.png</texture>
|
||||
<texture>Terrain.winter/cropgrass2.png</texture>
|
||||
<texture>Terrain.winter/cropgrass3.png</texture>
|
||||
|
@ -2374,6 +2404,7 @@ Shared parameters for various materials.
|
|||
</equals>
|
||||
</condition>
|
||||
<name>CropWoodCover</name>
|
||||
<name>AgroForest</name>
|
||||
<texture>Terrain.winter/cropwood.png</texture>
|
||||
<xsize>2000</xsize>
|
||||
<ysize>2000</ysize>
|
||||
|
@ -2555,6 +2586,7 @@ Shared parameters for various materials.
|
|||
<name>Dirt</name>
|
||||
<name>OpenMining</name>
|
||||
<name>Rock</name>
|
||||
<name>Dump</name>
|
||||
<texture>Terrain/rock.png</texture>
|
||||
<xsize>500</xsize>
|
||||
<ysize>500</ysize>
|
||||
|
@ -2566,6 +2598,7 @@ Shared parameters for various materials.
|
|||
|
||||
<material>
|
||||
<name>Lava</name>
|
||||
<name>Burnt</name>
|
||||
<texture>Terrain/lava.png</texture>
|
||||
<xsize>500</xsize>
|
||||
<ysize>500</ysize>
|
||||
|
@ -2575,6 +2608,18 @@ Shared parameters for various materials.
|
|||
<bumpiness>0.3</bumpiness>
|
||||
</material>
|
||||
|
||||
<material>
|
||||
<name>Asphalt</name>
|
||||
<texture>Terrain/asphalt.png</texture>
|
||||
<xsize>400</xsize>
|
||||
<ysize>400</ysize>
|
||||
<solid>1</solid>
|
||||
<friction-factor>1.0</friction-factor>
|
||||
<rolling-friction>0.02</rolling-friction>
|
||||
<bumpiness>0.01</bumpiness>
|
||||
<load-resistance>1e10</load-resistance>
|
||||
</material>
|
||||
|
||||
<material>
|
||||
<name>Freeway</name>
|
||||
<name>Road</name>
|
||||
|
|
|
@ -575,7 +575,7 @@ Started September 2000 by David Megginson, david@megginson.com
|
|||
|
||||
<mouse>
|
||||
<hide-cursor type="bool" userarchive="y">true</hide-cursor>
|
||||
<cursor-timeout-sec type="int" userarchive="y">10.0</cursor-timeout-sec>
|
||||
<cursor-timeout-sec type="double" userarchive="y">10.0</cursor-timeout-sec>
|
||||
</mouse>
|
||||
|
||||
<replay>
|
||||
|
|
Loading…
Reference in a new issue