X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAutopilot%2Froute_mgr.cxx;h=0ef72afb53d23bdeebbb332e0e85440bd2f95e13;hb=87141b47a74d84c3d65031076ba1af09d5c291e2;hp=bd6b47e07bea7d64f1686c911a00becd97d6fbbb;hpb=1a05ed6b3d714be2942eb06bfdc5413f9ea1432f;p=flightgear.git diff --git a/src/Autopilot/route_mgr.cxx b/src/Autopilot/route_mgr.cxx index bd6b47e07..0ef72afb5 100644 --- a/src/Autopilot/route_mgr.cxx +++ b/src/Autopilot/route_mgr.cxx @@ -142,7 +142,8 @@ void FGRouteMgr::init() { _edited = fgGetNode(RM "signals/edited", true); _finished = fgGetNode(RM "signals/finished", true); - rm->tie("current-wp", SGRawValueMethods + _currentWpt = fgGetNode(RM "current-wp", true); + _currentWpt->tie(SGRawValueMethods (*this, &FGRouteMgr::currentWaypoint, &FGRouteMgr::jumpToIndex)); // temporary distance / eta calculations, for backward-compatability @@ -519,7 +520,7 @@ bool FGRouteMgr::activate() add_waypoint(SGWayPoint(destApt->geod(), destApt->ident(), destApt->name())); } - _route->set_current(0); + _route->set_current(1); double routeDistanceNm = _route->total_distance() * SG_METER_TO_NM; totalDistance->setDoubleValue(routeDistanceNm); @@ -531,7 +532,6 @@ bool FGRouteMgr::activate() } active->setBoolValue(true); - sequence(); // sequence will sync up wp0, wp1 and current-wp SG_LOG(SG_AUTOPILOT, SG_INFO, "route-manager, activate route ok"); return true; } @@ -550,6 +550,7 @@ void FGRouteMgr::sequence() _route->increment_current(); currentWaypointChanged(); + _currentWpt->fireValueChanged(); } bool FGRouteMgr::checkFinished()