diff --git a/src/Environment/environment_ctrl.cxx b/src/Environment/environment_ctrl.cxx index bbc388764..d3533e60e 100644 --- a/src/Environment/environment_ctrl.cxx +++ b/src/Environment/environment_ctrl.cxx @@ -606,6 +606,9 @@ FGMetarEnvironmentCtrl::update_env_config () strncat(s, "/span-m", 128); fgSetDouble(s, 40000.0); } + + // Force an update of the 3D clouds + fgSetDouble("/environment/rebuild-layers", 1.0); } fgSetupWind(dir_from, dir_to, speed, gust); diff --git a/src/Environment/fgclouds.cxx b/src/Environment/fgclouds.cxx index 9928b2751..5d172348d 100644 --- a/src/Environment/fgclouds.cxx +++ b/src/Environment/fgclouds.cxx @@ -52,12 +52,11 @@ FGClouds::FGClouds(FGEnvironmentCtrl * controller) : _controller( controller ), snd_lightning(NULL), rebuild_required(true), - last_scenario( "none" ), + last_scenario( "unset" ), last_env_config( new SGPropertyNode() ), last_env_clouds( new SGPropertyNode() ) { update_event = 0; - fgSetString("/environment/weather-scenario", last_scenario.c_str()); } FGClouds::~FGClouds() { } @@ -506,6 +505,7 @@ void FGClouds::build() { if( scenario == "METAR" ) { string realMetar = fgGetString("/environment/metar/real-metar", ""); + if( realMetar != "" ) { fgSetString("/environment/metar/last-metar", realMetar.c_str()); FGMetar *m = new FGMetar( realMetar );