X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2Fmain.cxx;h=e1a50d6c3798cdfffe813a1afaad1fe46b1ad478;hb=0d45920098c7f8de25968ee08c5a69e7237aea0d;hp=5df7d9116ae78ab86c15983c386471fcc992bb36;hpb=8e4d979aca11bd7836d34154da1289475a609f30;p=flightgear.git diff --git a/src/Main/main.cxx b/src/Main/main.cxx index 5df7d9116..e1a50d6c3 100644 --- a/src/Main/main.cxx +++ b/src/Main/main.cxx @@ -47,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -167,7 +168,7 @@ void fgUpdateTimeDepCalcs() { // normal playback replay_time->setDoubleValue( replay_time->getDoubleValue() + ( delta_time_sec - * fgGetInt("/sim/speed-up") ) ); + * fgGetInt("/sim/speed-up") ) ); } else if ( replay_state->getIntValue() == 2 ) { // paused playback (don't advance replay time) } @@ -344,14 +345,14 @@ static void fgMainLoop( void ) { // probably move eventually /* printf("Before - ground = %.2f runway = %.2f alt = %.2f\n", - scenery.get_cur_elev(), - cur_fdm_state->get_Runway_altitude() * SG_FEET_TO_METER, - cur_fdm_state->get_Altitude() * SG_FEET_TO_METER); */ + scenery.get_cur_elev(), + cur_fdm_state->get_Runway_altitude() * SG_FEET_TO_METER, + cur_fdm_state->get_Altitude() * SG_FEET_TO_METER); */ /* printf("Adjustment - ground = %.2f runway = %.2f alt = %.2f\n", - scenery.get_cur_elev(), - cur_fdm_state->get_Runway_altitude() * SG_FEET_TO_METER, - cur_fdm_state->get_Altitude() * SG_FEET_TO_METER); */ + scenery.get_cur_elev(), + cur_fdm_state->get_Runway_altitude() * SG_FEET_TO_METER, + cur_fdm_state->get_Altitude() * SG_FEET_TO_METER); */ // cout << "Warp = " << globals->get_warp() << endl; @@ -423,7 +424,7 @@ static void fgMainLoop( void ) { general.set_frame_rate( frames ); fgSetInt("/sim/frame-rate", frames); SG_LOG( SG_ALL, SG_DEBUG, - "--> Frame rate is = " << general.get_frame_rate() ); + "--> Frame rate is = " << general.get_frame_rate() ); frames = 0; } last_time = t->get_cur_time(); @@ -452,7 +453,7 @@ static void fgMainLoop( void ) { fgUpdateTimeDepCalcs(); } else { SG_LOG( SG_ALL, SG_DEBUG, - "Elapsed time is zero ... we're zinging" ); + "Elapsed time is zero ... we're zinging" ); } globals->get_subsystem_mgr()->update(delta_time_sec); @@ -484,8 +485,8 @@ static void fgMainLoop( void ) { // is processing the scenery (doubled the frame-rate for me) -EMH- #ifdef ENABLE_AUDIO_SUPPORT static bool smgr_init = true; + static SGPropertyNode *sound_working = fgGetNode("/sim/sound/working"); if (smgr_init == true) { - static SGPropertyNode *sound_working = fgGetNode("/sim/sound/working"); if (sound_working->getBoolValue() == true) { fgInitSoundManager(); smgr_init = false; @@ -495,6 +496,12 @@ static void fgMainLoop( void ) { static SGSoundMgr *smgr = globals->get_soundmgr(); static bool smgr_enabled = true; + if (sound_working->getBoolValue() == false) { // request to reinit + smgr->reinit(); + smgr->resume(); + sound_working->setBoolValue(true); + } + if (smgr_enabled != sound_enabled->getBoolValue()) { if (smgr_enabled == true) { // request to suspend smgr->suspend(); @@ -524,7 +531,7 @@ static void fgMainLoop( void ) { globals->get_props()->tie("/sim/sound/devices/name", SGRawValueFunctions(0, fgSetNewSoundDevice), false); } - + simgear::AtomicChangeListener::fireChangeListeners(); fgRequestRedraw(); SG_LOG( SG_ALL, SG_DEBUG, "" ); @@ -782,7 +789,7 @@ static void fgIdleFunction ( void ) { # if defined( __CYGWIN__ ) string command = "start /m `cygpath -w " + mp3file.str() + "`"; -# elif defined( WIN32 ) +# elif defined( _WIN32 ) string command = "start /m " + mp3file.str(); # else string command = "mpg123 " + mp3file.str() + "> /dev/null 2>&1"; @@ -817,7 +824,9 @@ static void fgIdleFunction ( void ) { fgGetInt("/sim/startup/ysize") ); fgSplashProgress("loading scenery objects"); - + int session = fgGetInt("/sim/session",0); + session++; + fgSetInt("/sim/session",session); } if ( idle_state == 1000 ) { @@ -888,7 +897,7 @@ bool fgMainInit( int argc, char **argv ) { fgInitFGRoot(argc, argv); // Check for the correct base package version - static char required_version[] = "1.9.0"; + static char required_version[] = "2.0.0"; string base_version = fgBasePackageVersion(); if ( !(base_version == required_version) ) { // tell the operator how to use this application