FGEnvironmentMgr::FGEnvironmentMgr ()
- : _environment(new FGEnvironment),
- _controller(new FGInterpolateEnvironmentCtrl)
+ : _environment(new FGEnvironment)
{
+
+ if (fgGetBool("/environment/params/real-world-weather-fetch") == true)
+ _controller = new FGMetarEnvironmentCtrl;
+ else
+ _controller = new FGInterpolateEnvironmentCtrl;
+
_controller->setEnvironment(_environment);
set_subsystem("controller", _controller, 0.5);
}
FGEnvironmentMgr::init ()
{
SG_LOG( SG_GENERAL, SG_INFO, "Initializing environment subsystem");
- FGSubsystemGroup::init();
+ SGSubsystemGroup::init();
_update_fdm();
}
FGEnvironmentMgr::reinit ()
{
SG_LOG( SG_GENERAL, SG_INFO, "Reinitializing environment subsystem");
- FGSubsystemGroup::reinit();
+ SGSubsystemGroup::reinit();
_update_fdm();
}
void
FGEnvironmentMgr::update (double dt)
{
- FGSubsystemGroup::update(dt);
+ SGSubsystemGroup::update(dt);
// FIXME: the FDMs should update themselves
current_aircraft.fdm_state