Resurrected TweakableRCS to tweak enableAxis/Translation
Resurrected TweakableRCS to tweak enableAxis/Translation

--- /dev/null
+++ b/GameData/TweakableEverything/TweakableRCS.cfg
@@ -1,1 +1,46 @@
+// TweakableRCS, a TweakableEverything module
+//
+// TweakableRCS.cfg
+//
+// 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.
+//
+// 3. Neither the name of the copyright holder nor the names of its contributors may be used
+//    to endorse or promote products derived from this software without specific prior written permission.
+//
+// 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.
+//
+// This software uses the ModuleManager library © 2013-2014 sarbian & ialdabaoth (who is awesome), used under a Creative Commons Attribution-ShareAlike
+// 3.0 Unported License.
 
+@PART[*]:HAS[@MODULE[ModuleRCS]]:FOR[TweakableEverything]:NEEDS[!Realism]
+{
+	MODULE
+	{
+		name = ModuleTweakableRCS
+	}
+}
+
+@PART[*]:HAS[@MODULE[ModuleRCS]]:AFTER[Realism]:NEEDS[Realism]
+{
+	MODULE
+	{
+		name = ModuleTweakableRCS
+	}
+}

--- a/TweakableEverything.sln
+++ b/TweakableEverything.sln
@@ -24,6 +24,8 @@
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TweakableFuelPumps", "TweakableFuelPumps\TweakableFuelPumps.csproj", "{AD1165CC-1868-453F-B816-909D1B557141}"

 EndProject

 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TweakableControlSurfaces", "TweakableControlSurfaces\TweakableControlSurfaces.csproj", "{02B3FB8F-C8C0-4E4C-8448-96C001B128B0}"

+EndProject

+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TweakableRCS", "TweakableRCS\TweakableRCS.csproj", "{CB6EC9DF-90F0-4C0C-9EB4-6C0288803AA7}"

 EndProject

 Global

 	GlobalSection(SolutionConfigurationPlatforms) = preSolution

@@ -97,6 +99,14 @@
 		{AD1165CC-1868-453F-B816-909D1B557141}.Release_linux|Any CPU.Build.0 = Release_linux|Any CPU

 		{AD1165CC-1868-453F-B816-909D1B557141}.Release_win|Any CPU.ActiveCfg = Release_win|Any CPU

 		{AD1165CC-1868-453F-B816-909D1B557141}.Release_win|Any CPU.Build.0 = Release_win|Any CPU

+		{CB6EC9DF-90F0-4C0C-9EB4-6C0288803AA7}.Debug_linux|Any CPU.ActiveCfg = Debug_linux|Any CPU

+		{CB6EC9DF-90F0-4C0C-9EB4-6C0288803AA7}.Debug_linux|Any CPU.Build.0 = Debug_linux|Any CPU

+		{CB6EC9DF-90F0-4C0C-9EB4-6C0288803AA7}.Debug_win|Any CPU.ActiveCfg = Debug_win|Any CPU

+		{CB6EC9DF-90F0-4C0C-9EB4-6C0288803AA7}.Debug_win|Any CPU.Build.0 = Debug_win|Any CPU

+		{CB6EC9DF-90F0-4C0C-9EB4-6C0288803AA7}.Release_linux|Any CPU.ActiveCfg = Release_linux|Any CPU

+		{CB6EC9DF-90F0-4C0C-9EB4-6C0288803AA7}.Release_linux|Any CPU.Build.0 = Release_linux|Any CPU

+		{CB6EC9DF-90F0-4C0C-9EB4-6C0288803AA7}.Release_win|Any CPU.ActiveCfg = Release_win|Any CPU

+		{CB6EC9DF-90F0-4C0C-9EB4-6C0288803AA7}.Release_win|Any CPU.Build.0 = Release_win|Any CPU

 		{D48A5542-6655-4149-BC27-B27DF0466F1C}.Debug_linux|Any CPU.ActiveCfg = Debug_linux|Any CPU

 		{D48A5542-6655-4149-BC27-B27DF0466F1C}.Debug_linux|Any CPU.Build.0 = Debug_linux|Any CPU

 		{D48A5542-6655-4149-BC27-B27DF0466F1C}.Debug_win|Any CPU.ActiveCfg = Debug_win|Any CPU


--- /dev/null
+++ b/TweakableRCS/ModuleTweakableRCS.cs
@@ -1,1 +1,93 @@
+// TweakableRCS, a TweakableEverything module
+//
+// ModuleTweakableRCS.cs
+//
+// 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.
+//
+// 3. Neither the name of the copyright holder nor the names of its contributors may be used
+//    to endorse or promote products derived from this software without specific prior written permission.
+//
+// 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 ToadicusTools.Extensions;
+using UnityEngine;
+
+namespace TweakableRCS
+{
+	#if DEBUG
+	public class ModuleTweakableRCS : DebugPartModule
+	#else
+	public class ModuleTweakableRCS : PartModule
+	#endif
+	{
+		protected ModuleRCS RCSModule;
+
+		[KSPField(isPersistant = true, guiName = "Pitch", guiActive = true, guiActiveEditor = true)]
+		[UI_Toggle(enabledText = "Enabled", disabledText = "Disabled", scene = UI_Scene.Editor)]
+		public bool enablePitch;
+		[KSPField(isPersistant = true, guiName = "Roll", guiActive = true, guiActiveEditor = true)]
+		[UI_Toggle(enabledText = "Enabled", disabledText = "Disabled", scene = UI_Scene.Editor)]
+		public bool enableRoll;
+		[KSPField(isPersistant = true, guiName = "Yaw", guiActive = true, guiActiveEditor = true)]
+		[UI_Toggle(enabledText = "Enabled", disabledText = "Disabled", scene = UI_Scene.Editor)]
+		public bool enableYaw;
+
+		[KSPField(isPersistant = true, guiName = "X Translation", guiActive = true, guiActiveEditor = true)]
+		[UI_Toggle(enabledText = "Enabled", disabledText = "Disabled", scene = UI_Scene.Editor)]
+		public bool enableX;
+		[KSPField(isPersistant = true, guiName = "Y Translation", guiActive = true, guiActiveEditor = true)]
+		[UI_Toggle(enabledText = "Enabled", disabledText = "Disabled", scene = UI_Scene.Editor)]
+		public bool enableY;
+		[KSPField(isPersistant = true, guiName = "Z Translation", guiActive = true, guiActiveEditor = true)]
+		[UI_Toggle(enabledText = "Enabled", disabledText = "Disabled", scene = UI_Scene.Editor)]
+		public bool enableZ;
+
+		public ModuleTweakableRCS()
+		{
+			this.enablePitch = true;
+			this.enableRoll = true;
+			this.enableYaw = true;
+
+			this.enableX = true;
+			this.enableY = true;
+			this.enableZ = true;
+		}
+
+		public override void OnStart(StartState state)
+		{
+			base.OnStart(state);
+
+			if (base.part.tryGetFirstModuleOfType<ModuleRCS>(out this.RCSModule))
+			{
+				this.RCSModule.enablePitch = this.enablePitch;
+				this.RCSModule.enableRoll = this.enableRoll;
+				this.RCSModule.enableYaw = this.enableYaw;
+
+				this.RCSModule.enableX = this.enableX;
+				this.RCSModule.enableY = this.enableY;
+				this.RCSModule.enableZ = this.enableZ;
+			}
+		}
+	}
+}
+

--- /dev/null
+++ b/TweakableRCS/Properties/AssemblyInfo.cs
@@ -1,1 +1,46 @@
+// TweakableRCS, a TweakableEverything module
+//
+// AssemblyInfo.cs
+//
+// 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.
+//
+// 3. Neither the name of the copyright holder nor the names of its contributors may be used
+//    to endorse or promote products derived from this software without specific prior written permission.
+//
+// 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;
+
+// Information about this assembly is defined by the following attributes.
+// Change them to the values specific to your project.
+[assembly: AssemblyTitle("TweakableRCS")]
+[assembly: AssemblyDescription("Adds useful 'tweakable' configuration options for RCS thrusters.")]
+[assembly: AssemblyCopyright("toadicus")]
+// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
+// The form "{Major}.{Minor}.*" will automatically update the build and revision,
+// and "{Major}.{Minor}.{Build}.*" will update just the revision.
+[assembly: AssemblyVersion("1.13.0.*")]
+// The following attributes are used to specify the signing key for the assembly,
+// if desired. See the Mono documentation for more information about signing.
+//[assembly: AssemblyDelaySign(false)]
+//[assembly: AssemblyKeyFile("")]
+
+

--- /dev/null
+++ b/TweakableRCS/TweakableRCS.csproj
@@ -1,1 +1,101 @@
-
+<?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>{CB6EC9DF-90F0-4C0C-9EB4-6C0288803AA7}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>TweakableRCS</RootNamespace>
+    <ReleaseVersion>1.2</ReleaseVersion>
+    <AssemblyName>TweakableRCS</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>
+    <ConsolePause>false</ConsolePause>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="xcopy /Y ${TargetFile} ${SolutionDir}\GameData\TweakableEverything\" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_win|AnyCPU' ">
+    <DebugType>full</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="xcopy /Y ${TargetFile} ${SolutionDir}\GameData\TweakableEverything\" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_linux|AnyCPU' ">
+    <DebugType>full</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="cp -afv ${TargetFile} ${SolutionDir}/GameData/${SolutionName}/" />
+      </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>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="cp -afv ${TargetFile} ${SolutionDir}/GameData/${SolutionName}/" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Include="ModuleTweakableRCS.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\GameData\TweakableEverything\TweakableRCS.cfg" />
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="Assembly-CSharp">
+      <HintPath>..\..\_KSPAssemblies\Assembly-CSharp.dll</HintPath>
+    </Reference>
+    <Reference Include="System">
+      <HintPath>..\..\_KSPAssemblies\System.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine">
+      <HintPath>..\..\_KSPAssemblies\UnityEngine.dll</HintPath>
+    </Reference>
+    <Reference Include="KSPAPIExtensions">
+      <HintPath>..\GameData\TweakableEverything\KSPAPIExtensions.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <ProjectReference Include="..\..\ToadicusTools\ToadicusTools.csproj">
+      <Project>{D48A5542-6655-4149-BC27-B27DF0466F1C}</Project>
+      <Name>ToadicusTools</Name>
+      <Private>False</Private>
+    </ProjectReference>
+  </ItemGroup>
+</Project>