- dynamics = new FGAirportDynamics(_latitude, _longitude, _elevation, _id);
-
- SGPath parkpath( globals->get_fg_root() );
- parkpath.append( "/Airports/AI/" );
- parkpath.append(_id);
- parkpath.append("parking.xml");
-
- SGPath rwyPrefPath( globals->get_fg_root() );
- rwyPrefPath.append( "/Airports/AI/" );
- rwyPrefPath.append(_id);
- rwyPrefPath.append("rwyuse.xml");
-
- //if (ai_dirs.find(id.c_str()) != ai_dirs.end()
- // && parkpath.exists())
- if (parkpath.exists()) {
- try {
- readXML(parkpath.str(),*dynamics);
- dynamics->init();
- } catch (const sg_exception &e) {
- //cerr << "unable to read " << parkpath.str() << endl;
- }
- }
-
- //if (ai_dirs.find(id.c_str()) != ai_dirs.end()
- // && rwyPrefPath.exists())
- if (rwyPrefPath.exists()) {
- try {
- readXML(rwyPrefPath.str(), rwyPrefs);
- dynamics->setRwyUse(rwyPrefs);
- } catch (const sg_exception &e) {
- //cerr << "unable to read " << rwyPrefPath.str() << endl;
- //exit(1);
- }
- }
- //exit(1);
- }
- return dynamics;
+ _dynamics = new FGAirportDynamics(this);
+ XMLLoader::load(_dynamics);
+
+ FGRunwayPreference rwyPrefs(this);
+ XMLLoader::load(&rwyPrefs);
+ _dynamics->setRwyUse(rwyPrefs);
+ }
+ return _dynamics;