Optimized property node accesses.
This commit is contained in:
parent
083ba99657
commit
64254d7410
1 changed files with 246 additions and 259 deletions
|
@ -421,147 +421,129 @@ readLabel(const SGPropertyNode * node)
|
||||||
|
|
||||||
int font_size = (fgGetInt("/sim/startup/xsize") > 1000) ? LARGE : SMALL;
|
int font_size = (fgGetInt("/sim/startup/xsize") > 1000) ? LARGE : SMALL;
|
||||||
|
|
||||||
name = node->getStringValue("name");
|
name = node->getStringValue("name");
|
||||||
x = node->getIntValue("x");
|
x = node->getIntValue("x");
|
||||||
y = node->getIntValue("y");
|
y = node->getIntValue("y");
|
||||||
width = node->getIntValue("width");
|
width = node->getIntValue("width");
|
||||||
height = node->getIntValue("height");
|
height = node->getIntValue("height");
|
||||||
loadfn = node->getStringValue("data_source");
|
loadfn = node->getStringValue("data_source");
|
||||||
label_format = node->getStringValue("label_format");
|
label_format = node->getStringValue("label_format");
|
||||||
prelabel = node->getStringValue("pre_label_string");
|
prelabel = node->getStringValue("pre_label_string");
|
||||||
postlabel = node->getStringValue("post_label_string");
|
postlabel = node->getStringValue("post_label_string");
|
||||||
scaling = node->getFloatValue("scale_data");
|
scaling = node->getFloatValue("scale_data");
|
||||||
options = node->getIntValue("options");
|
options = node->getIntValue("options");
|
||||||
justi = node->getIntValue("justification");
|
justi = node->getIntValue("justification");
|
||||||
blinking = node->getIntValue("blinking");
|
blinking = node->getIntValue("blinking");
|
||||||
latitude = node->getBoolValue("latitude",false);
|
latitude = node->getBoolValue("latitude",false);
|
||||||
longitude = node->getBoolValue("longitude",false);
|
longitude = node->getBoolValue("longitude",false);
|
||||||
working = node->getBoolValue("working");
|
working = node->getBoolValue("working");
|
||||||
|
|
||||||
|
|
||||||
SG_LOG(SG_INPUT, SG_INFO, "Done reading instrument " << name);
|
SG_LOG(SG_INPUT, SG_INFO, "Done reading instrument " << name);
|
||||||
|
|
||||||
|
|
||||||
if(justi==0)
|
if ( justi == 0 ) {
|
||||||
justification = LEFT_JUST;
|
justification = LEFT_JUST;
|
||||||
else
|
} else {
|
||||||
if(justi==1)
|
if ( justi == 1 ) {
|
||||||
justification = CENTER_JUST;
|
justification = CENTER_JUST;
|
||||||
else
|
} else {
|
||||||
if(justi==2)
|
if ( justi == 2 ) {
|
||||||
justification = RIGHT_JUST;
|
justification = RIGHT_JUST;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( prelabel == "NULL" ) {
|
||||||
|
pre_label_string = NULL;
|
||||||
|
} else {
|
||||||
|
if ( prelabel == "blank" ) {
|
||||||
|
pre_label_string = " ";
|
||||||
|
} else {
|
||||||
|
pre_label_string = prelabel.c_str();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(prelabel=="NULL")
|
if ( postlabel == "blank" ) {
|
||||||
pre_label_string = NULL;
|
post_label_string = " ";
|
||||||
else
|
} else {
|
||||||
if(prelabel=="blank")
|
if ( postlabel == "NULL" ) {
|
||||||
pre_label_string = " ";
|
post_label_string = NULL;
|
||||||
else
|
} else {
|
||||||
pre_label_string = prelabel.c_str();
|
if ( postlabel == "units" ) {
|
||||||
|
post_label_string = units;
|
||||||
|
} else {
|
||||||
|
post_label_string = postlabel.c_str();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( loadfn == "aux16" ) {
|
||||||
|
load_fn = get_aux16;
|
||||||
|
} else if ( loadfn == "aux17" ) {
|
||||||
|
load_fn = get_aux17;
|
||||||
|
} else if ( loadfn == "aux9" ) {
|
||||||
|
load_fn = get_aux9;
|
||||||
|
} else if ( loadfn == "aux11" ) {
|
||||||
|
load_fn = get_aux11;
|
||||||
|
} else if ( loadfn == "aux12" ) {
|
||||||
|
load_fn = get_aux12;
|
||||||
|
} else if ( loadfn == "aux10" ) {
|
||||||
|
load_fn = get_aux10;
|
||||||
|
} else if ( loadfn == "aux13" ) {
|
||||||
|
load_fn = get_aux13;
|
||||||
|
} else if ( loadfn == "aux14" ) {
|
||||||
|
load_fn = get_aux14;
|
||||||
|
} else if ( loadfn == "aux15" ) {
|
||||||
|
load_fn = get_aux15;
|
||||||
|
} else if ( loadfn == "aux8" ) {
|
||||||
|
load_fn = get_aux8;
|
||||||
|
} else if ( loadfn == "ax" ) {
|
||||||
|
load_fn = get_Ax;
|
||||||
|
} else if ( loadfn == "speed" ) {
|
||||||
|
load_fn = get_speed;
|
||||||
|
} else if ( loadfn == "mach" ) {
|
||||||
|
load_fn = get_mach;
|
||||||
|
} else if ( loadfn == "altitude" ) {
|
||||||
|
load_fn = get_altitude;
|
||||||
|
} else if ( loadfn == "agl" ) {
|
||||||
|
load_fn = get_agl;
|
||||||
|
} else if ( loadfn == "framerate" ) {
|
||||||
|
load_fn = get_frame_rate;
|
||||||
|
} else if ( loadfn == "heading" ) {
|
||||||
|
load_fn = get_heading;
|
||||||
|
} else if ( loadfn == "fov" ) {
|
||||||
|
load_fn = get_fov;
|
||||||
|
} else if ( loadfn == "vfc_tris_culled" ) {
|
||||||
|
load_fn = get_vfc_tris_culled;
|
||||||
|
} else if ( loadfn == "vfc_tris_drawn" ) {
|
||||||
|
load_fn = get_vfc_tris_drawn;
|
||||||
|
} else if ( loadfn == "aoa" ) {
|
||||||
|
load_fn = get_aoa;
|
||||||
|
} else if ( loadfn == "latitude" ) {
|
||||||
|
load_fn = get_latitude;
|
||||||
|
} else if ( loadfn == "longitude" ) {
|
||||||
|
load_fn = get_longitude;
|
||||||
|
}
|
||||||
|
|
||||||
if(postlabel=="blank")
|
p = (instr_item *) new instr_label ( x,
|
||||||
post_label_string = " ";
|
y,
|
||||||
else
|
width,
|
||||||
if(postlabel=="NULL")
|
height,
|
||||||
post_label_string = NULL;
|
load_fn,
|
||||||
else
|
label_format.c_str(),
|
||||||
if(postlabel=="units")
|
pre_label_string,
|
||||||
post_label_string = units;
|
post_label_string,
|
||||||
else
|
scaling,
|
||||||
post_label_string = postlabel.c_str();
|
options,
|
||||||
|
justification,
|
||||||
|
font_size,
|
||||||
if(loadfn=="aux16")
|
blinking,
|
||||||
load_fn = get_aux16;
|
latitude,
|
||||||
else
|
longitude,
|
||||||
if(loadfn=="aux17")
|
working);
|
||||||
load_fn = get_aux17;
|
|
||||||
else
|
|
||||||
if(loadfn=="aux9")
|
|
||||||
load_fn = get_aux9;
|
|
||||||
else
|
|
||||||
if(loadfn=="aux11")
|
|
||||||
load_fn = get_aux11;
|
|
||||||
else
|
|
||||||
if(loadfn=="aux12")
|
|
||||||
load_fn = get_aux12;
|
|
||||||
else
|
|
||||||
if(loadfn=="aux10")
|
|
||||||
load_fn = get_aux10;
|
|
||||||
else
|
|
||||||
if(loadfn=="aux13")
|
|
||||||
load_fn = get_aux13;
|
|
||||||
else
|
|
||||||
if(loadfn=="aux14")
|
|
||||||
load_fn = get_aux14;
|
|
||||||
else
|
|
||||||
if(loadfn=="aux15")
|
|
||||||
load_fn = get_aux15;
|
|
||||||
else
|
|
||||||
if(loadfn=="aux8")
|
|
||||||
load_fn = get_aux8;
|
|
||||||
else
|
|
||||||
if(loadfn=="ax")
|
|
||||||
load_fn = get_Ax;
|
|
||||||
else
|
|
||||||
if(loadfn=="speed")
|
|
||||||
load_fn = get_speed;
|
|
||||||
else
|
|
||||||
if(loadfn=="mach")
|
|
||||||
load_fn = get_mach;
|
|
||||||
else
|
|
||||||
if(loadfn=="altitude")
|
|
||||||
load_fn = get_altitude;
|
|
||||||
else
|
|
||||||
if(loadfn=="agl")
|
|
||||||
load_fn = get_agl;
|
|
||||||
else
|
|
||||||
if(loadfn=="framerate")
|
|
||||||
load_fn = get_frame_rate;
|
|
||||||
else
|
|
||||||
if(loadfn=="heading")
|
|
||||||
load_fn = get_heading;
|
|
||||||
else
|
|
||||||
if(loadfn=="fov")
|
|
||||||
load_fn = get_fov;
|
|
||||||
else
|
|
||||||
if(loadfn=="vfc_tris_culled")
|
|
||||||
load_fn = get_vfc_tris_culled;
|
|
||||||
else
|
|
||||||
if(loadfn=="vfc_tris_drawn")
|
|
||||||
load_fn = get_vfc_tris_drawn;
|
|
||||||
else
|
|
||||||
if(loadfn=="aoa")
|
|
||||||
load_fn = get_aoa;
|
|
||||||
else
|
|
||||||
if(loadfn=="latitude")
|
|
||||||
load_fn = get_latitude;
|
|
||||||
else
|
|
||||||
if(loadfn=="longitude")
|
|
||||||
load_fn = get_longitude;
|
|
||||||
|
|
||||||
|
|
||||||
p = (instr_item *) new instr_label ( x,
|
|
||||||
y,
|
|
||||||
width,
|
|
||||||
height,
|
|
||||||
load_fn,
|
|
||||||
label_format.c_str(),
|
|
||||||
pre_label_string,
|
|
||||||
post_label_string,
|
|
||||||
scaling,
|
|
||||||
options,
|
|
||||||
justification,
|
|
||||||
font_size,
|
|
||||||
blinking,
|
|
||||||
latitude,
|
|
||||||
longitude,
|
|
||||||
working);
|
|
||||||
|
|
||||||
return p;
|
|
||||||
|
|
||||||
|
return p;
|
||||||
} // end readLabel
|
} // end readLabel
|
||||||
|
|
||||||
static instr_item *
|
static instr_item *
|
||||||
|
@ -570,137 +552,139 @@ readTBI(const SGPropertyNode * node)
|
||||||
|
|
||||||
instr_item *p;
|
instr_item *p;
|
||||||
|
|
||||||
name = node->getStringValue("name");
|
name = node->getStringValue("name");
|
||||||
x = node->getIntValue("x");
|
x = node->getIntValue("x");
|
||||||
y = node->getIntValue("y");
|
y = node->getIntValue("y");
|
||||||
width = node->getIntValue("width");
|
width = node->getIntValue("width");
|
||||||
height = node->getIntValue("height");
|
height = node->getIntValue("height");
|
||||||
maxBankAngle = node->getFloatValue("maxBankAngle");
|
maxBankAngle = node->getFloatValue("maxBankAngle");
|
||||||
maxSlipAngle = node->getFloatValue("maxSlipAngle");
|
maxSlipAngle = node->getFloatValue("maxSlipAngle");
|
||||||
gap_width = node->getIntValue("gap_width");
|
gap_width = node->getIntValue("gap_width");
|
||||||
working = node->getBoolValue("working");
|
working = node->getBoolValue("working");
|
||||||
|
|
||||||
SG_LOG(SG_INPUT, SG_INFO, "Done reading instrument " << name);
|
SG_LOG(SG_INPUT, SG_INFO, "Done reading instrument " << name);
|
||||||
|
|
||||||
|
|
||||||
p = (instr_item *) new fgTBI_instr( x,
|
p = (instr_item *) new fgTBI_instr( x,
|
||||||
y,
|
y,
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
get_roll,
|
get_roll,
|
||||||
get_sideslip,
|
get_sideslip,
|
||||||
maxBankAngle,
|
maxBankAngle,
|
||||||
maxSlipAngle,
|
maxSlipAngle,
|
||||||
gap_width,
|
gap_width,
|
||||||
working);
|
working);
|
||||||
|
|
||||||
return p;
|
return p;
|
||||||
} //end readTBI
|
} //end readTBI
|
||||||
|
|
||||||
|
|
||||||
int readInstrument(const SGPropertyNode * node)
|
int readInstrument(const SGPropertyNode * node)
|
||||||
{
|
{
|
||||||
|
|
||||||
instr_item *HIptr;
|
instr_item *HIptr;
|
||||||
|
|
||||||
if ( fgGetString("/sim/startup/units") == "feet" ) {
|
if ( fgGetString("/sim/startup/units") == "feet" ) {
|
||||||
strcpy(units, " ft");
|
strcpy(units, " ft");
|
||||||
} else {
|
} else {
|
||||||
strcpy(units, " m");
|
strcpy(units, " m");
|
||||||
}
|
}
|
||||||
|
|
||||||
const SGPropertyNode * ladder_group = node->getNode("ladders");
|
const SGPropertyNode * ladder_group = node->getNode("ladders");
|
||||||
|
|
||||||
if (ladder_group != 0) {
|
if (ladder_group != 0) {
|
||||||
int nLadders = ladder_group->nChildren();
|
int nLadders = ladder_group->nChildren();
|
||||||
for (int j = 0; j < nLadders; j++) {
|
for (int j = 0; j < nLadders; j++) {
|
||||||
|
|
||||||
HIptr = readLadder(ladder_group->getChild(j));
|
HIptr = readLadder(ladder_group->getChild(j));
|
||||||
HUD_deque.insert( HUD_deque.begin(), HIptr);
|
HUD_deque.insert( HUD_deque.begin(), HIptr);
|
||||||
|
|
||||||
}// for - ladders
|
}// for - ladders
|
||||||
}
|
}
|
||||||
|
|
||||||
const SGPropertyNode * card_group = node->getNode("cards");
|
const SGPropertyNode * card_group = node->getNode("cards");
|
||||||
if (card_group != 0) {
|
if (card_group != 0) {
|
||||||
int nCards = card_group->nChildren();
|
int nCards = card_group->nChildren();
|
||||||
for (int j = 0; j < nCards; j++) {
|
for (int j = 0; j < nCards; j++) {
|
||||||
|
|
||||||
|
HIptr = readCard(card_group->getChild(j));
|
||||||
|
HUD_deque.insert( HUD_deque.begin(), HIptr);
|
||||||
|
|
||||||
HIptr = readCard(card_group->getChild(j));
|
}//for - cards
|
||||||
HUD_deque.insert( HUD_deque.begin(), HIptr);
|
}
|
||||||
|
|
||||||
}//for - cards
|
const SGPropertyNode * label_group = node->getNode("labels");
|
||||||
}
|
if (label_group != 0) {
|
||||||
|
int nLabels = label_group->nChildren();
|
||||||
|
for (int j = 0; j < nLabels; j++) {
|
||||||
|
|
||||||
const SGPropertyNode * label_group = node->getNode("labels");
|
HIptr = readLabel(label_group->getChild(j));
|
||||||
if (label_group != 0) {
|
HUD_deque.insert( HUD_deque.begin(), HIptr);
|
||||||
int nLabels = label_group->nChildren();
|
|
||||||
for (int j = 0; j < nLabels; j++) {
|
|
||||||
|
|
||||||
HIptr = readLabel(label_group->getChild(j));
|
}//for - labels
|
||||||
HUD_deque.insert( HUD_deque.begin(), HIptr);
|
}
|
||||||
|
|
||||||
}//for - labels
|
const SGPropertyNode * tbi_group = node->getNode("tbis");
|
||||||
}
|
if (tbi_group != 0) {
|
||||||
|
int nTbis = tbi_group->nChildren();
|
||||||
|
for (int j = 0; j < nTbis; j++) {
|
||||||
|
|
||||||
const SGPropertyNode * tbi_group = node->getNode("tbis");
|
HIptr = readTBI(tbi_group->getChild(j));
|
||||||
if (tbi_group != 0) {
|
HUD_deque.insert( HUD_deque.begin(), HIptr);
|
||||||
int nTbis = tbi_group->nChildren();
|
|
||||||
for (int j = 0; j < nTbis; j++) {
|
|
||||||
|
|
||||||
HIptr = readTBI(tbi_group->getChild(j));
|
}//for - tbis
|
||||||
HUD_deque.insert( HUD_deque.begin(), HIptr);
|
}
|
||||||
|
return 0;
|
||||||
}//for - tbis
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}//end readinstrument
|
}//end readinstrument
|
||||||
|
|
||||||
|
|
||||||
int readHud( istream &input )
|
int readHud( istream &input )
|
||||||
{
|
{
|
||||||
|
|
||||||
SGPropertyNode root;
|
SGPropertyNode root;
|
||||||
|
|
||||||
|
|
||||||
if (!readProperties(input, &root)) {
|
if (!readProperties(input, &root)) {
|
||||||
SG_LOG(SG_INPUT, SG_ALERT, "Malformed property list for hud.");
|
SG_LOG(SG_INPUT, SG_ALERT, "Malformed property list for hud.");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
SG_LOG(SG_INPUT, SG_INFO, "Read properties for " <<
|
SG_LOG(SG_INPUT, SG_INFO, "Read properties for " <<
|
||||||
root.getStringValue("name"));
|
root.getStringValue("name"));
|
||||||
|
|
||||||
|
|
||||||
HUD_deque.erase( HUD_deque.begin(), HUD_deque.end()); // empty the HUD deque
|
HUD_deque.erase( HUD_deque.begin(), HUD_deque.end()); // empty the HUD deque
|
||||||
|
|
||||||
|
|
||||||
SG_LOG(SG_INPUT, SG_INFO, "Reading Hud instruments");
|
SG_LOG(SG_INPUT, SG_INFO, "Reading Hud instruments");
|
||||||
|
|
||||||
const SGPropertyNode * instrument_group = root.getChild("instruments");
|
const SGPropertyNode * instrument_group = root.getChild("instruments");
|
||||||
int nInstruments = instrument_group->nChildren();
|
int nInstruments = instrument_group->nChildren();
|
||||||
|
|
||||||
for (int i = 0; i < nInstruments; i++) {
|
for (int i = 0; i < nInstruments; i++) {
|
||||||
|
|
||||||
const SGPropertyNode * node = instrument_group->getChild(i);
|
const SGPropertyNode * node = instrument_group->getChild(i);
|
||||||
|
|
||||||
SGPath path( globals->get_fg_root() );
|
SGPath path( globals->get_fg_root() );
|
||||||
path.append(node->getStringValue("path"));
|
path.append(node->getStringValue("path"));
|
||||||
|
|
||||||
SG_LOG(SG_INPUT, SG_INFO, "Reading Instrument "
|
SG_LOG(SG_INPUT, SG_INFO, "Reading Instrument "
|
||||||
<< node->getName()
|
<< node->getName()
|
||||||
<< " from "
|
<< " from "
|
||||||
<< path.str());
|
<< path.str());
|
||||||
|
|
||||||
|
|
||||||
SGPropertyNode root2;
|
SGPropertyNode root2;
|
||||||
if (readProperties(path.str(), &root2)) {
|
if (readProperties(path.str(), &root2)) {
|
||||||
|
|
||||||
readInstrument(&root2);
|
readInstrument(&root2);
|
||||||
|
|
||||||
}//if
|
}//if
|
||||||
}//for loop(i)
|
}//for loop(i)
|
||||||
return 0;
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -708,31 +692,31 @@ int fgHUDInit( fgAIRCRAFT * /* current_aircraft */ )
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
HUD_style = 1;
|
HUD_style = 1;
|
||||||
|
|
||||||
SG_LOG( SG_COCKPIT, SG_INFO, "Initializing current aircraft HUD" );
|
SG_LOG( SG_COCKPIT, SG_INFO, "Initializing current aircraft HUD" );
|
||||||
|
|
||||||
string hud_path =
|
string hud_path =
|
||||||
fgGetString("/sim/hud/path", "Huds/Default/default.xml");
|
fgGetString("/sim/hud/path", "Huds/Default/default.xml");
|
||||||
SGPath path(globals->get_fg_root());
|
SGPath path(globals->get_fg_root());
|
||||||
path.append(hud_path);
|
path.append(hud_path);
|
||||||
|
|
||||||
ifstream input(path.c_str());
|
ifstream input(path.c_str());
|
||||||
if (!input.good())
|
if (!input.good())
|
||||||
{
|
{
|
||||||
SG_LOG(SG_INPUT, SG_ALERT,
|
SG_LOG(SG_INPUT, SG_ALERT,
|
||||||
"Cannot read Hud configuration from " << path.str());
|
"Cannot read Hud configuration from " << path.str());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
readHud(input);
|
readHud(input);
|
||||||
input.close();
|
input.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
fgHUDalphaInit();
|
fgHUDalphaInit();
|
||||||
fgHUDReshape();
|
fgHUDReshape();
|
||||||
|
|
||||||
return 0; // For now. Later we may use this for an error code.
|
return 0; // For now. Later we may use this for an error code.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -743,19 +727,19 @@ int fgHUDInit2( fgAIRCRAFT * /* current_aircraft */ )
|
||||||
|
|
||||||
SG_LOG( SG_COCKPIT, SG_INFO, "Initializing current aircraft HUD" );
|
SG_LOG( SG_COCKPIT, SG_INFO, "Initializing current aircraft HUD" );
|
||||||
|
|
||||||
SGPath path(globals->get_fg_root());
|
SGPath path(globals->get_fg_root());
|
||||||
path.append("Huds/Minimal/default.xml");
|
path.append("Huds/Minimal/default.xml");
|
||||||
|
|
||||||
|
|
||||||
ifstream input(path.c_str());
|
ifstream input(path.c_str());
|
||||||
if (!input.good()) {
|
if (!input.good()) {
|
||||||
SG_LOG(SG_INPUT, SG_ALERT,
|
SG_LOG(SG_INPUT, SG_ALERT,
|
||||||
"Cannot read Hud configuration from " << path.str());
|
"Cannot read Hud configuration from " << path.str());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
readHud(input);
|
readHud(input);
|
||||||
input.close();
|
input.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0; // For now. Later we may use this for an error code.
|
return 0; // For now. Later we may use this for an error code.
|
||||||
|
|
||||||
|
@ -968,8 +952,8 @@ void fgHUDReshape(void) {
|
||||||
|
|
||||||
static void set_hud_color(float r, float g, float b) {
|
static void set_hud_color(float r, float g, float b) {
|
||||||
fgGetBool("/sim/hud/antialiased") ?
|
fgGetBool("/sim/hud/antialiased") ?
|
||||||
glColor4f(r,g,b,hud_trans_alpha) :
|
glColor4f(r,g,b,hud_trans_alpha) :
|
||||||
glColor3f(r,g,b);
|
glColor3f(r,g,b);
|
||||||
}
|
}
|
||||||
|
|
||||||
// fgUpdateHUD
|
// fgUpdateHUD
|
||||||
|
@ -1010,7 +994,10 @@ void fgUpdateHUD( void ) {
|
||||||
glDisable(GL_DEPTH_TEST);
|
glDisable(GL_DEPTH_TEST);
|
||||||
glDisable(GL_LIGHTING);
|
glDisable(GL_LIGHTING);
|
||||||
|
|
||||||
if( fgGetBool("/sim/hud/antialiased") ) {
|
static const SGPropertyNode * antialiased_node
|
||||||
|
= fgGetNode("/sim/hud/antialiased");
|
||||||
|
|
||||||
|
if( antialiased_node->getBoolValue() ) {
|
||||||
glEnable(GL_LINE_SMOOTH);
|
glEnable(GL_LINE_SMOOTH);
|
||||||
// glEnable(GL_BLEND);
|
// glEnable(GL_BLEND);
|
||||||
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
|
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
|
||||||
|
@ -1104,9 +1091,9 @@ void fgUpdateHUD( void ) {
|
||||||
// extern char *fgAPget_TargetLatLonStr( void );
|
// extern char *fgAPget_TargetLatLonStr( void );
|
||||||
|
|
||||||
int apY = 480 - 80;
|
int apY = 480 - 80;
|
||||||
// char scratch[128];
|
// char scratch[128];
|
||||||
// HUD_TextList.add( fgText( "AUTOPILOT", 20, apY) );
|
// HUD_TextList.add( fgText( "AUTOPILOT", 20, apY) );
|
||||||
// apY -= 15;
|
// apY -= 15;
|
||||||
if( current_autopilot->get_HeadingEnabled() ) {
|
if( current_autopilot->get_HeadingEnabled() ) {
|
||||||
HUD_TextList.add( fgText( 40, apY,
|
HUD_TextList.add( fgText( 40, apY,
|
||||||
current_autopilot->get_TargetHeadingStr()) );
|
current_autopilot->get_TargetHeadingStr()) );
|
||||||
|
@ -1142,15 +1129,15 @@ void fgUpdateHUD( void ) {
|
||||||
|
|
||||||
HUD_LineList.draw();
|
HUD_LineList.draw();
|
||||||
|
|
||||||
// glEnable(GL_LINE_STIPPLE);
|
// glEnable(GL_LINE_STIPPLE);
|
||||||
// glLineStipple( 1, 0x00FF );
|
// glLineStipple( 1, 0x00FF );
|
||||||
// HUD_StippleLineList.draw();
|
// HUD_StippleLineList.draw();
|
||||||
// glDisable(GL_LINE_STIPPLE);
|
// glDisable(GL_LINE_STIPPLE);
|
||||||
|
|
||||||
if( fgGetBool("/sim/hud/antialiased") ) {
|
if( antialiased_node->getBoolValue() ) {
|
||||||
// glDisable(GL_BLEND);
|
// glDisable(GL_BLEND);
|
||||||
glDisable(GL_LINE_SMOOTH);
|
glDisable(GL_LINE_SMOOTH);
|
||||||
glLineWidth(1.0);
|
glLineWidth(1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
|
Loading…
Add table
Reference in a new issue