- _aircraft = new FG3DModel;
- _aircraft->init(fgGetString("/sim/model/path", "Models/Geometry/glider.ac"));
+ _aircraft = new SGModelPlacement;
+ string path = fgGetString("/sim/model/path", "Models/Geometry/glider.ac");
+ try {
+ ssgBranch *model = fgLoad3DModelPanel( globals->get_fg_root(),
+ path,
+ globals->get_props(),
+ globals->get_sim_time_sec() );
+ _aircraft->init( model );
+ } catch (const sg_exception &ex) {
+ SG_LOG(SG_GENERAL, SG_ALERT, "Failed to load aircraft from " << path);
+ SG_LOG(SG_GENERAL, SG_ALERT, "(Falling back to glider.ac.)");
+ ssgBranch *model = fgLoad3DModelPanel( globals->get_fg_root(),
+ "Models/Geometry/glider.ac",
+ globals->get_props(),
+ globals->get_sim_time_sec() );
+ _aircraft->init( model );
+ }