]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/YASim/FGFDM.cpp
Use bool where the source and destination variable is bool.
[flightgear.git] / src / FDM / YASim / FGFDM.cpp
index c883ebd1fe808aa8dd2a443872992d27f8eff30d..426a35ed43a92d1e26e4547a144366be4a3bb31b 100644 (file)
@@ -83,6 +83,7 @@ FGFDM::~FGFDM()
     }
     for(i=0; i<_controlProps.size(); i++)
         delete (PropOut*)_controlProps.get(i);
+    delete _turb;
 }
 
 void FGFDM::iterate(float dt)
@@ -287,8 +288,9 @@ void FGFDM::startElement(const char* name, const XMLAttributes &atts)
        l->setHoldbackMount(v);
         float length = attrf(a, "length", 1.0);
         l->setLength(length);
-        l->setDownAngle(attrf(a, "down-angle", 30) * DEG2RAD);
-        l->setUpAngle(attrf(a, "up-angle", -30) * DEG2RAD);
+        l->setDownAngle(attrf(a, "down-angle", 45) * DEG2RAD);
+        l->setUpAngle(attrf(a, "up-angle", -45) * DEG2RAD);
+        l->setHoldbackLength(attrf(a, "holdback-length", 2.0));
        _airplane.addLaunchbar(l);
     } else if(eq(name, "fuselage")) {
        float b[3];
@@ -699,8 +701,12 @@ void FGFDM::parsePistonEngine(XMLAttributes* a)
         float mul = attrf(a, "turbo-mul");
         float mp = attrf(a, "wastegate-mp", 1e6) * INHG2PA;
         eng->setTurboParams(mul, mp);
+        eng->setTurboLag(attrf(a, "turbo-lag", 2));
     }
 
+    if(a->hasAttribute("supercharger"))
+        eng->setSupercharger(attrb(a, "supercharger"));
+
     ((PropEngine*)_currObj)->setEngine(eng);
 }
 
@@ -849,6 +855,7 @@ int FGFDM::parseOutput(const char* name)
     if(eq(name, "CYCLICELE")) return ControlMap::CYCLICELE;
     if(eq(name, "ROTORENGINEON")) return ControlMap::ROTORENGINEON;
     if(eq(name, "REVERSE_THRUST")) return ControlMap::REVERSE_THRUST;
+    if(eq(name, "WASTEGATE")) return ControlMap::WASTEGATE;
     SG_LOG(SG_FLIGHT,SG_ALERT,"Unrecognized control type '"
            << name << "' in YASim aircraft description.");
     exit(1);