Prp for 1.0.11.0 release.
Prp for 1.0.11.0 release.

--- a/Documents/CHANGES.txt
+++ b/Documents/CHANGES.txt
@@ -1,12 +1,27 @@
 1.0.11.0
     Added: New readouts to the orbital category:
         - Current SOI
+        - Manoeuvre Node DeltaV (Prograde)
+        - Manoeuvre Node DeltaV (Normal)
+        - Manoeuvre Node DeltaV (Radial)
+        - Manoeuvre Node DeltaV (Total)
+        - Manoeuvre Node Burn Time
+        - Manoeuvre Node Half Burn Time
+        - Manoeuvre Node Angle to Prograde
+        - Manoeuvre Node Angle to Retrograde
+        - Time to Manoeuvre Node
+        - Time to Manoeuvre Burn
+
+    Added: Readout help strings by ClassyJakey.
+
+    Fixed: Issue with separators in HUDs.
+    Fixed: Issue with HUDs with backgrounds that have no displayed lines.
 
     Padishar's Fixes:
         Fixed: Issue with multicouplers when attached to parent by bottom node.
         Fixed: Issue with sepratrons on solid rocket boosters.
 
-1.0.10.0
+1.0.10.0, 19-10-2014
     UPDATE NOTICE: If you are updating from a previous version of Kerbal Engineer 1.0, please
     delete the 'Settings/SectionLibrary.xml' file, or remove the old install first.  This will
     reset the Flight Engineer sections to their default values and enable the new HUD functionality.
@@ -25,7 +40,7 @@
     Fixed: Bug in the phase angle calculations.
     Fixed: Bug where the Build Engineer would stay locked after hiding with the shortcut key.
 
-1.0.9.3
+1.0.9.3, 08-10-2014
     Added: Title of the build engineer in compact mode now shows if you are using atmospheric data.
     Added: New readout to the surface category:
         - Vertical Acceleration
@@ -35,16 +50,16 @@
     Changed: Atmospheric settings (pressure/velocity) in the editor condensed onto a single line.
     Fixed: Bug where the overlays in the editor would stay open outside of parts screen.
 
-1.0.9.2
+1.0.9.2, 07-10-2014
     Updated for KSP v0.25.0
     Changed: Prettyfied Latitude and Longitude readouts.
     Changed: ModuleLandingGear now uses the physical significance flag.
     Changed: Updated MiniAVC to 1.0.2.4.
 
-1.0.9.1
+1.0.9.1, 17-09-2014
     Fixed: Part size bug caused by TweakScale's cost calculator.
 
-1.0.9.0
+1.0.9.0, 15-09-2014
     Added: Build Engineer now also implements the '\' backslash show/hide shortcut.
     Added: New readouts to the vessel category:
         - Current Stage DeltaV
@@ -62,10 +77,10 @@
 
     Fixed: Cost calculation now works with mods implementing IPartCostModifier.
 
-1.0.8.1
+1.0.8.1, 06-09-2014
     Fixed: Bug which caused rendezvous readouts to freeze the game or show all zeros.
 
-1.0.8.0
+1.0.8.0, 06-09-2014
     Added: New readouts to the vessel category:
         - Intake Air (Usage)
 
@@ -76,14 +91,14 @@
     Fixed: An issue where deltaV would not be calculated whilst flying.
     Fixed: NullRef whilst loading the in flight Action Menu.
 
-1.0.7.1
+1.0.7.1, 02-09-2014
     Changed: Reversed Intake Air readout from 'S/D' to 'D/S' for easier reading.
     Changed: Increased Intake Air readout precision to 4 decimal places.
     Fixed: Issue where Intake Air supply was not representative of total supply.
     Fixed: Bug where actual thrust does not reset to zero on deactivated engines.
     Fixed: Thrust now scales with velocity for atmospheric engines. (Padishar's fix)
 
-1.0.7.0
+1.0.7.0, 01-09-2014
     Added: Part count information to the Build Engineer.
     Added: Reset button to the G-Force readout.
     Added: Preset system to the Flight Engineer.
@@ -119,7 +134,7 @@
     Fixed: Issues with large value wrap around in the Flight Engineer.
     Fixed: Bug in the phase angle calculation.
 
-1.0.6.0
+1.0.6.0, 23-08-2014
     Added: Time and Angle to equatorial ascending/descending nodes in the orbital display.
     Added: Time and Angle to relative ascending/descending nodes in the rendezvous display.
     Added: Overlay tooltip information delay adjustment slider to the Build Engineer settings.
@@ -129,7 +144,7 @@
     Changed: Licensing and readme structures are now more verbose to satisfy the new add-on rules.
     Fixed: Updated MiniAVC to v1.0.2.1 (fixes remote check bug as well as other minor bugs).
 
-1.0.5.0
+1.0.5.0, 13-08-2014
     Added: Acceleration readout to the Vessel category (current / maximum).
     Added: Category library system for the Flight Engineer readouts.
     Added: Drop-down category selection to better support the new system.
@@ -139,7 +154,7 @@
     Fixed: Flight Engineer toolbar menu now hides when hiding the GUI with F2.
     Fixed: Flight Engineer toolbar button now disables when in module mode and no engineer is running.
 
-1.0.4.0
+1.0.4.0, 12-08-2014
     Added: Better stock toolbar support in the flight engineer.
     Added: Dynamically generated celestial body library for supporting add-ons that modify the star system.
     Changed: Reference bodies are now listed with a nestable menu system.
@@ -149,7 +164,7 @@
     Changed: Increased Semi-major/minor axis precision to 3 decimal places.
     Fixed: Impact altitude was mistakenly formatted as an angle, it is now formatted correctly as a distance.
 
-1.0.3.0
+1.0.3.0, 30-07-2014
     Added: Integrated KSP-AVC support with MiniAVC.
     Added: Setting to change the simulation delay in the Build Engineer.
     Added: Setting to enable and disable the build overlay system.
@@ -160,7 +175,7 @@
     Fixed: Flickering in VAB and Vessel display.
     Fixed: Bug saving the GUI display size.
 
-1.0.2.0
+1.0.2.0, 27-07-2014
     Added: Separator readout module under Misc in the Flight Engineer.
     Added: Adjustable GUI display size.
     Added: Display size can be adjusted in the Build Engineer settings.
@@ -170,7 +185,7 @@
     Fixed: Engines that have a minimum thrust are now calculated properly. (Thanks to nosscire.)
     Fixed: Compact collapse mode is now saved in the Build Engineer.
 
-1.0.1.0
+1.0.1.0, 26-07-2014
     Added: Part-less Flight Engineer.
     Added: Ability to collapse the Build Engineer into compact mode from left or right.
     Added: Settings in Build Engineer for compact collapse mode and partless/module Flight Engineer.
@@ -183,10 +198,10 @@
     Changed: ER7500 part has no physical significance.
     Fixed: ActionMenu and DisplayStack destruction bug.
 
-1.0.0.1
+1.0.0.1, 24-07-2014
     Added: Stock toolbar support in the Flight Engineer.
     Changed: Orbital Period has higher precision.
     Fixed: Various NullRefs in editor window and overlay.
     
-1.0.0.0
+1.0.0.0, 24-07-2014
     Initial release for public testing.

--- a/KerbalEngineer/Extensions/OrbitExtensions.cs
+++ b/KerbalEngineer/Extensions/OrbitExtensions.cs
@@ -51,13 +51,18 @@
 
         public static double GetAngleToPrograde(this Orbit orbit)
         {
+            return GetAngleToPrograde(orbit, Planetarium.GetUniversalTime());
+        }
+
+        public static double GetAngleToPrograde(this Orbit orbit, double universalTime)
+        {
             if (orbit.referenceBody == CelestialBodies.SystemBody.CelestialBody)
             {
                 return 0.0;
             }
 
-            var angle = AngleHelper.GetAngleBetweenVectors(orbit.getRelativePositionAtUT(Planetarium.GetUniversalTime()),
-                                                           Vector3d.Exclude(orbit.GetOrbitNormal(), orbit.referenceBody.orbit.getRelativePositionAtUT(Planetarium.GetUniversalTime())));
+            var angle = AngleHelper.GetAngleBetweenVectors(orbit.getRelativePositionAtUT(universalTime),
+                                                           Vector3d.Exclude(orbit.GetOrbitNormal(), orbit.referenceBody.orbit.getRelativePositionAtUT(universalTime)));
 
             angle = AngleHelper.Clamp360(angle - 90.0);
 
@@ -66,13 +71,18 @@
 
         public static double GetAngleToRetrograde(this Orbit orbit)
         {
+            return GetAngleToRetrograde(orbit, Planetarium.GetUniversalTime());
+        }
+
+        public static double GetAngleToRetrograde(this Orbit orbit, double universalTime)
+        {
             if (orbit.referenceBody == CelestialBodies.SystemBody.CelestialBody)
             {
                 return 0.0;
             }
 
-            var angle = AngleHelper.GetAngleBetweenVectors(orbit.getRelativePositionAtUT(Planetarium.GetUniversalTime()),
-                                                           Vector3d.Exclude(orbit.GetOrbitNormal(), orbit.referenceBody.orbit.getRelativePositionAtUT(Planetarium.GetUniversalTime())));
+            var angle = AngleHelper.GetAngleBetweenVectors(orbit.getRelativePositionAtUT(universalTime),
+                                                           Vector3d.Exclude(orbit.GetOrbitNormal(), orbit.referenceBody.orbit.getRelativePositionAtUT(universalTime)));
 
             angle = AngleHelper.Clamp360(angle + 90.0);
 

--- a/KerbalEngineer/Flight/Readouts/Miscellaneous/Separator.cs
+++ b/KerbalEngineer/Flight/Readouts/Miscellaneous/Separator.cs
@@ -19,7 +19,10 @@
 
 #region Using Directives
 
+using System;
+
 using KerbalEngineer.Flight.Sections;
+using KerbalEngineer.Helpers;
 
 using UnityEngine;
 
@@ -31,7 +34,8 @@
     {
         #region Fields
 
-        private readonly Texture2D texture;
+        private GUIStyle boxStyle;
+        private GUIStyle boxStyleHud;
 
         #endregion
 
@@ -41,13 +45,13 @@
         {
             this.Name = "Separator";
             this.Category = ReadoutCategory.GetCategory("Miscellaneous");
-            this.HelpString = string.Empty;
+            this.HelpString = String.Empty;
             this.IsDefault = false;
             this.Cloneable = true;
 
-            this.texture = new Texture2D(1, 1, TextureFormat.RGBA32, false);
-            this.texture.SetPixel(0, 0, new Color(1.0f, 1.0f, 1.0f, 0.5f));
-            this.texture.Apply();
+            this.InitialiseStyles();
+
+            GuiDisplaySize.OnSizeChanged += this.InitialiseStyles;
         }
 
         #endregion
@@ -56,8 +60,29 @@
 
         public override void Draw(SectionModule section)
         {
-            GUILayout.Box(string.Empty, GUIStyle.none, new[] {GUILayout.Width(this.ContentWidth), GUILayout.Height(1.0f)});
-            GUI.DrawTexture(GUILayoutUtility.GetLastRect(), this.texture, ScaleMode.StretchToFill);
+            GUILayout.Box(String.Empty, section.IsHud ? this.boxStyleHud : this.boxStyle);
+        }
+
+        #endregion
+
+        #region Methods: private
+
+        private void InitialiseStyles()
+        {
+            this.boxStyle = new GUIStyle
+            {
+                normal =
+                {
+                    background = TextureHelper.CreateTextureFromColour(new Color(1.0f, 1.0f, 1.0f, 0.5f))
+                },
+                fixedHeight = 1.0f,
+                stretchWidth = true
+            };
+
+            this.boxStyleHud = new GUIStyle(this.boxStyle)
+            {
+                margin = new RectOffset(0, 0, (int)(8 * GuiDisplaySize.Offset), 0)
+            };
         }
 
         #endregion

--- a/KerbalEngineer/Flight/Readouts/Orbital/CurrentSoi.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/CurrentSoi.cs
@@ -31,7 +31,7 @@
     public class CurrentSoi : ReadoutModule
     {
         #region Constructors
-
+        
         public CurrentSoi()
         {
             this.Name = "Current SOI";

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/ManoeuvreProcessor.cs
@@ -1,1 +1,180 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Extensions;
+using KerbalEngineer.Flight.Readouts.Vessel;
+
+using UnityEngine;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode
+{
+    public class ManoeuvreProcessor : IUpdatable, IUpdateRequest
+    {
+        #region Fields
+
+        private static readonly ManoeuvreProcessor instance = new ManoeuvreProcessor();
+
+        #endregion
+
+        #region Properties
+
+        public static double AngleToPrograde { get; private set; }
+
+        public static double AngleToRetrograde { get; private set; }
+
+        public static double AvailableDeltaV { get; private set; }
+
+        public static double BurnTime { get; private set; }
+        public static int FinalStage { get; private set; }
+
+        public static double HalfBurnTime { get; private set; }
+
+        public static bool HasDeltaV { get; private set; }
+
+        public static ManoeuvreProcessor Instance
+        {
+            get { return instance; }
+        }
+
+        public static double NormalDeltaV { get; private set; }
+
+        public static double ProgradeDeltaV { get; private set; }
+
+        public static double RadialDeltaV { get; private set; }
+
+        public static bool ShowDetails { get; set; }
+
+        public static double TotalDeltaV { get; private set; }
+
+        public static double UniversalTime { get; private set; }
+
+        public bool UpdateRequested { get; set; }
+
+        #endregion
+
+        #region Methods: public
+
+        public static void RequestUpdate()
+        {
+            instance.UpdateRequested = true;
+            SimulationProcessor.RequestUpdate();
+        }
+
+        public static void Reset()
+        {
+            FlightEngineerCore.Instance.AddUpdatable(SimulationProcessor.Instance);
+            FlightEngineerCore.Instance.AddUpdatable(instance);
+        }
+
+        public void Update()
+        {
+            if (FlightGlobals.ActiveVessel.patchedConicSolver.maneuverNodes.Count == 0 || !SimulationProcessor.ShowDetails)
+            {
+                ShowDetails = false;
+                return;
+            }
+
+            var node = FlightGlobals.ActiveVessel.patchedConicSolver.maneuverNodes[0];
+            var deltaV = node.DeltaV;
+
+            ProgradeDeltaV = deltaV.z;
+            NormalDeltaV = deltaV.y;
+            RadialDeltaV = deltaV.x;
+            TotalDeltaV = node.GetBurnVector(FlightGlobals.ship_orbit).magnitude;
+
+            UniversalTime = FlightGlobals.ActiveVessel.patchedConicSolver.maneuverNodes[0].UT;
+            AngleToPrograde = FlightGlobals.ActiveVessel.patchedConicSolver.maneuverNodes[0].patch.GetAngleToPrograde(UniversalTime);
+            AngleToRetrograde = FlightGlobals.ActiveVessel.patchedConicSolver.maneuverNodes[0].patch.GetAngleToRetrograde(UniversalTime);
+
+            var burnTime = 0.0;
+            var midPointTime = 0.0;
+            HasDeltaV = GetBurnTime((float)TotalDeltaV, ref burnTime, ref midPointTime);
+            AvailableDeltaV = SimulationProcessor.LastStage.totalDeltaV;
+
+            BurnTime = burnTime;
+            HalfBurnTime = midPointTime;
+
+            ShowDetails = true;
+        }
+
+        #endregion
+
+        #region Methods: private
+
+        private static bool GetBurnTime(float deltaV, ref double burnTime, ref double midPointTime)
+        {
+            var setMidPoint = false;
+            var deltaVMidPoint = deltaV * 0.5f;
+
+            for (var i = SimulationProcessor.Stages.Length - 1; i >= 0; i--)
+            {
+                var stage = SimulationProcessor.Stages[i];
+                var stageDeltaV = (float)stage.deltaV;
+
+                ProcessStageDrain:
+                if (deltaV <= Single.Epsilon)
+                {
+                    FinalStage = ++i;
+                    return true;
+                }
+                if (stageDeltaV <= Single.Epsilon)
+                {
+                    continue;
+                }
+
+                float deltaVDrain;
+                if (deltaVMidPoint > 0.0)
+                {
+                    deltaVDrain = Mathf.Clamp(deltaV, 0.0f, Mathf.Clamp(deltaVMidPoint, 0.0f, stageDeltaV));
+                    deltaVMidPoint -= deltaVDrain;
+                    setMidPoint = deltaVMidPoint <= Single.Epsilon;
+                }
+                else
+                {
+                    deltaVDrain = Mathf.Clamp(deltaV, 0.0f, stageDeltaV);
+                }
+
+                var startMass = stage.totalMass - (stage.resourceMass * (1.0f - (stageDeltaV / stage.deltaV)));
+                var endMass = startMass - (stage.resourceMass * (deltaVDrain / stageDeltaV));
+                var minimumAcceleration = stage.thrust / startMass;
+                var maximumAcceleration = stage.thrust / endMass;
+
+                burnTime += deltaVDrain / ((minimumAcceleration + maximumAcceleration) * 0.5);
+                deltaV -= deltaVDrain;
+                stageDeltaV -= deltaVDrain;
+
+                if (setMidPoint)
+                {
+                    midPointTime = burnTime;
+                    setMidPoint = false;
+                    goto ProcessStageDrain;
+                }
+            }
+            return false;
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeAngleToPrograde.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Extensions;
+using KerbalEngineer.Flight.Sections;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode
+{
+    public class NodeAngleToPrograde : ReadoutModule
+    {
+        #region Constructors
+
+        public NodeAngleToPrograde()
+        {
+            this.Name = "Manoeuvre Node Angle to Prograde";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!ManoeuvreProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine("Node Angle to Prograde", ManoeuvreProcessor.AngleToPrograde.ToAngle(), section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            ManoeuvreProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            ManoeuvreProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeAngleToRetrograde.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Extensions;
+using KerbalEngineer.Flight.Sections;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode
+{
+    public class NodeAngleToRetrograde : ReadoutModule
+    {
+        #region Constructors
+
+        public NodeAngleToRetrograde()
+        {
+            this.Name = "Manoeuvre Node Angle to Retrograde";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!ManoeuvreProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine("Node Angle to Retrograde", ManoeuvreProcessor.AngleToRetrograde.ToAngle(), section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            ManoeuvreProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            ManoeuvreProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeBurnTime.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Flight.Sections;
+using KerbalEngineer.Helpers;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode
+{
+    public class NodeBurnTime : ReadoutModule
+    {
+        #region Constructors
+
+        public NodeBurnTime()
+        {
+            this.Name = "Manoeuvre Node Burn Time";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!ManoeuvreProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine("Node Burn Time", TimeFormatter.ConvertToString(ManoeuvreProcessor.BurnTime), section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            ManoeuvreProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            ManoeuvreProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeHalfBurnTime.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Flight.Sections;
+using KerbalEngineer.Helpers;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode
+{
+    public class NodeHalfBurnTime : ReadoutModule
+    {
+        #region Constructors
+
+        public NodeHalfBurnTime()
+        {
+            this.Name = "Manoeuvre Node Half Burn Time";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!ManoeuvreProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine("Node Burn Time (½)", TimeFormatter.ConvertToString(ManoeuvreProcessor.HalfBurnTime), section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            ManoeuvreProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            ManoeuvreProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeNormalDeltaV.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Extensions;
+using KerbalEngineer.Flight.Sections;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode
+{
+    public class NodeNormalDeltaV : ReadoutModule
+    {
+        #region Constructors
+
+        public NodeNormalDeltaV()
+        {
+            this.Name = "Manoeuvre Node DeltaV (Normal)";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!ManoeuvreProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine("Node DeltaV (Normal)", ManoeuvreProcessor.NormalDeltaV.ToSpeed(), section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            ManoeuvreProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            ManoeuvreProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeProgradeDeltaV.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Extensions;
+using KerbalEngineer.Flight.Sections;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode
+{
+    public class NodeProgradeDeltaV : ReadoutModule
+    {
+        #region Constructors
+
+        public NodeProgradeDeltaV()
+        {
+            this.Name = "Manoeuvre Node DeltaV (Prograde)";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!ManoeuvreProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine("Node DeltaV (Prograde)", ManoeuvreProcessor.ProgradeDeltaV.ToSpeed(), section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            ManoeuvreProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            ManoeuvreProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeRadialDeltaV.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Extensions;
+using KerbalEngineer.Flight.Sections;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode
+{
+    public class NodeRadialDeltaV : ReadoutModule
+    {
+        #region Constructors
+
+        public NodeRadialDeltaV()
+        {
+            this.Name = "Manoeuvre Node DeltaV (Radial)";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!ManoeuvreProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine("Node DeltaV (Radial)", ManoeuvreProcessor.RadialDeltaV.ToSpeed(), section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            ManoeuvreProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            ManoeuvreProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeTimeToHalfBurn.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Flight.Sections;
+using KerbalEngineer.Helpers;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode
+{
+    public class NodeTimeToHalfBurn : ReadoutModule
+    {
+        #region Constructors
+
+        public NodeTimeToHalfBurn()
+        {
+            this.Name = "Time to Manoeuvre Burn";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!ManoeuvreProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine("Time to Node Burn", TimeFormatter.ConvertToString(ManoeuvreProcessor.UniversalTime - ManoeuvreProcessor.HalfBurnTime - Planetarium.GetUniversalTime()), section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            ManoeuvreProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            ManoeuvreProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeTimeToManoeuvre.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Flight.Sections;
+using KerbalEngineer.Helpers;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode
+{
+    public class NodeTimeToManoeuvre : ReadoutModule
+    {
+        #region Constructors
+
+        public NodeTimeToManoeuvre()
+        {
+            this.Name = "Time to Manoeuvre Node";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!ManoeuvreProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine("Time to Node", TimeFormatter.ConvertToString(ManoeuvreProcessor.UniversalTime - Planetarium.GetUniversalTime()), section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            ManoeuvreProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            ManoeuvreProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeTotalDeltaV.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Extensions;
+using KerbalEngineer.Flight.Sections;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode
+{
+    public class NodeTotalDeltaV : ReadoutModule
+    {
+        #region Constructors
+
+        public NodeTotalDeltaV()
+        {
+            this.Name = "Manoeuvre Node DeltaV (Total)";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!ManoeuvreProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine("Node DeltaV (Total)", ManoeuvreProcessor.TotalDeltaV.ToSpeed() + " (" + (ManoeuvreProcessor.HasDeltaV ? "S" + ManoeuvreProcessor.FinalStage : "X") + ")", section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            ManoeuvreProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            ManoeuvreProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- a/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
+++ b/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
@@ -25,6 +25,7 @@
 
 using KerbalEngineer.Flight.Readouts.Miscellaneous;
 using KerbalEngineer.Flight.Readouts.Orbital;
+using KerbalEngineer.Flight.Readouts.Orbital.ManoeuvreNode;
 using KerbalEngineer.Flight.Readouts.Rendezvous;
 using KerbalEngineer.Flight.Readouts.Surface;
 using KerbalEngineer.Flight.Readouts.Vessel;
@@ -90,6 +91,16 @@
                 readouts.Add(new SemiMinorAxis());
                 readouts.Add(new AngleToPrograde());
                 readouts.Add(new AngleToRetrograde());
+                readouts.Add(new NodeProgradeDeltaV());
+                readouts.Add(new NodeNormalDeltaV());
+                readouts.Add(new NodeRadialDeltaV());
+                readouts.Add(new NodeTotalDeltaV());
+                readouts.Add(new NodeBurnTime());
+                readouts.Add(new NodeHalfBurnTime());
+                readouts.Add(new NodeTimeToManoeuvre());
+                readouts.Add(new NodeTimeToHalfBurn());
+                readouts.Add(new NodeAngleToPrograde());
+                readouts.Add(new NodeAngleToRetrograde());
 
                 // Surface
                 readouts.Add(new AltitudeSeaLevel());

--- a/KerbalEngineer/Flight/Readouts/ReadoutModule.cs
+++ b/KerbalEngineer/Flight/Readouts/ReadoutModule.cs
@@ -89,6 +89,11 @@
         public bool IsDefault { get; set; }
 
         /// <summary>
+        ///     Gets the number of drawn lines.
+        /// </summary>
+        public int LineCount { get; private set; }
+
+        /// <summary>
         ///     Gets and sets the message style.
         /// </summary>
         public GUIStyle MessageStyle { get; set; }
@@ -139,6 +144,7 @@
 
         public void LineCountEnd()
         {
+            this.LineCount = this.lineCountEnd;
             if (this.lineCountEnd.CompareTo(this.lineCountStart) < 0)
             {
                 this.ResizeRequested = true;

--- a/KerbalEngineer/Flight/Readouts/Vessel/SimulationProcessor.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/SimulationProcessor.cs
@@ -82,6 +82,7 @@
         public void Update()
         {
             SimManager.RequestSimulation();
+            SimManager.TryStartSimulation();
 
             if (!SimManager.ResultsReady())
             {
@@ -103,9 +104,9 @@
                                               FlightGlobals.ActiveVessel.mainBody.GetAltitude(FlightGlobals.ActiveVessel.CoM), 2);
                 SimManager.Velocity = FlightGlobals.ActiveVessel.srfSpeed;
             }
+
             // Cybutek: We should be allowing this to be set too but not sure where you want to put the control
             //SimManager.vectoredThrust = vectoredThrust; 
-            SimManager.TryStartSimulation();
         }
 
         #endregion

--- a/KerbalEngineer/Flight/Sections/SectionModule.cs
+++ b/KerbalEngineer/Flight/Sections/SectionModule.cs
@@ -168,6 +168,11 @@
         public bool IsVisible { get; set; }
 
         /// <summary>
+        ///     Gets the number of drawn readout lines.
+        /// </summary>
+        public int LineCount { get; private set; }
+
+        /// <summary>
         ///     Gets and sets the name of the section.
         /// </summary>
         public string Name { get; set; }
@@ -351,6 +356,7 @@
                 GUILayout.BeginVertical(this.boxStyle);
             }
 
+            this.LineCount = 0;
             if (this.ReadoutModules.Count > 0)
             {
                 foreach (var readout in this.ReadoutModules)
@@ -358,11 +364,13 @@
                     readout.LineCountStart();
                     readout.Draw(this);
                     readout.LineCountEnd();
+                    this.LineCount += readout.LineCount;
                 }
             }
             else
             {
                 GUILayout.Label("No readouts are installed.", this.messageStyle);
+                this.LineCount = 1;
             }
 
             if (!this.IsHud)

--- a/KerbalEngineer/Flight/Sections/SectionWindow.cs
+++ b/KerbalEngineer/Flight/Sections/SectionWindow.cs
@@ -60,8 +60,8 @@
 
         #region Fields
 
+        private GUIStyle hudWindowBgStyle;
         private GUIStyle hudWindowStyle;
-        private GUIStyle hudWindowBgStyle;
         private GUIStyle windowStyle;
 
         #endregion
@@ -130,9 +130,11 @@
                 this.resizeRequested = false;
             }
             GUI.skin = null;
-            this.windowPosition = GUILayout.Window(this.windowId, this.windowPosition, this.Window, string.Empty, 
-                (!this.ParentSection.IsHud || this.ParentSection.IsEditorVisible) ? this.windowStyle 
-                : this.ParentSection.IsHudBackground ? this.hudWindowBgStyle : this.hudWindowStyle).ClampToScreen();
+            this.windowPosition = GUILayout.Window(this.windowId, this.windowPosition, this.Window, string.Empty,
+                                                   (!this.ParentSection.IsHud || this.ParentSection.IsEditorVisible) ? this.windowStyle
+                                                       : this.ParentSection.IsHudBackground && this.ParentSection.LineCount > 0
+                                                           ? this.hudWindowBgStyle
+                                                           : this.hudWindowStyle).ClampToScreen();
             this.ParentSection.FloatingPositionX = this.windowPosition.x;
             this.ParentSection.FloatingPositionY = this.windowPosition.y;
         }

--- a/KerbalEngineer/KerbalEngineer.csproj
+++ b/KerbalEngineer/KerbalEngineer.csproj
@@ -58,6 +58,17 @@
     <Compile Include="Flight\Readouts\Orbital\AngleToEquatorialAscendingNode.cs" />
     <Compile Include="Flight\Readouts\Orbital\AngleToRetrograde.cs" />
     <Compile Include="Flight\Readouts\Orbital\AngleToPrograde.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ManoeuvreNode\NodeRadialDeltaV.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ManoeuvreNode\ManoeuvreProcessor.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ManoeuvreNode\NodeTimeToHalfBurn.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ManoeuvreNode\NodeTimeToManoeuvre.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ManoeuvreNode\NodeHalfBurnTime.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ManoeuvreNode\NodeBurnTime.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ManoeuvreNode\NodeAngleToRetrograde.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ManoeuvreNode\NodeNormalDeltaV.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ManoeuvreNode\NodeAngleToPrograde.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ManoeuvreNode\NodeTotalDeltaV.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ManoeuvreNode\NodeProgradeDeltaV.cs" />
     <Compile Include="Flight\Readouts\Orbital\MeanAnomaly.cs" />
     <Compile Include="Flight\Readouts\Orbital\EccentricAnomaly.cs" />
     <Compile Include="Flight\Readouts\Orbital\ArgumentOfPeriapsis.cs" />

--- a/KerbalEngineer/VesselSimulator/Simulation.cs
+++ b/KerbalEngineer/VesselSimulator/Simulation.cs
@@ -344,6 +344,7 @@
             // Create the array of stages that will be returned
             Stage[] stages = new Stage[this.currentStage + 1];
 
+
             // Loop through the stages
             while (this.currentStage >= 0)
             {
@@ -495,6 +496,7 @@
 
                 // Store the magnitude of the deltaV vector
                 stage.deltaV = this.vecStageDeltaV.magnitude;
+                stage.resourceMass = this.stepStartMass - this.stepEndMass;
 
                 // Recalculate effective stage isp from the stage deltaV (flip the standard deltaV calculation around)
                 // Note: If the mass doesn't change then this is a divide by zero

--- a/KerbalEngineer/VesselSimulator/Stage.cs
+++ b/KerbalEngineer/VesselSimulator/Stage.cs
@@ -46,6 +46,7 @@
         public double totalMass = 0f;
         public double totalTime = 0f;
         public int partCount = 0;
+        public double resourceMass = 0.0;
 
         public void Dump()
         {

 Binary files a/Output/KerbalEngineer/KerbalEngineer.dll and b/Output/KerbalEngineer/KerbalEngineer.dll differ
--- /dev/null
+++ b/Output/KerbalEngineer/Settings/HelpStrings.xml
@@ -1,1 +1,319 @@
-
+<?xml version="1.0" encoding="utf-8"?>
+<ArrayOfSettingItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <SettingItem>
+    <Name>Orbital.ApoapsisHeight</Name>
+    <Value xsi:type="string">Shows the vessel's apoapsis height relative to sea level.  (Apoapsis is the highest point of an orbit.)</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.PeriapsisHeight</Name>
+    <Value xsi:type="string">Shows the vessel's periapsis height relative to sea level. (Periapsis is the lowest point of an orbit.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.TimeToApoapsis</Name>
+    <Value xsi:type="string">Shows the time until the vessel reaches apoapsis, the highest point of the orbit.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.TimeToPeriapsis</Name>
+    <Value xsi:type="string">Shows the time until the vessel reaches periapsis, the lowest point of the orbit.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.Inclination</Name>
+    <Value xsi:type="string">Shows the vessel's orbital inclination.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.TimeToEquatorialAscendingNode</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.TimeToEquatorialDescendingNode</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.AngleToEquatorialAscendingNode</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.AngleToEquatorialDescendingNode</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.Eccentricity</Name>
+    <Value xsi:type="string">Shows the vessel's orbital eccentricity.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.OrbitalSpeed</Name>
+    <Value xsi:type="string">Shows the vessel's orbital speed.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.OrbitalPeriod</Name>
+    <Value xsi:type="string">Shows the amount of time it will take to complete a full orbit.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.LongitudeOfAscendingNode</Name>
+    <Value xsi:type="string">Shows the vessel's longitude of the ascending node.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.LongitudeOfPeriapsis</Name>
+    <Value xsi:type="string">Shows the vessel's longitude of periapsis.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.ArgumentOfPeriapsis</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.TrueAnomaly</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.MeanAnomaly</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.EccentricAnomaly</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.SemiMajorAxis</Name>
+    <Value xsi:type="string">Shows the distance from the centre of an orbit to the farthest edge.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.SemiMinorAxis</Name>
+    <Value xsi:type="string">Shows the distance from the centre of an orbit to the nearest edge.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.AngleToPrograde</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Orbital.AngleToRetrograde</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.AltitudeSeaLevel</Name>
+    <Value xsi:type="string">Shows the vessel's altitude above sea level.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.AltitudeTerrain</Name>
+    <Value xsi:type="string">Shows the vessel's altitude above the terrain.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.VerticalSpeed</Name>
+    <Value xsi:type="string">Shows the vessel's vertical speed up and down.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.VerticalAcceleration</Name>
+    <Value xsi:type="string">Shows the vessel's vertical acceleration up and down.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.HorizontalSpeed</Name>
+    <Value xsi:type="string">Shows the vessel's horizontal speed across a celestial body's surface.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.HorizontalAcceleration</Name>
+    <Value xsi:type="string">Shows the vessel's horizontal acceleration across a celestial body's surface.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.Latitude</Name>
+    <Value xsi:type="string">Shows the vessel's latitude position around the celestial body.  Latitude is the angle from the equator to poles.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.Longitude</Name>
+    <Value xsi:type="string">Shows the vessel's longitude around a celestial body.  Longitude is the angle from the bodies prime meridian.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.GeeForce</Name>
+    <Value xsi:type="string">Shows the current g-force and maximum g-force experienced.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.TerminalVelocity</Name>
+    <Value xsi:type="string">Shows the velocity where the efforts of thrust and drag are equalled out.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.AtmosphericEfficiency</Name>
+    <Value xsi:type="string">Shows you vessel's efficiency as a ratio of the current velocity and terminal velocity.  Less than 1 means that you are losing efficiency due to gravity and greater than 1 is due to drag.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.Biome</Name>
+    <Value xsi:type="string">Shows the biome which the vessel is currently flying over.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.Slope</Name>
+    <Value xsi:type="string">Shows the slope of the terrain below your vessel.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.ImpactTime</Name>
+    <Value xsi:type="string">Shows how much time until your ship impacts the surface.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.ImpactLongitude</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.ImpactLatitude</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.ImpactAltitude</Name>
+    <Value xsi:type="string">The altitude of which you will impact the surface.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Surface.ImpactBiome</Name>
+    <Value xsi:type="string">Shows the biome you will impact in.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.DeltaVStaged</Name>
+    <Value xsi:type="string">Shows the vessel's delta velocity for each stage.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.DeltaVCurrent</Name>
+    <Value xsi:type="string">Shows the vessel's current stage delta velocity.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.DeltaVTotal</Name>
+    <Value xsi:type="string">Shows the vessel's total delta velocity.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.SpecificImpulse</Name>
+    <Value xsi:type="string">The ISP of your vessel.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.Mass</Name>
+    <Value xsi:type="string">The total mass of your vessel.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.Thrust</Name>
+    <Value xsi:type="string">The thrust of your vessel.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.ThrustToWeight</Name>
+    <Value xsi:type="string">Shows the vessel's actual and total thrust to weight ratio.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.SurfaceThrustToWeight</Name>
+    <Value xsi:type="string">Shows the vessel's surface thrust to weight ratio.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.Acceleration</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.SuicideBurnAltitude</Name>
+    <Value xsi:type="string">Shows the altitude when to start a suicide burn.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.SuicideBurnDistance</Name>
+    <Value xsi:type="string">Shows the distance to the point at which to start a suicide burn.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.SuicideBurnDeltaV</Name>
+    <Value xsi:type="string">Shows the DeltaV of a suicide burn.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.IntakeAirUsage</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.IntakeAirDemand</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.IntakeAirSupply</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Vessel.IntakeAirDemandSupply</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.TargetSelector</Name>
+    <Value xsi:type="string">A tool to allow easy browsing, searching and selection of targets.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.PhaseAngle</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.InterceptAngle</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.RelativeVelocity</Name>
+    <Value xsi:type="string">Shows the relative velocity between your vessel and the target object.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.RelativeSpeed</Name>
+    <Value xsi:type="string">Shows the difference in orbital speed between your vessel and the target object.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.RelativeInclination</Name>
+    <Value xsi:type="string">Shows the relative inclination between your vessel and the target object.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.TimeToRelativeAscendingNode</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.TimeToRelativeDescendingNode</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.AngleToRelativeAscendingNode</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.AngleToRelativeDescendingNode</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.AltitudeSeaLevel</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.ApoapsisHeight</Name>
+    <Value xsi:type="string">Shows the altitude of your apoapsis</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.PeriapsisHeight</Name>
+    <Value xsi:type="string">Shows the altitude of your periapsis</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.TimeToApoapsis</Name>
+    <Value xsi:type="string">The time until you reach your apoapsis</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.TimeToPeriapsis</Name>
+    <Value xsi:type="string">The time until you reach your periapsis</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.Distance</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.OrbitalPeriod</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.SemiMajorAxis</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Rendezvous.SemiMinorAxis</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Miscellaneous.Separator</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Miscellaneous.GuiSizeAdjustor</Name>
+    <Value xsi:type="string">Shows a control that will allow you to adjust the GUI size.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Miscellaneous.SimulationDelay</Name>
+    <Value xsi:type="string">Controls the minimum delay between processing vessel simulations.</Value>
+  </SettingItem>
+  <SettingItem>
+    <Name>Miscellaneous.TimeReference</Name>
+    <Value xsi:type="string"></Value>
+  </SettingItem>
+</ArrayOfSettingItem>