+ bool waitingOnTerrasync = false;
+ update_queues(waitingOnTerrasync);
+
+ // scenery loading check, triggers after each sim (tile manager) reinit
+ if (!_scenery_loaded->getBoolValue())
+ {
+ bool fdmInited = fgGetBool("sim/fdm-initialized");
+ bool positionFinalized = fgGetBool("sim/position-finalized");
+ bool sceneryOverride = _scenery_override->getBoolValue();
+
+
+ // we are done if final position is set and the scenery & FDM are done.
+ // scenery-override can ignore the last two, but not position finalization.
+ if (positionFinalized && (sceneryOverride || (isSceneryLoaded() && fdmInited)))
+ {
+ _scenery_loaded->setBoolValue(true);
+ fgSplashProgress("");
+ }
+ else
+ {
+ if (!positionFinalized) {
+ fgSplashProgress("finalize-position");
+ } else if (waitingOnTerrasync) {
+ fgSplashProgress("downloading-scenery");
+ } else {
+ fgSplashProgress("loading-scenery");
+ }
+
+ // be nice to loader threads while waiting for initial scenery, reduce to 20fps
+ SGTimeStamp::sleepForMSec(50);
+ }
+ }