]> git.mxchange.org Git - flightgear.git/commitdiff
Fix setting start offset with MP enabled.
authorJames Turner <zakalawe@mac.com>
Wed, 7 Sep 2016 21:51:08 +0000 (22:51 +0100)
committerRoland Haeder <roland@mxchange.org>
Thu, 22 Sep 2016 21:27:49 +0000 (23:27 +0200)
src/Main/positioninit.cxx

index ddc789c6e77b07a070c68f260b90c7848fadb48f..4f854c1722fc5e5e1f2e79b58919663e80accc12 100644 (file)
@@ -165,9 +165,10 @@ static void fgApplyStartOffset(const SGGeod& aStartPos, double aHeading, double
 boost::tuple<SGGeod, double> runwayStartPos(FGRunwayRef runway)
 {
     fgSetString("/sim/atc/runway", runway->ident().c_str());
+    double offsetNm = fgGetDouble("/sim/presets/offset-distance-nm");
 
-    if (isMPEnabled()) {
-        SG_LOG( SG_GENERAL, SG_INFO, "Requested to start on " << runway->airport()->ident() << "/" <<
+    if (isMPEnabled() && (fabs(offsetNm) <0.1)) {
+        SG_LOG( SG_GENERAL, SG_WARN, "Requested to start on " << runway->airport()->ident() << "/" <<
                runway->ident() << ", MP is enabled so computing hold short position to avoid runway incursion");
 
         // set this so multiplayer.nas can inform the user
@@ -209,14 +210,8 @@ static bool setPosFromAirportIDandHdg( const string& id, double tgt_hdg ) {
       boost::tie(startPos, heading) = runwayStartPos(r);
   }
 
-    if (isMPEnabled()) {
-        // don't permit offsetting when MP is enabled
-        setInitialPosition(startPos, heading);
-    } else {
-        fgApplyStartOffset(startPos, heading);
-    }
-
-  return true;
+    fgApplyStartOffset(startPos, heading);
+    return true;
 }
 
 // Set current_options lon/lat given an airport id and parkig position name
@@ -330,13 +325,7 @@ static bool fgSetPosFromAirportIDandRwy( const string& id, const string& rwy, bo
       SGGeod startPos;
       double heading;
       boost::tie(startPos, heading) = runwayStartPos(r);
-
-      if (isMPEnabled()) {
-          // don't permit offsetting when MP is enabled
-          setInitialPosition(startPos, heading);
-      } else {
-          fgApplyStartOffset(startPos, heading);
-      }
+      fgApplyStartOffset(startPos, heading);
       return true;
   } else if (apt->hasHelipadWithIdent(rwy)) {
       FGHelipad* h(apt->getHelipadByIdent(rwy));