]> git.mxchange.org Git - flightgear.git/commitdiff
Option to restore defaults and enable/disable random buildings+vegetation
authorThorstenB <brehmt@gmail.com>
Sun, 15 Jul 2012 08:56:59 +0000 (10:56 +0200)
committerThorstenB <brehmt@gmail.com>
Sun, 15 Jul 2012 08:56:59 +0000 (10:56 +0200)
fgfs can fail to start when random buildings is set to an excessive level,
so you can't even reach the GUI setting to reduce/disable again.

src/Main/fg_init.cxx
src/Main/options.cxx

index 8328f5e1985fe0dc9a1fa1b793bcbfff2fd0b8f8..85dbbd4d67551d2c35dcff4e6ecce8778a77973d 100644 (file)
@@ -426,7 +426,15 @@ bool fgInitConfig ( int argc, char **argv )
     fgLoadProps("preferences.xml", globals->get_props());
     SG_LOG(SG_INPUT, SG_INFO, "Finished Reading global preferences");
 
-    globals->loadUserSettings(dataPath);
+    // do not load user settings when reset to default is requested
+    if (flightgear::Options::sharedInstance()->isOptionSet("restore-defaults"))
+    {
+        SG_LOG(SG_ALL, SG_ALERT, "Ignoring user settings. Restoring defaults.");
+    }
+    else
+    {
+        globals->loadUserSettings(dataPath);
+    }
 
     // Scan user config files and command line for a specified aircraft.
     flightgear::Options::sharedInstance()->initAircraft();
index 4cf4dd63839d6841fb66b6bf4ac100490f3e0af2..77bbd78c01ffb9ab8ba32ea88c6344316badb9cb 100644 (file)
@@ -1335,6 +1335,10 @@ struct OptionDesc {
     {"enable-mouse-pointer",         false, OPTION_STRING, "/sim/startup/mouse-pointer", false, "enabled", 0 },
     {"disable-random-objects",       false, OPTION_BOOL,   "/sim/rendering/random-objects", false, "", 0 },
     {"enable-random-objects",        false, OPTION_BOOL,   "/sim/rendering/random-objects", true, "", 0 },
+    {"disable-random-vegetation",    false, OPTION_BOOL,   "/sim/rendering/random-vegetation", false, "", 0 },
+    {"enable-random-vegetation",     false, OPTION_BOOL,   "/sim/rendering/random-vegetation", true, "", 0 },
+    {"disable-random-buildings",     false, OPTION_BOOL,   "/sim/rendering/random-buildings", false, "", 0 },
+    {"enable-random-buildings",      false, OPTION_BOOL,   "/sim/rendering/random-buildings", true, "", 0 },
     {"disable-real-weather-fetch",   false, OPTION_BOOL,   "/environment/realwx/enabled", false, "", 0 },
     {"enable-real-weather-fetch",    false, OPTION_BOOL,   "/environment/realwx/enabled", true,  "", 0 },
     {"metar",                        true,  OPTION_STRING, "/environment/metar/data", false, "", 0 },
@@ -1424,6 +1428,7 @@ struct OptionDesc {
     {"enable-fullscreen",            false, OPTION_BOOL,   "/sim/startup/fullscreen", true, "", 0 },
     {"disable-save-on-exit",         false, OPTION_BOOL,   "/sim/startup/save-on-exit", false, "", 0 },
     {"enable-save-on-exit",          false, OPTION_BOOL,   "/sim/startup/save-on-exit", true, "", 0 },
+    {"restore-defaults",             false, OPTION_BOOL,   "/sim/startup/restore-defaults", true, "", 0 },
     {"shading-flat",                 false, OPTION_BOOL,   "/sim/rendering/shading", false, "", 0 },
     {"shading-smooth",               false, OPTION_BOOL,   "/sim/rendering/shading", true, "", 0 },
     {"disable-skyblend",             false, OPTION_BOOL,   "/sim/rendering/skyblend", false, "", 0 },