]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/util.cxx
Work around a problem in certain NVidia adapters hat don't support fgPushAttrib(FG_FO...
[flightgear.git] / src / Main / util.cxx
index 61e0681654dde59ba06a15967d8b7f67b7740ba8..c6ab0aa5c04a63163c6df123071a2834ce9cbb9d 100644 (file)
 // $Id$
 
 
+#include <simgear/compiler.h>
+
 #include <math.h>
+
+#include <vector>
+SG_USING_STD(vector);
+
+#include <simgear/debug/logstream.hxx>
+
+#include "fg_io.hxx"
+#include "fg_props.hxx"
+#include "globals.hxx"
 #include "util.hxx"
 
+#if defined(FG_NETWORK_OLK)
+#include <NetworkOLK/network.h>
+#endif
+
+
+void
+fgDefaultWeatherValue (const char * propname, double value)
+{
+    int i;
+
+    SGPropertyNode * branch = fgGetNode("/environment/config/boundary", true);
+    vector<SGPropertyNode_ptr> entries = branch->getChildren("entry");
+    for (i = 0; i < entries.size(); i++)
+        entries[i]->setDoubleValue(propname, value);
+
+    branch = fgGetNode("/environment/config/aloft", true);
+    entries = branch->getChildren("entry");
+    for (i = 0; i < entries.size(); i++)
+        entries[i]->setDoubleValue(propname, value);
+}
+
+
+void
+fgExit (int status)
+{
+    SG_LOG(SG_GENERAL, SG_INFO, "Exiting FlightGear with status " << status);
+
+#if defined(FG_NETWORK_OLK)
+    if (fgGetBool("/sim/networking/network-olk"))
+       fgd_send_com("8", FGFS_host);
+#endif
+
+    globals->get_io()->shutdown_all();
+    exit(status);
+}
+
 
 // Originally written by Alex Perry.
 double