#include <simgear/math/SGMath.hxx>
#include <simgear/math/sg_random.h>
-#include <Aircraft/controls.hxx>
#include <Model/panelnode.hxx>
#include <Scenery/scenery.hxx>
#include <Scenery/tilemgr.hxx>
// is initialized.
extern int _bootstrap_OSInit;
-
-static void fgLoadInitialScenery()
-{
- static SGPropertyNode_ptr scenery_loaded
- = fgGetNode("sim/sceneryloaded", true);
- static SGPropertyNode_ptr scenery_override
- = fgGetNode("/sim/sceneryloaded-override", true);
-
- if (!scenery_loaded->getBoolValue())
- {
- if (scenery_override->getBoolValue() ||
- (globals->get_tile_mgr()->isSceneryLoaded()
- && fgGetBool("sim/fdm-initialized"))) {
- fgSetBool("sim/sceneryloaded",true);
- fgSplashProgress("");
- }
- else
- {
- fgSplashProgress("loading scenery");
- // be nice to loader threads while waiting for initial scenery, reduce to 2fps
- SGTimeStamp::sleepForMSec(500);
- }
- }
-}
-
// What should we do when we have nothing else to do? Let's get ready
// for the next move and update the display?
static void fgMainLoop( void )
// update all subsystems
globals->get_subsystem_mgr()->update(sim_dt);
- // END Tile Manager updates
- fgLoadInitialScenery();
-
simgear::AtomicChangeListener::fireChangeListeners();
SG_LOG( SG_GENERAL, SG_DEBUG, "" );
// our initializations out of the idle callback so that we can get a
// splash screen up and running right away.
static int idle_state = 0;
- static int spin_count = 0;
static osg::ref_ptr<GeneralInitOperation> genOp;
if ( idle_state == 0 ) {
if (!guiFinishInit())
return;
idle_state++;
- fgSplashProgress("loading aircraft list");
+ fgSplashProgress("loading-aircraft-list");
} else if ( idle_state == 2 ) {
idle_state++;
- fgSplashProgress("loading navigation data");
+ fgSplashProgress("loading-nav-data");
} else if ( idle_state == 3 ) {
idle_state++;
fgInitNav();
- fgSplashProgress("initializing scenery system");
+ fgSplashProgress("init-scenery");
} else if ( idle_state == 4 ) {
idle_state+=2;
globals->get_scenery()->bind();
globals->set_tile_mgr( new FGTileMgr );
- fgSplashProgress("loading aircraft");
+ fgSplashProgress("loading-aircraft");
} else if ( idle_state == 6 ) {
idle_state++;
- fgSplashProgress("creating subsystems");
+ fgSplashProgress("creating-subsystems");
} else if ( idle_state == 7 ) {
idle_state++;
st.stamp();
fgCreateSubsystems();
SG_LOG(SG_GENERAL, SG_INFO, "Creating subsystems took:" << st.elapsedMSec());
- fgSplashProgress("binding subsystems");
+ fgSplashProgress("binding-subsystems");
} else if ( idle_state == 8 ) {
idle_state++;
globals->get_subsystem_mgr()->bind();
SG_LOG(SG_GENERAL, SG_INFO, "Binding subsystems took:" << st.elapsedMSec());
- fgSplashProgress("initing subsystems");
+ fgSplashProgress("init-subsystems");
} else if ( idle_state == 9 ) {
SGSubsystem::InitStatus status = globals->get_subsystem_mgr()->incrementalInit();
if ( status == SGSubsystem::INIT_DONE) {
++idle_state;
- fgSplashProgress("finishing subsystem init");
+ fgSplashProgress("finishing-subsystems");
} else {
- const char* spinChars = "-\\|/";
- string msg = string("initing subsystems ") + spinChars[spin_count++ % 4];
- fgSplashProgress(msg.c_str());
+ fgSplashProgress("init-subsystems");
}
} else if ( idle_state == 10 ) {
"No METAR available to pick active runway" );
}
- fgSplashProgress("initializing graphics engine");
+ fgSplashProgress("init-graphics");
} else if ( idle_state == 900 ) {
idle_state = 1000;
// seed the random number generator
sg_srandom_time();
- FGControls *controls = new FGControls;
- globals->set_controls( controls );
-
string_list *col = new string_list;
globals->set_channel_options_list( col );