#include "fg_props.hxx"
#include "positioninit.hxx"
#include "subsystemFactory.hxx"
+#include "options.hxx"
using namespace flightgear;
{
frame_signal->fireValueChanged();
- SG_LOG( SG_GENERAL, SG_DEBUG, "Running Main Loop");
- SG_LOG( SG_GENERAL, SG_DEBUG, "======= ==== ====");
-
// compute simulated time (allowing for pause, warp, etc) and
// real elapsed time
double sim_dt, real_dt;
globals->get_subsystem_mgr()->update(sim_dt);
simgear::AtomicChangeListener::fireChangeListeners();
-
- SG_LOG( SG_GENERAL, SG_DEBUG, "" );
}
} else if ( idle_state == 2 ) {
// start TerraSync up now, so it can be synchronizing shared models
- // and airports data in parallel with a nav-cahce rebuild.
+ // and airports data in parallel with a nav-cache rebuild.
SGPath tsyncCache(globals->get_fg_home());
tsyncCache.append("terrasync-cache.xml");
fgSetString("/sim/terrasync/cache-path", tsyncCache.c_str());
simgear::SGTerraSync* terra_sync = new simgear::SGTerraSync(globals->get_props());
globals->add_subsystem("terrasync", terra_sync);
+
+
terra_sync->bind();
terra_sync->init();
+ // add the terrasync root as a data path so data can be retrieved from it
+ std::string terraSyncDir(fgGetString("/sim/terrasync/scenery-dir"));
+ globals->append_data_path(terraSyncDir);
+
idle_state++;
fgSplashProgress("loading-nav-dat");
// Do some quick general initializations
if( !fgInitGeneral()) {
- SG_LOG( SG_GENERAL, SG_ALERT,
- "General initialization failed ..." );
- exit(-1);
+ throw sg_exception("General initialization failed");
}
////////////////////////////////////////////////////////////////////
// Load the configuration parameters. (Command line options
// override config file options. Config file options override
// defaults.)
- if ( !fgInitConfig(argc, argv) ) {
- SG_LOG( SG_GENERAL, SG_ALERT, "Config option parsing failed ..." );
- exit(-1);
+ int configResult = fgInitConfig(argc, argv);
+ if (configResult == flightgear::FG_OPTIONS_ERROR) {
+ return EXIT_FAILURE;
+ } else if (configResult == flightgear::FG_OPTIONS_EXIT) {
+ return EXIT_SUCCESS;
}
-
+
// Initialize the Window/Graphics environment.
fgOSInit(&argc, argv);
_bootstrap_OSInit++;