From 3986e1fe3abdf94658bae0dcfcb2fdd3ee8fda56 Mon Sep 17 00:00:00 2001 From: ThorstenB Date: Mon, 30 Apr 2012 19:04:49 +0200 Subject: [PATCH] Add separate switch to enable/disable AI scenario support. Switch is enabled automatically when scenarios are given on command-line. --- src/AIModel/AIManager.cxx | 9 +++++++++ src/Main/options.cxx | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/AIModel/AIManager.cxx b/src/AIModel/AIManager.cxx index 7f7b5bab2..c5ea283fc 100644 --- a/src/AIModel/AIManager.cxx +++ b/src/AIModel/AIManager.cxx @@ -89,6 +89,15 @@ FGAIManager::init() { void FGAIManager::postinit() { // postinit, so that it can access the Nasal subsystem + + if (!root->getBoolValue("scenarios-enabled", true)) + return; + + // scenarios enabled, AI subsystem required + if (!enabled->getBoolValue()) + enabled->setBoolValue(true); + + // process all scenarios map scenarios; for (int i = 0 ; i < root->nChildren() ; i++) { SGPropertyNode *n = root->getChild(i); diff --git a/src/Main/options.cxx b/src/Main/options.cxx index 52df477ac..9a5c84dd8 100644 --- a/src/Main/options.cxx +++ b/src/Main/options.cxx @@ -1156,7 +1156,7 @@ fgOptScenario( const char *arg ) } SGPropertyNode_ptr scenario = ai_node->getNode( "scenario", index + 1, true ); scenario->setStringValue( arg ); - ai_node->setBoolValue( "enabled", true ); + ai_node->setBoolValue( "scenarios-enabled", true ); return FG_OPTIONS_OK; } @@ -1165,7 +1165,7 @@ fgOptNoScenarios( const char *arg ) { SGPropertyNode_ptr ai_node = fgGetNode( "/sim/ai", true ); ai_node->removeChildren("scenario",false); - ai_node->setBoolValue( "enabled", false ); + ai_node->setBoolValue( "scenarios-enabled", false ); return FG_OPTIONS_OK; } -- 2.39.5