Added readouts.
Added readouts.

--- a/KerbalEngineer/Editor/BuildAdvanced.cs
+++ b/KerbalEngineer/Editor/BuildAdvanced.cs
@@ -377,7 +377,7 @@
                 {
                     if (this.showAllStages || stage.deltaV > 0)
                     {
-                        //GUILayout.Label(stage.PartCount.ToString("N0"), this.infoStyle);
+                        GUILayout.Label(stage.partCount.ToString("N0"), this.infoStyle);
                     }
                 }
                 GUILayout.EndVertical();
@@ -807,7 +807,7 @@
                 {
                     GUILayout.BeginHorizontal(this.areaStyle);
                     this.DrawStageNumbers();
-                    //this.DrawPartCount();
+                    this.DrawPartCount();
                     this.DrawCost();
                     this.DrawMass();
                     this.DrawIsp();

--- a/KerbalEngineer/Extensions/OrbitExtensions.cs
+++ b/KerbalEngineer/Extensions/OrbitExtensions.cs
@@ -29,12 +29,93 @@
 {
     public static class OrbitExtensions
     {
+        #region Constants
+
         public const double Tau = Math.PI * 2.0;
+
+        #endregion
+
+        #region Methods: public
+
+        public static double GetAngleToAscendingNode(this Orbit orbit)
+        {
+            return GetAngleToTrueAnomaly(orbit, GetTrueAnomalyOfAscendingNode(orbit));
+        }
+
+        public static double GetAngleToDescendingNode(this Orbit orbit)
+        {
+            return GetAngleToTrueAnomaly(orbit, GetTrueAnomalyOfDescendingNode(orbit));
+        }
+
+        public static double GetAngleToPrograde(this Orbit orbit)
+        {
+            if (orbit.referenceBody == CelestialBodies.SystemBody.CelestialBody)
+            {
+                return 0.0;
+            }
+
+            var angle = AngleBetweenVectors(orbit.getRelativePositionAtUT(Planetarium.GetUniversalTime()),
+                                            Vector3d.Exclude(orbit.GetOrbitNormal(), orbit.referenceBody.orbit.getRelativePositionAtUT(Planetarium.GetUniversalTime())));
+
+            angle = (angle + 90.0).ClampTo(0.0, 360.0);
+
+            return orbit.inclination < 90.0 ? angle : 360.0 - angle;
+        }
+
+        public static double GetAngleToRetrograde(this Orbit orbit)
+        {
+            if (orbit.referenceBody == CelestialBodies.SystemBody.CelestialBody)
+            {
+                return 0.0;
+            }
+
+            var angle = AngleBetweenVectors(orbit.getRelativePositionAtUT(Planetarium.GetUniversalTime()),
+                                            Vector3d.Exclude(orbit.GetOrbitNormal(), orbit.referenceBody.orbit.getRelativePositionAtUT(Planetarium.GetUniversalTime())));
+
+            angle = (angle - 90.0).ClampTo(0.0, 360.0);
+
+            return orbit.inclination < 90.0 ? angle : 360.0 - angle;
+        }
+
+        public static double GetAngleToTrueAnomaly(this Orbit orbit, double tA)
+        {
+            return (tA - orbit.trueAnomaly).ClampTo(0.0, 360.0);
+        }
+
+        public static double GetAngleToVector(this Orbit orbit, Vector3d vector)
+        {
+            return GetAngleToTrueAnomaly(orbit, GetTrueAnomalyFromVector(orbit, Vector3d.Exclude(orbit.GetOrbitNormal(), vector)));
+        }
+
+        public static double GetPhaseAngle(this Orbit orbit, Orbit target)
+        {
+            return AngleBetweenVectors(orbit.pos, Vector3d.Exclude(orbit.GetOrbitNormal(), target.pos));
+        }
+
+        public static double GetTimeToAscendingNode(this Orbit orbit)
+        {
+            return GetTimeToTrueAnomaly(orbit, GetTrueAnomalyOfAscendingNode(orbit));
+        }
+
+        public static double GetTimeToDescendingNode(this Orbit orbit)
+        {
+            return GetTimeToTrueAnomaly(orbit, GetTrueAnomalyOfDescendingNode(orbit));
+        }
 
         public static double GetTimeToTrueAnomaly(this Orbit orbit, double tA)
         {
             var time = orbit.GetDTforTrueAnomaly(tA * Mathf.Deg2Rad, orbit.period);
             return time < 0.0 ? time + orbit.period : time;
+        }
+
+        public static double GetTimeToVector(this Orbit orbit, Vector3d vector)
+        {
+            return GetTimeToTrueAnomaly(orbit, GetTrueAnomalyFromVector(orbit, vector));
+        }
+
+        public static double GetTrueAnomalyFromVector(this Orbit orbit, Vector3d vector)
+        {
+            return orbit.GetTrueAnomalyOfZupVector(vector) * Mathf.Rad2Deg;
         }
 
         public static double GetTrueAnomalyOfAscendingNode(this Orbit orbit)
@@ -47,59 +128,23 @@
             return 180.0 - orbit.argumentOfPeriapsis;
         }
 
-        public static double GetAngleToAscendingNode(this Orbit orbit)
+        #endregion
+
+        #region Methods: private
+
+        private static double AngleBetweenVectors(Vector3d vector1, Vector3d vector2)
         {
-            return GetAngleToTrueAnomaly(orbit, GetTrueAnomalyOfAscendingNode(orbit));
+            var angle = Vector3d.Angle(vector1, vector2);
+            var rotated = QuaternionD.AngleAxis(90.0, Vector3d.forward) * vector1;
+
+            if (Vector3d.Angle(rotated, vector2) > 90.0)
+            {
+                angle = 360.0 - angle;
+            }
+
+            return angle;
         }
 
-        public static double GetAngleToDescendingNode(this Orbit orbit)
-        {
-            return GetAngleToTrueAnomaly(orbit, GetTrueAnomalyOfDescendingNode(orbit));
-        }
-
-        public static double GetTimeToAscendingNode(this Orbit orbit)
-        {
-            return GetTimeToTrueAnomaly(orbit, GetTrueAnomalyOfAscendingNode(orbit));
-        }
-
-        public static double GetTimeToDescendingNode(this Orbit orbit)
-        {
-            return GetTimeToTrueAnomaly(orbit, GetTrueAnomalyOfDescendingNode(orbit));
-        }
-
-        public static double GetTrueAnomalyFromVector(this Orbit orbit, Vector3d vector)
-        {
-            return orbit.GetTrueAnomalyOfZupVector(vector) * Mathf.Rad2Deg;
-        }
-
-        public static double GetAngleToTrueAnomaly(this Orbit orbit, double tA)
-        {
-            return (tA - orbit.trueAnomaly).ClampTo(0.0, 360.0);
-        }
-
-        public static double GetTimeToVector(this Orbit orbit, Vector3d vector)
-        {
-            return GetTimeToTrueAnomaly(orbit, GetTrueAnomalyFromVector(orbit, vector));
-        }
-
-        public static double GetAngleToVector(this Orbit orbit, Vector3d vector)
-        {
-            return GetAngleToTrueAnomaly(orbit, GetTrueAnomalyFromVector(orbit, Vector3d.Exclude(orbit.GetOrbitNormal(), vector)));
-        }
-
-        public static double GetPhaseAngle(this Orbit orbit, Orbit target)
-        {
-            var originPosition = orbit.pos;
-            var targetPosition = Vector3d.Exclude(orbit.GetOrbitNormal(), target.pos);
-            var phase = Vector3d.Angle(originPosition, targetPosition);
-            var rotated = QuaternionD.AngleAxis(90.0, Vector3d.forward) * originPosition;
-
-            if (Vector3d.Angle(rotated, targetPosition) > 90.0)
-            {
-                phase = 360.0 - phase;
-            }
-
-            return phase;
-        }
+        #endregion
     }
 }

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Miscellaneous/SimulationDelay.cs
@@ -1,1 +1,50 @@
+// 
+//     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 KerbalEngineer.VesselSimulator;
+
+using UnityEngine;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Miscellaneous
+{
+    public class SimulationDelay : ReadoutModule
+    {
+        public SimulationDelay()
+        {
+            this.Name = "Minimum Simulation Delay";
+            this.Category = ReadoutCategory.GetCategory("Miscellaneous");
+            this.HelpString = "Controls the minimum delay between processing vessel simulations.";
+            this.IsDefault = true;
+        }
+
+        public override void Draw()
+        {
+            GUILayout.BeginHorizontal();
+            GUILayout.Label("Sim Delay", this.NameStyle);
+            GUI.skin = HighLogic.Skin;
+            SimManager.minSimTime = (long)GUILayout.HorizontalSlider(SimManager.minSimTime, 0, 1000.0f);
+            GUI.skin = null;
+            GUILayout.EndHorizontal();
+        }
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/AngleToPrograde.cs
@@ -1,1 +1,53 @@
+// 
+//     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;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital
+{
+    public class AngleToPrograde : ReadoutModule
+    {
+        #region Constructors
+
+        public AngleToPrograde()
+        {
+            this.Name = "Angle to Prograde";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw()
+        {
+            this.DrawLine(FlightGlobals.ship_orbit.GetAngleToPrograde().ToAngle());
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/AngleToRetrograde.cs
@@ -1,1 +1,53 @@
+// 
+//     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;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital
+{
+    public class AngleToRetrograde : ReadoutModule
+    {
+        #region Constructors
+
+        public AngleToRetrograde()
+        {
+            this.Name = "Angle to Retrograde";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw()
+        {
+            this.DrawLine(FlightGlobals.ship_orbit.GetAngleToRetrograde().ToAngle());
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ArgumentOfPeriapsis.cs
@@ -1,1 +1,45 @@
+// 
+//     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;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital
+{
+    public class ArgumentOfPeriapsis : ReadoutModule
+    {
+        public ArgumentOfPeriapsis()
+        {
+            this.Name = "Arg. Of Periapsis";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        public override void Draw()
+        {
+            this.DrawLine(FlightGlobals.ship_orbit.argumentOfPeriapsis.ToAngle());
+        }
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/EccentricAnomaly.cs
@@ -1,1 +1,45 @@
+// 
+//     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;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital
+{
+    public class EccentricAnomaly : ReadoutModule
+    {
+        public EccentricAnomaly()
+        {
+            this.Name = "Eccentric Anomaly";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        public override void Draw()
+        {
+            this.DrawLine(FlightGlobals.ship_orbit.eccentricAnomaly.ToAngle());
+        }
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Orbital/MeanAnomaly.cs
@@ -1,1 +1,45 @@
+// 
+//     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;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Orbital
+{
+    public class MeanAnomaly : ReadoutModule
+    {
+        public MeanAnomaly()
+        {
+            this.Name = "Mean Anomaly";
+            this.Category = ReadoutCategory.GetCategory("Orbital");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        public override void Draw()
+        {
+            this.DrawLine(FlightGlobals.ship_orbit.meanAnomaly.ToAngle());
+        }
+    }
+}

--- a/KerbalEngineer/Flight/Readouts/Orbital/SemiMajorAxis.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/SemiMajorAxis.cs
@@ -27,17 +27,25 @@
 {
     public class SemiMajorAxis : ReadoutModule
     {
+        #region Constructors
+
         public SemiMajorAxis()
         {
-            this.Name = "Semi-Major Axis";
+            this.Name = "Semi-major Axis";
             this.Category = ReadoutCategory.GetCategory("Orbital");
             this.HelpString = "Shows the distance from the centre of an orbit to the farthest edge.";
             this.IsDefault = true;
         }
 
+        #endregion
+
+        #region Methods: public
+
         public override void Draw()
         {
             this.DrawLine(FlightGlobals.ship_orbit.semiMajorAxis.ToDistance("N3"));
         }
+
+        #endregion
     }
 }

--- a/KerbalEngineer/Flight/Readouts/Orbital/SemiMinorAxis.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/SemiMinorAxis.cs
@@ -27,17 +27,25 @@
 {
     public class SemiMinorAxis : ReadoutModule
     {
+        #region Constructors
+
         public SemiMinorAxis()
         {
-            this.Name = "Semi-Minor Axis";
+            this.Name = "Semi-minor Axis";
             this.Category = ReadoutCategory.GetCategory("Orbital");
             this.HelpString = "Shows the distance from the centre of an orbit to the nearest edge.";
             this.IsDefault = true;
         }
 
+        #endregion
+
+        #region Methods: public
+
         public override void Draw()
         {
             this.DrawLine(FlightGlobals.ship_orbit.semiMinorAxis.ToDistance("N3"));
         }
+
+        #endregion
     }
 }

--- a/KerbalEngineer/Flight/Readouts/Orbital/TrueAnomaly.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/TrueAnomaly.cs
@@ -19,6 +19,8 @@
 
 #region Using Directives
 
+using System;
+
 using KerbalEngineer.Extensions;
 
 #endregion
@@ -31,7 +33,7 @@
         {
             this.Name = "True Anomaly";
             this.Category = ReadoutCategory.GetCategory("Orbital");
-            this.HelpString = string.Empty;
+            this.HelpString = String.Empty;
             this.IsDefault = true;
         }
 

--- a/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
+++ b/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
@@ -34,6 +34,8 @@
 using ApoapsisHeight = KerbalEngineer.Flight.Readouts.Orbital.ApoapsisHeight;
 using OrbitalPeriod = KerbalEngineer.Flight.Readouts.Orbital.OrbitalPeriod;
 using PeriapsisHeight = KerbalEngineer.Flight.Readouts.Orbital.PeriapsisHeight;
+using SemiMajorAxis = KerbalEngineer.Flight.Readouts.Orbital.SemiMajorAxis;
+using SemiMinorAxis = KerbalEngineer.Flight.Readouts.Orbital.SemiMinorAxis;
 using TimeToApoapsis = KerbalEngineer.Flight.Readouts.Orbital.TimeToApoapsis;
 using TimeToPeriapsis = KerbalEngineer.Flight.Readouts.Orbital.TimeToPeriapsis;
 
@@ -79,9 +81,14 @@
                 readouts.Add(new OrbitalPeriod());
                 readouts.Add(new LongitudeOfAscendingNode());
                 readouts.Add(new LongitudeOfPeriapsis());
+                readouts.Add(new ArgumentOfPeriapsis());
                 readouts.Add(new TrueAnomaly());
+                readouts.Add(new MeanAnomaly());
+                readouts.Add(new EccentricAnomaly());
                 readouts.Add(new SemiMajorAxis());
                 readouts.Add(new SemiMinorAxis());
+                readouts.Add(new AngleToPrograde());
+                readouts.Add(new AngleToRetrograde());
 
                 // Surface
                 readouts.Add(new AltitudeSeaLevel());
@@ -112,7 +119,6 @@
                 readouts.Add(new IntakeAirDemand());
                 readouts.Add(new IntakeAirSupply());
                 readouts.Add(new IntakeAirSupplyDemand());
-                readouts.Add(new SimulationDelay());
 
                 // Rendezvous
                 readouts.Add(new TargetSelector());
@@ -130,10 +136,13 @@
                 readouts.Add(new Rendezvous.TimeToPeriapsis());
                 readouts.Add(new Distance());
                 readouts.Add(new Rendezvous.OrbitalPeriod());
+                readouts.Add(new Rendezvous.SemiMajorAxis());
+                readouts.Add(new Rendezvous.SemiMinorAxis());
 
                 // Misc
                 readouts.Add(new Separator());
                 readouts.Add(new GuiSizeAdjustor());
+                readouts.Add(new SimulationDelay());
                 readouts.Add(new TimeReference());
 
                 LoadHelpStrings();
@@ -159,7 +168,15 @@
 
         #endregion
 
-        #region Public Methods
+        #region Methods: public
+
+        /// <summary>
+        ///     Gets a list of readout modules which are associated with the specified category.
+        /// </summary>
+        public static List<ReadoutModule> GetCategory(ReadoutCategory category)
+        {
+            return readouts.Where(r => r.Category == category).ToList();
+        }
 
         /// <summary>
         ///     Gets a readout module with the specified name or class name. (Returns null if not found.)
@@ -170,14 +187,6 @@
         }
 
         /// <summary>
-        ///     Gets a list of readout modules which are associated with the specified category.
-        /// </summary>
-        public static List<ReadoutModule> GetCategory(ReadoutCategory category)
-        {
-            return readouts.Where(r => r.Category == category).ToList();
-        }
-
-        /// <summary>
         ///     Resets all the readout modules.
         /// </summary>
         public static void Reset()
@@ -190,7 +199,7 @@
 
         #endregion
 
-        #region Private Methods
+        #region Methods: private
 
         /// <summary>
         ///     Loads the help strings from file.

--- a/KerbalEngineer/Flight/Readouts/Rendezvous/RendezvousProcessor.cs
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/RendezvousProcessor.cs
@@ -128,6 +128,16 @@
         ///     Gets the orbital period of the target orbit.
         /// </summary>
         public static double OrbitalPeriod { get; private set; }
+
+        /// <summary>
+        ///     Gets the semi-major axis of the target orbit.
+        /// </summary>
+        public static double SemiMajorAxis { get; private set; }
+
+        /// <summary>
+        ///     Gets the semi-minor axis of the target orbit.
+        /// </summary>
+        public static double SemiMinorAxis { get; private set; }
 
         #endregion
 
@@ -163,6 +173,8 @@
             PeriapsisHeight = this.targetOrbit.PeA;
             TimeToApoapsis = this.targetOrbit.timeToAp;
             TimeToPeriapsis = this.targetOrbit.timeToPe;
+            SemiMajorAxis = this.targetOrbit.semiMajorAxis;
+            SemiMinorAxis = this.targetOrbit.semiMinorAxis;
 
             Distance = Vector3d.Distance(this.targetOrbit.pos, this.originOrbit.pos);
             OrbitalPeriod = this.targetOrbit.period;

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/SemiMajorAxis.cs
@@ -1,1 +1,66 @@
+// 
+//     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;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Rendezvous
+{
+    public class SemiMajorAxis : ReadoutModule
+    {
+        #region Constructors
+
+        public SemiMajorAxis()
+        {
+            this.Name = "Semi-major Axis";
+            this.Category = ReadoutCategory.GetCategory("Rendezvous");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw()
+        {
+            if (RendezvousProcessor.ShowDetails)
+            {
+                this.DrawLine(RendezvousProcessor.SemiMajorAxis.ToDistance("N3"));
+            }
+        }
+
+        public override void Reset()
+        {
+            FlightEngineerCore.Instance.AddUpdatable(RendezvousProcessor.Instance);
+        }
+
+        public override void Update()
+        {
+            RendezvousProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/SemiMinorAxis.cs
@@ -1,1 +1,66 @@
+// 
+//     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;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Rendezvous
+{
+    public class SemiMinorAxis : ReadoutModule
+    {
+        #region Constructors
+
+        public SemiMinorAxis()
+        {
+            this.Name = "Semi-minor Axis";
+            this.Category = ReadoutCategory.GetCategory("Rendezvous");
+            this.HelpString = String.Empty;
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw()
+        {
+            if (RendezvousProcessor.ShowDetails)
+            {
+                this.DrawLine(RendezvousProcessor.SemiMajorAxis.ToDistance("N3"));
+            }
+        }
+
+        public override void Reset()
+        {
+            FlightEngineerCore.Instance.AddUpdatable(RendezvousProcessor.Instance);
+        }
+
+        public override void Update()
+        {
+            RendezvousProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- a/KerbalEngineer/Flight/Readouts/Vessel/SimulationDelay.cs
+++ /dev/null
@@ -1,50 +1,1 @@
-// 
-//     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 KerbalEngineer.VesselSimulator;
-
-using UnityEngine;
-
-#endregion
-
-namespace KerbalEngineer.Flight.Readouts.Vessel
-{
-    public class SimulationDelay : ReadoutModule
-    {
-        public SimulationDelay()
-        {
-            this.Name = "Minimum Simulation Delay";
-            this.Category = ReadoutCategory.GetCategory("Vessel");
-            this.HelpString = "Controls the minimum delay between processing vessel simulations.";
-            this.IsDefault = true;
-        }
-
-        public override void Draw()
-        {
-            GUILayout.BeginHorizontal();
-            GUILayout.Label("Sim Delay", this.NameStyle);
-            GUI.skin = HighLogic.Skin;
-            SimManager.minSimTime = (long)GUILayout.HorizontalSlider(SimManager.minSimTime, 0, 1000.0f);
-            GUI.skin = null;
-            GUILayout.EndHorizontal();
-        }
-    }
-}

--- a/KerbalEngineer/KerbalEngineer.csproj
+++ b/KerbalEngineer/KerbalEngineer.csproj
@@ -69,9 +69,16 @@
     <Compile Include="Flight\Readouts\Miscellaneous\GuiSizeAdjustor.cs" />
     <Compile Include="Flight\Readouts\Orbital\AngleToEquatorialDescendingNode.cs" />
     <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\MeanAnomaly.cs" />
+    <Compile Include="Flight\Readouts\Orbital\EccentricAnomaly.cs" />
+    <Compile Include="Flight\Readouts\Orbital\ArgumentOfPeriapsis.cs" />
     <Compile Include="Flight\Readouts\Orbital\TrueAnomaly.cs" />
     <Compile Include="Flight\Readouts\Orbital\TimeToEquatorialAscendingNode.cs" />
     <Compile Include="Flight\Readouts\Orbital\TimeToEquatorialDescendingNode.cs" />
+    <Compile Include="Flight\Readouts\Rendezvous\SemiMinorAxis.cs" />
+    <Compile Include="Flight\Readouts\Rendezvous\SemiMajorAxis.cs" />
     <Compile Include="Flight\Readouts\Rendezvous\TimeToRelativeDescendingNode.cs" />
     <Compile Include="Flight\Readouts\Rendezvous\TimeToRelativeAscendingNode.cs" />
     <Compile Include="Flight\Readouts\Surface\ImpactBiome.cs" />
@@ -80,7 +87,7 @@
     <Compile Include="Flight\Readouts\Vessel\IntakeAirSupplyDemand.cs" />
     <Compile Include="Flight\Readouts\Vessel\IntakeAirSupply.cs" />
     <Compile Include="Flight\Readouts\Vessel\IntakeAirDemand.cs" />
-    <Compile Include="Flight\Readouts\Vessel\SimulationDelay.cs" />
+    <Compile Include="Flight\Readouts\Miscellaneous\SimulationDelay.cs" />
     <Compile Include="Flight\Readouts\Vessel\SimulationProcessor.cs" />
     <Compile Include="Flight\Readouts\Vessel\Acceleration.cs" />
     <Compile Include="Flight\Presets\PresetLibrary.cs" />

--- a/Output/CHANGES.txt
+++ b/Output/CHANGES.txt
@@ -1,6 +1,28 @@
 1.0.7.0
+	Added: Preset systems to the Flight Engineer.
+	Added: Time formatter which can show time as referenced by any celestial body.
     Added: Part count information to the Build Engineer.
-    Added: IntakeAir Supply & Demand readouts to the vessel category.
+    Added: New readouts to the orbital category:
+    	- True Anomaly
+    	- Eccentric Anomaly
+    	- Mean Anomaly
+    	- Argument of Periapsis
+    	- Angle to Prograde
+    	- Angle to Retrograde
+
+    Added: New readouts to the vessel category:
+    	- Intake Air (Demand)
+    	- Intake Air (Supply)
+    	- Intake Air (Supply/Demand)
+
+    Added: new readouts to the rendezvous category.
+    	- Semi-major Axis
+    	- Semi-minor Axis
+
+    Added: New readouts to the miscellaneous category:
+    	- Time Reference Adjuster
+
+    Changed: Moved Sim Delay readout into the Miscellaneous category.
     Changed: Updated MiniAVC to v1.0.2.3.
 	Fixed: Issues with large value wrap around in the Flight Engineer.
 

 Binary files a/Output/KerbalEngineer/KerbalEngineer.dll and b/Output/KerbalEngineer/KerbalEngineer.dll differ