diff --git a/Nasal/controls.nas b/Nasal/controls.nas index f46847397..7827078d9 100644 --- a/Nasal/controls.nas +++ b/Nasal/controls.nas @@ -203,10 +203,13 @@ adjPropeller = func { adjEngControl = func { engs = props.globals.getNode("/controls/engines").getChildren("engine"); + selected = props.globals.getNode("/sim/input/selected"); delta = arg[1] * THROTTLE_RATE * getprop("/sim/time/delta-realtime-sec"); foreach(e; engs) { - node = e.getNode(arg[0], 1); - node.setValue(node.getValue() + delta); + if(selected.getChild("engine", e.getIndex(), 1).getBoolValue()) { + node = e.getNode(arg[0], 1); + node.setValue(node.getValue() + delta); + } } } @@ -321,6 +324,9 @@ elevatorTrimAxis = func { elevatorTrim(cmdarg().getNode("value").getValue()); } aileronTrimAxis = func { aileronTrim(cmdarg().getNode("value").getValue()); } rudderTrimAxis = func { rudderTrim(cmdarg().getNode("value").getValue()); } +## +# Gear handling. +# gearDown = func { if (arg[0] < 0) { setprop("/controls/gear/gear-down", 0); @@ -330,6 +336,9 @@ gearDown = func { } gearToggle = func { gearDown(getprop("/controls/gear/gear-down") > 0 ? -1 : 1); } +## +# Brake handling. +# fullBrakeTime = 0.5; applyBrakes = func(v, which = 0) { if (which <= 0) { interpolate("/controls/gear/brake-left", v, fullBrakeTime); } diff --git a/preferences.xml b/preferences.xml index 5922b131a..c71052ccc 100644 --- a/preferences.xml +++ b/preferences.xml @@ -177,9 +177,13 @@ Started September 2000 by David Megginson, david@megginson.com true - false - false - false + true + true + true + true + true + true + true