VOID_Styles: Removed 'Ready' property because we weren't using it.
VOID_Styles: Removed 'Ready' property because we weren't using it.

--- a/VOIDCore_Generic.cs
+++ b/VOIDCore_Generic.cs
@@ -432,59 +432,32 @@
 				}
 			}
 
-			if (ToolbarManager.ToolbarAvailable && this.useToolbarManager)
-			{
-				if (this.ToolbarButton == null)
-				{
-					this.ToolbarButton = ToolbarManager.Instance.add(this.VoidName, "coreToggle");
-					this.ToolbarButton.Text = this.VoidName;
-					this.SetIconTexture(this.powerState | this.activeState);
-
-					this.ToolbarButton.Visible = true;
-
-					this.ToolbarButton.OnClick += 
-						(e) =>
-						{
-							this.ToggleMainWindow();
-						};
-
-					Logging.PostDebugMessage(string.Format("{0}: Toolbar Button initialized.", this.GetType().Name));
-				}
-
+			if (this.useToolbarManager)
+			{
 				if (this.AppLauncherButton != null)
 				{
 					ApplicationLauncher.Instance.RemoveModApplication(this.AppLauncherButton);
 					this.AppLauncherButton = null;
 				}
+
+				if (this.ToolbarButton == null)
+				{
+					this.InitializeToolbarButton();
+				}
 			}
 			else
 			{
-				if (this.AppLauncherButton == null)
-				{
-					if (ApplicationLauncher.Instance != null)
-					{
-						this.AppLauncherButton = ApplicationLauncher.Instance.AddModApplication(
-							this.ToggleMainWindow, this.ToggleMainWindow,
-							this.appIconVisibleScenes,
-							this.VOIDIconTexture
-						);
-
-						Logging.PostDebugMessage(
-							this,
-							"AppLauncherButton initialized in {0}",
-							Enum.GetName(
-								typeof(GameScenes),
-								HighLogic.LoadedScene
-							)
-						);
-					}
-				}
-
 				if (this.ToolbarButton != null)
 				{
 					this.ToolbarButton.Destroy();
 					this.ToolbarButton = null;
 				}
+
+				if (this.AppLauncherButton == null)
+				{
+					this.InitializeAppLauncherButton();
+				}
+
 			}
 
 			this.saveTimer += Time.deltaTime;
@@ -1038,6 +1011,51 @@
 				SimManager.OnReady += this.GetSimManagerResults;
 
 				this.simManagerLoaded = true;
+			}
+		}
+
+		protected void InitializeToolbarButton()
+		{
+			// Do nothing if (the Toolbar is not available.
+			if (!ToolbarManager.ToolbarAvailable)
+			{
+				Logging.PostDebugMessage(this, "Refusing to make a ToolbarButton: ToolbarAvailable = false");
+				return;
+			}
+
+			this.ToolbarButton = ToolbarManager.Instance.add(this.VoidName, "coreToggle");
+			this.ToolbarButton.Text = this.VoidName;
+			this.SetIconTexture(this.powerState | this.activeState);
+
+			this.ToolbarButton.Visible = true;
+
+			this.ToolbarButton.OnClick += 
+				(e) =>
+			{
+				this.ToggleMainWindow();
+			};
+
+			Logging.PostDebugMessage(string.Format("{0}: Toolbar Button initialized.", this.GetType().Name));
+		}
+
+		protected void InitializeAppLauncherButton()
+		{
+			if (ApplicationLauncher.Ready)
+			{
+				this.AppLauncherButton = ApplicationLauncher.Instance.AddModApplication(
+					this.ToggleMainWindow, this.ToggleMainWindow,
+					this.appIconVisibleScenes,
+					this.VOIDIconTexture
+				);
+
+				Logging.PostDebugMessage(
+					this,
+					"AppLauncherButton initialized in {0}",
+					Enum.GetName(
+						typeof(GameScenes),
+						HighLogic.LoadedScene
+					)
+				);
 			}
 		}
 

--- a/VOID_EditorHUD.cs
+++ b/VOID_EditorHUD.cs
@@ -201,29 +201,17 @@
 		{
 			float hudLeft;
 
-			try
-			{
-				switch (EditorLogic.fetch.editorScreen)
-				{
-					case EditorScreen.Parts:
-						hudLeft = 16f + EditorPanels.Instance.partsEditor.panelTransform.rect.width +
-							EditorPanels.Instance.partcategorizerModes.transform.localPosition.x;
-						break;
-					case EditorScreen.Actions:
-						hudLeft = EditorPanels.Instance.actions.transform.localPosition.x + 464f;
-						break;
-					default:
-						return;
-				}
-			}
-			catch (NullReferenceException)
-			{
-				Logging.PostErrorMessage(
-					"[{0}]: Something was null when fetching panel geometry; skipping frame.",
-					this.GetType().FullName
-				);
-
-				return;
+			switch (EditorLogic.fetch.editorScreen)
+			{
+				case EditorScreen.Parts:
+					hudLeft = 16f + EditorPanels.Instance.partsEditor.panelTransform.rect.width +
+						EditorPanels.Instance.partcategorizerModes.transform.localPosition.x;
+					break;
+				case EditorScreen.Actions:
+					hudLeft = EditorPanels.Instance.actions.transform.localPosition.x + 464f;
+					break;
+				default:
+					return;
 			}
 
 			base.DrawGUI(this);

--- a/VOID_HUDAdvanced.cs
+++ b/VOID_HUDAdvanced.cs
@@ -80,7 +80,7 @@
 			this.leftHUD = new HUDWindow("leftHUD",
 				this.leftHUDWindow,
 				new Rect(
-					Screen.width * .5f - 300f - 220f * GameSettings.UI_SCALE,
+					Screen.width * .5f - (float)GameSettings.UI_SCALE * .25f - 300f,
 					Screen.height - 200f,
 					300f, 90f)
 			);
@@ -90,7 +90,7 @@
 				"rightHUD",
 				this.rightHUDWindow,
 				new Rect(
-					Screen.width * .5f + 180f * GameSettings.UI_SCALE,
+					Screen.width * .5f + (float)GameSettings.UI_SCALE * .25f,
 					Screen.height - 200f,
 					300f, 90f)
 			);
@@ -257,6 +257,8 @@
 
 		public override void DrawConfigurables()
 		{
+			base.DrawConfigurables();
+
 			if (GUILayout.Button(string.Intern("Reset Advanced HUD Positions"), GUILayout.ExpandWidth(false)))
 			{
 				HUDWindow window;

--- a/VOID_StageInfo.cs
+++ b/VOID_StageInfo.cs
@@ -281,11 +281,11 @@
 
 		public override void DrawConfigurables()
 		{
-			/*this.showColumnSelection = GUILayout.Toggle(
+			this.showColumnSelection = GUILayout.Toggle(
 				this.showColumnSelection,
 				"Select StageInfo Columns",
 				GUI.skin.button
-			);*/
+			);
 		}
 
 		private void BodyPickerWindow(int _)

--- a/VOID_Styles.cs
+++ b/VOID_Styles.cs
@@ -33,12 +33,6 @@
 {
 	public static class VOID_Styles
 	{
-		public static bool Ready
-		{
-			get;
-			private set;
-		}
-
 		public static GUIStyle labelDefault
 		{
 			get;
@@ -115,17 +109,12 @@
 
 			labelGreen = new GUIStyle(GUI.skin.label);
 			labelGreen.normal.textColor = Color.green;
-
-			Ready = true;
 		}
 
 		static VOID_Styles()
 		{
 			OnSkinChanged();
-
-			Ready = false;
 		}
 	}
 }
 
-