]> git.mxchange.org Git - flightgear.git/commitdiff
Working on setting initial altitude correctly after a reset.
authorcurt <curt>
Wed, 17 Jan 2001 20:32:02 +0000 (20:32 +0000)
committercurt <curt>
Wed, 17 Jan 2001 20:32:02 +0000 (20:32 +0000)
src/FDM/LaRCsim.cxx
src/Main/fg_init.cxx
src/Main/main.cxx
src/Scenery/scenery.cxx
src/Scenery/tilemgr.cxx

index 0dceba1e27d8499ac35cce3dbb0fc4060987778f..58efc5380490ddf65f8b5f8919b71a0686194fbf 100644 (file)
@@ -40,7 +40,6 @@
 
 FGLaRCsim::FGLaRCsim( double dt ) {
     set_delta_t( dt );
-    cout << "dt = " << get_delta_t() << endl;
 
     ls_toplevel_init( 0.0, 
                      (char *)fgGetString("/sim/aircraft").c_str() );
index 0783faec9f22df2618aee54703d2ad4a0dab81fc..881b225bffe17d52e70c1d91a3d606d285fb4e34 100644 (file)
@@ -356,14 +356,18 @@ bool fgInitPosition( void ) {
     f->set_Longitude( fgGetDouble("/position/longitude") * DEG_TO_RAD );
     f->set_Latitude( fgGetDouble("/position/latitude") * DEG_TO_RAD );
 
-    if ( scenery.cur_elev > fgGetDouble("/position/altitude") - 1) {
-        fgSetDouble("/position/altitude", scenery.cur_elev + 1 );
-    }
+    FG_LOG( FG_GENERAL, FG_INFO,
+           "scenery.cur_elev = " << scenery.cur_elev );
+
+    // if ( scenery.cur_elev > fgGetDouble("/position/altitude") - 1) {
+    fgSetDouble("/position/altitude", scenery.cur_elev + 1 );
+    // }
 
     FG_LOG( FG_GENERAL, FG_INFO,
-           "starting altitude is = " << fgGetDouble("/position/altitude") );
+           "starting altitude is = " <<
+           fgGetDouble("/position/altitude") );
 
-    f->set_Altitude( fgGetDouble("/position/altitude") * METER_TO_FEET );
+    f->set_Altitude( fgGetDouble("/position/altitude") );
     FG_LOG( FG_GENERAL, FG_INFO,
            "Initial position is: ("
            << (f->get_Longitude() * RAD_TO_DEG) << ", "
@@ -776,6 +780,12 @@ void fgReInitSubsystems( void )
     if( !freeze )
         globals->set_freeze( true );
     
+    // Initialize the Scenery Management subsystem
+    if ( ! fgSceneryInit() ) {
+       FG_LOG( FG_GENERAL, FG_ALERT, "Error in Scenery initialization!" );
+       exit(-1);
+    }
+
     if( global_tile_mgr.init() ) {
        // Load the local scenery data
        global_tile_mgr.update( fgGetDouble("/position/longitude"),
@@ -787,9 +797,9 @@ void fgReInitSubsystems( void )
 
     // cout << "current scenery elev = " << scenery.cur_elev << endl;
 
-    fgInitPosition();
     fgFDMSetGroundElevation( fgGetString("/sim/flight-model"), 
                             scenery.cur_elev );
+    fgInitPosition();
 
     // Reset our altitude if we are below ground
     FG_LOG( FG_GENERAL, FG_DEBUG, "Current altitude = "
index fe21913f8ad133966b943c48deb3b23b2edb93b6..703071fa7adf8c4f20983ec6cce06dad809cecf5 100644 (file)
@@ -737,6 +737,7 @@ void fgUpdateTimeDepCalcs() {
     int multi_loop = 1;
 
     if ( !globals->get_freeze() && !initial_freeze ) {
+       // conceptually, this could be done for each fdm instance ...
        SGTimeStamp current;
        current.stamp();
        long elapsed = current - cur_fdm_state->get_time_stamp();
index 2c0bf3f0d74227fcd89034533d6565a16593b36a..cb21b6af067d1338f537c521630fe69101758f2c 100644 (file)
@@ -48,6 +48,7 @@ struct fgSCENERY scenery;
 int fgSceneryInit( void ) {
     FG_LOG( FG_TERRAIN, FG_INFO, "Initializing scenery subsystem" );
 
+    scenery.center = Point3D(0.0);
     scenery.cur_elev = -9999;
 
     return 1;
index 08a6c0e3772777746d17f43c6f19a336a4d95528..efc925ad6386931aed226777afe2e7a43a247973 100644 (file)
@@ -245,8 +245,6 @@ void FGTileMgr::initialize_queue()
     // system and load all relavant tiles
 
     FG_LOG( FG_TERRAIN, FG_INFO, "Updating Tile list for " << current_bucket );
-    FG_LOG( FG_TERRAIN, FG_INFO, "  Loading " 
-            << xrange * yrange << " tiles" );
     cout << "tile cache size = " << global_tile_cache.get_size() << endl;
 
     int i;
@@ -334,7 +332,7 @@ int FGTileMgr::update( double lon, double lat ) {
 
     if ( scenery.center == Point3D(0.0) ) {
        // initializing
-       // cout << "initializing ... " << endl;
+       cout << "initializing scenery current elevation  ... " << endl;
        sgdVec3 tmp_abs_view_pos;
        sgVec3 tmp_view_pos;
 
@@ -354,6 +352,7 @@ int FGTileMgr::update( double lon, double lat ) {
        } else {
            scenery.cur_elev = 0.0;
        }
+       cout << "result = " << scenery.cur_elev << endl;
     } else {
        // cout << "abs view pos = " << current_view.abs_view_pos
        //      << " view pos = " << current_view.view_pos << endl;