]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/fg_init.cxx
Boris Koenig:
[flightgear.git] / src / Main / fg_init.cxx
index 43f699fd650194562bf10db6bebb44586a68f7d9..a425fe67f957e5bd3f5d61695bd3b7dff54de528 100644 (file)
 #include <Cockpit/radiostack.hxx>
 #include <Cockpit/panel.hxx>
 #include <Cockpit/panel_io.hxx>
-#include <FDM/ADA.hxx>
+#ifdef ENABLE_SP_FMDS
+#include <FDM/SP/ADA.hxx>
+#include <FDM/SP/ACMS.hxx>
+#endif
 #include <FDM/Balloon.h>
 #include <FDM/ExternalNet/ExternalNet.hxx>
 #include <FDM/ExternalPipe/ExternalPipe.hxx>
 #include <Time/sunpos.hxx>
 #include <Time/sunsolver.hxx>
 #include <Time/tmp.hxx>
+#include <Traffic/TrafficMgr.hxx>
 
 #ifdef FG_MPLAYER_AS
 #include <MultiPlayer/multiplaytxmgr.hxx>
@@ -1057,7 +1061,7 @@ fgInitNav ()
     globals->set_dmelist( dmelist );
     globals->set_mkrlist( mkrlist );
 
-    if ( !fgNavDBInit( navlist, loclist, gslist, dmelist, mkrlist ) ) {
+    if ( !fgNavDBInit(airports, navlist, loclist, gslist, dmelist, mkrlist) ) {
         SG_LOG( SG_GENERAL, SG_ALERT,
                 "Problems loading one or more navigational database" );
     }
@@ -1251,8 +1255,12 @@ void fgInitFDM() {
             cur_fdm_state = new FGLaRCsim( dt );
         } else if ( model == "jsb" ) {
             cur_fdm_state = new FGJSBsim( dt );
+#ifdef ENABLE_SP_FMDS
         } else if ( model == "ada" ) {
             cur_fdm_state = new FGADA( dt );
+        } else if ( model == "acms" ) {
+            cur_fdm_state = new FGACMS( dt );
+#endif
         } else if ( model == "balloon" ) {
             cur_fdm_state = new FGBalloonSim( dt );
         } else if ( model == "magic" ) {
@@ -1602,8 +1610,7 @@ bool fgInitSubsystems() {
     //////////////////////////////////////////////////////////////////////
     // Initialize the 2D cloud subsystem.
     ////////////////////////////////////////////////////////////////////
-    fgGetNode("/sim/rendering/bump-mapping", true);
-    fgSetBool("/sim/rendering/bump-mapping", true);
+    fgGetBool("/sim/rendering/bump-mapping", false);
 
 #ifdef FG_USE_CLOUDS_3D
     ////////////////////////////////////////////////////////////////////
@@ -1684,18 +1691,29 @@ bool fgInitSubsystems() {
     ////////////////////////////////////////////////////////////////////
     // Initialise the AI Model Manager
     ////////////////////////////////////////////////////////////////////
-
     SG_LOG(SG_GENERAL, SG_INFO, "  AI Model Manager");
     globals->add_subsystem("ai_model", new FGAIManager);
 
 
+     // It's probably a good idea to initialize the top level traffic manager
+     // After the AI and ATC systems have been initialized properly.
+     // AI Traffic manager
+     globals->add_subsystem("Traffic Manager", new FGTrafficManager);
+            FGTrafficManager *dispatcher = 
+            (FGTrafficManager*) globals->get_subsystem("Traffic Manager");
+
+     readXML(string(globals->get_fg_root() + string("/Traffic/fgtraffic.xml")),
+            *dispatcher);
+     globals->get_subsystem("Traffic Manager")->init();
+
     globals->add_subsystem("instrumentation", new FGInstrumentMgr);
     globals->add_subsystem("systems", new FGSystemMgr);
 
+
+
     ////////////////////////////////////////////////////////////////////
     // Initialize the radio stack subsystem.
     ////////////////////////////////////////////////////////////////////
-
     current_radiostack = new FGRadioStack;
     current_radiostack->init();
     current_radiostack->bind();
@@ -1704,7 +1722,6 @@ bool fgInitSubsystems() {
     ////////////////////////////////////////////////////////////////////
     // Initialize the cockpit subsystem
     ////////////////////////////////////////////////////////////////////
-
     if( fgCockpitInit( &current_aircraft )) {
         // Cockpit initialized ok.
     } else {
@@ -1862,5 +1879,6 @@ void fgReInitSubsystems()
         fgSetBool("/sim/freeze/master", false);
     }
     fgSetBool("/sim/initialised", true);
+    fgSetBool("/sim/sceneryloaded",false);
 }