]> git.mxchange.org Git - flightgear.git/blobdiff - src/Cockpit/cockpit.cxx
In the process of changing, adding and removing files the last few years
[flightgear.git] / src / Cockpit / cockpit.cxx
index 32d8c37438c2bc076d65f832d04206ba788a85f4..ce8d5d897546c5779fc82061b25dc418a803d8bc 100644 (file)
@@ -29,7 +29,9 @@
 #  include <windows.h>
 #endif
 
-#include <GL/glut.h>
+#include <simgear/compiler.h>
+
+#include SG_GLU_H
 
 #include <stdlib.h>
 #include <stdio.h>
 #include <simgear/constants.h>
 #include <simgear/debug/logstream.hxx>
 #include <simgear/math/polar3d.hxx>
-#include <simgear/misc/props.hxx>
+#include <simgear/props/props.hxx>
 #include <simgear/timing/sg_time.hxx>
 
 #include <Aircraft/aircraft.hxx>
 #include <Include/general.hxx>
-#include <FDM/ADA.hxx>
+#ifdef ENABLE_SP_FMDS
+#include <FDM/SP/ADA.hxx>
+#endif
 #include <Main/globals.hxx>
 #include <Main/fg_props.hxx>
 #include <Main/viewmgr.hxx>
@@ -52,6 +56,7 @@
 #include <GUI/gui.h>
 
 #include "cockpit.hxx"
+#include "hud.hxx"
 
 
 // This is a structure that contains all data related to
@@ -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 ( !strcmp("/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 ( !strcmp("/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 );
 }