#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/misc/sg_sleep.hxx>
+#include <simgear/scene/tsync/terrasync.hxx>
#include <Time/light.hxx>
#include <Aircraft/replay.hxx>
= fgGetNode("/sim/timing-statistics/min-time-ms", true);
frame_signal->fireValueChanged();
- SGCloudLayer::enable_bump_mapping = fgGetBool("/sim/rendering/bump-mapping");
- SG_LOG( SG_ALL, SG_DEBUG, "Running Main Loop");
- SG_LOG( SG_ALL, SG_DEBUG, "======= ==== ====");
+ SG_LOG( SG_GENERAL, SG_DEBUG, "Running Main Loop");
+ SG_LOG( SG_GENERAL, SG_DEBUG, "======= ==== ====");
// update "time"
{
fgSplashProgress("loading scenery");
// be nice to loader threads while waiting for initial scenery, reduce to 2fps
- simgear::sleepForMSec(500);
+ SGTimeStamp::sleepForMSec(500);
}
}
simgear::AtomicChangeListener::fireChangeListeners();
- SG_LOG( SG_ALL, SG_DEBUG, "" );
+ SG_LOG( SG_GENERAL, SG_DEBUG, "" );
}
void fgInitSoundManager()
////////////////////////////////////////////////////////////////////
// Initialize the TG scenery subsystem.
////////////////////////////////////////////////////////////////////
+ simgear::SGTerraSync* terra_sync = new simgear::SGTerraSync(globals->get_props());
+ globals->add_subsystem("terrasync", terra_sync);
globals->set_scenery( new FGScenery );
globals->get_scenery()->init();
globals->get_scenery()->bind();
// runway selection as for AI traffic. However, this code belongs to
// somewhere(?) else - if I only new where...
if( true == fgGetBool( "/environment/metar/valid" ) ) {
+ SG_LOG(SG_ENVIRONMENT, SG_INFO,
+ "Using METAR for runway selection: '" << fgGetString("/environment/metar/data") << "'" );
// the realwx_ctrl fetches metar in the foreground on init,
// If it was able to fetch a metar or one was given on the commandline,
// the valid flag is set here, otherwise it is false
extern bool fgSetPosFromAirportIDandHdg( const string& id, double tgt_hdg );
fgSetPosFromAirportIDandHdg( apt, hdg );
}
+ } else {
+ SG_LOG(SG_ENVIRONMENT, SG_INFO,
+ "No METAR available to pick active runway" );
}
fgSplashProgress("initializing graphics engine");
}
}
-static void fgWinResizeFunction(int width, int height)
-{
- globals->get_renderer()->resize(width, height);
-}
-
static void upper_case_property(const char *name)
{
using namespace simgear;
#endif
SG_LOG( SG_GENERAL, SG_INFO, "FlightGear: Version "
<< version );
- SG_LOG( SG_GENERAL, SG_INFO, "Built with " << SG_COMPILER_STR << 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
upper_case_property("/sim/tower/airport-id");
upper_case_property("/autopilot/route-manager/input");
- // Scan the config file(s) and command line options to see if
- // fg_root was specified (ignore all other options for now)
- fgInitFGRoot(argc, argv);
-
- // Check for the correct base package version
- static char required_version[] = "2.0.0";
- string base_version = fgBasePackageVersion();
- if ( !(base_version == required_version) ) {
- // tell the operator how to use this application
-
- SG_LOG( SG_GENERAL, SG_ALERT, "" ); // To popup the console on windows
- cerr << endl << "Base package check failed ... " \
- << "Found version " << base_version << " at: " \
- << globals->get_fg_root() << endl;
- cerr << "Please upgrade to version: " << required_version << endl;
-#ifdef _MSC_VER
- cerr << "Hit a key to continue..." << endl;
- cin.get();
-#endif
- exit(-1);
- }
-
// 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);
+ SG_LOG( SG_GENERAL, SG_ALERT, "Config option parsing failed ..." );
+ exit(-1);
}
// Initialize the Window/Graphics environment.
fgOSInit(&argc, argv);
_bootstrap_OSInit++;
- fgRegisterWindowResizeHandler( &fgWinResizeFunction );
fgRegisterIdleHandler( &fgIdleFunction );
- fgRegisterDrawHandler( &FGRenderer::update );
// Initialize sockets (WinSock needs this)
simgear::Socket::initSockets();