VOID_DataValue: Improvements to DoHorizontalPrec for negative magnitudes.
VOID_DataValue: Improvements to DoHorizontalPrec for negative magnitudes.

--- a/VOID_DataValue.cs
+++ b/VOID_DataValue.cs
@@ -235,19 +235,26 @@
 
 		public virtual int DoGUIHorizontalPrec(int digits)
 		{
-			float magnitude;
-			float magLimit;
-
-			magnitude = (float)Math.Log10(Math.Abs(this));
-
-			magLimit = Mathf.Max(magnitude, 6f);
-			magLimit = Mathf.Round((float)Math.Ceiling(magLimit / 3f) * 3f);
+			double magnitude;
+			double magLimit;
+
+			magnitude = Math.Log10(Math.Abs((double)this));
+
+			magLimit = Math.Max(Math.Abs(magnitude), 3d) + 3d;
+			magLimit = Math.Round(Math.Ceiling(magLimit / 3f)) * 3d;
 
 			GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
 			GUILayout.Label(this.Label + "ⁱ:", GUILayout.ExpandWidth(true));
 			GUILayout.FlexibleSpace();
 
-			GUILayout.Label(this.ValueUnitString(3, int.MinValue, (int)magnitude - digits), GUILayout.ExpandWidth(false));
+			if (magnitude >= 0)
+			{
+				GUILayout.Label(this.ValueUnitString(3, int.MinValue, (int)magnitude - digits), GUILayout.ExpandWidth(false));
+			}
+			else
+			{
+				GUILayout.Label(this.ValueUnitString(3, (int)magnitude + digits, int.MaxValue), GUILayout.ExpandWidth(false));
+			}
 			GUILayout.EndHorizontal();
 
 			if (Event.current.type == EventType.mouseUp)
@@ -255,6 +262,11 @@
 				Rect lastRect = GUILayoutUtility.GetLastRect();
 				if (lastRect.Contains(Event.current.mousePosition))
 				{
+					Tools.PostDebugMessage(string.Format("{0}: Changing digits from {1} within magLimit {2}.",
+						this.GetType().Name,
+						digits,
+						magLimit));
+
 					if (Event.current.button == 0)
 					{
 						digits = (digits + 3) % (int)magLimit;
@@ -266,8 +278,18 @@
 
 					if (digits < 0)
 					{
-						digits = (int)magLimit - 3;
+						digits += (int)magLimit;
 					}
+
+					Tools.PostDebugMessage(string.Format("{0}: Changed digits to {1}." +
+						"\n\tNew minMagnitude: {2}, maxMagnitude: {3}" +
+						"\n\tMagnitude: {4}",
+						this.GetType().Name,
+						digits,
+						magnitude >= 0 ? int.MinValue : (int)magnitude - 4 + digits,
+						magnitude >= 0 ? (int)magnitude - digits : int.MaxValue,
+						magnitude
+					));
 				}
 			}
 

--- a/VOID_VesselInfo.cs
+++ b/VOID_VesselInfo.cs
@@ -53,55 +53,29 @@
 				VOID_Core.Instance.LabelStyles["center_bold"],
 				GUILayout.ExpandWidth(true));
 
-			Tools.PostDebugMessage("Starting VesselInfo window.");
-
 			VOID_Data.geeForce.DoGUIHorizontal ("F2");
 
-			Tools.PostDebugMessage("GeeForce done.");
-
 			VOID_Data.partCount.DoGUIHorizontal ();
 
-			Tools.PostDebugMessage("PartCount done.");
-
 			VOID_Data.totalMass.DoGUIHorizontal ("F1");
 
-			Tools.PostDebugMessage("TotalMass done.");
-
 			VOID_Data.resourceMass.DoGUIHorizontal ("F1");
 
-			Tools.PostDebugMessage("ResourceMass done.");
-
 			VOID_Data.stageDeltaV.DoGUIHorizontal (3, false);
 
-			Tools.PostDebugMessage("Stage deltaV done.");
-
 			VOID_Data.totalDeltaV.DoGUIHorizontal (3, false);
 
-			Tools.PostDebugMessage("Total deltaV done.");
-
 			VOID_Data.mainThrottle.DoGUIHorizontal ("F0");
 
-			Tools.PostDebugMessage("MainThrottle done.");
-
 			VOID_Data.currmaxThrust.DoGUIHorizontal ();
 
-			Tools.PostDebugMessage("CurrMaxThrust done.");
-
 			VOID_Data.currmaxThrustWeight.DoGUIHorizontal ();
 
-			Tools.PostDebugMessage("CurrMaxTWR done.");
-
 			VOID_Data.surfaceThrustWeight.DoGUIHorizontal ("F2");
 
-			Tools.PostDebugMessage("surfaceTWR done.");
-
 			VOID_Data.intakeAirStatus.DoGUIHorizontal();
 
-			Tools.PostDebugMessage("intakeAirStatus done.");
-
 			GUILayout.EndVertical();
-
-			Tools.PostDebugMessage("VesselInfo window done.");
 
 			GUI.DragWindow();
 		}