diff --git a/src/AIModel/AIManager.cxx b/src/AIModel/AIManager.cxx index 734963a96..3c25f276e 100644 --- a/src/AIModel/AIManager.cxx +++ b/src/AIModel/AIManager.cxx @@ -64,8 +64,8 @@ void FGAIManager::init() { wind_from_down_node = fgGetNode("/environment/wind-from-down-fps", true); scenario_filename = root->getNode("scenario", true)->getStringValue(); - if (scenario_filename != "") processScenario( scenario_filename ); + initDone = true; } @@ -291,21 +291,20 @@ void FGAIManager::processScenario( string filename ) { FGAIModelEntity* en = s->getNextEntry(); if (en) { - - if (en->m_class == "aircraft") { + if (en->m_type == "aircraft") { createAircraft( en ); - } else if (en->m_class == "ship") { + } else if (en->m_type == "ship") { createShip( en ); - } else if (en->m_class == "storm") { + } else if (en->m_type == "storm") { createStorm( en ); - } else if (en->m_class == "thermal") { + } else if (en->m_type == "thermal") { createThermal( en ); - } else if (en->m_class == "ballistic") { + } else if (en->m_type == "ballistic") { createBallistic( en ); } } diff --git a/src/AIModel/AIScenario.cxx b/src/AIModel/AIScenario.cxx index e92f04da3..7052f5b6f 100644 --- a/src/AIModel/AIScenario.cxx +++ b/src/AIModel/AIScenario.cxx @@ -54,9 +54,9 @@ FGAIScenario::FGAIScenario(string filename) SGPropertyNode * node = root.getNode("scenario"); for (i = 0; i < node->nChildren(); i++) { //cout << "Reading entry " << i << endl; - FGAIModelEntity* en = new FGAIModelEntity; - entries.push_back( en ); SGPropertyNode * entry_node = node->getChild(i); + + FGAIModelEntity* en = new FGAIModelEntity; en->callsign = entry_node->getStringValue("callsign", "none"); en->m_type = entry_node->getStringValue("type", "aircraft"); en->m_class = entry_node->getStringValue("class", "jet_transport"); @@ -87,6 +87,7 @@ FGAIScenario::FGAIScenario(string filename) if (en->flightplan != ""){ en->fp = new FGAIFlightPlan( en->flightplan ); } + entries.push_back( en ); } entry_iterator = entries.begin();