VOID_VesselInfo: Fixed resource mass to actually display resource mass.
VOID_VesselInfo: Fixed resource mass to actually display resource mass.

--- a/VOID_CBInfoBrowser.cs
+++ b/VOID_CBInfoBrowser.cs
@@ -274,14 +274,14 @@
 
 			GUILayout.Label((body.Radius / 1000).ToString("##,#") + "km", VOID_Core.Instance.LabelStyles["right"], GUILayout.ExpandWidth(true));
 
-			GUILayout.Label(((Math.Pow((body.Radius), 2) * 4 * Math.PI) / 1000).ToString("0.00e+00") + "km²", VOID_Core.Instance.LabelStyles["right"], GUILayout.ExpandWidth(true));
+			GUILayout.Label((((body.Radius * body.Radius) * 4 * Math.PI) / 1000).ToString("0.00e+00") + "km²", VOID_Core.Instance.LabelStyles["right"], GUILayout.ExpandWidth(true));
 
 			// divide by 1000 to convert m to km
-			GUILayout.Label((((4d / 3) * Math.PI * Math.Pow(body.Radius, 3)) / 1000).ToString("0.00e+00") + "km³", VOID_Core.Instance.LabelStyles["right"], GUILayout.ExpandWidth(true));
+			GUILayout.Label((((4d / 3) * Math.PI * (body.Radius * body.Radius * body.Radius)) / 1000).ToString("0.00e+00") + "km³", VOID_Core.Instance.LabelStyles["right"], GUILayout.ExpandWidth(true));
 
 			GUILayout.Label(body.Mass.ToString("0.00e+00") + "kg", VOID_Core.Instance.LabelStyles["right"], GUILayout.ExpandWidth(true));
 
-			double p = body.Mass / (Math.Pow(body.Radius, 3) * (4d / 3) * Math.PI);
+			double p = body.Mass / ((body.Radius * body.Radius * body.Radius) * (4d / 3) * Math.PI);
 
 			GUILayout.Label(p.ToString("##,#") + "kg/m³", VOID_Core.Instance.LabelStyles["right"], GUILayout.ExpandWidth(true));
 
@@ -299,7 +299,7 @@
 
 			GUILayout.Label(num_art_sats.ToString(), VOID_Core.Instance.LabelStyles["right"], GUILayout.ExpandWidth(true));
 
-			double g_ASL = (VOID_Core.Constant_G * body.Mass) / Math.Pow(body.Radius, 2);
+			double g_ASL = (VOID_Core.Constant_G * body.Mass) / (body.Radius * body.Radius);
 
 			GUILayout.Label(Tools.MuMech_ToSI(g_ASL) + "m/s²", VOID_Core.Instance.LabelStyles["right"], GUILayout.ExpandWidth(true));
 

--- a/VOID_Core.cs
+++ b/VOID_Core.cs
@@ -480,8 +480,9 @@
 
 			if (this.vessel != null && this.vesselSimActive)
 			{
+				double radius = VOID_Core.Instance.vessel.Radius();
 				SimManager.Gravity = VOID_Core.Instance.vessel.mainBody.gravParameter /
-					Math.Pow(VOID_Core.Instance.vessel.Radius(), 2);
+					(radius * radius);
 				SimManager.TryStartSimulation();
 			}
 			else if (!this.vesselSimActive)

--- a/VOID_DataLogger.cs
+++ b/VOID_DataLogger.cs
@@ -234,7 +234,7 @@
 			line += vessel.flightIntegrator.getExternalTemperature().ToString("F2") + ";";
 			//gravity
 			double r_vessel = vessel.mainBody.Radius + vessel.mainBody.GetAltitude(vessel.findWorldCenterOfMass());
-			double g_vessel = (VOID_Core.Constant_G * vessel.mainBody.Mass) / Math.Pow(r_vessel, 2);
+			double g_vessel = (VOID_Core.Constant_G * vessel.mainBody.Mass) / (r_vessel * r_vessel);
 			line += g_vessel.ToString("F3") + ";";
 			//atm density
 			line += (vessel.atmDensity * 1000).ToString("F3") + ";";

--- a/VOID_HUDAdvanced.cs
+++ b/VOID_HUDAdvanced.cs
@@ -351,8 +351,13 @@
 				thrustDir /= thrust;
 			}
 
+			Transform vesselTransform = core.vessel.transform;
+
+			thrustPos = vesselTransform.InverseTransformPoint(thrustPos);
+			thrustDir = vesselTransform.InverseTransformDirection(thrustDir);
+
 			Vector3d thrustOffset = VectorTools.PointDistanceToLine(
-				thrustPos, thrustDir.normalized, core.vessel.findWorldCenterOfMass());
+				thrustPos, thrustDir.normalized, core.vessel.findLocalCenterOfMass());
 
 			Tools.PostDebugMessage(typeof(VOID_Data), "vesselThrustOffset:\n" +
 				"\tthrustPos: {0}\n" +

--- a/VOID_Orbital.cs
+++ b/VOID_Orbital.cs
@@ -186,7 +186,7 @@
 			double orbitRadius = VOID_Core.Instance.vessel.mainBody.Radius +
 				VOID_Core.Instance.vessel.mainBody.GetAltitude(VOID_Core.Instance.vessel.findWorldCenterOfMass());
 			return (VOID_Core.Constant_G * VOID_Core.Instance.vessel.mainBody.Mass) /
-				Math.Pow(orbitRadius, 2);
+				(orbitRadius * orbitRadius);
 		},
 			"m/s²"
 		);

--- a/VOID_Rendezvous.cs
+++ b/VOID_Rendezvous.cs
@@ -193,7 +193,13 @@
 					GUILayout.Label(Tools.MuMech_ToSI((vessel.findWorldCenterOfMass() - v.findWorldCenterOfMass()).magnitude) + "m", GUILayout.ExpandWidth(false));
 					GUILayout.EndHorizontal();
 
-					//target_vessel_extended_orbital_info = GUILayout.Toggle(target_vessel_extended_orbital_info, "Extended info");
+					// Toadicus edit: added local sidereal longitude.
+					GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
+					GUILayout.Label("Local Sidereal Longitude:");
+					GUILayout.Label(LSL.ToString("F3") + "°", VOID_Core.Instance.LabelStyles["right"]);
+					GUILayout.EndHorizontal();
+
+					toggleExtendedOrbital.value = GUILayout.Toggle(toggleExtendedOrbital, "Extended info");
 
 					if (toggleExtendedOrbital)
 					{
@@ -237,12 +243,6 @@
 						GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
 						GUILayout.Label("Arg. of periapsis:");
 						GUILayout.Label(v.orbit.argumentOfPeriapsis.ToString("F3") + "°", GUILayout.ExpandWidth(false));
-						GUILayout.EndHorizontal();
-
-						// Toadicus edit: added local sidereal longitude.
-						GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
-						GUILayout.Label("Local Sidereal Longitude:");
-						GUILayout.Label(LSL.ToString("F3") + "°", VOID_Core.Instance.LabelStyles["right"]);
 						GUILayout.EndHorizontal();
 					}
 				}

--- a/VOID_Tools.cs
+++ b/VOID_Tools.cs
@@ -345,8 +345,14 @@
 		//transfer angles
 		public static double Nivvy_CalcTransferPhaseAngle(double r_current, double r_target, double grav_param)
 		{
-			double T_target = (2 * Math.PI) * Math.Sqrt(Math.Pow((r_target / 1000), 3) / (grav_param / 1000000000));
-			double T_transfer = (2 * Math.PI) * Math.Sqrt(Math.Pow((((r_target / 1000) + (r_current / 1000)) / 2), 3) / (grav_param / 1000000000));
+			r_target /= 1000;
+			r_current /= 1000;
+			grav_param /= 1000000000;
+
+			double midpoint = (r_target + r_current) / 2;
+
+			double T_target = (2 * Math.PI) * Math.Sqrt((r_target * r_target * r_target) / grav_param);
+			double T_transfer = (2 * Math.PI) * Math.Sqrt((midpoint * midpoint * midpoint) / grav_param);
 			return 360 * (0.5 - (T_transfer / (2 * T_target)));
 		}
 
@@ -385,7 +391,7 @@
             r = r1*r2
             return math.sqrt(bar / r)
             */
-			double foo = r2 * Math.Pow(v, 2) - 2 * mu;
+			double foo = r2 * (v * v) - 2 * mu;
 			double bar = r1 * foo + (2 * r2 * mu);
 			double r = r1 * r2;
 			return Math.Sqrt(bar / r);
@@ -407,9 +413,9 @@
             return 180 - degrees
             */
 			double epsilon, h, ee, theta, degrees;
-			epsilon = (Math.Pow(v, 2) / 2) - (mu / r);
+			epsilon = ((v * v) / 2) - (mu / r);
 			h = r * v * Math.Sin(angle);
-			ee = Math.Sqrt(1 + ((2 * epsilon * Math.Pow(h, 2)) / Math.Pow(mu, 2)));
+			ee = Math.Sqrt(1 + ((2 * epsilon * (h * h)) / (mu * mu)));
 			theta = Math.Acos(1.0 / ee);
 			degrees = theta * (180.0 / Math.PI);
 			return 180 - degrees;

--- a/VOID_VesselInfo.cs
+++ b/VOID_VesselInfo.cs
@@ -127,7 +127,7 @@
 					return double.NaN;
 				}
 
-				return SimManager.LastStage.totalBaseMass;
+				return SimManager.LastStage.totalMass - SimManager.LastStage.totalBaseMass;
 			},
 			"tons"
 		);
@@ -231,7 +231,7 @@
 				double maxThrust = SimManager.LastStage.thrust;
 				double mass = SimManager.LastStage.totalMass;
 				double gravity = (VOID_Core.Constant_G * VOID_Core.Instance.vessel.mainBody.Mass) /
-					Math.Pow(VOID_Core.Instance.vessel.mainBody.Radius, 2);
+				(VOID_Core.Instance.vessel.mainBody.Radius * VOID_Core.Instance.vessel.mainBody.Radius);
 				double weight = mass * gravity;
 
 				return maxThrust / weight;