Deploy reworking, Windows edition.
Deploy reworking, Windows edition.

--- a/CoreStrut.cs
+++ b/CoreStrut.cs
@@ -1,14 +1,33 @@
-// QuantumStrutsContinued © 2014 toadicus
-//
-// This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a
-// copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/
-//
-// Continued from QuantumStrut, © 2013 BoJaN.  Used with permission.
+// QuantumStrutsContinued
+//
+// CoreStrut.cs
+// 
+// Continued from QuantumStruts by BoJaN.  Used by permission.
+//
+// ModuleManager patches © 2014 K3|Chris.  Used by permission.
+//
+// Copyright © 2014, toadicus
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation and/or other
+//    materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 using UnityEngine;
 
 namespace QuantumStrut

--- /dev/null
+++ b/GameData/QuantumStrutsContinued/KASifyQSC.cfg
@@ -1,1 +1,41 @@
+// QuantumStrutsContinued
+// 
+// Continued from QuantumStruts by BoJaN.  Used by permission.
+//
+// ModuleManager patches © 2014 K3|Chris.  Used by permission.
+// 
+// Copyright © 2014, toadicus, K3|Chris
+// All rights reserved.
+// 
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+// 
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+// 
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation and/or other
+//    materials provided with the distribution.
+// 
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+@PART[*]:HAS[@MODULE[QuantumStrut]]
+{
+MODULE
+{
+	name = KASModuleGrab
+	evaPartPos = (0.0, 0.0, -0.15)
+	evaPartDir = (0,0,-1)
+	storable = true
+	storedSize = 2
+	attachOnPart = True
+	attachOnEva = False
+	attachOnStatic = False
+}
+}

--- /dev/null
+++ b/GameData/QuantumStrutsContinued/LICENSE
@@ -1,1 +1,26 @@
+QuantumStrutsContinued
 
+Continued from QuantumStruts by BoJaN.  Used by permission.
+
+ModuleManager patches © 2014 K3|Chris.  Used by permission.
+
+Copyright © 2014, toadicus
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation and/or other
+materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 Binary files /dev/null and b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/quantumStrut/model.mu differ
 Binary files /dev/null and b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/quantumStrut/model000.mbm differ
 Binary files /dev/null and b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/quantumStrut/model001.mbm differ
--- /dev/null
+++ b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/quantumStrut/part.cfg
@@ -1,1 +1,82 @@
+// QuantumStrutsContinued
+// 
+// Continued from QuantumStruts by BoJaN.  Used by permission.
+//
+// ModuleManager patches © 2014 K3|Chris.  Used by permission.
+// 
+// Copyright © 2014, toadicus
+// All rights reserved.
+// 
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+// 
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+// 
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation and/or other
+//    materials provided with the distribution.
+// 
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+PART
+{
+// --- general parameters ---
+name = QuantumStrut
+module = Part
+author = BoJaN
+
+// --- asset parameters ---
+mesh = model.mu
+rescaleFactor = 0.6
+
+// --- node definitions ---
+// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
+node_attach = 0.0, 0.0 , 0.0, 0.0, -1.0, 0.0
+
+// --- editor parameters ---
+TechRequired = advScienceTech
+cost = 1500
+category = Utility
+subcategory = 0
+title = Quantum Strut
+manufacturer = Bojantek Corporation
+description = Highly experimental quantum struts harness a form of quantum locking to add support for docked vessels.
+
+// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
+attachRules = 0,1,0,1,1
+
+// --- standard part parameters ---
+mass = 0.05
+dragModelType = default
+maximum_drag = 0.01
+minimum_drag = 0.01
+angularDrag = 0.1
+crashTolerance = 50
+breakingForce = 50
+breakingTorque = 50
+maxTemp = 3400
+
+MODULE
+{
+    name = QuantumStrut
+	IsEnabled = true
+	PowerConsumption = 0.01
+	
+	Material = Particles/Additive
+	StartColor = 57, 146, 181
+	EndColor = 11, 29, 36
+	StartSize = 0.03
+	EndSize = 0.0025
+	
+	Start = 0,0,0
+	Dir = 0,1,0
+}
+
+}

 Binary files /dev/null and b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/quantumStrutCore/model.mu differ
 Binary files /dev/null and b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/quantumStrutCore/model000.mbm differ
 Binary files /dev/null and b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/quantumStrutCore/model001.mbm differ
--- /dev/null
+++ b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/quantumStrutCore/part.cfg
@@ -1,1 +1,82 @@
+// QuantumStrutsContinued
+// 
+// Continued from QuantumStruts by BoJaN.  Used by permission.
+//
+// ModuleManager patches © 2014 K3|Chris.  Used by permission.
+// 
+// Copyright © 2014, toadicus
+// All rights reserved.
+// 
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+// 
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+// 
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation and/or other
+//    materials provided with the distribution.
+// 
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+PART
+{
+// --- general parameters ---
+name = quantumStrutCore
+module = Part
+author = BoJaN
+
+// --- asset parameters ---
+mesh = model.mu
+scale = 1
+rescaleFactor = 1
+iconCenter = 0, 3, 0
+
+// --- node definitions ---
+// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
+node_stack_top = 0, 0.1990267, 0, 0.0, 1.0, 0.0
+node_stack_bottom = 0, -0.1990267, 0, 0.0, 1.0, 0.0
+
+// --- FX definitions ---
+
+
+// --- editor parameters ---
+cost = 7500
+category = Utility
+subcategory = 0
+title = Quantum Core
+manufacturer = Bojantek Corporation
+description = A quantum core capable of sustaining a number of quantum struts.
+
+// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
+attachRules = 1,0,1,1,0
+
+// --- standard part parameters ---
+mass = 0.1
+dragModelType = default
+maximum_drag = 0.2
+minimum_drag = 0.2
+angularDrag = 2
+crashTolerance = 9
+maxTemp = 3400
+
+MODULE
+{
+    name = QuantumStrutCore
+	IsEnabled = true
+	PowerConsumption = 0.012
+	MaxStruts = 8
+	
+	Material = Particles/Additive
+	StartColor = 57, 146, 181
+	EndColor = 11, 29, 36
+	StartSize = 0.03
+	EndSize = 0.0075
+}
+}

 Binary files /dev/null and b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/strutGun/model.mu differ
 Binary files /dev/null and b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/strutGun/model000.mbm differ
 Binary files /dev/null and b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/strutGun/model001.mbm differ
--- /dev/null
+++ b/GameData/QuantumStrutsContinued/Parts/QuantumStruts/strutGun/part.cfg
@@ -1,1 +1,81 @@
+// QuantumStrutsContinued
+// 
+// Continued from QuantumStruts by BoJaN.  Used by permission.
+//
+// ModuleManager patches © 2014 K3|Chris.  Used by permission.
+// 
+// Copyright © 2014, toadicus
+// All rights reserved.
+// 
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+// 
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+// 
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation and/or other
+//    materials provided with the distribution.
+// 
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+PART
+{
+// --- general parameters ---
+name = StrutGun
+module = Part
+author = BoJaN
+
+// --- asset parameters ---
+mesh = model.mu
+rescaleFactor = 0.6
+
+// --- node definitions ---
+// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
+node_attach = 0.0, 0.0 , 0.0, 0.0, -1.0, 0.0
+
+// --- editor parameters ---
+TechRequired = advScienceTech
+cost = 500
+category = Utility
+subcategory = 0
+title = Strut Gun
+manufacturer = Bojantek Corporation
+description = A radial strut gun for attaching and detatching struts when needed
+
+// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
+attachRules = 0,1,0,1,1
+
+// --- standard part parameters ---
+mass = 0.05
+dragModelType = default
+maximum_drag = 0.01
+minimum_drag = 0.01
+angularDrag = 0.1
+crashTolerance = 50
+breakingForce = 50
+breakingTorque = 50
+maxTemp = 3400
+
+MODULE
+{
+    name = QuantumStrut
+	IsEnabled = true
+	PowerConsumption = 0.01
+	
+	Material = KSP/Sprite
+	StartColor = 50, 50, 50
+	EndColor = 50, 50, 50
+	StartSize = 0.03
+	EndSize = 0.03
+	
+	Start = 0,0,0
+	Dir = 0,1,0
+}
+}

 Binary files /dev/null and b/GameData/QuantumStrutsContinued/Plugins/QuantumStrutsContinued.dll differ
 Binary files a/Parts/QuantumStruts/quantumStrut/model.mu and /dev/null differ
 Binary files a/Parts/QuantumStruts/quantumStrut/model000.mbm and /dev/null differ
 Binary files a/Parts/QuantumStruts/quantumStrut/model001.mbm and /dev/null differ
--- a/Parts/QuantumStruts/quantumStrut/part.cfg
+++ /dev/null
@@ -1,53 +1,1 @@
-PART

-{

-// --- general parameters ---

-name = QuantumStrut

-module = Part

-author = BoJaN

-

-// --- asset parameters ---

-mesh = model.mu

-rescaleFactor = 0.6

-

-// --- node definitions ---

-// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z

-node_attach = 0.0, 0.0 , 0.0, 0.0, -1.0, 0.0

-

-// --- editor parameters ---

-cost = 1500

-category = Utility

-subcategory = 0

-title = Quantum Strut

-manufacturer = Bojantek Corporation

-description = Highly experimental quantum struts harness a form of quantum locking to add support for docked vessels.

-

-// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision

-attachRules = 0,1,0,1,1

-

-// --- standard part parameters ---

-mass = 0.05

-dragModelType = default

-maximum_drag = 0.01

-minimum_drag = 0.01

-angularDrag = 0.1

-crashTolerance = 50

-breakingForce = 50

-breakingTorque = 50

-maxTemp = 3400

-

-MODULE

-{

-    name = QuantumStrut

-	IsEnabled = true

-	PowerConsumption = 0.01

-	

-	Material = Particles/Additive

-	StartColor = 57, 146, 181

-	EndColor = 11, 29, 36

-	StartSize = 0.03

-	EndSize = 0.0025

-	

-	Start = 0,0,0

-	Dir = 0,1,0

-}

-}
+

 Binary files a/Parts/QuantumStruts/quantumStrutCore/model.mu and /dev/null differ
 Binary files a/Parts/QuantumStruts/quantumStrutCore/model000.mbm and /dev/null differ
 Binary files a/Parts/QuantumStruts/quantumStrutCore/model001.mbm and /dev/null differ
--- a/Parts/QuantumStruts/quantumStrutCore/part.cfg
+++ /dev/null
@@ -1,55 +1,1 @@
-PART

-{

-// --- general parameters ---

-name = quantumStrutCore

-module = Part

-author = BoJaN

-

-// --- asset parameters ---

-mesh = model.mu

-scale = 1

-rescaleFactor = 1

-iconCenter = 0, 3, 0

-

-// --- node definitions ---

-// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z

-node_stack_top = 0, 0.1990267, 0, 0.0, 1.0, 0.0

-node_stack_bottom = 0, -0.1990267, 0, 0.0, 1.0, 0.0

-

-// --- FX definitions ---

-

-

-// --- editor parameters ---

-cost = 7500

-category = Utility

-subcategory = 0

-title = Quantum Core

-manufacturer = Bojantek Corporation

-description = A quantum core capable of sustaining a number of quantum struts.

-

-// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision

-attachRules = 1,0,1,1,0

-

-// --- standard part parameters ---

-mass = 0.1

-dragModelType = default

-maximum_drag = 0.2

-minimum_drag = 0.2

-angularDrag = 2

-crashTolerance = 9

-maxTemp = 3400

-

-MODULE

-{

-    name = QuantumStrutCore

-	IsEnabled = true

-	PowerConsumption = 0.012

-	MaxStruts = 8

-	

-	Material = Particles/Additive

-	StartColor = 57, 146, 181

-	EndColor = 11, 29, 36

-	StartSize = 0.03

-	EndSize = 0.0075

-}

-}
+

 Binary files a/Parts/QuantumStruts/strutGun/model.mu and /dev/null differ
 Binary files a/Parts/QuantumStruts/strutGun/model000.mbm and /dev/null differ
 Binary files a/Parts/QuantumStruts/strutGun/model001.mbm and /dev/null differ
--- a/Parts/QuantumStruts/strutGun/part.cfg
+++ /dev/null
@@ -1,53 +1,1 @@
-PART

-{

-// --- general parameters ---

-name = StrutGun

-module = Part

-author = BoJaN

-

-// --- asset parameters ---

-mesh = model.mu

-rescaleFactor = 0.6

-

-// --- node definitions ---

-// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z

-node_attach = 0.0, 0.0 , 0.0, 0.0, -1.0, 0.0

-

-// --- editor parameters ---

-cost = 500

-category = Utility

-subcategory = 0

-title = Strut Gun

-manufacturer = Bojantek Corporation

-description = A radial strut gun for attaching and detatching struts when needed

-

-// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision

-attachRules = 0,1,0,1,1

-

-// --- standard part parameters ---

-mass = 0.05

-dragModelType = default

-maximum_drag = 0.01

-minimum_drag = 0.01

-angularDrag = 0.1

-crashTolerance = 50

-breakingForce = 50

-breakingTorque = 50

-maxTemp = 3400

-

-MODULE

-{

-    name = QuantumStrut

-	IsEnabled = true

-	PowerConsumption = 0.01

-	

-	Material = KSP/Sprite

-	StartColor = 50, 50, 50

-	EndColor = 50, 50, 50

-	StartSize = 0.03

-	EndSize = 0.0075

-	

-	Start = 0,0,0

-	Dir = 0,1,0

-}

-}
+

--- a/Properties/AssemblyInfo.cs
+++ b/Properties/AssemblyInfo.cs
@@ -1,4 +1,33 @@
-using System.Reflection;
+// QuantumStrutsContinued
+//
+// AssemblyInfo.cs
+// 
+// Continued from QuantumStruts by BoJaN.  Used by permission.
+//
+// ModuleManager patches © 2014 K3|Chris.  Used by permission.
+//
+// Copyright © 2014, toadicus
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation and/or other
+//    materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+using System.Reflection;
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
@@ -6,13 +35,9 @@
 // set of attributes. Change these attribute values to modify the information
 // associated with an assembly.
 [assembly: AssemblyTitle("QuantumStrutsContinued")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
+[assembly: AssemblyDescription("A KSP part mod that provides magical struts for rigidifying vessels constructed outside the VAB.")]
 [assembly: AssemblyProduct("QuantumStrutsContinued")]
 [assembly: AssemblyCopyright("Copyright © 2014 toadicus")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
 
 // Setting ComVisible to false makes the types in this assembly not visible 
 // to COM components.  If you need to access a type in this assembly from 
@@ -32,6 +57,5 @@
 // You can specify all the values or you can default the Build and Revision Numbers 
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("1.2.*")]
 

--- a/QuantumStrut.cs
+++ b/QuantumStrut.cs
@@ -1,14 +1,35 @@
-// QuantumStrutsContinued © 2014 toadicus
-//
-// This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a
-// copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/
-//
-// Continued from QuantumStrut, © 2013 BoJaN.  Used with permission.
-
+// QuantumStrutsContinued
+//
+// QuantumStrut.cs
+// 
+// Continued from QuantumStruts by BoJaN.  Used by permission.
+//
+// ModuleManager patches © 2014 K3|Chris.  Used by permission.
+//
+// Copyright © 2014, toadicus
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation and/or other
+//    materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+using KSP;
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+using ToadicusTools;
 using UnityEngine;
 
 namespace QuantumStrut
@@ -59,33 +80,35 @@
 		[KSPAction("Activate")]
 		public void ActivateStrut(KSPActionParam param)
 		{
+			this.ActivateStrut();
+		}
+
+		[KSPAction("Deactivate")]
+		public void DeactivateStrut(KSPActionParam param)
+		{
+			this.DeactivateStrut();
+		}
+
+		#endregion
+
+		#region Events
+
+		[KSPEvent(guiActive = true, guiName = "Activate", active = true, guiActiveUnfocused = true, unfocusedRange = 2f)]
+		public void ActivateStrut()
+		{
 			IsEnabled = true;
 			CheckHit();
-		}
-
-		[KSPAction("Deactivate")]
-		public void DeactivateStrut(KSPActionParam param)
+			this.Events["ActivateStrut"].guiActiveEditor = false;
+			this.Events["DeactivateStrut"].guiActiveEditor = true;
+		}
+
+		[KSPEvent(guiActive = true, guiName = "Deactivate", active = false, guiActiveUnfocused = true, unfocusedRange = 2f)]
+		public void DeactivateStrut()
 		{
 			IsEnabled = false;
 			CheckHit();
-		}
-
-		#endregion
-
-		#region Events
-
-		[KSPEvent(guiActive = true, guiName = "Activate", active = true, guiActiveUnfocused = true, unfocusedRange = 2f)]
-		public void ActivateStrut()
-		{
-			IsEnabled = true;
-			CheckHit();
-		}
-
-		[KSPEvent(guiActive = true, guiName = "Deactivate", active = false, guiActiveUnfocused = true, unfocusedRange = 2f)]
-		public void DeactivateStrut()
-		{
-			IsEnabled = false;
-			CheckHit();
+			this.Events["ActivateStrut"].guiActiveEditor = true;
+			this.Events["DeactivateStrut"].guiActiveEditor = false;
 		}
 
 		#endregion
@@ -178,15 +201,10 @@
 			base.OnStart(state);
 		}
 
-		public override void OnFixedUpdate()
-		{
-			base.OnFixedUpdate();
-		}
-
-		public override void OnUpdate()
-		{
-			Events["ActivateStrut"].active = !IsEnabled;
-			Events["DeactivateStrut"].active = IsEnabled;
+		public void Update()
+		{
+			Events["ActivateStrut"].guiActiveEditor = Events["ActivateStrut"].active = !IsEnabled;
+			Events["DeactivateStrut"].guiActiveEditor = Events["DeactivateStrut"].active = IsEnabled;
 
 			if (IsEnabled)
 			{
@@ -224,37 +242,68 @@
 
 		void CheckHit()
 		{
+			if (HighLogic.LoadedSceneIsEditor)
+			{
+				Tools.PostDebugMessage(this, "Checking bailing out: in the editor!");
+				return;
+			}
+
 			if (!isEnabled)
 			{
+				Tools.PostDebugMessage(this, "Destroying strut.");
+
 				strut.Destroy();
 				strut = null;
 				return;
 			}
 
+			Tools.PostDebugMessage(this, "Checking for ray hit.");
+
+			Tools.PostDebugMessage(this, "Enabled, continuing.");
+
 			if (strut == null || strut.isDestroyed)
 			{
+				Tools.PostDebugMessage(this, "We have no strut, or the strut has been destroyed.");
+
 				Vector3 dir = getTransform().TransformDirection(Dir);
 				Vector3 start = getTransform().TransformPoint(Start);
 
+				Tools.PostDebugMessage(this, "Got transforms.  Checking for raycast hit.");
+
 				UnityEngine.RaycastHit info = new RaycastHit();
 				bool hit = Physics.Raycast(new UnityEngine.Ray(start + (dir * 0.05f), dir), out info, 10);
+
 				if (hit)
 				{
+					Tools.PostDebugMessage(this, "Found raycast hit.  Fetching target part.");
+
 					Part targetPart = Util.partFromRaycast(info);
 
-					if (targetPart && vessel.parts.Contains(targetPart) && Util.GetEnergy(part.vessel) > 5 * TimeWarp.fixedDeltaTime)
+					Tools.PostDebugMessage(this, "Found target part.");
+
+					if (
+						targetPart && vessel.parts.Contains(targetPart) &&
+						Util.GetEnergy(part.vessel) > 5 * TimeWarp.fixedDeltaTime
+					)
 					{
+						Tools.PostDebugMessage(this, "Target part is in our vessel and we have the energy to continue.");
+
 						strut = new Strut(
 							part,
 							targetPart,
 							targetPart.transform.InverseTransformPoint(info.point),
 							getTransform()
 						);
+
+						Tools.PostDebugMessage(this, "Built a new strut, setting material, colors, and sizes.");
+
 						strut.Material = material;
 						strut.StartColor = startColor;
 						strut.EndColor = endColor;
 						strut.StartSize = StartSize;
 						strut.EndSize = EndSize;
+
+						Tools.PostDebugMessage(this, "Strut all done!");
 					}
 				}
 			}
@@ -304,7 +353,7 @@
 
 					UnityEngine.RaycastHit info = new RaycastHit();
 					bool hit = Physics.Raycast(new UnityEngine.Ray(start + (dir * 0.05f), dir), out info, 10);
-					if (hit)
+					if (hit && IsEnabled)
 					{
 						if (Util.isValid(material))
 							lr.material = material;

--- a/QuantumStrutCore.cs
+++ b/QuantumStrutCore.cs
@@ -1,17 +1,38 @@
-// QuantumStrutsContinued © 2014 toadicus
-//
-// This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a
-// copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/
-//
-// Continued from QuantumStrut, © 2013 BoJaN.  Used with permission.
-
+// QuantumStrutsContinued
+//
+// QuantumStrutCore.cs
+// 
+// Continued from QuantumStruts by BoJaN.  Used by permission.
+//
+// ModuleManager patches © 2014 K3|Chris.  Used by permission.
+//
+// Copyright © 2014, toadicus
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation and/or other
+//    materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+using KSP;
+using KSP.IO;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
-using System.Linq;
-using System.Text;
 using UnityEngine;
-using KSP.IO;
 
 namespace QuantumStrut
 {
@@ -159,18 +180,6 @@
 			return partFromGameObject(hit.collider.gameObject);
 		}
 
-		Part partFromId(long id)
-		{
-			Console.WriteLine("Vessel Parts: " + part.vessel.Parts.Count);
-			foreach (Part p in part.vessel.Parts)
-			{
-				print(p.uid + " ?= " + id + ": " + (p.uid == id));
-				if (p.uid == id)
-					return p;
-			}
-			return null;
-		}
-
 		bool isValid(UnityEngine.Object obj)
 		{
 			return (obj && obj != null);

--- /dev/null
+++ b/QuantumStrutsContinued.csproj
@@ -1,1 +1,115 @@
-
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug_win</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{D6EC2150-27A5-4CB2-ACF9-C53FF7754A77}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>QuantumStrutsContinued</RootNamespace>
+    <AssemblyName>QuantumStrutsContinued</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <UseMSBuildEngine>False</UseMSBuildEngine>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_win|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <PlatformTarget>x86</PlatformTarget>
+    <ConsolePause>false</ConsolePause>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="xcopy /Y ${TargetFile} ${ProjectDir}\GameData\QuantumStrutsContinued\Plugins\" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_win|AnyCPU' ">
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <PlatformTarget>x86</PlatformTarget>
+    <ConsolePause>false</ConsolePause>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="xcopy /Y ${TargetFile} ${ProjectDir}\GameData\QuantumStrutsContinued\Plugins\" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_linux|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+    <PlatformTarget>x86</PlatformTarget>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="cp -af ${TargetFile} ${ProjectDir}/GameData/QuantumStrutsContinued/Plugins/" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_linux|AnyCPU' ">
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="cp -af ${TargetFile} ${ProjectDir}/GameData/QuantumStrutsContinued/Plugins/" />
+        <Command type="AfterBuild" command="cp -raf ${ProjectDir}/Parts ${ProjectDir}/KASifyQSC.cfg ${ProjectDir}/GameData/QuantumStrutsContinued/" />
+      </CustomCommands>
+    </CustomCommands>
+    <ConsolePause>false</ConsolePause>
+    <PlatformTarget>x86</PlatformTarget>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="CoreStrut.cs" />
+    <Compile Include="QuantumStrut.cs" />
+    <Compile Include="QuantumStrutCore.cs" />
+    <Compile Include="Strut.cs" />
+    <Compile Include="Util.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="..\ToadicusTools\Tools.cs">
+      <Link>Tools.cs</Link>
+    </Compile>
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <Policies>
+          <StandardHeader Text="${ProjectName}&#xD;&#xA;&#xD;&#xA;${FileName}&#xD;&#xA;&#xD;&#xA;Copyright © ${Year}, ${AuthorName}&#xD;&#xA;All rights reserved.&#xD;&#xA;&#xD;&#xA;Redistribution and use in source and binary forms, with or without modification,&#xD;&#xA;are permitted provided that the following conditions are met:&#xD;&#xA;&#xD;&#xA;1. Redistributions of source code must retain the above copyright notice,&#xD;&#xA;   this list of conditions and the following disclaimer.&#xD;&#xA;&#xD;&#xA;2. Redistributions in binary form must reproduce the above copyright notice,&#xD;&#xA;   this list of conditions and the following disclaimer in the documentation and/or other&#xD;&#xA;   materials provided with the distribution.&#xD;&#xA;&#xD;&#xA;THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES,&#xD;&#xA;INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&#xD;&#xA;DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,&#xD;&#xA;SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR&#xD;&#xA;SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,&#xD;&#xA;WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE&#xD;&#xA;OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." IncludeInNewFiles="True" />
+        </Policies>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <Reference Include="Assembly-CSharp">
+      <HintPath>..\_KSPAssemblies\Assembly-CSharp.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="System">
+      <HintPath>..\_KSPAssemblies\System.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="UnityEngine">
+      <HintPath>..\_KSPAssemblies\UnityEngine.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="GameData\QuantumStrutsContinued\KASifyQSC.cfg" />
+    <None Include="GameData\QuantumStrutsContinued\Parts\QuantumStruts\quantumStrut\part.cfg" />
+    <None Include="GameData\QuantumStrutsContinued\Parts\QuantumStruts\quantumStrutCore\part.cfg" />
+    <None Include="GameData\QuantumStrutsContinued\Parts\QuantumStruts\strutGun\part.cfg" />
+  </ItemGroup>
+</Project>

file:a/Strut.cs -> file:b/Strut.cs
--- a/Strut.cs
+++ b/Strut.cs
@@ -1,14 +1,34 @@
-// QuantumStrutsContinued © 2014 toadicus
-//
-// This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a
-// copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/
-//
-// Continued from QuantumStrut, © 2013 BoJaN.  Used with permission.
-
+// QuantumStrutsContinued
+//
+// Strut.cs
+// 
+// Continued from QuantumStruts by BoJaN.  Used by permission.
+//
+// ModuleManager patches © 2014 K3|Chris.  Used by permission.
+//
+// Copyright © 2014, toadicus
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation and/or other
+//    materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+using KSP;
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 using UnityEngine;
 
 namespace QuantumStrut

file:a/Util.cs -> file:b/Util.cs
--- a/Util.cs
+++ b/Util.cs
@@ -1,16 +1,35 @@
-// QuantumStrutsContinued © 2014 toadicus
+// QuantumStrutsContinued
 //
-// This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a
-// copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/
+// Util.cs
+// 
+// Continued from QuantumStruts by BoJaN.  Used by permission.
 //
-// Continued from QuantumStrut, © 2013 BoJaN.  Used with permission.
+// ModuleManager patches © 2014 K3|Chris.  Used by permission.
+//
+// Copyright © 2014, toadicus
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation and/or other
+//    materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+using KSP.IO;
 using System;
-using System.Collections.Generic;
 using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using KSP.IO;
 using UnityEngine;
 
 namespace QuantumStrut
@@ -109,18 +128,6 @@
 			return partFromGameObject(hit.collider.gameObject);
 		}
 
-		public static Part partFromId(Vessel vessel, long id)
-		{
-			Console.WriteLine("Vessel Parts: " + vessel.Parts.Count);
-			foreach (Part p in vessel.Parts)
-			{
-				MonoBehaviour.print(p.uid + " ?= " + id + ": " + (p.uid == id));
-				if (p.uid == id)
-					return p;
-			}
-			return null;
-		}
-
 		public static float GetEnergy(Vessel vessel)
 		{
 			double energy = 0;