]> git.mxchange.org Git - flightgear.git/commitdiff
Add AI models enableing/disableing command line option and support code.
authorehofman <ehofman>
Wed, 19 May 2004 13:55:49 +0000 (13:55 +0000)
committerehofman <ehofman>
Wed, 19 May 2004 13:55:49 +0000 (13:55 +0000)
src/AIModel/AIAircraft.cxx
src/AIModel/AIManager.cxx
src/AIModel/AIManager.hxx
src/Main/options.cxx

index 61045327f99c2ea843f63933b22b8c945ff257dd..bb5107d6b0b6c21bd391a1c93715c850f868bf8d 100644 (file)
@@ -379,8 +379,7 @@ void FGAIAircraft::ProcessFlightPlan( double dt ) {
   if (dt_count < 0.1) {
     return;
   } else {
-    while (dt_count > 0.1)
-      dt_count -= dt;
+    dt_count = 0;
 
     // check to see if we've reached the lead point for our next turn
     double dist_to_go = fp->getDistanceToGo(pos.lat(), pos.lon(), curr); 
index e450f47a29b554ab5fdbcd34dc4412a26d086fa5..466f5332a87889c78bdf314c476bff260574eab6 100644 (file)
@@ -56,6 +56,12 @@ FGAIManager::~FGAIManager() {
 void FGAIManager::init() {
   int rval;
   root = fgGetNode("sim/ai", true);
+
+  enabled = root->getNode("enabled", true)->getStringValue();
+  if (!enabled)
+      return;
+
+
   wind_from_down = fgGetNode("/environment/wind-from-down-fps", true);
 
   for (int i = 0; i < root->nChildren(); i++) {
@@ -140,6 +146,9 @@ void FGAIManager::update(double dt) {
         range_nearest = 10000.0;
         strength = 0.0;
 
+        if (!enabled)
+            return;
+
         _dt = dt;      
 
         ai_list_itr = ai_list.begin();
index b6cdd8a9c679f8e82f5632cf195bc50f46c93c25..449b03b409221d3c1d39d0f93eab33c2042355b0 100644 (file)
@@ -125,6 +125,7 @@ public:
 private:
 
     bool initDone;
+    bool enabled;
     int numObjects;
     SGPropertyNode* root;
     SGPropertyNode* wind_from_down;
index 8a85e80ddf178c5087669ffc7f4ac4743f26b539..e7bf6d0c7076cc04802ace52ca7f3e060f6a8365 100644 (file)
@@ -1186,6 +1186,8 @@ struct OptionDesc {
     {"enable-mouse-pointer",         false, OPTION_STRING, "/sim/startup/mouse-pointer", false, "enabled", 0 },
     {"disable-random-objects",       false, OPTION_BOOL,   "/sim/rendering/random-objects", false, "", 0 },
     {"enable-random-objects",        false, OPTION_BOOL,   "/sim/rendering/random-objects", true, "", 0 },
+    {"disable-ai-models",            false, OPTION_BOOL,   "/sim/ai/enabled", false, "", 0 },
+    {"enable-ai-models",             false, OPTION_BOOL,   "/sim/ai/enabled", true, "", 0 },
     {"disable-freeze",               false, OPTION_BOOL,   "/sim/freeze/master", false, "", 0 },
     {"enable-freeze",                false, OPTION_BOOL,   "/sim/freeze/master", true, "", 0 },
     {"disable-fuel-freeze",          false, OPTION_BOOL,   "/sim/freeze/fuel", false, "", 0 },