X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCockpit%2Fcockpit.cxx;h=ce8d5d897546c5779fc82061b25dc418a803d8bc;hb=029dda3297e3697438e1a58188527cbae90beebe;hp=afbdb314017e97cff5c1429ba0c68006975e112a;hpb=4d4cd1601205be27e12c0748e6eda5b8beed0dc8;p=flightgear.git diff --git a/src/Cockpit/cockpit.cxx b/src/Cockpit/cockpit.cxx index afbdb3140..ce8d5d897 100644 --- a/src/Cockpit/cockpit.cxx +++ b/src/Cockpit/cockpit.cxx @@ -29,7 +29,9 @@ # include #endif -#include +#include + +#include SG_GLU_H #include #include @@ -38,12 +40,14 @@ #include #include #include -#include +#include #include #include #include -#include +#ifdef ENABLE_SP_FMDS +#include +#endif #include
#include
#include
@@ -52,6 +56,7 @@ #include #include "cockpit.hxx" +#include "hud.hxx" // This is a structure that contains all data related to @@ -183,7 +188,7 @@ float get_altitude( void ) float altitude; - if ( string(startup_units_node->getStringValue()) == "feet" ) { + if ( !strcmp(startup_units_node->getStringValue(), "feet") ) { altitude = current_aircraft.fdm_state->get_Altitude(); } else { altitude = (current_aircraft.fdm_state->get_Altitude() @@ -195,14 +200,17 @@ float get_altitude( void ) float get_agl( void ) { + static const SGPropertyNode *startup_units_node + = fgGetNode("/sim/startup/units"); + float agl; - if ( fgGetString("/sim/startup/units") == "feet" ) { + if ( !strcmp(startup_units_node->getStringValue(), "feet") ) { agl = (current_aircraft.fdm_state->get_Altitude() - - scenery.get_cur_elev() * SG_METER_TO_FEET); + - current_aircraft.fdm_state->get_Runway_altitude()); } else { - agl = (current_aircraft.fdm_state->get_Altitude() * SG_FEET_TO_METER - - scenery.get_cur_elev()); + agl = (current_aircraft.fdm_state->get_Altitude() + - current_aircraft.fdm_state->get_Runway_altitude()) * SG_FEET_TO_METER; } return agl; @@ -246,8 +254,11 @@ float get_vfc_tris_culled ( void ) float get_climb_rate( void ) { + static const SGPropertyNode *startup_units_node + = fgGetNode("/sim/startup/units"); + float climb_rate; - if ( fgGetString("/sim/startup/units") == "feet" ) { + if ( !strcmp(startup_units_node->getStringValue(), "feet") ) { climb_rate = current_aircraft.fdm_state->get_Climb_Rate() * 60.0; } else { climb_rate = current_aircraft.fdm_state->get_Climb_Rate() * SG_FEET_TO_METER * 60.0; @@ -271,6 +282,15 @@ float get_view_direction( void ) return view; } +// Added by Markus Hof on 5. Jan 2004 +float get_dme( void ) +{ + static const SGPropertyNode * dme_node = + fgGetNode("/instrumentation/dme/indicated-distance-nm"); + + return dme_node->getFloatValue(); +} + // $$$ begin - added, VS Renganathan 13 Oct 2K // #ifdef FIGHTER_HUD float get_Vx ( void ) @@ -321,6 +341,7 @@ float get_anzg ( void ) return anzg; } +#ifdef ENABLE_SP_FMDS int get_iaux1 (void) { FGADA *fdm = (FGADA *)current_aircraft.fdm_state; @@ -500,7 +521,7 @@ float get_aux18 (void) FGADA *fdm = (FGADA *)current_aircraft.fdm_state; return fdm->get_faux(10); } -// #endif +#endif // $$$ end - added, VS Renganathan 13 Oct 2K @@ -707,15 +728,9 @@ void fgCockpitUpdate( void ) { fgUpdateHUD(); } -#define DISPLAY_COUNTER -#ifdef DISPLAY_COUNTER - else - { + if ( fgGetBool( "/sim/hud/draw-fps", false ) ) { char buf[64]; - float fps = get_frame_rate(); -// float tris = fps * get_vfc_tris_drawn(); -// float culled = fps * get_vfc_tris_culled(); -// sprintf(buf,"%-4.1f %7.0f %7.0f", fps, tris, culled); + float fps = get_frame_rate(); sprintf(buf,"%-5.1f", fps); glMatrixMode( GL_PROJECTION ); @@ -741,7 +756,6 @@ void fgCockpitUpdate( void ) { glMatrixMode( GL_MODELVIEW ); glPopMatrix(); } -#endif // #ifdef DISPLAY_COUNTER glViewport( 0, 0, iwidth, iheight ); }