]> git.mxchange.org Git - flightgear.git/commitdiff
Slightly better handling of setting initial pos
authorTorsten Dreyer <torsten@t3r.de>
Sun, 24 Apr 2016 08:42:58 +0000 (10:42 +0200)
committerTorsten Dreyer <torsten@t3r.de>
Sun, 24 Apr 2016 08:42:58 +0000 (10:42 +0200)
don't use KSFO as default when an unknown ID was
specified for --airport arg
TODO: don't hardcode default airport

src/Main/positioninit.cxx

index b2221842b75c301b15a387e40578f1e875b9adcf..03842fe547d72bfbd45d709772c7ead7333ccca6 100644 (file)
@@ -599,10 +599,20 @@ bool initPosition()
   }
   
   if ( !set_pos ) {
-    // No lon/lat specified, no airport specified, default to
-    // middle of KSFO field.
-    fgSetDouble("/sim/presets/longitude-deg", -122.374843);
-    fgSetDouble("/sim/presets/latitude-deg", 37.619002);
+    // No lon/lat specified, no airport specified, use the default airport
+    // TODO: don't hardcode this
+    const FGAirport* airport = fgFindAirportID("LEBL");
+    if( airport ) {
+      const SGGeod & airportGeod = airport->geod();
+      fgSetDouble("/sim/presets/longitude-deg", airportGeod.getLongitudeDeg());
+      fgSetDouble("/sim/presets/latitude-deg", airportGeod.getLatitudeDeg());
+    } else {
+      // So, the default airport is unknown? We are in serious trouble. 
+      // Let's hope KSFO still exists somehow
+      fgSetDouble("/sim/presets/longitude-deg", -122.374843);
+      fgSetDouble("/sim/presets/latitude-deg", 37.619002);
+      SG_LOG(SG_GENERAL, SG_ALERT, "Sorry, the default airport seems to be unknown.");
+    }
   }
   
   fgSetDouble( "/position/longitude-deg",