]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/globals.cxx
Push SGMaterial use into these classes that need it.
[flightgear.git] / src / Main / globals.cxx
index 25eb5194b97248037d490fb31fc9046d3ef2b37d..a8df39d03403afbceff5917c6b2433d8d344e18f 100644 (file)
@@ -44,9 +44,8 @@
 
 #include <Aircraft/controls.hxx>
 #include <Airports/runways.hxx>
-#include <ATCDCL/ATCmgr.hxx>
+#include <ATCDCL/ATISmgr.hxx>
 #include <Autopilot/route_mgr.hxx>
-#include <Cockpit/panel.hxx>
 #include <GUI/FGFontCache.hxx>
 #include <GUI/gui.h>
 #include <Model/acmodel.hxx>
 #include <Scenery/scenery.hxx>
 #include <Scenery/tilemgr.hxx>
 #include <Navaids/navlist.hxx>
+#include <Viewer/renderer.hxx>
+#include <Viewer/viewmgr.hxx>
 
 #include "globals.hxx"
-#include "renderer.hxx"
-#include "viewmgr.hxx"
+#include "locale.hxx"
 
 #include "fg_props.hxx"
 #include "fg_io.hxx"
@@ -122,19 +122,19 @@ FGGlobals *globals;
 FGGlobals::FGGlobals() :
     props( new SGPropertyNode ),
     initial_state( NULL ),
-    locale( NULL ),
+    locale( new FGLocale(props) ),
     renderer( new FGRenderer ),
     subsystem_mgr( new SGSubsystemMgr ),
     event_mgr( new SGEventMgr ),
     sim_time_sec( 0.0 ),
     fg_root( "" ),
+    fg_home( "" ),
     time_params( NULL ),
     ephem( NULL ),
     mag( NULL ),
     matlib( NULL ),
     route_mgr( NULL ),
-    current_panel( NULL ),
-    ATC_mgr( NULL ),
+    ATIS_mgr( NULL ),
     controls( NULL ),
     viewmgr( NULL ),
     commands( SGCommandMgr::instance() ),
@@ -188,9 +188,8 @@ FGGlobals::~FGGlobals()
     delete mag;
     delete matlib;
     delete route_mgr;
-    current_panel = NULL;
 
-    delete ATC_mgr;
+    delete ATIS_mgr;
 
     if (controls)
     {
@@ -211,8 +210,10 @@ FGGlobals::~FGGlobals()
     delete carrierlist;
     delete channellist;
     delete sound;
-}
 
+    delete locale;
+    locale = NULL;
+}
 
 // set the fg_root path
 void FGGlobals::set_fg_root (const string &root) {
@@ -241,6 +242,12 @@ void FGGlobals::set_fg_root (const string &root) {
       simgear::ResourceManager::PRIORITY_DEFAULT);
 }
 
+// set the fg_home path
+void FGGlobals::set_fg_home (const string &home) {
+    SGPath tmp(home);
+    fg_home = tmp.realpath();
+}
+
 void FGGlobals::append_fg_scenery (const string &paths)
 {
 //    fg_scenery.clear();
@@ -334,6 +341,12 @@ SGPath FGGlobals::resolve_maybe_aircraft_path(const std::string& branch) const
   return simgear::ResourceManager::instance()->findPath(branch);
 }
 
+SGPath FGGlobals::resolve_ressource_path(const std::string& branch) const
+{
+  return simgear::ResourceManager::instance()
+    ->findPath(branch, SGPath(fgGetString("/sim/aircraft-dir")));
+}
+
 FGRenderer *
 FGGlobals::get_renderer () const
 {
@@ -476,7 +489,7 @@ FGGlobals::saveUserSettings()
       // don't save settings more than once on shutdown
       haveUserSettings = false;
 
-      SGPath autosaveFile(fgGetString("/sim/fg-home"));
+      SGPath autosaveFile(globals->get_fg_home());
       autosaveFile.append( "autosave.xml" );
       autosaveFile.create_dir( 0700 );
       SG_LOG(SG_IO, SG_INFO, "Saving user settings to " << autosaveFile.str());
@@ -515,11 +528,4 @@ void FGGlobals::set_warp_delta( long int d )
   fgSetInt("/sim/time/warp-delta", d);
 }
 
-void FGGlobals::set_current_panel( FGPanel *cp )
-{
-  current_panel = cp;
-// poke the renderer to rebuild the scene node as necessary
-  get_renderer()->panelChanged();
-}
-    
 // end of globals.cxx