]> git.mxchange.org Git - flightgear.git/blobdiff - src/Aircraft/controls.cxx
Merge branch 'next' of gitorious.org:fg/flightgear into next
[flightgear.git] / src / Aircraft / controls.cxx
index 96081e0ae3a83a31795d138a5b02f30ee390cc23..5eeadc1a1ddae27daae9eab6756cbb2a0b736ad1 100644 (file)
@@ -20,6 +20,9 @@
 //
 // $Id$
 
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
 
 #include <simgear/compiler.h>
 #include <simgear/debug/logstream.hxx>
@@ -78,6 +81,7 @@ FGControls::FGControls() :
     copilot_brake_right( 0.0 ),
     brake_parking( 0.0 ),
     steering( 0.0 ),
+    nose_wheel_steering( true ),
     gear_down( true ),
     antiskid( true ),
     tailhook( false ),
@@ -157,6 +161,7 @@ void FGControls::reset_all()
     set_fuel_selector( ALL_TANKS, true );
     dump_valve = false;
     steering =  0.0;
+    nose_wheel_steering = true;
     gear_down = true;
     tailhook = false;
     launchbar = false;
@@ -200,8 +205,10 @@ FGControls::init ()
        magnetos[engine] = 0;
        feed_tank[engine] = -1; // set to -1 to turn off all tanks 0 feeds all engines from center body tank
        starter[engine] = false;
+        feather[engine] = false;
         ignition[engine] = false;
         fire_switch[engine] = false;
+        fire_bottle_discharge[engine] = false;
         cutoff[engine] = true;
         augmentation[engine] = false;
         reverser[engine] = false;
@@ -209,6 +216,21 @@ FGControls::init ()
         nitrous_injection[engine] = false;
         cowl_flaps_norm[engine] = 0.0;
         condition[engine] = 1.0;
+        carb_heat[engine] = false;
+        inlet_heat[engine] = false;
+        generator_breaker[engine] = false;
+        bus_tie[engine] = false;
+        engine_bleed[engine] = false;
+    }
+
+    for ( int tank = 0; tank < MAX_TANKS; tank++ ) {
+        fuel_selector[tank] = false;
+        to_engine[tank] = 0;
+        to_tank[tank] = 0;
+    }
+
+    for( int pump = 0; pump < MAX_TANKS * MAX_BOOSTPUMPS; pump++ ) {
+        boost_pump[pump] = false;
     }
 
     brake_left = brake_right
@@ -468,6 +490,11 @@ FGControls::bind ()
        &FGControls::get_steering, &FGControls::set_steering);
   fgSetArchivable("/controls/gear/steering");
 
+  fgTie("/controls/gear/nose-wheel-steering", this,
+       &FGControls::get_nose_wheel_steering,
+        &FGControls::set_nose_wheel_steering);
+  fgSetArchivable("/controls/gear/nose-wheel-steering");
+
   fgTie("/controls/gear/gear-down", this,
        &FGControls::get_gear_down, &FGControls::set_gear_down);
   fgSetArchivable("/controls/gear/gear-down");
@@ -915,7 +942,8 @@ void FGControls::unbind ()
   fgUntie("/controls/gear/brake-right");
   fgUntie("/controls/gear/brake-parking");
   fgUntie("/controls/gear/steering");
-  fgUntie("/controls/gear/gear_down");
+  fgUntie("/controls/gear/nose-wheel-steering");
+  fgUntie("/controls/gear/gear-down");
   fgUntie("/controls/gear/antiskid");
   fgUntie("/controls/gear/tailhook");
   fgUntie("/controls/gear/launchbar");
@@ -1710,6 +1738,12 @@ FGControls::set_steering( double angle )
     CLAMP(&steering, -80.0, 80.0);
 }
 
+void
+FGControls::set_nose_wheel_steering( bool nws )
+{
+    nose_wheel_steering = nws;
+}
+
 void
 FGControls::move_steering( double angle )
 {