-void FGAIManager::init() {
- int rval;
- root = fgGetNode("sim/ai", true);
- wind_from_down = fgGetNode("/environment/wind-from-down-fps", true);
-
- for (int i = 0; i < root->nChildren(); i++) {
- const SGPropertyNode * entry = root->getChild(i);
-
- if (!strcmp(entry->getName(), "entry")) {
- if (!strcmp(entry->getStringValue("type", ""), "aircraft")) {
-
- rval = createAircraft( entry->getStringValue("class", ""),
- entry->getStringValue("path"),
- entry->getDoubleValue("latitude"),
- entry->getDoubleValue("longitude"),
- entry->getDoubleValue("altitude-ft"),
- entry->getDoubleValue("heading"),
- entry->getDoubleValue("speed-KTAS"),
- 0.0,
- entry->getDoubleValue("bank") );
-
- } else if (!strcmp(entry->getStringValue("type", ""), "ship")) {
-
- rval = createShip( entry->getStringValue("path"),
- entry->getDoubleValue("latitude"),
- entry->getDoubleValue("longitude"),
- entry->getDoubleValue("altitude-ft"),
- entry->getDoubleValue("heading"),
- entry->getDoubleValue("speed-KTAS"),
- entry->getDoubleValue("rudder") );
-
- } else if (!strcmp(entry->getStringValue("type", ""), "ballistic")) {
-
- rval = createBallistic( entry->getStringValue("path"),
- entry->getDoubleValue("latitude"),
- entry->getDoubleValue("longitude"),
- entry->getDoubleValue("altitude-ft"),
- entry->getDoubleValue("azimuth"),
- entry->getDoubleValue("elevation"),
- entry->getDoubleValue("speed") );
-
- } else if (!strcmp(entry->getStringValue("type", ""), "storm")) {
-
- rval = createStorm( entry->getStringValue("path"),
- entry->getDoubleValue("latitude"),
- entry->getDoubleValue("longitude"),
- entry->getDoubleValue("altitude-ft"),
- entry->getDoubleValue("heading"),
- entry->getDoubleValue("speed-KTAS") );
-
- } else if (!strcmp(entry->getStringValue("type", ""), "thermal")) {
-
- rval = createThermal( entry->getDoubleValue("latitude"),
- entry->getDoubleValue("longitude"),
- entry->getDoubleValue("strength-fps"),
- entry->getDoubleValue("diameter-ft") );
-
- }
- }
- }