]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/main.cxx
Canvas: basic support for OpenVG (path with stroke and pattern)
[flightgear.git] / src / Main / main.cxx
index d6036771af883222ab7729f731727da150c3e408..21cc873961bbcf419c3e65588a6b71ece097d1c0 100644 (file)
 // Class references
 #include <simgear/scene/model/modellib.hxx>
 #include <simgear/scene/material/matlib.hxx>
-#include <simgear/scene/model/animation.hxx>
-#include <simgear/scene/sky/sky.hxx>
-#include <simgear/structure/event_mgr.hxx>
 #include <simgear/props/AtomicChangeListener.hxx>
 #include <simgear/props/props.hxx>
 #include <simgear/timing/sg_time.hxx>
-#include <simgear/timing/timestamp.hxx>
 #include <simgear/magvar/magvar.hxx>
-#include <simgear/math/sg_random.h>
 #include <simgear/io/raw_socket.hxx>
 #include <simgear/scene/tsync/terrasync.hxx>
+#include <simgear/sound/soundmgr_openal.hxx>
+#include <simgear/math/SGMath.hxx>
+#include <simgear/math/sg_random.h>
 
-#include <Time/light.hxx>
-#include <Aircraft/replay.hxx>
 #include <Aircraft/controls.hxx>
 #include <Model/panelnode.hxx>
-#include <Model/acmodel.hxx>
 #include <Scenery/scenery.hxx>
 #include <Scenery/tilemgr.hxx>
 #include <Sound/fg_fx.hxx>
-#include <Sound/beacon.hxx>
-#include <Sound/morse.hxx>
-#include <Sound/fg_fx.hxx>
-#include <ATCDCL/ATCmgr.hxx>
 #include <Time/TimeManager.hxx>
-#include <Environment/environment_mgr.hxx>
 #include <GUI/gui.h>
-#include <GUI/new_gui.hxx>
-#include <MultiPlayer/multiplaymgr.hxx>
+#include <Viewer/CameraGroup.hxx>
+#include <Viewer/WindowSystemAdapter.hxx>
+#include <Viewer/splash.hxx>
+#include <Viewer/renderer.hxx>
 
-#include "CameraGroup.hxx"
 #include "fg_commands.hxx"
 #include "fg_io.hxx"
-#include "renderer.hxx"
-#include "splash.hxx"
 #include "main.hxx"
 #include "util.hxx"
 #include "fg_init.hxx"
 #include "fg_os.hxx"
-#include "WindowSystemAdapter.hxx"
-#include <Main/viewer.hxx>
-#include <Main/fg_props.hxx>
+#include "fg_props.hxx"
 
 using namespace flightgear;
 
 using std::cerr;
+using std::vector;
 
 // Specify our current idle function state.  This is used to run all
 // our initializations out of the idle callback so that we can get a
@@ -259,19 +247,6 @@ struct GeneralInitOperation : public GraphicsContextOperation
     }
 };
 
-
-osg::Node* load_panel(SGPropertyNode *n)
-{
-    osg::Geode* geode = new osg::Geode;
-    geode->addDrawable(new FGPanelNode(n));
-    return geode;
-}
-
-SGPath resolve_path(const std::string& s)
-{
-  return globals->resolve_maybe_aircraft_path(s);
-}
-
 }
 
 // This is the top level master main function that is registered as
@@ -349,7 +324,7 @@ static void fgIdleFunction ( void ) {
         ////////////////////////////////////////////////////////////////////
         globals->set_matlib( new SGMaterialLib );
         simgear::SGModelLib::init(globals->get_fg_root(), globals->get_props());
-        simgear::SGModelLib::setPanelFunc(load_panel);
+        simgear::SGModelLib::setPanelFunc(FGPanelNode::load);
 
         ////////////////////////////////////////////////////////////////////
         // Initialize the TG scenery subsystem.
@@ -387,9 +362,6 @@ static void fgIdleFunction ( void ) {
                                    fgGetDouble("/position/altitude-ft")
                                    * SG_FEET_TO_METER,
                                    globals->get_time_params()->getJD() );
-        double var = globals->get_mag()->get_magvar() * SGD_RADIANS_TO_DEGREES;
-        fgSetDouble("/instrumentation/heading-indicator/offset-deg", -var);
-        fgSetDouble("/instrumentation/heading-indicator-fg/offset-deg", -var);
 
         fgSplashProgress("initializing subsystems");
 
@@ -414,7 +386,11 @@ static void fgIdleFunction ( void ) {
             string command = "mpg123 " + mp3file.str() + "> /dev/null 2>&1";
 # endif
 
-            system ( command.c_str() );
+            if (0 != system ( command.c_str() ))
+            {
+                SG_LOG( SG_SOUND, SG_WARN,
+                    "Failed to play mp3 file " << mp3file.str() << ". Maybe mp3 player is not installed." );
+            }
         }
 #endif
         // This is the top level init routine which calls all the
@@ -511,7 +487,7 @@ int fgMainInit( int argc, char **argv ) {
 #endif
     SG_LOG( SG_GENERAL, SG_INFO, "FlightGear:  Version "
             << version );
-  SG_LOG( SG_GENERAL, SG_INFO, "Built with " << SG_COMPILER_STR << std::endl );
+    SG_LOG( SG_GENERAL, SG_INFO, "Built with " << SG_COMPILER_STR << std::endl );
 
     // Allocate global data structures.  This needs to happen before
     // we parse command line options