X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FEnvironment%2Fenvironment.cxx;h=47e4d061f58959d27868c5e4c0fadd92454c8888;hb=d8000569eabff436d5452f84b40ca88ecd8f0cdd;hp=d8d6cdf46000cee772bbc2411f3fd7fa35cfc259;hpb=1691d3ba19399f446b78870068191c8ca76a2fc4;p=flightgear.git diff --git a/src/Environment/environment.cxx b/src/Environment/environment.cxx index d8d6cdf46..47e4d061f 100644 --- a/src/Environment/environment.cxx +++ b/src/Environment/environment.cxx @@ -121,13 +121,13 @@ FGEnvironment::FGEnvironment() dewpoint_degc(5), pressure_sea_level_inhg(29.92), pressure_inhg(29.92), + turbulence_magnitude_norm(0), + turbulence_rate_hz(1), wind_from_heading_deg(0), wind_speed_kt(0), wind_from_north_fps(0), wind_from_east_fps(0), - wind_from_down_fps(0), - turbulence_magnitude_norm(0), - turbulence_rate_hz(1) + wind_from_down_fps(0) { _setup_tables(); _recalc_density(); @@ -169,7 +169,8 @@ maybe_copy_value (FGEnvironment * env, const SGPropertyNode * node, const SGPropertyNode * child = node->getNode(name); // fragile: depends on not being typed // as a number - if (child != 0 && child->getStringValue()[0] != '\0') { + if (child != 0 && child->hasValue() && + child->getStringValue()[0] != '\0') { (env->*setter)(child->getDoubleValue()); return true; } else { @@ -183,14 +184,14 @@ FGEnvironment::read (const SGPropertyNode * node) maybe_copy_value(this, node, "visibility-m", &FGEnvironment::set_visibility_m); - if (!maybe_copy_value(this, node, "temperature-degc", + if (!maybe_copy_value(this, node, "temperature-sea-level-degc", &FGEnvironment::set_temperature_sea_level_degc)) - maybe_copy_value(this, node, "temperature-sea-level-degc", + maybe_copy_value(this, node, "temperature-degc", &FGEnvironment::set_temperature_degc); - if (!maybe_copy_value(this, node, "dewpoint-degc", + if (!maybe_copy_value(this, node, "dewpoint-sea-level-degc", &FGEnvironment::set_dewpoint_sea_level_degc)) - maybe_copy_value(this, node, "dewpoint-sea-level-degc", + maybe_copy_value(this, node, "dewpoint-degc", &FGEnvironment::set_dewpoint_degc); if (!maybe_copy_value(this, node, "pressure-sea-level-inhg", @@ -575,14 +576,14 @@ interpolate (const FGEnvironment * env1, const FGEnvironment * env2, env2->get_visibility_m(), fraction)); - result->set_temperature_degc - (do_interp(env1->get_temperature_degc(), - env2->get_temperature_degc(), + result->set_temperature_sea_level_degc + (do_interp(env1->get_temperature_sea_level_degc(), + env2->get_temperature_sea_level_degc(), fraction)); result->set_dewpoint_degc - (do_interp(env1->get_dewpoint_degc(), - env2->get_dewpoint_degc(), + (do_interp(env1->get_dewpoint_sea_level_degc(), + env2->get_dewpoint_sea_level_degc(), fraction)); result->set_pressure_sea_level_inhg