]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/options.cxx
Also properly reinit previously set time of day upon reset.
[flightgear.git] / src / Main / options.cxx
index 4f20adf115ef88912fa6740fdf841ae0c6124ea0..53daa5c80716f8ebd4d4ec04b3b65f4215b3dcae 100644 (file)
@@ -26,7 +26,7 @@
 #endif
 
 #include <simgear/compiler.h>
-#include <simgear/misc/exception.hxx>
+#include <simgear/structure/exception.hxx>
 #include <simgear/debug/logstream.hxx>
 
 #include <math.h>              // rint()
@@ -181,7 +181,7 @@ fgSetDefaults ()
 #else
     fgSetString("/sim/startup/browser-app", "webrun.bat");
 #endif
-    fgSetInt("/sim/log-level", SG_WARN);
+    fgSetString("/sim/logging/priority", "warn");
 
                                // Features
     fgSetBool("/sim/hud/antialiased", false);
@@ -556,7 +556,7 @@ setup_wind (double min_hdg, double max_hdg, double speed, double gust)
   min_hdg += 10;
   if (min_hdg > 360)
       min_hdg -= 360;
-  speed *= 1.2;
+  speed *= 1.1;
   fgSetDouble("/environment/config/boundary/entry[1]/wind-from-heading-deg",
               min_hdg);
   fgSetDouble("/environment/config/boundary/entry[1]/wind-speed-kt",
@@ -565,7 +565,7 @@ setup_wind (double min_hdg, double max_hdg, double speed, double gust)
   min_hdg += 20;
   if (min_hdg > 360)
       min_hdg -= 360;
-  speed *= 1.5;
+  speed *= 1.1;
   fgSetDouble("/environment/config/aloft/entry[0]/wind-from-heading-deg",
               min_hdg);
   fgSetDouble("/environment/config/aloft/entry[0]/wind-speed-kt",
@@ -574,7 +574,7 @@ setup_wind (double min_hdg, double max_hdg, double speed, double gust)
   min_hdg += 10;
   if (min_hdg > 360)
       min_hdg -= 360;
-  speed *= 1.2;
+  speed *= 1.1;
   fgSetDouble("/environment/config/aloft/entry[1]/wind-from-heading-deg",
               min_hdg);
   fgSetDouble("/environment/config/aloft/entry[1]/wind-speed-kt",
@@ -583,7 +583,7 @@ setup_wind (double min_hdg, double max_hdg, double speed, double gust)
   min_hdg += 10;
   if (min_hdg > 360)
       min_hdg -= 360;
-  speed *= 1.2;
+  speed *= 1.1;
   fgSetDouble("/environment/config/aloft/entry[2]/wind-from-heading-deg",
               min_hdg);
   fgSetDouble("/environment/config/aloft/entry[2]/wind-speed-kt",
@@ -956,6 +956,33 @@ fgOptTraceRead( const char *arg )
     return FG_OPTIONS_OK;
 }
 
+static int
+fgOptLogLevel( const char *arg )
+{
+    fgSetString("/sim/logging/classes", "all");
+    fgSetString("/sim/logging/priority", arg);
+
+    string priority = arg;
+    logbuf::set_log_classes(SG_ALL);
+    if (priority == "bulk") {
+      logbuf::set_log_priority(SG_BULK);
+    } else if (priority == "debug") {
+      logbuf::set_log_priority(SG_DEBUG);
+    } else if (priority.empty() || priority == "info") { // default
+      logbuf::set_log_priority(SG_INFO);
+    } else if (priority == "warn") {
+      logbuf::set_log_priority(SG_WARN);
+    } else if (priority == "alert") {
+      logbuf::set_log_priority(SG_ALERT);
+    } else {
+      SG_LOG(SG_GENERAL, SG_WARN, "Unknown logging priority " << priority);
+    }
+    SG_LOG(SG_GENERAL, SG_INFO, "Logging priority is " << priority);
+
+    return FG_OPTIONS_OK;
+}
+
+
 static int
 fgOptTraceWrite( const char *arg )
 {
@@ -1013,7 +1040,7 @@ fgOptRandomWind( const char *arg )
 {
     double min_hdg = sg_random() * 360.0;
     double max_hdg = min_hdg + (20 - sqrt(sg_random() * 400));
-    double speed = 40 - sqrt(sg_random() * 1600.0);
+    double speed = sg_random() * sg_random() * 40;
     double gust = speed + (10 - sqrt(sg_random() * 100));
     setup_wind(min_hdg, max_hdg, speed, gust);
     return FG_OPTIONS_OK;
@@ -1352,7 +1379,7 @@ struct OptionDesc {
 #endif
     {"trace-read",                   true,  OPTION_FUNC,   "", false, "", fgOptTraceRead },
     {"trace-write",                  true,  OPTION_FUNC,   "", false, "", fgOptTraceWrite },
-    {"log-level",                    true,  OPTION_INT,    "/sim/log-level", false, "", 0 },
+    {"log-level",                    true,  OPTION_FUNC,   "", false, "", fgOptLogLevel },
     {"view-offset",                  true,  OPTION_FUNC,   "", false, "", fgOptViewOffset },
     {"visibility",                   true,  OPTION_FUNC,   "", false, "", fgOptVisibilityMeters },
     {"visibility-miles",             true,  OPTION_FUNC,   "", false, "", fgOptVisibilityMiles },
@@ -1519,6 +1546,7 @@ fgParseArgs (int argc, char **argv)
               verbose = true;
 
             else if (result == FG_OPTIONS_SHOW_AIRCRAFT) {
+               fgOptLogLevel( "alert" );
                SGPath path( globals->get_fg_root() );
                path.append("Aircraft");
                fgShowAircraft(path, true);
@@ -1534,6 +1562,7 @@ fgParseArgs (int argc, char **argv)
     }
 
     if (help) {
+       fgOptLogLevel( "alert" );
        fgUsage(verbose);
        exit(0);
     }