Various fixes.
Various fixes.

--- a/KerbalEngineer/Editor/BuildToolbar.cs
+++ b/KerbalEngineer/Editor/BuildToolbar.cs
@@ -20,6 +20,7 @@
 #region Using Directives

 

 using System;

+using System.IO;

 

 using UnityEngine;

 

@@ -50,7 +51,12 @@
                     null,

                     null,

                     ApplicationLauncher.AppScenes.ALWAYS,

-                    GameDatabase.Instance.GetTexture("KerbalEngineer/ToolbarIcon", false)

+                    GameDatabase.Instance.GetTexture("KerbalEngineer/ToolbarIcon", false) ?? new Func<Texture>(() =>

+                    {

+                        var t = new Texture2D(38, 38, TextureFormat.RGBA32, false);

+                        t.LoadImage(File.ReadAllBytes(Path.Combine(EngineerGlobals.AssemblyPath, "ToolbarIcon.png")));

+                        return t;

+                    })()

                     );

                 Logger.Log("BuildToolbar->OnGuiAppLauncherReady");

             }


--- a/KerbalEngineer/Flight/ActionMenu.cs
+++ b/KerbalEngineer/Flight/ActionMenu.cs
@@ -21,6 +21,7 @@
 

 using System;

 using System.Collections.Generic;

+using System.IO;

 

 using KerbalEngineer.Flight.Sections;

 using KerbalEngineer.Settings;

@@ -45,12 +46,12 @@
 

         #region Fields

 

+        private ApplicationLauncherButton button;

         private bool isOpen;

         private int numberOfSections;

         private float scrollPercent;

         private int windowId;

         private Rect windowPosition = new Rect(Screen.width - 250.0f, 40.0f, 250.0f, 0);

-        private ApplicationLauncherButton button; 

 

         #endregion

 

@@ -86,7 +87,12 @@
                     null,

                     null,

                     ApplicationLauncher.AppScenes.ALWAYS,

-                    GameDatabase.Instance.GetTexture("KerbalEngineer/ToolbarIcon", false)

+                    GameDatabase.Instance.GetTexture("KerbalEngineer/ToolbarIcon", false) ?? new Func<Texture>(() =>

+                    {

+                        var t = new Texture2D(38, 38, TextureFormat.RGBA32, false);

+                        t.LoadImage(File.ReadAllBytes(Path.Combine(EngineerGlobals.AssemblyPath, "ToolbarIcon.png")));

+                        return t;

+                    })()

                     );

                 Logger.Log("ActionMenu->OnGuiAppLauncherReady");

             }


--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Misc/ChangeGuiSize.cs
@@ -1,1 +1,49 @@
-
+// 

+//     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/>.

+// 

+

+using UnityEngine;

+

+namespace KerbalEngineer.Flight.Readouts.Misc

+{

+    public class ChangeGuiSize : ReadoutModule

+    {

+        public ChangeGuiSize()

+        {

+            this.Name = "Change GUI Size";

+            this.Category = ReadoutCategory.Misc;

+            this.HelpString = "Shows a control that will allow you to change the GUI size.";

+            this.IsDefault = false;

+        }

+

+        public override void Draw()

+        {

+            GUILayout.BeginHorizontal();

+            GUILayout.Label("GUI Size: " + GuiDisplaySize.Increment, this.NameStyle);

+            if (GUILayout.Button("<", this.ButtonStyle))

+            {

+                GuiDisplaySize.Increment--;

+            }

+            if (GUILayout.Button(">", this.ButtonStyle))

+            {

+                GuiDisplaySize.Increment++;

+            }

+            GUILayout.EndHorizontal();

+        }

+    }

+}

--- a/KerbalEngineer/Flight/Readouts/Miscellaneous/ChangeGuiSize.cs
+++ /dev/null
@@ -1,49 +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/>.

-// 

-

-using UnityEngine;

-

-namespace KerbalEngineer.Flight.Readouts.Miscellaneous

-{

-    public class ChangeGuiSize : ReadoutModule

-    {

-        public ChangeGuiSize()

-        {

-            this.Name = "Change GUI Size";

-            this.Category = ReadoutCategory.Miscellaneous;

-            this.HelpString = "Shows a control that will allow you to change the GUI size.";

-            this.IsDefault = false;

-        }

-

-        public override void Draw()

-        {

-            GUILayout.BeginHorizontal();

-            GUILayout.Label("GUI Size: " + GuiDisplaySize.Increment, this.NameStyle);

-            if (GUILayout.Button("<", this.ButtonStyle))

-            {

-                GuiDisplaySize.Increment--;

-            }

-            if (GUILayout.Button(">", this.ButtonStyle))

-            {

-                GuiDisplaySize.Increment++;

-            }

-            GUILayout.EndHorizontal();

-        }

-    }

-}
+

--- a/KerbalEngineer/Flight/Readouts/ReadoutCategory.cs
+++ b/KerbalEngineer/Flight/Readouts/ReadoutCategory.cs
@@ -29,6 +29,6 @@
         Surface = 2,

         Vessel = 4,

         Rendezvous = 8,

-        Miscellaneous = 16

+        Misc = 16

     }

 }

--- a/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
+++ b/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
@@ -22,7 +22,7 @@
 using System.Collections.Generic;

 using System.Linq;

 

-using KerbalEngineer.Flight.Readouts.Miscellaneous;

+using KerbalEngineer.Flight.Readouts.Misc;

 using KerbalEngineer.Flight.Readouts.Orbital;

 using KerbalEngineer.Flight.Readouts.Rendezvous;

 using KerbalEngineer.Flight.Readouts.Surface;

@@ -125,7 +125,7 @@
             this.readoutModules.Add(new Distance());

             this.readoutModules.Add(new Rendezvous.OrbitalPeriod());

 

-            // Miscellaneous

+            // Misc

             this.readoutModules.Add(new  ChangeGuiSize());

 

             this.LoadHelpStrings();


--- a/KerbalEngineer/Flight/Readouts/Rendezvous/OrbitalPeriod.cs
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/OrbitalPeriod.cs
@@ -47,7 +47,7 @@
                 return;

             }

 

-            this.DrawLine(RendezvousProcessor.OrbitalPeriod.ToTime());

+            this.DrawLine(RendezvousProcessor.OrbitalPeriod.ToTime("F3"));

         }

 

         public override void Reset()


--- a/KerbalEngineer/Flight/Readouts/Rendezvous/TargetSelector.cs
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/TargetSelector.cs
@@ -29,7 +29,7 @@
     {

         #region Fields

 

-        private readonly float typeButtonWidth;

+        private float typeButtonWidth;

         private string searchQuery = string.Empty;

         private string searchText = string.Empty;

         private int targetCount;

@@ -48,7 +48,6 @@
             this.Category = ReadoutCategory.Rendezvous;

             this.HelpString = "A tool to allow easy browsing, searching and selection of targets.";

             this.IsDefault = true;

-            this.typeButtonWidth = Mathf.Round(this.ContentWidth * 0.5f);

         }

 

         #endregion

@@ -98,7 +97,7 @@
         private void DrawSearch()

         {

             GUILayout.BeginHorizontal();

-            GUILayout.Label("SEARCH:", this.FlexiLabelStyle, GUILayout.Width(60.0f));

+            GUILayout.Label("SEARCH:", this.FlexiLabelStyle, GUILayout.Width(60.0f * GuiDisplaySize.Offset));

 

             this.searchText = GUILayout.TextField(this.searchText, this.TextFieldStyle);

 

@@ -125,6 +124,8 @@
         /// </summary>

         private void DrawTypes()

         {

+            this.typeButtonWidth = Mathf.Round(this.ContentWidth * 0.5f);

+

             GUILayout.BeginHorizontal();

             if (GUILayout.Button("Celestial Bodies", this.ButtonStyle, GUILayout.Width(this.typeButtonWidth)))

             {


--- a/KerbalEngineer/Flight/Sections/SectionEditor.cs
+++ b/KerbalEngineer/Flight/Sections/SectionEditor.cs
@@ -271,10 +271,10 @@
                 this.selectedCategory = ReadoutCategory.Rendezvous;

             }

 

-            isSelected = this.selectedCategory == ReadoutCategory.Miscellaneous;

-            if (GUILayout.Toggle(isSelected, ReadoutCategory.Miscellaneous.ToString().ToUpper(), this.categoryButtonStyle) && !isSelected)

-            {

-                this.selectedCategory = ReadoutCategory.Miscellaneous;

+            isSelected = this.selectedCategory == ReadoutCategory.Misc;

+            if (GUILayout.Toggle(isSelected, ReadoutCategory.Misc.ToString().ToUpper(), this.categoryButtonStyle) && !isSelected)

+            {

+                this.selectedCategory = ReadoutCategory.Misc;

             }

             GUILayout.EndHorizontal();

         }


--- a/KerbalEngineer/KerbalEngineer.csproj
+++ b/KerbalEngineer/KerbalEngineer.csproj
@@ -61,7 +61,7 @@
     <Compile Include="CelestialBodies.cs" />

     <Compile Include="Editor\BuildToolbar.cs" />

     <Compile Include="Flight\FlightEngineerPartless.cs" />

-    <Compile Include="Flight\Readouts\Miscellaneous\ChangeGuiSize.cs" />

+    <Compile Include="Flight\Readouts\Misc\ChangeGuiSize.cs" />

     <Compile Include="Flight\Readouts\Surface\ImpactBiome.cs" />

     <Compile Include="Flight\Readouts\Surface\Slope.cs" />

     <Compile Include="Flight\Readouts\Surface\Biome.cs" />


 Binary files a/Output/KerbalEngineer/KerbalEngineer.dll and b/Output/KerbalEngineer/KerbalEngineer.dll differ
--- a/Output/ReadMe.htm
+++ b/Output/ReadMe.htm
@@ -111,7 +111,7 @@
 

 		<section>

 			<h3>Current Version</h3>

-			<p>1.0.1.0</p>

+			<p>1.0.2.0</p>

 		</section>

 

 		<section>

@@ -154,6 +154,18 @@
 		<section>

 			<h3>Change Log</h3>

 			<ul id='changelog'>

+				<li>

+					1.0.2.0

+					<ul>

+						<li>Added: Adjustable GUI display size.</li>

+						<li>Added: Display size can be adjusted in the Build Engineer settings.</li>

+						<li>Added: Misc readout for adjusting display size in the Flight Engineer.</li>

+						<li>Changed: The rendezvous readout for the target's Orbital Period has higher precision.</li>

+						<li>Fixed: White toolbar icon by manually importing the texture if it cannot be found in the game database.</li>

+						<li>Fixed: Engines that have a minimum thrust are now calculated properly. (Thanks to nosscire.)</li>

+						<li>Fixed: Compact collapse mode is now saved in the Build Engineer.</li>

+					</ul>

+				</li>

 				<li>

 					1.0.1.0

 					<ul>