diff --git a/GameData/KerbalScienceFoundation/NavInstruments/NavUtilLib.dll b/GameData/KerbalScienceFoundation/NavInstruments/NavUtilLib.dll index f6d90cb..facbf68 100644 Binary files a/GameData/KerbalScienceFoundation/NavInstruments/NavUtilLib.dll and b/GameData/KerbalScienceFoundation/NavInstruments/NavUtilLib.dll differ diff --git a/KSP Navigation/NavUtilLib/GlobalVariables.cs b/KSP Navigation/NavUtilLib/GlobalVariables.cs index 814e8cb..bc0e864 100644 --- a/KSP Navigation/NavUtilLib/GlobalVariables.cs +++ b/KSP Navigation/NavUtilLib/GlobalVariables.cs @@ -135,34 +135,21 @@ public static void updateNavigationData() selectedRwy = rwyList[rwyIdx]; //Since there seems to be no callback methods to determine whether waypoint has been set or changed, we have to refresh INS data on every update - NavWaypoint navpoint = FinePrint.WaypointManager.navWaypoint; - if (FinePrint.WaypointManager.navIsActive() && (navpoint != null)) + NavWaypoint waypoint = NavWaypoint.fetch; + if ((waypoint != null) && waypoint.IsActive) { - //Trying to find the FinePrint waypoint that navigation is set for: - Waypoint waypoint = null; - - foreach (Waypoint wp in FinePrint.WaypointManager.Instance().Waypoints) - { - if (navpoint.latitude == wp.latitude && navpoint.longitude == wp.longitude) - { - waypoint = wp; - break; - } - } - if (waypoint != null) - { - //If waypoint is fine then generate fake target runway every time - Runway insTarget = new Runway(); - insTarget.isINSTarget = true; - insTarget.ident = waypoint.name; - insTarget.hdg = selectedRwy != null ? selectedRwy.hdg : 0; - insTarget.altMSL = (float)(waypoint.height + waypoint.altitude); - insTarget.locLatitude = (float)navpoint.latitude; - insTarget.locLongitude = (float)navpoint.longitude; - insTarget.gsLatitude = (float)navpoint.latitude; - insTarget.gsLongitude = (float)navpoint.longitude; - selectedRwy = insTarget; - } + //If waypoint is fine then generate fake target runway every time + Runway insTarget = new Runway(); + insTarget.isINSTarget = true; + insTarget.ident = waypoint.name; + insTarget.body = waypoint.Body.name; + insTarget.hdg = selectedRwy != null ? selectedRwy.hdg : 0; + insTarget.altMSL = (float)(waypoint.Height + waypoint.Altitude); + insTarget.locLatitude = (float)waypoint.Latitude; + insTarget.locLongitude = (float)waypoint.Longitude; + insTarget.gsLatitude = (float)waypoint.Latitude; + insTarget.gsLongitude = (float)waypoint.Longitude; + selectedRwy = insTarget; } currentVessel = FlightGlobals.ActiveVessel; diff --git a/KSP Navigation/NavUtilLib/GraphicUtils.cs b/KSP Navigation/NavUtilLib/GraphicUtils.cs index f6960ba..9a619c0 100644 --- a/KSP Navigation/NavUtilLib/GraphicUtils.cs +++ b/KSP Navigation/NavUtilLib/GraphicUtils.cs @@ -154,7 +154,7 @@ public static Material loadMaterial(string fileName, Material mat, int width, in private static Texture2D texFile(string fileName, int w, int h) { Texture2D t = new Texture2D(w, h); - t.LoadImage(KSP.IO.File.ReadAllBytes(fileName)); + t.LoadImage(KSP.IO.File.ReadAllBytes(fileName, null)); return t; } } diff --git a/KSP Navigation/NavUtilLib/NavUtilLibHelper.cs b/KSP Navigation/NavUtilLib/NavUtilLibHelper.cs index ad25a90..445eed7 100644 --- a/KSP Navigation/NavUtilLib/NavUtilLibHelper.cs +++ b/KSP Navigation/NavUtilLib/NavUtilLibHelper.cs @@ -228,7 +228,7 @@ private void OnWindow(int WindowID) { //displayHSI(); //Debug.Log("CloseHSI"); - appButton.SetFalse(); + appButton.SetFalse(true); //goto CloseWindow; }