]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/JSBSim.cxx
*** empty log message ***
[flightgear.git] / src / FDM / JSBSim / JSBSim.cxx
index a60060e8a1a4e4edee4277c7f4beebeee1dddd74..80ee3ee03e559cc45aca1df6cf22a9ae6b7aaa0e 100644 (file)
@@ -262,6 +262,8 @@ FGJSBsim::FGJSBsim( double dt )
     wind_from_east = fgGetNode("/environment/wind-from-east-fps" ,true);
     wind_from_down = fgGetNode("/environment/wind-from-down-fps" ,true);
 
+    slaved = fgGetNode("/sim/slaved/enabled", true);
+
     for (unsigned int i = 0; i < Propulsion->GetNumEngines(); i++) {
       SGPropertyNode * node = fgGetNode("engines/engine", i, true);
       Propulsion->GetEngine(i)->GetThruster()->SetRPM(node->getDoubleValue("rpm") /
@@ -601,6 +603,7 @@ bool FGJSBsim::copy_to_JSBsim()
     SGPropertyNode* node = fgGetNode("/systems/refuel", true);
     Propulsion->SetRefuel(node->getDoubleValue("contact"));
     Propulsion->SetFuelFreeze((fgGetNode("/sim/freeze/fuel",true))->getBoolValue());
+    fdmex->SetSlave(slaved->getBoolValue());
 
     return true;
 }
@@ -850,7 +853,7 @@ bool FGJSBsim::copy_from_JSBsim()
     spoilers_pos_pct->setDoubleValue( FCS->GetDspPos(ofNorm) );
 
     // force a sim reset if crashed (altitude AGL < 0)
-    if (get_Altitude_AGL() < 0.0) {
+    if (get_Altitude_AGL() < -100.0) {
          fgSetBool("/sim/crashed", true);
          SGPropertyNode* node = fgGetNode("/sim/presets", true);
          globals->get_commands()->execute("old-reinit-dialog", node);
@@ -1009,9 +1012,9 @@ void FGJSBsim::set_Euler_Angles( double phi, double theta, double psi )
     FGInterface::set_Euler_Angles(phi, theta, psi);
 
     update_ic();
-    fgic->SetPitchAngleRadIC(theta);
-    fgic->SetRollAngleRadIC(phi);
-    fgic->SetTrueHeadingRadIC(psi);
+    fgic->SetThetaRadIC(theta);
+    fgic->SetPhiRadIC(phi);
+    fgic->SetPsiRadIC(psi);
     needTrim=true;
 }
 
@@ -1126,9 +1129,9 @@ void FGJSBsim::update_ic(void)
      fgic->SetLongitudeRadIC( get_Longitude() );
      fgic->SetAltitudeFtIC( get_Altitude() );
      fgic->SetVcalibratedKtsIC( get_V_calibrated_kts() );
-     fgic->SetPitchAngleRadIC( get_Theta() );
-     fgic->SetRollAngleRadIC( get_Phi() );
-     fgic->SetTrueHeadingRadIC( get_Psi() );
+     fgic->SetThetaRadIC( get_Theta() );
+     fgic->SetPhiRadIC( get_Phi() );
+     fgic->SetPsiRadIC( get_Psi() );
      fgic->SetClimbRateFpsIC( get_Climb_Rate() );
    }
 }