]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/main.cxx
Code reorganization.
[flightgear.git] / src / Main / main.cxx
index 7f4d5cd304b1a205a06b9d4ddf258997c6d03543..eabc9788ddac7cdb5b949b31da5d77e28dcdb877 100644 (file)
@@ -38,7 +38,8 @@
 #endif
 
 #include <GL/glut.h>
-#include <XGL/xgl.h>
+#include <simgear/xgl.h>
+
 #include <stdio.h>
 #include <string.h>
 #include <string>
 #  include <unistd.h>    /* for stat() */
 #endif
 
-#include <pu.h>                        // plib include
-#include <ssg.h>               // plib include
+#include <plib/pu.h>                   // plib include
+#include <plib/ssg.h>          // plib include
 
 #ifdef ENABLE_AUDIO_SUPPORT
-#  include <sl.h>              // plib include
-#  include <sm.h>              // plib include
+#  include <plib/sl.h>         // plib include
+#  include <plib/sm.h>         // plib include
 #endif
 
-#include <Include/fg_constants.h>  // for VERSION
+#include <simgear/constants.h>  // for VERSION
+#include <simgear/logstream.hxx>
+#include <simgear/fg_geodesy.hxx>
+#include <simgear/mat3.h>
+#include <simgear/polar3d.hxx>
+#include <simgear/fg_random.h>
+#include <simgear/fgpath.hxx>
+
 #include <Include/general.hxx>
 
-#include <Debug/logstream.hxx>
 #include <Aircraft/aircraft.hxx>
 #include <Astro/sky.hxx>
 #include <Astro/stars.hxx>
 #include <Cockpit/cockpit.hxx>
 #include <GUI/gui.h>
 #include <Joystick/joystick.hxx>
-#include <Math/fg_geodesy.hxx>
-#include <Math/mat3.h>
-#include <Math/polar3d.hxx>
-#include <Math/fg_random.h>
-#include <Misc/fgpath.hxx>
 #ifdef FG_NETWORK_OLK
-#include <Network/network.h>
+#include <NetworkOLK/network.h>
 #endif
 #include <Objects/materialmgr.hxx>
 #include <Scenery/scenery.hxx>
@@ -144,6 +146,12 @@ ssgBranch *terrain = NULL;
 ssgSelector *penguin_sel = NULL;
 ssgTransform *penguin_pos = NULL;
 
+#ifdef FG_NETWORK_OLK
+ssgSelector *fgd_sel = NULL;
+ssgTransform *fgd_pos = NULL;
+//sgMat4 sgTUX;
+#endif
+
 // current fdm/position used for view
 FGInterface cur_view_fdm;
 
@@ -361,7 +369,11 @@ void fgRenderFrame( void ) {
        }
 
        // update fog params if visibility has changed
+#ifndef FG_OLD_WEATHER
        double cur_visibility = WeatherDatabase->getWeatherVisibility();
+#else
+       double cur_visibility = current_weather.get_visibility();
+#endif
        double actual_visibility = cur_visibility;
 
        if ( current_options.get_clouds() ) {
@@ -541,6 +553,25 @@ void fgRenderFrame( void ) {
            penguin_pos->setTransform( &tuxpos );
        }
 
+# ifdef FG_NETWORK_OLK
+       sgCoord fgdpos;
+       other = head->next;             /* put listpointer to start  */
+       while ( other != tail) {        /* display all except myself */
+           if ( strcmp( other->ipadr, fgd_mcp_ip) != 0) {
+               other->fgd_sel->select(1);
+               sgSetCoord( &fgdpos, other->sgFGD_COORD );
+               other->fgd_pos->setTransform( &fgdpos );
+           }
+           other = other->next;
+       }
+
+       // fgd_sel->select(1);
+       // sgCopyMat4( sgTUX, current_view.sgVIEW);
+       // sgCoord fgdpos;
+       // sgSetCoord( &fgdpos, sgFGD_VIEW );
+       // fgd_pos->setTransform( &fgdpos);
+# endif
+
        ssgSetCamera( current_view.VIEW );
 
        // position tile nodes and update range selectors
@@ -703,6 +734,14 @@ static void fgMainLoop( void ) {
     FG_LOG( FG_ALL, FG_DEBUG, "Running Main Loop");
     FG_LOG( FG_ALL, FG_DEBUG, "======= ==== ====");
 
+#ifdef FG_NETWORK_OLK
+    if ( net_is_registered == 0 ) {           // We first have to reg. to fgd
+        // printf("FGD: Netupdate\n");
+        fgd_send_com( "A", FGFS_host);   // Send Mat4 data
+        fgd_send_com( "B", FGFS_host);   // Recv Mat4 data
+    }
+#endif
+
 #if defined( ENABLE_PLIB_JOYSTICK )
     // Read joystick and update control settings
     if ( current_options.get_control_mode() == fgOPTIONS::FG_JOYSTICK ) {
@@ -730,7 +769,7 @@ static void fgMainLoop( void ) {
        if ( cur_fdm_state->get_Altitude() * FEET_TO_METER < 
             (scenery.cur_elev + alt_adjust_m - 3.0) ) {
            // now set aircraft altitude above ground
-           printf("Current Altitude = %.2f < %.2f forcing to %.2f\n", 
+           printf("(*) Current Altitude = %.2f < %.2f forcing to %.2f\n", 
                   cur_fdm_state->get_Altitude() * FEET_TO_METER,
                   scenery.cur_elev + alt_adjust_m - 3.0,
                   scenery.cur_elev + alt_adjust_m );
@@ -1272,15 +1311,15 @@ int main( int argc, char **argv ) {
 
     ssgEntity *tux_obj = ssgLoadAC( "glider.ac" );
     // ssgEntity *tux_obj = ssgLoadAC( "Tower1x.ac" );
-    tux_obj->clrTraversalMaskBits( SSGTRAV_HOT );
     penguin_pos->addKid( tux_obj );
     penguin_sel->addKid( penguin_pos );
     ssgFlatten( tux_obj );
     ssgStripify( penguin_sel );
+    penguin_sel->clrTraversalMaskBits( SSGTRAV_HOT );
 
 #ifdef FG_NETWORK_OLK
     // Do the network intialization
-    printf("Multipilot mode %s\n", fg_net_init() );
+    printf("Multipilot mode %s\n", fg_net_init( scene ) );
 #endif
 
     scene->addKid( terrain );