# include <config.h>
#endif
+#include "panel.hxx"
+
#include <stdio.h> // sprintf
#include <string.h>
+#include <iostream>
#include <osg/CullFace>
#include <osg/Depth>
#include <Main/viewmgr.hxx>
#include <Time/light.hxx>
#include <GUI/new_gui.hxx> // FGFontCache
+#include <Main/viewer.hxx>
+#include <Instrumentation/dclgps.hxx>
#include "hud.hxx"
-#include "panel.hxx"
+
#define WIN_X 0
#define WIN_Y 0
{
osg::Texture2D* texture = _textureMap[relativePath].get();
if (texture == 0) {
- SG_LOG( SG_COCKPIT, SG_DEBUG,
- "Texture " << relativePath << " does not yet exist" );
- SGPath tpath(globals->get_fg_root());
- tpath.append(relativePath);
-
+ SGPath tpath = globals->resolve_aircraft_path(relativePath);
texture = SGLoadTexture2D(staticTexture, tpath);
_textureMap[relativePath] = texture;
void
FGSpecialInstrument::draw (osg::State& state)
{
- complex->draw();
+ complex->draw(state);
}
transform();
FGFontCache *fc = globals->get_fontcache();
- text_renderer.setFont(fc->getTexFont(_font_name.c_str()));
+ fntFont* font = fc->getTexFont(_font_name.c_str());
+ if (!font) {
+ return; // don't crash on missing fonts
+ }
+
+ text_renderer.setFont(font);
text_renderer.setPointSize(_pointSize);
text_renderer.begin();
text_renderer.start3f(0, 0, 0);
_now.stamp();
- long diff = _now - _then;
+ double diff = (_now - _then).toUSecs();
if (diff > 100000 || diff < 0 ) {
// ( diff < 0 ) is a sanity check and indicates our time stamp
FGTextLayer::setFontName(const string &name)
{
_font_name = name + ".txf";
+ FGFontCache *fc = globals->get_fontcache();
+ fntFont* font = fc->getTexFont(_font_name.c_str());
+ if (!font) {
+ SG_LOG(SG_GENERAL, SG_WARN, "unable to find font:" << name);
+ }
}