]> git.mxchange.org Git - flightgear.git/blobdiff - src/Controls/controls.cxx
Move FGControls declaration to globals.hxx
[flightgear.git] / src / Controls / controls.cxx
index 97d6a8990c9ac774545187ee4a430d3085cfc3bb..30492fa5f4dec22df6623d6f1ec4d56ba17ca4a8 100644 (file)
@@ -27,9 +27,6 @@
 #include <Main/fg_props.hxx>
 
 
-FGControls controls;
-
-
 // Constructor
 FGControls::FGControls() :
     aileron( 0.0 ),
@@ -38,15 +35,6 @@ FGControls::FGControls() :
     rudder( 0.0 ),
     throttle_idle( true )
 {
-    for ( int engine = 0; engine < MAX_ENGINES; engine++ ) {
-       throttle[engine] = 0.0;
-       mixture[engine] = 1.0;
-       prop_advance[engine] = 1.0;
-    }
-
-    for ( int wheel = 0; wheel < MAX_WHEELS; wheel++ ) {
-        brake[wheel] = 0.0;
-    }
 }
 
 
@@ -69,6 +57,17 @@ FGControls::~FGControls() {
 void
 FGControls::init ()
 {
+    for ( int engine = 0; engine < MAX_ENGINES; engine++ ) {
+       throttle[engine] = 0.0;
+       mixture[engine] = 1.0;
+       prop_advance[engine] = 1.0;
+    }
+
+    for ( int wheel = 0; wheel < MAX_WHEELS; wheel++ ) {
+        brake[wheel] = 0.0;
+    }
+
+    auto_coordination = fgGetNode("/sim/auto-coordination", true);
 }
 
 
@@ -76,42 +75,43 @@ void
 FGControls::bind ()
 {
   fgTie("/controls/aileron", this,
-                   &FGControls::get_aileron, &FGControls::set_aileron);
+       &FGControls::get_aileron, &FGControls::set_aileron);
+  fgSetArchivable("/controls/aileron");
   fgTie("/controls/elevator", this,
        &FGControls::get_elevator, &FGControls::set_elevator);
+  fgSetArchivable("/controls/elevator");
   fgTie("/controls/elevator-trim", this,
        &FGControls::get_elevator_trim, &FGControls::set_elevator_trim);
+  fgSetArchivable("/controls/elevator-trim");
   fgTie("/controls/rudder", this,
        &FGControls::get_rudder, &FGControls::set_rudder);
+  fgSetArchivable("/controls/rudder");
   fgTie("/controls/flaps", this,
        &FGControls::get_flaps, &FGControls::set_flaps);
+  fgSetArchivable("/controls/flaps");
   int index;
   for (index = 0; index < MAX_ENGINES; index++) {
     char name[32];
     sprintf(name, "/controls/throttle[%d]", index);
     fgTie(name, this, index,
          &FGControls::get_throttle, &FGControls::set_throttle);
+    fgSetArchivable(name);
     sprintf(name, "/controls/mixture[%d]", index);
     fgTie(name, this, index,
         &FGControls::get_mixture, &FGControls::set_mixture);
+    fgSetArchivable(name);
     sprintf(name, "/controls/propellor-pitch[%d]", index);
     fgTie(name, this, index,
         &FGControls::get_prop_advance, &FGControls::set_prop_advance);
+    fgSetArchivable(name);
   }
-  fgTie("/controls/throttle/all", this, ALL_ENGINES,
-       &FGControls::get_throttle, &FGControls::set_throttle);
-  fgTie("/controls/mixture/all", this, ALL_ENGINES,
-       &FGControls::get_mixture, &FGControls::set_mixture);
-  fgTie("/controls/propellor-pitch/all", this, ALL_ENGINES,
-       &FGControls::get_prop_advance, &FGControls::set_prop_advance);
   for (index = 0; index < MAX_WHEELS; index++) {
     char name[32];
     sprintf(name, "/controls/brakes[%d]", index);
     fgTie(name, this, index,
         &FGControls::get_brake, &FGControls::set_brake);
+    fgSetArchivable(name);
   }
-  fgTie("/controls/brakes/all", this, ALL_WHEELS,
-       &FGControls::get_brake, &FGControls::set_brake);
 }