return fdm->get_faux(10);
}
#endif
-// $$$ end - added, VS Renganathan 13 Oct 2K
-
-
-#ifdef NOT_USED
-/****************************************************************************/
-/* Convert degrees to dd mm'ss.s" (DMS-Format) */
-/****************************************************************************/
-char *dmshh_format(double degrees)
-{
- static char buf[16];
- int deg_part;
- int min_part;
- double sec_part;
-
- if (degrees < 0)
- degrees = -degrees;
-
- deg_part = degrees;
- min_part = 60.0 * (degrees - deg_part);
- sec_part = 3600.0 * (degrees - deg_part - min_part / 60.0);
-
- /* Round off hundredths */
- if (sec_part + 0.005 >= 60.0)
- sec_part -= 60.0, min_part += 1;
- if (min_part >= 60)
- min_part -= 60, deg_part += 1;
-
- sprintf(buf,"%02d*%02d %05.2f",deg_part,min_part,sec_part);
-
- return buf;
-}
-#endif // 0
-
-
-/************************************************************************
- Convert degrees to dd mm.mmm' (DMM-Format)
- Description: Converts using a round-off factor tailored to the required
- precision of the minutes field (three decimal places). Round-off
- prevents function from returning a minutes value of 60.
-
- Input arguments: Coordinate value in decimal degrees
-
-************************************************************************/
-static char *toDM(float dd)
-{
- static char dm[16];
- double tempdd;
- double mn;
- double sign = 1;
- int deg;
-
- if (dd < 0)
- sign = -1;
-
- /* round for minutes expressed to three decimal places */
- tempdd = fabs(dd) + (5.0E-4 / 60.0);
- deg = (int)tempdd;
- mn = fabs( (tempdd - (double)(deg)) * 60.0 - 4.999E-4 );
- deg *= (int)sign;
- sprintf(dm, "%d*%06.3f", deg, mn);
- return dm;
-}
-
-
-/************************************************************************
- Convert degrees to dd mm'ss.s'' (DMS-Format)
- Description: Converts using a round-off factor tailored to the required
- precision of the seconds field (one decimal place). Round-off
- prevents function from returning a seconds value of 60.
-
- Input arguments: Coordinate value in decimal degrees
-
-************************************************************************/
-static char *toDMS(float dd)
-{
- static char dms[16];
- double tempdd, tempmin;
- int deg;
- int mn;
- double sec;
- double sign = 1;
-
- if (dd < 0)
- sign = -1;
-
- /* round up for seconds expressed to one decimal place */
- tempdd = fabs(dd) + (0.05 / 3600.0);
- deg = (int)tempdd;
- tempmin = (tempdd - (double)(deg)) * 60.0;
- mn = (int)tempmin;
- sec = fabs( (tempmin - (double)(mn)) * 60.0 - 0.049 );
- deg *= (int)sign;
- sprintf(dms, "%d*%02d %04.1f", deg, mn, sec);
- return dms;
-}
-
-
-// Have to set the LatLon display type
-//static char *(*fgLatLonFormat)(float) = toDM;
-static char *(*fgLatLonFormat)(float);
-
-char *coord_format_lat(float latitude)
-{
- static char buf[16];
-
- sprintf(buf,"%s%c",
-// dmshh_format(latitude),
-// toDMS(latitude),
-// toDM(latitude),
- fgLatLonFormat(latitude),
- latitude > 0 ? 'N' : 'S');
- return buf;
-}
-
-char *coord_format_lon(float longitude)
-{
- static char buf[80];
-
- sprintf(buf,"%s%c",
-// dmshh_format(longitude),
-// toDMS(longitude),
-// toDM(longitude),
- fgLatLonFormat(longitude),
- longitude > 0 ? 'E' : 'W');
- return buf;
-}
-
-void fgLatLonFormatToggle( puObject *)
-{
- static bool toggle = false;
-
- if ( toggle )
- fgLatLonFormat = toDM;
- else
- fgLatLonFormat = toDMS;
-
- toggle = !toggle;
-}
-
-#ifdef NOT_USED
-char *coord_format_latlon(double latitude, double longitude)
-{
- static char buf[1024];
-
- sprintf(buf,"%s%c %s%c",
- dmshh_format(latitude),
- latitude > 0 ? 'N' : 'S',
- dmshh_format(longitude),
- longitude > 0 ? 'E' : 'W');
- return buf;
-}
-#endif
bool fgCockpitInit( fgAIRCRAFT *cur_aircraft )
fgHUDInit( cur_aircraft );
ac_cockpit = new fg_Cockpit();
- // Have to set the LatLon display type
- fgLatLonFormat = toDM;
-
SG_LOG( SG_COCKPIT, SG_INFO,
" Code " << ac_cockpit->code() << " Status "
<< ac_cockpit->status() );
# include <config.h>
#endif
-#include <Main/fg_props.hxx>
-
#include "hud.hxx"
#ifdef USE_HUD_TextList
blink(node->getIntValue("blinking")),
lat(node->getBoolValue("latitude", false)),
lon(node->getBoolValue("longitude", false)),
- lbox(node->getBoolValue("label_box", false))
+ lbox(node->getBoolValue("label_box", false)),
+ lon_node(fgGetNode("/position/longitude-string", true)),
+ lat_node(fgGetNode("/position/latitude-string", true))
{
SG_LOG(SG_INPUT, SG_INFO, "Done reading instr_label instrument "
<< node->getStringValue("name", "[unnamed]"));
if (data_available()) {
if (lat)
- sprintf(label_buffer, format_buffer, coord_format_lat(get_value()));
+ snprintf(label_buffer, 80, format_buffer, lat_node->getStringValue());
else if (lon)
- sprintf(label_buffer, format_buffer, coord_format_lon(get_value()));
+ snprintf(label_buffer, 80, format_buffer, lon_node->getStringValue());
else {
if (lbox) {// Box for label
float x = scrn_rect.left;