]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/fg_init.cxx
Fixed a problem with autodetecting if we need to draw our own mouse cursor
[flightgear.git] / src / Main / fg_init.cxx
index 881b225bffe17d52e70c1d91a3d606d285fb4e34..0c506726ffdb49e812378c8c4a30e6d03bf56aa9 100644 (file)
@@ -358,10 +358,18 @@ bool fgInitPosition( void ) {
 
     FG_LOG( FG_GENERAL, FG_INFO,
            "scenery.cur_elev = " << scenery.cur_elev );
+    FG_LOG( FG_GENERAL, FG_INFO,
+           "/position/altitude = " << fgGetDouble("/position/altitude") );
+
+    // if we requested on ground startups
+    if ( fgGetBool( "/sim/startup/onground" ) ) {
+       fgSetDouble("/position/altitude", scenery.cur_elev + 1 );
+    }
 
-    // if ( scenery.cur_elev > fgGetDouble("/position/altitude") - 1) {
-    fgSetDouble("/position/altitude", scenery.cur_elev + 1 );
-    // }
+    // if requested altitude is below ground level
+    if ( scenery.cur_elev > fgGetDouble("/position/altitude") - 1) {
+       fgSetDouble("/position/altitude", scenery.cur_elev + 1 );
+    }
 
     FG_LOG( FG_GENERAL, FG_INFO,
            "starting altitude is = " <<
@@ -770,12 +778,19 @@ bool fgInitSubsystems( void ) {
 
     FG_LOG( FG_GENERAL, FG_INFO, endl);
 
+                               // Save the initial state for future
+                               // reference.
+    globals->saveInitialState();
+
     return true;
 }
 
 
 void fgReInitSubsystems( void )
 {
+    FG_LOG( FG_GENERAL, FG_INFO,
+           "/position/altitude = " << fgGetDouble("/position/altitude") );
+
     bool freeze = globals->get_freeze();
     if( !freeze )
         globals->set_freeze( true );
@@ -856,7 +871,7 @@ void fgReInitSubsystems( void )
            << globals->get_current_view()->get_abs_view_pos());
 
     cur_fdm_state->init();
-    cur_fdm_state->bind();
+//     cur_fdm_state->bind();
 //     cur_fdm_state->init( 1.0 / fgGetInt("/sim/model-hz") );
 
     scenery.cur_elev = cur_fdm_state->get_Runway_altitude() * FEET_TO_METER;