#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/misc/sg_sleep.hxx>
#include <Time/light.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"
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;
fgInitFGRoot(argc, argv);
// Check for the correct base package version
- static char required_version[] = "2.0.0";
+ static char required_version[] = "2.5.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;
+ cerr << endl << "Base package check failed:" << endl \
+ << " Version " << base_version << " found at: " \
+ << globals->get_fg_root() << endl \
+ << " Version " << required_version << " is required." << endl \
+ << "Please upgrade/downgrade base package and set the path to your fgdata" << endl \
+ << "with --fg-root=path_to_your_fgdata" << endl;
#ifdef _MSC_VER
cerr << "Hit a key to continue..." << endl;
cin.get();
fgOSInit(&argc, argv);
_bootstrap_OSInit++;
- fgRegisterWindowResizeHandler( &fgWinResizeFunction );
fgRegisterIdleHandler( &fgIdleFunction );
- fgRegisterDrawHandler( &FGRenderer::update );
// Initialize sockets (WinSock needs this)
simgear::Socket::initSockets();