]> git.mxchange.org Git - flightgear.git/blobdiff - src/Scripting/NasalSys.cxx
Merge branch 'jmt/gps' into next
[flightgear.git] / src / Scripting / NasalSys.cxx
index 502a406b2e6f88fed49e6bf310c7c7d2b459212f..a210d03569c50bbafbc35ba4bda2f4720e1f9f03 100644 (file)
@@ -32,6 +32,7 @@
 #include <Main/fg_props.hxx>
 #include <Main/util.hxx>
 #include <Scenery/scenery.hxx>
+#include <Navaids/navrecord.hxx>
 
 #include "NasalSys.hxx"
 
@@ -414,7 +415,7 @@ static naRef f_parsexml(naContext c, naRef me, int argc, naRef* args)
 // Return UNIX epoch time in seconds.
 static naRef f_systime(naContext c, naRef me, int argc, naRef* args)
 {
-#ifdef WIN32
+#ifdef _WIN32
     FILETIME ft;
     GetSystemTimeAsFileTime(&ft);
     double t = (4294967296.0 * ft.dwHighDateTime + ft.dwLowDateTime);
@@ -593,6 +594,11 @@ static naRef f_airportinfo(naContext c, naRef me, int argc, naRef* args)
         HASHSET("width", 5, naNum(rwy->widthM()));
         HASHSET("threshold", 9, naNum(rwy->displacedThresholdM()));
         HASHSET("stopway", 7, naNum(rwy->stopwayM()));
+        
+        if (rwy->ILS()) {
+          HASHSET("ils_frequency_mhz", 17, naNum(rwy->ILS()->get_freq() / 100.0));
+        }
+        
 #undef HASHSET
         naHash_set(rwys, rwyid, rwydata);
     }
@@ -753,7 +759,7 @@ void FGNasalSys::loadPropertyScripts()
         const char* src = n->getStringValue("script");
         if(!n->hasChild("script")) src = 0; // Hrm...
         if(src)
-            createModule(module, n->getPath(), src, strlen(src));
+            createModule(module, n->getPath().c_str(), src, strlen(src));
 
         if(!file_specified && !src)
             SG_LOG(SG_NASAL, SG_ALERT, "Nasal error: " <<
@@ -850,7 +856,7 @@ bool FGNasalSys::handleCommand(const SGPropertyNode* arg)
 {
     const char* nasal = arg->getStringValue("script");
     const char* moduleName = arg->getStringValue("module");
-    naRef code = parse(arg->getPath(true), nasal, strlen(nasal));
+    naRef code = parse(arg->getPath(true).c_str(), nasal, strlen(nasal));
     if(naIsNil(code)) return false;
 
     // Commands can be run "in" a module.  Make sure that module