#include <Aircraft/controls.hxx>
#include <Airports/runways.hxx>
#include <Autopilot/route_mgr.hxx>
-#include <GUI/FGFontCache.hxx>
#include <GUI/gui.h>
#include <Scenery/scenery.hxx>
#include <Scenery/tilemgr.hxx>
#include <Navaids/navlist.hxx>
#include <Viewer/renderer.hxx>
#include <Viewer/viewmgr.hxx>
-#include <Sound/sample_queue.hxx>
#include "globals.hxx"
#include "locale.hxx"
fg_root( "" ),
fg_home( "" ),
time_params( NULL ),
- ephem( NULL ),
commands( SGCommandMgr::instance() ),
channel_options_list( NULL ),
initial_waypoints( NULL ),
- fontcache ( new FGFontCache ),
channellist( NULL ),
- haveUserSettings(false),
- _chatter_queue(NULL)
+ haveUserSettings(false)
{
SGPropertyNode* root = new SGPropertyNode;
props = SGPropertyNode_ptr(root);
vw->stopThreading();
}
-#if 0
- // The AIModels manager performs a number of actions upon
- // Shutdown that implicitly assume that other subsystems
- // are still operational (Due to the dynamic allocation and
- // deallocation of AIModel objects. To ensure we can safely
- // shut down all subsystems, make sure we take down the
- // AIModels system first.
- SGSubsystemRef ai = subsystem_mgr->get_subsystem("ai-model");
- if (ai) {
- subsystem_mgr->remove("ai-model");
- ai->unbind();
- ai.clear(); // ensure AI is deleted now, not at end of this method
- }
-#endif
-
subsystem_mgr->shutdown();
subsystem_mgr->unbind();
// renderer touches subsystems during its destruction
set_renderer(NULL);
- _chatter_queue.clear();
delete subsystem_mgr;
subsystem_mgr = NULL; // important so ::get_subsystem returns NULL
delete channel_options_list;
delete initial_waypoints;
- delete fontcache;
delete channellist;
simgear::PropertyObjectBase::setDefaultRoot(NULL);
continue;
}
+ // tell the ResouceManager about the scenery path
+ // needed to load Models from this scenery path
+ simgear::ResourceManager::instance()->addBasePath(abspath.str(),
+ simgear::ResourceManager::PRIORITY_DEFAULT);
+
simgear::Dir dir(abspath);
SGPath terrainDir(dir.file("Terrain"));
SGPath objectsDir(dir.file("Objects"));
subsystem_mgr->add(name, subsystem, type, min_time_sec);
}
-SGSoundMgr *
-FGGlobals::get_soundmgr () const
-{
- return get_subsystem<SGSoundMgr>();
-}
-
SGEventMgr *
FGGlobals::get_event_mgr () const
{
return get_subsystem<FGViewMgr>();
}
-FGViewer* FGGlobals::get_current_view () const
+flightgear::View* FGGlobals::get_current_view () const
{
FGViewMgr* vm = get_viewmgr();
return vm ? vm->get_current_view() : 0;
return get_subsystem<FGControls>();
}
-FGSampleQueue* FGGlobals::get_chatter_queue() const
-{
- return _chatter_queue;
-}
-
-void FGGlobals::set_chatter_queue(FGSampleQueue* queue)
-{
- _chatter_queue = queue;
-}
-
void FGGlobals::addListenerToCleanup(SGPropertyChangeListener* l)
{
_listeners_to_cleanup.push_back(l);