X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCockpit%2Fpanel.cxx;h=25d6066cab59e60c4a3e8a16b82e2ed5d1520cc8;hb=a739fad66484506ebb71fc802bf8f1a0c2ab4c6c;hp=7706583499f92792e9ac046f3ea58c1c6a4bbff2;hpb=0f6e4e1c7416f7e50972f6626c944f73c3529893;p=flightgear.git diff --git a/src/Cockpit/panel.cxx b/src/Cockpit/panel.cxx index 770658349..25d6066ca 100644 --- a/src/Cockpit/panel.cxx +++ b/src/Cockpit/panel.cxx @@ -381,7 +381,9 @@ FGPanel::draw() glCullFace(GL_BACK); glDisable(GL_DEPTH_TEST); sgVec4 panel_color; - sgCopyVec4( panel_color, cur_light_params.scene_diffuse ); + + FGLight *l = (FGLight *)(globals->get_subsystem("lighting")); + sgCopyVec4( panel_color, l->scene_diffuse()); if ( fgGetDouble("/systems/electrical/outputs/instrument-lights") > 1.0 ) { if ( panel_color[0] < 0.7 ) panel_color[0] = 0.7; if ( panel_color[1] < 0.2 ) panel_color[1] = 0.2; @@ -943,7 +945,9 @@ FGTexturedLayer::draw () // From Curt: turn on the panel // lights after sundown. sgVec4 panel_color; - sgCopyVec4( panel_color, cur_light_params.scene_diffuse ); + + FGLight *l = (FGLight *)(globals->get_subsystem("lighting")); + sgCopyVec4( panel_color, l->scene_diffuse()); if ( fgGetDouble("/systems/electrical/outputs/instrument-lights") > 1.0 ) { if ( panel_color[0] < 0.7 ) panel_color[0] = 0.7; if ( panel_color[1] < 0.2 ) panel_color[1] = 0.2; @@ -1088,8 +1092,9 @@ FGTextLayer::Chunk::Chunk (const string &text, const string &fmt) } FGTextLayer::Chunk::Chunk (ChunkType type, const SGPropertyNode * node, - const string &fmt, float mult) - : _type(type), _fmt(fmt), _mult(mult) + const string &fmt, float mult, float offs, + bool truncation) + : _type(type), _fmt(fmt), _mult(mult), _offs(offs), _trunc(truncation) { if (_fmt.empty()) { if (type == TEXT_VALUE) @@ -1113,7 +1118,9 @@ FGTextLayer::Chunk::getValue () const sprintf(_buf, _fmt.c_str(), _node->getStringValue()); break; case DOUBLE_VALUE: - sprintf(_buf, _fmt.c_str(), _node->getFloatValue() * _mult); + double d = _offs + _node->getFloatValue() * _mult; + if (_trunc) d = truncf(d); + sprintf(_buf, _fmt.c_str(), d); break; } return _buf;