Jump to content

Electrocutor's Thread


Electrocutor

Recommended Posts

36 minutes ago, Agustin said:

Question: If I install manwith's Recolour Depot mod, should I install also the Unofficial patch? 
I have not been playing KSP in the last past months and am a bit confused with textures unlimited stand of things.... I am playing 1.3.1 by the way.

 

Since the Unofficial Patch is still WIP, TU already fixes the icon problem in dx11, and 1.3.1 has no stock reflective parts, there's no real purpose aside from the model pathing fix, which isn't a big deal unless used as a prereq for other things.

Link to comment
Share on other sites

Updated UnofficialPatch

  • New TU Icon shader for dx11, fixes the cut-off
  • Fully redone reflections for new shiny parts: supports all of stock and EVE now
    • even more efficient than previously; now, I do not see any frame-rate drop whatsoever
    • scatterer still has dark-sky issue which I am working on
    • vessel and eva reflections work, but I have them excluded for now because bits of the interior vessel appear in it; working on it

 

For those who are interested or may know how to resolve the scatterer dark-sky issue, here is the code for the probe:

Spoiler

using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

namespace UnofficialPatch
{
    public class FixReflections
    {
        private EventData<Vessel, bool>.OnEvent VesselControlStateChangedEvent;

        private Material _GalaxySkybox;
        private Material _AtmoSkybox;
        private GameObject _AtmoReflectObject = null;
        private List<Camera> _AtmoCameras = new List<Camera>();
        private float _TimerSeconds = 0f;

        public void Start()
        {
            this.VesselControlStateChangedEvent = new EventData<Vessel, bool>.OnEvent(VesselControlStateChangedEventHandler);
            GameEvents.onVesselControlStateChange.Add(this.VesselControlStateChangedEvent);

            SceneManager.activeSceneChanged += SceneManager_activeSceneChanged;
        }

        public void Update()
        {
            _TimerSeconds -= Time.deltaTime;

            if (_TimerSeconds <= 0)
            {
                UpdateAtmoSkybox();
                _TimerSeconds = 1f;
            }
        }

        private void UpdateAtmoSkybox()
        {
            if (FlightIntegrator.ActiveVesselFI == null || FlightIntegrator.ActiveVesselFI.Vessel == null || FlightIntegrator.ActiveVesselFI.Vessel.vesselType == VesselType.SpaceObject)
            { return; }

            Vessel oVessel = FlightIntegrator.ActiveVesselFI.Vessel;

            ReflectionProbe oProbe = oVessel.GetComponentInChildren<ReflectionProbe>();

            _AtmoReflectObject.transform.SetParent(oVessel.transform);

            foreach (Camera oCamera in _AtmoCameras)
            { oCamera.Render(); }

            _AtmoReflectObject.transform.SetParent(null);
        }

        private void SceneManager_activeSceneChanged(Scene arg0, Scene arg1)
        {
            _GalaxySkybox = new Material(Shader.Find("Skybox/6 Sided"));

            Texture2D[] oTextures = Resources.FindObjectsOfTypeAll<Texture2D>();
            foreach (Texture2D oTexture in oTextures)
            {
                if (oTexture.name == "GalaxyTex_PositiveZ")
                { _GalaxySkybox.SetTexture("_FrontTex", oTexture); }
                else if (oTexture.name == "GalaxyTex_NegativeZ")
                { _GalaxySkybox.SetTexture("_BackTex", oTexture); }
                else if (oTexture.name == "GalaxyTex_PositiveX")
                { _GalaxySkybox.SetTexture("_LeftTex", oTexture); }
                else if (oTexture.name == "GalaxyTex_NegativeX")
                { _GalaxySkybox.SetTexture("_RightTex", oTexture); }
                else if (oTexture.name == "GalaxyTex_PositiveY")
                { _GalaxySkybox.SetTexture("_UpTex", oTexture); }
                else if (oTexture.name == "GalaxyTex_NegativeY")
                { _GalaxySkybox.SetTexture("_DownTex", oTexture); }
            }

            RenderSettings.defaultReflectionResolution = 256;
            RenderSettings.reflectionBounces = 3;
        }

        private void VesselControlStateChangedEventHandler(Vessel oVessel, bool bIsControlled)
        {
            if (oVessel == null || oVessel.vesselType == VesselType.SpaceObject)
            { return; }

            ReflectionSetup(oVessel);
        }

        private void ReflectionSetup(Vessel oVessel)
        {
            if (_AtmoReflectObject == null)
            {
                _AtmoSkybox = new Material(Shader.Find("Skybox/6 Sided"));
                _AtmoReflectObject = new GameObject("AtmoReflectObject");

                _AtmoCameras.Clear();

                AddAtmoCamera(Quaternion.AngleAxis(0, Vector3.up), "Front");
                AddAtmoCamera(Quaternion.AngleAxis(180, Vector3.up), "Back");
                AddAtmoCamera(Quaternion.AngleAxis(90, Vector3.up), "Left");
                AddAtmoCamera(Quaternion.AngleAxis(-90, Vector3.up), "Right");
                AddAtmoCamera(Quaternion.AngleAxis(90, Vector3.left), "Up");
                AddAtmoCamera(Quaternion.AngleAxis(-90, Vector3.left), "Down");

                RenderSettings.skybox = _AtmoSkybox;
            }

            AddReflectionProbe(oVessel);
        }

        private void AddAtmoCamera(Quaternion qRotation, string sSide)
        {
            GameObject oCameraObject;
            Skybox oSkybox;
            Camera oCamera;
            RenderTexture oTexture;
            List<KSPLayer> oLayers = new List<KSPLayer>();

            oLayers.Add(KSPLayer.Atmosphere);
            oLayers.Add(KSPLayer.ScaledScenery);

            oCameraObject = new GameObject("AtmoReflect_" + sSide);
            oCameraObject.transform.SetParent(_AtmoReflectObject.transform, false);

            oSkybox = oCameraObject.AddComponent<Skybox>();
            oSkybox.material = _GalaxySkybox;

            oCamera = oCameraObject.AddComponent<Camera>();
            oCamera.enabled = false;
            oTexture = new RenderTexture(RenderSettings.defaultReflectionResolution, RenderSettings.defaultReflectionResolution, 1);
            oCamera.targetTexture = oTexture;
            oCamera.transform.rotation = qRotation;
            oCamera.fieldOfView = 90.0f;
            oCamera.clearFlags = CameraClearFlags.Skybox;
            oCamera.cullingMask = GetCullingMask(oLayers);

            _AtmoCameras.Add(oCamera);

            _AtmoSkybox.SetTexture("_" + sSide + "Tex", oTexture);
        }

        private void AddReflectionProbe(Vessel oVessel)
        {
            Transform oTransform;
            GameObject oReflect;
            ReflectionProbe oProbe;
            List<KSPLayer> oLayers = new List<KSPLayer>();

            oTransform = oVessel.gameObject.transform.Find("ReflectProbe");
            if (oTransform == null)
            {
                oReflect = new GameObject("ReflectProbe");
                oReflect.transform.SetParent(oVessel.gameObject.transform, false);

                oProbe = oReflect.AddComponent<ReflectionProbe>();
                oProbe.mode = UnityEngine.Rendering.ReflectionProbeMode.Realtime;
                oProbe.refreshMode = UnityEngine.Rendering.ReflectionProbeRefreshMode.EveryFrame;
                oProbe.timeSlicingMode = UnityEngine.Rendering.ReflectionProbeTimeSlicingMode.IndividualFaces;
                oProbe.clearFlags = UnityEngine.Rendering.ReflectionProbeClearFlags.Skybox;

                oLayers.Add(KSPLayer.LocalScenery);
                oLayers.Add(KSPLayer.Water);
                //oLayers.Add(KSPLayer.Default);

                oProbe.cullingMask = GetCullingMask(oLayers);
                oProbe.nearClipPlane = 0.1f;
                oProbe.farClipPlane = 1000000f;
                oProbe.center = oVessel.gameObject.GetRendererBounds().center;
            }
        }

        public static int GetCullingMask(List<KSPLayer> oLayers)
        {
            int iCullingMask = 0;

            foreach (KSPLayer oLayer in oLayers)
            { iCullingMask = (iCullingMask | (1 << (int)oLayer)); }

            return iCullingMask;
        }

        public enum KSPLayer
        {
            Default = 0,
            TransparentFX = 1,
            IgnoreRaycast = 2,

            Water = 4,
            UI = 5,


            PartsList_Icons = 8,
            Atmosphere = 9,
            ScaledScenery = 10,
            UI_Dialog = 11,
            UI_Vectors = 12,
            UI_Mask = 13,
            Screens = 14,
            LocalScenery = 15,
            Unknown = 16,
            EVA = 17,
            SkySphere = 18,
            PhysicalObjects = 19,
            InternalSpace = 20,
            PartTriggers = 21,
            KerbalInstructors = 22,
            AeroFxIgnore = 23,
            MapFX = 24,
            UI_Additional = 25,
            WheelCollidersIgnore = 26,
            WheelColliders = 27,
            TerrainColliders = 28,
            DragRender = 29,
            SurfaceFx = 30,
            Vectors = 31
        }
    }
}

 

 

Edited by Electrocutor
Link to comment
Share on other sites

Here is an alternate ColorPresets.cfg for those using TU or SSTU and want something a bit different:

Spoiler

KSP_COLOR_PRESET {
	name = stockWhite
	title = Stock White
	color = 211, 211, 211
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = stockBlack
	title = Stock Black
	color = 76, 79, 71
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = stockOrange
	title = Stock Orange
	color = 244, 152, 65
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = stockGreen
	title = Stock Green
	color = 115, 123, 87
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = ncsWhite
	title = NCS White
	color = 255, 255, 255
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = polishedWhite
	title = Polished White
	color = 255, 255, 255
	specular = 239
	metallic = 0
}
KSP_COLOR_PRESET {
	name = ncsBlack
	title = NCS Black
	color = 0, 0, 0
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = polishedBlack
	title = Polished Black
	color = 0, 0, 0
	specular = 239
	metallic = 0
}
KSP_COLOR_PRESET {
	name = ncsBrown
	title = NCS Brown
	color = 151, 116, 80
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = anodizedBrown
	title = Anodized Brown
	color = 151, 116, 80
	specular = 127
	metallic = 255
}
KSP_COLOR_PRESET {
	name = ncsRed
	title = NCS Red
	color = 196, 2, 51
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = anodizedRed
	title = Anodized Red
	color = 196, 2, 51
	specular = 127
	metallic = 255
}
KSP_COLOR_PRESET {
	name = ncsOrange
	title = NCS Orange
	color = 225, 106, 25
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = anodizedOrange
	title = Anodized Orange
	color = 225, 106, 25
	specular = 127
	metallic = 255
}
KSP_COLOR_PRESET {
	name = ncsYellow
	title = NCS Yellow
	color = 255, 211, 0
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = anodizedYellow
	title = Anodized Yellow
	color = 255, 211, 0
	specular = 127
	metallic = 255
}
KSP_COLOR_PRESET {
	name = ncsGreen
	title = NCS Green
	color = 0, 159, 107
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = anodizedGreen
	title = Anodized Green
	color = 0, 159, 107
	specular = 127
	metallic = 255
}
KSP_COLOR_PRESET {
	name = ncsTeal
	title = NCS Teal
	color = 0, 147, 148
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = anodizedTeal
	title = Anodized Teal
	color = 0, 147, 148
	specular = 127
	metallic = 255
}
KSP_COLOR_PRESET {
	name = ncsBlue
	title = NCS Blue
	color = 0, 135, 189
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = anodizedBlue
	title = Anodized Blue
	color = 0, 135, 189
	specular = 127
	metallic = 255
}
KSP_COLOR_PRESET {
	name = ncsPurple
	title = NCS Purple
	color = 98, 68, 120
	specular = 95
	metallic = 0
}
KSP_COLOR_PRESET {
	name = anodizedPurple
	title = Anodized Purple
	color = 98, 68, 120
	specular = 127
	metallic = 255
}
KSP_COLOR_PRESET {
	name = aluminium
	title = Aluminium
	color = 191, 191, 191
	specular = 127
	metallic = 255
}
KSP_COLOR_PRESET {
	name = polishedAluminium
	title = Polished Aluminium
	color = 191, 191, 191
	specular = 239
	metallic = 255
}
KSP_COLOR_PRESET {
	name = steel
	title = Steel
	color = 127, 127, 127
	specular = 127
	metallic = 255
}
KSP_COLOR_PRESET {
	name = polishedSteel
	title = Polished Steel
	color = 127, 127, 127
	specular = 239
	metallic = 255
}
KSP_COLOR_PRESET {
	name = copper
	title = Copper
	color = 184, 115, 51
	specular = 127
	metallic = 255
}
KSP_COLOR_PRESET {
	name = gold
	title = Gold
	color = 255, 215, 0
	specular = 239
	metallic = 255
}
KSP_COLOR_PRESET {
	name = bronze
	title = Bronze
	color = 102, 93, 30
	specular = 191
	metallic = 255
}
KSP_COLOR_PRESET {
	name = brass
	title = Brass
	color = 181, 166, 66
	specular = 191
	metallic = 255
}

 

 

It's a work in progress, but I personally prefer it to the current ones.

----

Here is a TU cfg for Kerbal Planetary Base Systems to make windows reflective:

Spoiler

KSP_MODEL_SHADER {
	model = PlanetaryBaseInc/BaseSystem/Parts/Command/CentralHub/Central_Hub
	model = PlanetaryBaseInc/BaseSystem/Parts/Command/Control/Cupola_g
	model = PlanetaryBaseInc/BaseSystem/Parts/Command/Control/Control_g
	model = PlanetaryBaseInc/BaseSystem/Parts/Utility/Greenhouse/Greenhouse_g
	model = PlanetaryBaseInc/BaseSystem/Parts/Utility/Habitats/Habitat_MK1_g
	model = PlanetaryBaseInc/BaseSystem/Parts/Utility/Habitats/Habitat_MK2_g

	MATERIAL {
		mesh = Window
		mesh = windows
		mesh = SideL_Window
		mesh = SideR_Window
		mesh = SideL_Windows
		mesh = SideR_Windows

		shader = TU/Metallic
		float = _Metal, 0.5
		float = _Smoothness, 0.98
	}
}

 

I'll not be continuing the recolor work on this pack until the new version.

Edited by Electrocutor
Link to comment
Share on other sites

37 minutes ago, TheBeesSteeze said:

Is there a version of the UnofficialPatch for 1.4.5?

Hmm... for RSS you mean? Do you just want the dx11 fix for that, or want the part model config fixes and bulkhead profile fixes as well?

You can take out the module manager patches, and replace the dll with this one. I no longer have a 1.4.5 install locally, and hadn't planned to support old versions, but point forward I will hang onto a version behind to stay alongside RSS.

Edited by Electrocutor
Link to comment
Share on other sites

22 minutes ago, alexus said:

Why ?

What mods do you have installed?

I do not do anything with the player camera, but if you have some mod that changes the player camera to use the skybox, and combine with scatterer, which deletes a whole bunch of rendering layers (including the important atmosphere layer), I could see this kind of result.

Edited by Electrocutor
Link to comment
Share on other sites

@alexus

The "without your patch" screenshot clearly already has reflections. That means you probably have TU installed, which makes having the patch pretty pointless...

I've also mentioned that the TU reflections are superior to my quick patch.

Also, it looks like you have scatterer installed, which I have already stated that I have not figured out how to make work yet.

Link to comment
Share on other sites

Added a ModulePartVariantsEx add-on. Feel free to play with it and report any issues you encounter in its current form.

 

Example of a Resource Selector:

VARIANT {
	name = RemoveAllResources
	EXTRA_INFO {
		resource/ElectricCharge = none
		resource/LiquidFuel = none
	}
}
VARIANT {
	name = AddElectricCharge
	EXTRA_INFO {
		resource/ElectricCharge = 100
	}
}
VARIANT {
	name = AddLiquidFuel
	EXTRA_INFO {
		resource/LiquidFuel = 100
	}
}

 

Example of a Resource Changer:

VARIANT {
	name = WithElectric
	EXTRA_INFO {
		resource/ElectricCharge = 100
		resource/LiquidFuel = none
	}
}
VARIANT {
	name = WithFuel
	EXTRA_INFO {
		resource/ElectricCharge = none
		resource/LiquidFuel = 100
	}
}

 

Example of a ReactionWheel change:

VARIANT {
	name = Base
	EXTRA_INFO {
		ModuleReactionWheel/PitchTorque = 10
		ModuleReactionWheel/YawTorque = 10
		ModuleReactionWheel/RollTorque = 10
	}
}
VARIANT {
	name = HighTorque
	EXTRA_INFO {
		ModuleReactionWheel/PitchTorque = 50
		ModuleReactionWheel/YawTorque = 50
		ModuleReactionWheel/RollTorque = 50
	}
}

 

Edited by Electrocutor
Link to comment
Share on other sites

Here's the list of available fields you can change within a ModulePartvariant:

Spoiler

PartModule [CModuleFuelLine] {
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [CModuleLinkedMesh] {
	lineObjName			[System.String]
	mainAnchorName			[System.String]
	targetAnchorName		[System.String]
	anchorCapName			[System.String]
	targetCapName			[System.String]
	targetColliderName		[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [CModuleStrut] {
	linearStrength			[System.Single]
	angularStrength			[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [FlagDecal] {
	textureQuadName			[System.String]
	flagDisplayed			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [FlagSite] {
	deployVisibilityDelay		[System.Single]
	deployFailRevertThreshold	[System.Single]
	placedBy			[System.String]
	unbreakablePeriodLength		[System.Single]
	PlaqueText			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [FXModuleAnimateThrottle] {
	animationName			[System.String]
	layer				[System.Int32]
	responseSpeed			[System.Single]
	dependOnEngineState		[System.Boolean]
	dependOnOutput			[System.Boolean]
	dependOnThrottle		[System.Boolean]
	preferMultiMode			[System.Boolean]
	engineIndex			[System.Int32]
	engineName			[System.String]
	weightOnOperational		[System.Boolean]
	baseAnimSpeed			[System.Single]
	animWrapMode			[System.Int32]
	affectTime			[System.Boolean]
	baseAnimSpeedMult		[System.Single]
	playInEditor			[System.Boolean]
	animState			[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [FXModuleConstrainPosition] {
	matchRotation			[System.Boolean]
	matchPosition			[System.Boolean]
	trackingModeString		[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [FXModuleLookAtConstraint] {
	trackingModeString		[System.String]
	runInEditor			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [KerbalEVA] {
	walkSpeed			[System.Single]
	strafeSpeed			[System.Single]
	runSpeed			[System.Single]
	turnRate			[System.Single]
	maxJumpForce			[System.Single]
	boundForce			[System.Single]
	boundSpeed			[System.Single]
	boundThreshold			[System.Single]
	swimSpeed			[System.Single]
	waterAngularDragMultiplier	[System.Single]
	ladderClimbSpeed		[System.Single]
	ladderPushoffForce		[System.Single]
	minWalkingGee			[System.Single]
	minRunningGee			[System.Single]
	initialMass			[System.Single]
	massMultiplier			[System.Single]
	onFallHeightFromTerrain		[System.Single]
	clamberMaxAlt			[System.Single]
	JetpackDeployed			[System.Boolean]
	lampOn				[System.Boolean]
	splatEnabled			[System.Boolean]
	splatSpeed			[System.Single]
	propellantResourceName		[System.String]
	propellantResourceDefaultAmount	[System.Double]
	boundFrequency			[System.Single]
	boundSharpness			[System.Single]
	boundAttack			[System.Single]
	boundRelease			[System.Single]
	boundFallThreshold		[System.Single]
	lastBoundStep			[System.Single]
	_flags				[System.Int32]
	flagReach			[System.Single]
	Kp				[System.Single]
	Ki				[System.Single]
	Kd				[System.Single]
	iC				[System.Single]
	rotPower			[System.Single]
	linPower			[System.Single]
	PropellantConsumption		[System.Single]
	stumbleThreshold		[System.Single]
	hopThreshold			[System.Single]
	recoverThreshold		[System.Single]
	recoverTime			[System.Double]
	splatThreshold			[System.Single]
	clamberReach			[System.Single]
	clamberStandoff			[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [KerbalSeat] {
	seatPivotName			[System.String]
	controlTransformName		[System.String]
	seatName			[System.String]
	ejectDirection			[UnityEngine.Vector3]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [LaunchClamp] {
	releaseFxGroupName		[System.String]
	trf_towerPivot_name		[System.String]
	trf_towerStretch_name		[System.String]
	trf_anchor_name			[System.String]
	trf_animationRoot_name		[System.String]
	anim_decouple_name		[System.String]
	scaleFactor			[System.Single]
	height				[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAblator] {
	ablativeResource		[System.String]
	lossExp				[System.Double]
	lossConst			[System.Double]
	pyrolysisLossFactor		[System.Double]
	ablationTempThresh		[System.Double]
	reentryConductivity		[System.Double]
	useNode				[System.Boolean]
	nodeName			[System.String]
	charAlpha			[System.Single]
	charMax				[System.Single]
	charMin				[System.Single]
	useChar				[System.Boolean]
	charModuleName			[System.String]
	outputResource			[System.String]
	outputMult			[System.Double]
	infoTemp			[System.Double]
	usekg				[System.Boolean]
	unitsName			[System.String]
	nominalAmountRecip		[System.Double]
	loss				[System.Double]
	flux				[System.Double]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleActiveRadiator] {
	IsCooling			[System.Boolean]
	maxEnergyTransfer		[System.Double]
	overcoolFactor			[System.Double]
	energyTransferScale		[System.Double]
	isCoreRadiator			[System.Boolean]
	parentCoolingOnly		[System.Boolean]
	status				[System.String]
	D_CoolParts			[System.String]
	D_RadCount			[System.String]
	D_HeadRoom			[System.String]
	D_Excess			[System.String]
	D_XferBase			[System.String]
	D_XferFin			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAeroSurface] {
	uncasedTemp			[System.Single]
	casedTemp			[System.Single]
	ctrlRangeFactor			[System.Single]
	brakeDeployInvert		[System.Boolean]
	aeroAuthorityLimiter		[System.Single]
	transformName			[System.String]
	ctrlSurfaceRange		[System.Single]
	ctrlSurfaceArea			[System.Single]
	actuatorSpeed			[System.Single]
	useExponentialSpeed		[System.Boolean]
	actuatorSpeedNormScale		[System.Single]
	alwaysRecomputeLift		[System.Boolean]
	mirrorDeploy			[System.Boolean]
	usesMirrorDeploy		[System.Boolean]
	ignorePitch			[System.Boolean]
	ignoreYaw			[System.Boolean]
	ignoreRoll			[System.Boolean]
	deploy				[System.Boolean]
	deployInvert			[System.Boolean]
	partDeployInvert		[System.Boolean]
	authorityLimiter		[System.Single]
	transformDir			[ModuleLiftingSurface+TransformDir]
	transformSign			[System.Single]
	transformName			[System.String]
	deflectionLiftCoeff		[System.Single]
	omnidirectional			[System.Boolean]
	nodeEnabled			[System.Boolean]
	attachNodeName			[System.String]
	disableBodyLift			[System.Boolean]
	perpendicularOnly		[System.Boolean]
	liftingSurfaceCurve		[System.String]
	liftCurve			[FloatCurve]
	liftMachCurve			[FloatCurve]
	useInternalDragModel		[System.Boolean]
	dragCurve			[FloatCurve]
	dragMachCurve			[FloatCurve]
	liftScalar			[System.Single]
	dragScalar			[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAlternator] {
	singleTickThreshold		[System.Double]
	preferMultiMode			[System.Boolean]
	engineIndex			[System.Int32]
	engineName			[System.String]
	outputRate			[System.Single]
	outputName			[System.String]
	outputUnits			[System.String]
	outputFormat			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAnalysisResource] {
	abundance			[System.Single]
	resourceName			[System.String]
	displayAbundance		[System.Single]
	status				[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAnchoredDecoupler] {
	anchorName			[System.String]
	ejectionForcePercent		[System.Single]
	ejectionForce			[System.Single]
	fxGroupName			[System.String]
	staged				[System.Boolean]
	isDecoupled			[System.Boolean]
	explosiveNodeID			[System.String]
	explosiveDir			[UnityEngine.Vector3]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAnimateGeneric] {
	instantAnimInEditor		[System.Boolean]
	animationName			[System.String]
	CrewCapacity			[System.Int32]
	layer				[System.Int32]
	status				[System.String]
	showStatus			[System.Boolean]
	aniState			[ModuleAnimateGeneric+animationStates]
	animSwitch			[System.Boolean]
	animTime			[System.Single]
	animSpeed			[System.Single]
	isOneShot			[System.Boolean]
	actionAvailable			[System.Boolean]
	eventAvailableEditor		[System.Boolean]
	eventAvailableFlight		[System.Boolean]
	eventAvailableEVA		[System.Boolean]
	evaDistance			[System.Single]
	startEventGUIName		[System.String]
	endEventGUIName			[System.String]
	actionGUIName			[System.String]
	defaultActionGroup		[KSPActionGroup]
	allowManualControl		[System.Boolean]
	allowAnimationWhileShielded	[System.Boolean]
	deployPercent			[System.Single]
	revClampDirection		[System.Boolean]
	revClampSpeed			[System.Boolean]
	revClampPercent			[System.Boolean]
	allowDeployLimit		[System.Boolean]
	restrictedNode			[System.String]
	disableAfterPlaying		[System.Boolean]
	animationIsDisabled		[System.Boolean]
	moduleID			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAnimateHeat] {
	lerpMin				[System.Double]
	lerpOffset			[System.Double]
	lerpMax				[System.Double]
	lerpScalar			[System.Double]
	useSkinTemp			[System.Boolean]
	animName			[System.String]
	moduleID			[System.String]
	layer				[System.Int32]
	animStateCurve			[FloatCurve]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAnimationGroup] {
	animationStatus			[System.String]
	activeAnimationName		[System.String]
	alwaysActive			[System.Boolean]
	autoDeploy			[System.Boolean]
	displayActions			[System.Boolean]
	isDeployed			[System.Boolean]
	deactivateAnimationName		[System.String]
	deployAnimationName		[System.String]
	deployActionName		[System.String]
	retractActionName		[System.String]
	toggleActionName		[System.String]
	moduleType			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAsteroid] {
	seed				[System.Int32]
	AsteroidName			[System.String]
	prefabBaseURL			[System.String]
	currentState			[System.Int32]
	secondaryRate			[System.Single]
	minRadiusMultiplier		[System.Single]
	maxRadiusMultiplier		[System.Single]
	density				[System.Single]
	sampleExperimentId		[System.String]
	sampleExperimentXmitScalar	[System.Single]
	experimentUsageMask		[System.Int32]
	forceProceduralDrag		[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAsteroidAnalysis] {
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAsteroidDrill] {
	DirectAttach			[System.Boolean]
	PowerConsumption		[System.Single]
	RockOnly			[System.Boolean]
	ImpactRange			[System.Single]
	ImpactTransform			[System.String]
	Efficiency			[System.Single]
	ConverterName			[System.String]
	GeneratesHeat			[System.Boolean]
	UseSpecialistBonus		[System.Boolean]
	UseSpecialistHeatBonus		[System.Boolean]
	SpecialistBonusBase		[System.Single]
	AutoShutdown			[System.Boolean]
	DirtyFlag			[System.Boolean]
	EfficiencyBonus			[System.Single]
	FillAmount			[System.Single]
	IsActivated			[System.Boolean]
	StartActionName			[System.String]
	StopActionName			[System.String]
	ToggleActionName		[System.String]
	TakeAmount			[System.Single]
	AlwaysActive			[System.Boolean]
	ThermalEfficiency		[FloatCurve]
	TemperatureModifier		[FloatCurve]
	SpecialistEfficiencyFactor	[System.Single]
	SpecialistHeatFactor		[System.Single]
	DefaultShutoffTemp		[System.Single]
	ExperienceEffect		[System.String]
	status				[System.String]
	debugEffBonus			[System.String]
	debugDelta			[System.String]
	debugTimeFac			[System.String]
	debugFinBon			[System.String]
	debugCrewBon			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAsteroidInfo] {
	displayMass			[System.String]
	massThreshold			[System.String]
	currentMass			[System.String]
	resources			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleAsteroidResource] {
	abundance			[System.Single]
	displayAbundance		[System.Single]
	highRange			[System.Int32]
	lowRange			[System.Int32]
	presenceChance			[System.Int32]
	resourceName			[System.String]
	FlowMode			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleBiomeScanner] {
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleCargoBay] {
	DeployModuleIndex		[System.Int32]
	useBayContainer			[System.Boolean]
	bayContainerName		[System.String]
	closedPosition			[System.Single]
	lookupRadius			[System.Single]
	lookupCenter			[UnityEngine.Vector3]
	nodeOuterForeID			[System.String]
	nodeOuterAftID			[System.String]
	nodeInnerForeID			[System.String]
	nodeInnerAftID			[System.String]
	partTypeName			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleColorChanger] {
	moduleID			[System.String]
	shaderProperty			[System.String]
	redCurve			[FloatCurve]
	greenCurve			[FloatCurve]
	blueCurve			[FloatCurve]
	alphaCurve			[FloatCurve]
	animRate			[System.Single]
	animState			[System.Boolean]
	useRate				[System.Boolean]
	toggleInEditor			[System.Boolean]
	toggleInFlight			[System.Boolean]
	toggleUnfocused			[System.Boolean]
	toggleAction			[System.Boolean]
	unfocusedRange			[System.Single]
	toggleName			[System.String]
	eventOnName			[System.String]
	eventOffName			[System.String]
	defaultActionGroup		[KSPActionGroup]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleCommand] {
	commNetSignal			[System.String]
	commNetFirstHopDistance		[System.String]
	controlSrcStatusText		[System.String]
	hasHibernation			[System.Boolean]
	hibernation			[System.Boolean]
	hibernationMultiplier		[System.Double]
	hibernateOnWarp			[System.Boolean]
	requiresPilot			[System.Boolean]
	remoteControl			[System.Boolean]
	requiresTelemetry		[System.Boolean]
	minimumCrew			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleConductionMultiplier] {
	modifiedConductionFactor	[System.Double]
	convectionFluxThreshold		[System.Double]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleControlSurface] {
	transformName			[System.String]
	ctrlSurfaceRange		[System.Single]
	ctrlSurfaceArea			[System.Single]
	actuatorSpeed			[System.Single]
	useExponentialSpeed		[System.Boolean]
	actuatorSpeedNormScale		[System.Single]
	alwaysRecomputeLift		[System.Boolean]
	mirrorDeploy			[System.Boolean]
	usesMirrorDeploy		[System.Boolean]
	ignorePitch			[System.Boolean]
	ignoreYaw			[System.Boolean]
	ignoreRoll			[System.Boolean]
	deploy				[System.Boolean]
	deployInvert			[System.Boolean]
	partDeployInvert		[System.Boolean]
	authorityLimiter		[System.Single]
	transformDir			[ModuleLiftingSurface+TransformDir]
	transformSign			[System.Single]
	transformName			[System.String]
	deflectionLiftCoeff		[System.Single]
	omnidirectional			[System.Boolean]
	nodeEnabled			[System.Boolean]
	attachNodeName			[System.String]
	disableBodyLift			[System.Boolean]
	perpendicularOnly		[System.Boolean]
	liftingSurfaceCurve		[System.String]
	liftCurve			[FloatCurve]
	liftMachCurve			[FloatCurve]
	useInternalDragModel		[System.Boolean]
	dragCurve			[FloatCurve]
	dragMachCurve			[FloatCurve]
	liftScalar			[System.Single]
	dragScalar			[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleCoreHeat] {
	CoreTempGoal			[System.Double]
	CoreShutdownTemp		[System.Double]
	CoreTempGoalAdjustment		[System.Double]
	CoreThermalEnergy		[System.Double]
	HeatRadiantMultiplier		[System.Double]
	CoolingRadiantMultiplier	[System.Double]
	HeatTransferMultiplier		[System.Double]
	CoolantTransferMultiplier	[System.Double]
	PassiveEnergy			[FloatCurve]
	CoreEnergyMultiplier		[System.Double]
	radiatorCoolingFactor		[System.Double]
	radiatorHeatingFactor		[System.Double]
	MaxCalculationWarp		[System.Double]
	CoreToPartRatio			[System.Double]
	MaxCoolant			[System.Double]
	D_CTE				[System.String]
	D_PTE				[System.String]
	D_GE				[System.String]
	D_EDiff				[System.String]
	D_partXfer			[System.String]
	D_coreXfer			[System.String]
	D_RadSat			[System.String]
	D_RadCap			[System.String]
	D_TRU				[System.String]
	D_RCA				[System.String]
	D_CoolPercent			[System.String]
	D_CoolAmt			[System.String]
	D_POT				[System.String]
	D_XTP				[System.String]
	D_Excess			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleDataTransmitter] {
	antennaType			[AntennaType]
	packetInterval			[System.Single]
	packetSize			[System.Single]
	xmitIncomplete			[System.Boolean]
	packetResourceCost		[System.Double]
	animationModuleIndex		[System.Int32]
	statusText			[System.String]
	powerText			[System.String]
	antennaPower			[System.Double]
	rangeCurve			[DoubleCurve]
	scienceCurve			[DoubleCurve]
	antennaCombinable		[System.Boolean]
	antennaCombinableExponent	[System.Double]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleDecouple] {
	ejectionForce			[System.Single]
	menuName			[System.String]
	ejectionForcePercent		[System.Single]
	isDecoupled			[System.Boolean]
	staged				[System.Boolean]
	fxGroupName			[System.String]
	isOmniDecoupler			[System.Boolean]
	explosiveNodeID			[System.String]
	automaticDir			[System.Boolean]
	explosiveDir			[UnityEngine.Vector3]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleDeployableAntenna] {
	status				[System.String]
	showStatus			[System.Boolean]
	originalRotation		[UnityEngine.Quaternion]
	currentRotation			[UnityEngine.Quaternion]
	runOnce				[System.Boolean]
	storedAnimationTime		[System.Single]
	storedAnimationSpeed		[System.Single]
	isTracking			[System.Boolean]
	applyShielding			[System.Boolean]
	applyShieldingExtend		[System.Boolean]
	TrackingAlignmentOffset		[System.Single]
	retractable			[System.Boolean]
	isBreakable			[System.Boolean]
	windResistance			[System.Single]
	gResistance			[System.Double]
	impactResistance		[System.Single]
	impactResistanceRetracted	[System.Single]
	subPartMass			[System.Single]
	trackingSpeed			[System.Single]
	pivotName			[System.String]
	alignType			[ModuleDeployablePart+PanelAlignType]
	secondaryTransformName		[System.String]
	animationName			[System.String]
	editorAnimationSpeedMult	[System.Single]
	useAnimation			[System.Boolean]
	panelDrag			[System.Single]
	useCurve			[System.Boolean]
	deployState			[ModuleDeployablePart+DeployState]
	trackingMode			[ModuleDeployablePart+TrackingMode]
	eventsInSymmwtryAlways		[System.Boolean]
	eventsInSymmwtryEditor		[System.Boolean]
	extendActionName		[System.String]
	retractActionName		[System.String]
	extendpanelsActionName		[System.String]
	subPartName			[System.String]
	partType			[System.String]
	moduleID			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleDeployableRadiator] {
	status				[System.String]
	showStatus			[System.Boolean]
	originalRotation		[UnityEngine.Quaternion]
	currentRotation			[UnityEngine.Quaternion]
	runOnce				[System.Boolean]
	storedAnimationTime		[System.Single]
	storedAnimationSpeed		[System.Single]
	isTracking			[System.Boolean]
	applyShielding			[System.Boolean]
	applyShieldingExtend		[System.Boolean]
	TrackingAlignmentOffset		[System.Single]
	retractable			[System.Boolean]
	isBreakable			[System.Boolean]
	windResistance			[System.Single]
	gResistance			[System.Double]
	impactResistance		[System.Single]
	impactResistanceRetracted	[System.Single]
	subPartMass			[System.Single]
	trackingSpeed			[System.Single]
	pivotName			[System.String]
	alignType			[ModuleDeployablePart+PanelAlignType]
	secondaryTransformName		[System.String]
	animationName			[System.String]
	editorAnimationSpeedMult	[System.Single]
	useAnimation			[System.Boolean]
	panelDrag			[System.Single]
	useCurve			[System.Boolean]
	deployState			[ModuleDeployablePart+DeployState]
	trackingMode			[ModuleDeployablePart+TrackingMode]
	eventsInSymmwtryAlways		[System.Boolean]
	eventsInSymmwtryEditor		[System.Boolean]
	extendActionName		[System.String]
	retractActionName		[System.String]
	extendpanelsActionName		[System.String]
	subPartName			[System.String]
	partType			[System.String]
	moduleID			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleDeployableSolarPanel] {
	panelType			[ModuleDeployableSolarPanel+PanelType]
	raycastOffset			[System.Single]
	resourceName			[System.String]
	chargeRate			[System.Single]
	raycastTransformName		[System.String]
	useRaycastForTrackingDot	[System.Boolean]
	sunAOA				[System.Single]
	flowRate			[System.Single]
	flowUnits			[System.String]
	flowUnitsUseSpace		[System.Boolean]
	flowFormat			[System.String]
	flowMult			[System.Single]
	showInfo			[System.Boolean]
	resMultForGetInfo		[System.Double]
	powerCurve			[FloatCurve]
	temperatureEfficCurve		[FloatCurve]
	timeEfficCurve			[FloatCurve]
	efficiencyMult			[System.Single]
	launchUT			[System.Double]
	status				[System.String]
	showStatus			[System.Boolean]
	originalRotation		[UnityEngine.Quaternion]
	currentRotation			[UnityEngine.Quaternion]
	runOnce				[System.Boolean]
	storedAnimationTime		[System.Single]
	storedAnimationSpeed		[System.Single]
	isTracking			[System.Boolean]
	applyShielding			[System.Boolean]
	applyShieldingExtend		[System.Boolean]
	TrackingAlignmentOffset		[System.Single]
	retractable			[System.Boolean]
	isBreakable			[System.Boolean]
	windResistance			[System.Single]
	gResistance			[System.Double]
	impactResistance		[System.Single]
	impactResistanceRetracted	[System.Single]
	subPartMass			[System.Single]
	trackingSpeed			[System.Single]
	pivotName			[System.String]
	alignType			[ModuleDeployablePart+PanelAlignType]
	secondaryTransformName		[System.String]
	animationName			[System.String]
	editorAnimationSpeedMult	[System.Single]
	useAnimation			[System.Boolean]
	panelDrag			[System.Single]
	useCurve			[System.Boolean]
	deployState			[ModuleDeployablePart+DeployState]
	trackingMode			[ModuleDeployablePart+TrackingMode]
	eventsInSymmwtryAlways		[System.Boolean]
	eventsInSymmwtryEditor		[System.Boolean]
	extendActionName		[System.String]
	retractActionName		[System.String]
	extendpanelsActionName		[System.String]
	subPartName			[System.String]
	partType			[System.String]
	moduleID			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleDockingNode] {
	nodeTransformName		[System.String]
	controlTransformName		[System.String]
	undockEjectionForce		[System.Single]
	minDistanceToReEngage		[System.Single]
	acquireRange			[System.Single]
	acquireMinFwdDot		[System.Single]
	acquireMinRollDot		[System.Single]
	acquireForce			[System.Single]
	acquireTorque			[System.Single]
	acquireTorqueRoll		[System.Single]
	captureRange			[System.Single]
	captureMinFwdDot		[System.Single]
	captureMinRollDot		[System.Single]
	captureMaxRvel			[System.Single]
	referenceAttachNode		[System.String]
	useReferenceAttachNode		[System.Boolean]
	nodeType			[System.String]
	deployAnimationController	[System.Int32]
	deployAnimationTarget		[System.Single]
	animReadyEnter			[System.Boolean]
	animReadyExit			[System.Boolean]
	animDisengageEnter		[System.Boolean]
	animDisengageExit		[System.Boolean]
	animDisabledEnter		[System.Boolean]
	animDisabledExit		[System.Boolean]
	animDisableIfNot1		[System.Boolean]
	animEnableIf1			[System.Boolean]
	animCaptureOff			[System.Boolean]
	animUndockOn			[System.Boolean]
	setAnimWrite			[System.Boolean]
	gendered			[System.Boolean]
	genderFemale			[System.Boolean]
	snapRotation			[System.Boolean]
	snapOffset			[System.Single]
	crossfeed			[System.Boolean]
	staged				[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleDragModifier] {
	dragCubeName			[System.String]
	dragModifier			[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleDynamicNodes] {
	setIndex			[System.Int32]
	autostrut			[System.Boolean]
	MenuName			[System.String]
	NodeSetIdx			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleEngines] {
	engineID			[System.String]
	throttleLocked			[System.Boolean]
	exhaustDamage			[System.Boolean]
	exhaustDamageLogEvent		[System.Boolean]
	exhaustSplashbackDamage		[System.Boolean]
	exhaustDamageMultiplier		[System.Double]
	exhaustDamageFalloffPower	[System.Double]
	exhaustDamageSplashbackFallofPower	[System.Double]
	exhaustDamageSplashbackMult	[System.Double]
	exhaustDamageSplashbackMaxMutliplier	[System.Double]
	exhaustDamageDistanceOffset	[System.Double]
	exhaustDamageMaxRange		[System.Single]
	exhaustDamageMaxMutliplier	[System.Double]
	ignitionThreshold		[System.Single]
	clampPropReceived		[System.Boolean]
	clampPropReceivedMinLowerAmount	[System.Double]
	allowRestart			[System.Boolean]
	allowShutdown			[System.Boolean]
	shieldedCanActivate		[System.Boolean]
	autoPositionFX			[System.Boolean]
	fxGroupPrefix			[System.String]
	fxOffset			[UnityEngine.Vector3]
	heatProduction			[System.Single]
	atmosphereCurve			[FloatCurve]
	atmChangeFlow			[System.Boolean]
	atmCurve			[FloatCurve]
	useAtmCurve			[System.Boolean]
	velCurve			[FloatCurve]
	useVelCurve			[System.Boolean]
	CLAMP				[System.Single]
	atmCurveIsp			[FloatCurve]
	useAtmCurveIsp			[System.Boolean]
	velCurveIsp			[FloatCurve]
	useVelCurveIsp			[System.Boolean]
	machLimit			[System.Single]
	flameoutBar			[System.Single]
	machHeatMult			[System.Single]
	flowMultCap			[System.Single]
	normalizeHeatForFlow		[System.Boolean]
	flowMultCapSharpness		[System.Single]
	multFlow			[System.Single]
	multIsp				[System.Single]
	useThrustCurve			[System.Boolean]
	thrustCurve			[FloatCurve]
	useThrottleIspCurve		[System.Boolean]
	throttleIspCurveAtmStrength	[FloatCurve]
	throttleIspCurve		[FloatCurve]
	thrustCurveDisplay		[System.Single]
	thrustCurveRatio		[System.Single]
	useEngineResponseTime		[System.Boolean]
	engineAccelerationSpeed		[System.Single]
	engineDecelerationSpeed		[System.Single]
	throttleUseAlternate		[System.Boolean]
	throttleResponseRate		[System.Single]
	throttleIgniteLevelMult		[System.Single]
	throttleStartupMult		[System.Single]
	throttleStartedMult		[System.Single]
	throttleInstantShutdown		[System.Boolean]
	throttleShutdownMult		[System.Single]
	throttleInstant			[System.Boolean]
	throttlingBaseRate		[System.Double]
	throttlingBaseClamp		[System.Double]
	throttlingBaseDivisor		[System.Double]
	thrustVectorTransformName	[System.String]
	fuelFlowGui			[System.Single]
	propellantReqMet		[System.Single]
	finalThrust			[System.Single]
	realIsp				[System.Single]
	status				[System.String]
	statusL2			[System.String]
	disableUnderwater		[System.Boolean]
	staged				[System.Boolean]
	flameout			[System.Boolean]
	EngineIgnited			[System.Boolean]
	engineShutdown			[System.Boolean]
	currentThrottle			[System.Single]
	thrustPercentage		[System.Single]
	manuallyOverridden		[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleEnginesFX] {
	flameoutEffectName		[System.String]
	runningEffectName		[System.String]
	powerEffectName			[System.String]
	engageEffectName		[System.String]
	disengageEffectName		[System.String]
	directThrottleEffectName	[System.String]
	spoolEffectName			[System.String]
	engineSpoolTime			[System.Single]
	engineSpoolIdle			[System.Single]
	engineID			[System.String]
	throttleLocked			[System.Boolean]
	exhaustDamage			[System.Boolean]
	exhaustDamageLogEvent		[System.Boolean]
	exhaustSplashbackDamage		[System.Boolean]
	exhaustDamageMultiplier		[System.Double]
	exhaustDamageFalloffPower	[System.Double]
	exhaustDamageSplashbackFallofPower	[System.Double]
	exhaustDamageSplashbackMult	[System.Double]
	exhaustDamageSplashbackMaxMutliplier	[System.Double]
	exhaustDamageDistanceOffset	[System.Double]
	exhaustDamageMaxRange		[System.Single]
	exhaustDamageMaxMutliplier	[System.Double]
	ignitionThreshold		[System.Single]
	clampPropReceived		[System.Boolean]
	clampPropReceivedMinLowerAmount	[System.Double]
	allowRestart			[System.Boolean]
	allowShutdown			[System.Boolean]
	shieldedCanActivate		[System.Boolean]
	autoPositionFX			[System.Boolean]
	fxGroupPrefix			[System.String]
	fxOffset			[UnityEngine.Vector3]
	heatProduction			[System.Single]
	atmosphereCurve			[FloatCurve]
	atmChangeFlow			[System.Boolean]
	atmCurve			[FloatCurve]
	useAtmCurve			[System.Boolean]
	velCurve			[FloatCurve]
	useVelCurve			[System.Boolean]
	CLAMP				[System.Single]
	atmCurveIsp			[FloatCurve]
	useAtmCurveIsp			[System.Boolean]
	velCurveIsp			[FloatCurve]
	useVelCurveIsp			[System.Boolean]
	machLimit			[System.Single]
	flameoutBar			[System.Single]
	machHeatMult			[System.Single]
	flowMultCap			[System.Single]
	normalizeHeatForFlow		[System.Boolean]
	flowMultCapSharpness		[System.Single]
	multFlow			[System.Single]
	multIsp				[System.Single]
	useThrustCurve			[System.Boolean]
	thrustCurve			[FloatCurve]
	useThrottleIspCurve		[System.Boolean]
	throttleIspCurveAtmStrength	[FloatCurve]
	throttleIspCurve		[FloatCurve]
	thrustCurveDisplay		[System.Single]
	thrustCurveRatio		[System.Single]
	useEngineResponseTime		[System.Boolean]
	engineAccelerationSpeed		[System.Single]
	engineDecelerationSpeed		[System.Single]
	throttleUseAlternate		[System.Boolean]
	throttleResponseRate		[System.Single]
	throttleIgniteLevelMult		[System.Single]
	throttleStartupMult		[System.Single]
	throttleStartedMult		[System.Single]
	throttleInstantShutdown		[System.Boolean]
	throttleShutdownMult		[System.Single]
	throttleInstant			[System.Boolean]
	throttlingBaseRate		[System.Double]
	throttlingBaseClamp		[System.Double]
	throttlingBaseDivisor		[System.Double]
	thrustVectorTransformName	[System.String]
	fuelFlowGui			[System.Single]
	propellantReqMet		[System.Single]
	finalThrust			[System.Single]
	realIsp				[System.Single]
	status				[System.String]
	statusL2			[System.String]
	disableUnderwater		[System.Boolean]
	staged				[System.Boolean]
	flameout			[System.Boolean]
	EngineIgnited			[System.Boolean]
	engineShutdown			[System.Boolean]
	currentThrottle			[System.Single]
	thrustPercentage		[System.Single]
	manuallyOverridden		[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleEnviroSensor] {
	sensorType			[ModuleEnviroSensor+SensorType]
	readoutInfo			[System.String]
	sensorActive			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleEvaChute] {
	evaChuteName			[System.String]
	chuteYawRateAtMaxSpeed		[System.Single]
	chuteMaxSpeedForYawRate		[System.Single]
	chuteYawRateAtMinSpeed		[System.Single]
	chuteMinSpeedForYawRate		[System.Single]
	chuteRollRate			[System.Single]
	chutePitchRate			[System.Single]
	chuteDefaultForwardPitch	[System.Single]
	semiDeployedChuteForwardPitch	[System.Single]
	chutePitchRateDivisorWhenTurning[System.Single]
	chuteRollRateDivisorWhenPitching[System.Single]
	chuteYawRateDivisorWhenPitching	[System.Single]
	baseName			[System.String]
	flagName			[System.String]
	invertCanopy			[System.Boolean]
	semiDeployedAnimation		[System.String]
	fullyDeployedAnimation		[System.String]
	autoCutSpeed			[System.Single]
	capName				[System.String]
	canopyName			[System.String]
	persistentState			[System.String]
	stowedDrag			[System.Single]
	semiDeployedDrag		[System.Single]
	fullyDeployedDrag		[System.Single]
	animTime			[System.Single]
	clampMinAirPressure		[System.Single]
	minAirPressureToOpen		[System.Single]
	deployAltitude			[System.Single]
	spreadAngle			[System.Single]
	deploymentSpeed			[System.Single]
	deploymentCurve			[System.Single]
	semiDeploymentSpeed		[System.Single]
	chuteMaxTemp			[System.Double]
	chuteThermalMassPerArea		[System.Double]
	startingTemp			[System.Double]
	chuteEmissivity			[System.Double]
	chuteTemp			[System.Double]
	deploySafe			[System.String]
	machHeatMultBase		[System.Double]
	machHeatMultScalar		[System.Double]
	machHeatMultPow			[System.Double]
	machHeatDensityFadeoutMult	[System.Double]
	secondsForRisky			[System.Double]
	safeMult			[System.Double]
	automateSafeDeploy		[System.Int32]
	shieldedCanDeploy		[System.Boolean]
	refDensity			[System.Double]
	refSpeedOfSound			[System.Double]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleExperienceManagement] {
	costPerKerbal			[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleFuelJettison] {
	ResourceName			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleGenerator] {
	generatorIsActive		[System.Boolean]
	efficiency			[System.Single]
	efficiencyGUIName		[System.String]
	activateGUIName			[System.String]
	shutdownGUIName			[System.String]
	toggleGUIName			[System.String]
	isAlwaysActive			[System.Boolean]
	isGroundFixture			[System.Boolean]
	requiresAllInputs		[System.Boolean]
	resourceThreshold		[System.Single]
	isThrottleControlled		[System.Boolean]
	throttle			[System.Single]
	displayStatus			[System.String]
	status				[System.String]
	statusGUIName			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleGimbal] {
	gimbalTransformName		[System.String]
	gimbalLock			[System.Boolean]
	gimbalLimiter			[System.Single]
	gimbalRange			[System.Single]
	gimbalRangeXP			[System.Single]
	gimbalRangeYP			[System.Single]
	gimbalRangeXN			[System.Single]
	gimbalRangeYN			[System.Single]
	flipYZ				[System.Boolean]
	xMult				[System.Single]
	yMult				[System.Single]
	showToggles			[System.Boolean]
	currentShowToggles		[System.Boolean]
	enableYaw			[System.Boolean]
	enablePitch			[System.Boolean]
	enableRoll			[System.Boolean]
	minRollOffset			[System.Single]
	useGimbalResponseSpeed		[System.Boolean]
	gimbalResponseSpeed		[System.Single]
	gimbalActive			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleGPS] {
	body				[System.String]
	bioName				[System.String]
	lat				[System.String]
	lon				[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleGrappleNode] {
	nodeTransformName		[System.String]
	controlTransformName		[System.String]
	undockEjectionForce		[System.Single]
	minDistanceToReEngage		[System.Single]
	captureRange			[System.Single]
	captureMinFwdDot		[System.Single]
	captureMaxRvel			[System.Single]
	pivotRange			[System.Single]
	deployAnimationController	[System.Int32]
	deployAnimationTarget		[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleJettison] {
	bottomNodeName			[System.String]
	checkBottomNode			[System.Boolean]
	decoupleEnabled			[System.Boolean]
	isFairing			[System.Boolean]
	activejettisonName		[System.String]
	jettisonName			[System.String]
	menuName			[System.String]
	useMultipleDragCubes		[System.Boolean]
	isJettisoned			[System.Boolean]
	shroudHideOverride		[System.Boolean]
	hideJettisonMenu		[System.Boolean]
	allowShroudToggle		[System.Boolean]
	useCalculatedMass		[System.Boolean]
	jettisonedObjectMass		[System.Single]
	jettisonForce			[System.Single]
	ignoreNodes			[System.Boolean]
	jettisonDirection		[UnityEngine.Vector3]
	manualJettison			[System.Boolean]
	moduleID			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleKerbNetAccess] {
	MinimumFoV			[System.Single]
	MaximumFoV			[System.Single]
	EnhancedSituationMask		[System.UInt32]
	EnhancedMinimumFoV		[System.Single]
	EnhancedMaximumFoV		[System.Single]
	AnomalyDetection		[System.Single]
	RequiresAnimation		[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleLiftingSurface] {
	transformDir			[ModuleLiftingSurface+TransformDir]
	transformSign			[System.Single]
	transformName			[System.String]
	deflectionLiftCoeff		[System.Single]
	omnidirectional			[System.Boolean]
	nodeEnabled			[System.Boolean]
	attachNodeName			[System.String]
	disableBodyLift			[System.Boolean]
	perpendicularOnly		[System.Boolean]
	liftingSurfaceCurve		[System.String]
	liftCurve			[FloatCurve]
	liftMachCurve			[FloatCurve]
	useInternalDragModel		[System.Boolean]
	dragCurve			[FloatCurve]
	dragMachCurve			[FloatCurve]
	liftScalar			[System.Single]
	dragScalar			[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleLight] {
	lightName			[System.String]
	isOn				[System.Boolean]
	uiWriteLock			[System.Boolean]
	useResources			[System.Boolean]
	resourceName			[System.String]
	animationName			[System.String]
	resourceAmount			[System.Single]
	useAnimationDim			[System.Boolean]
	useAutoDim			[System.Boolean]
	lightBrightenSpeed		[System.Single]
	lightDimSpeed			[System.Single]
	displayStatus			[System.String]
	status				[System.String]
	lightR				[System.Single]
	lightG				[System.Single]
	lightB				[System.Single]
	moduleID			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleOrbitalScanner] {
	CheckForLock			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleOrbitalSurveyor] {
	minThreshold			[System.Int32]
	maxThreshold			[System.Int32]
	ScanTime			[System.Int32]
	SciBonus			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleOverheatDisplay] {
	heatDisplay			[System.String]
	coreTempDisplay			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleParachute] {
	invertCanopy			[System.Boolean]
	semiDeployedAnimation		[System.String]
	fullyDeployedAnimation		[System.String]
	autoCutSpeed			[System.Single]
	capName				[System.String]
	canopyName			[System.String]
	persistentState			[System.String]
	stowedDrag			[System.Single]
	semiDeployedDrag		[System.Single]
	fullyDeployedDrag		[System.Single]
	animTime			[System.Single]
	clampMinAirPressure		[System.Single]
	minAirPressureToOpen		[System.Single]
	deployAltitude			[System.Single]
	spreadAngle			[System.Single]
	deploymentSpeed			[System.Single]
	deploymentCurve			[System.Single]
	semiDeploymentSpeed		[System.Single]
	chuteMaxTemp			[System.Double]
	chuteThermalMassPerArea		[System.Double]
	startingTemp			[System.Double]
	chuteEmissivity			[System.Double]
	chuteTemp			[System.Double]
	deploySafe			[System.String]
	machHeatMultBase		[System.Double]
	machHeatMultScalar		[System.Double]
	machHeatMultPow			[System.Double]
	machHeatDensityFadeoutMult	[System.Double]
	secondsForRisky			[System.Double]
	safeMult			[System.Double]
	automateSafeDeploy		[System.Int32]
	shieldedCanDeploy		[System.Boolean]
	refDensity			[System.Double]
	refSpeedOfSound			[System.Double]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModulePartVariants] {
	useMultipleDragCubes		[System.Boolean]
	variantIndex			[System.Int32]
	useVariantMass			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleProbeControlPoint] {
	minimumCrew			[System.Int32]
	multiHop			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleProceduralFairing] {
	interstageCraftID		[System.UInt32]
	fairingNode			[System.String]
	nSides				[System.Int32]
	nArcs				[System.Single]
	nCollidersPerXSection		[System.Int32]
	panelGrouping			[System.Int32]
	pivot				[UnityEngine.Vector3]
	axis				[UnityEngine.Vector3]
	baseRadius			[System.Single]
	maxRadius			[System.Single]
	capRadius			[System.Single]
	snapThreshold			[System.Single]
	xSectionHeightMin		[System.Single]
	xSectionHeightMax		[System.Single]
	edgeSlide			[System.Single]
	edgeWarp			[System.Single]
	noseTip				[System.Single]
	TextureURL			[System.String]
	CapTextureURL			[System.String]
	TextureNormalURL		[System.String]
	CapTextureNormalURL		[System.String]
	UnitAreaMass			[System.Single]
	UnitAreaCost			[System.Single]
	ejectionForce			[System.Single]
	interstageOcclusionFudge	[System.Single]
	coneSweepRays			[System.Int32]
	coneSweepPrecision		[System.Single]
	useClamshell			[System.Boolean]
	moduleID			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleRCSFX] {
	runningEffectName		[System.String]
	thrusterTransformName		[System.String]
	useZaxis			[System.Boolean]
	thrusterPower			[System.Single]
	resourceName			[System.String]
	fxPrefabName			[System.String]
	fxPrefix			[System.String]
	fxOffset			[UnityEngine.Vector3]
	fxOffsetRot			[UnityEngine.Vector3]
	isJustForShow			[System.Boolean]
	requiresFuel			[System.Boolean]
	shieldedCanThrust		[System.Boolean]
	rcsEnabled			[System.Boolean]
	thrustPercentage		[System.Single]
	fullThrustMin			[System.Single]
	useLever			[System.Boolean]
	precisionFactor			[System.Single]
	useThrustCurve			[System.Boolean]
	thrustCurve			[FloatCurve]
	thrustCurveDisplay		[System.Single]
	thrustCurveRatio		[System.Single]
	showToggles			[System.Boolean]
	currentShowToggles		[System.Boolean]
	enableYaw			[System.Boolean]
	enablePitch			[System.Boolean]
	enableRoll			[System.Boolean]
	enableX				[System.Boolean]
	enableY				[System.Boolean]
	enableZ				[System.Boolean]
	useThrottle			[System.Boolean]
	fullThrust			[System.Boolean]
	realISP				[System.Single]
	resourceFlowMode		[System.String]
	atmosphereCurve			[FloatCurve]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleReactionWheel] {
	actionGUIName			[System.String]
	PitchTorque			[System.Single]
	YawTorque			[System.Single]
	RollTorque			[System.Single]
	torqueResponseSpeed		[System.Single]
	actuatorModeCycle		[System.Int32]
	authorityLimiter		[System.Single]
	stateString			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleResourceConverter] {
	ConvertByMass			[System.Boolean]
	ConverterName			[System.String]
	GeneratesHeat			[System.Boolean]
	UseSpecialistBonus		[System.Boolean]
	UseSpecialistHeatBonus		[System.Boolean]
	SpecialistBonusBase		[System.Single]
	AutoShutdown			[System.Boolean]
	DirtyFlag			[System.Boolean]
	EfficiencyBonus			[System.Single]
	FillAmount			[System.Single]
	IsActivated			[System.Boolean]
	StartActionName			[System.String]
	StopActionName			[System.String]
	ToggleActionName		[System.String]
	TakeAmount			[System.Single]
	AlwaysActive			[System.Boolean]
	ThermalEfficiency		[FloatCurve]
	TemperatureModifier		[FloatCurve]
	SpecialistEfficiencyFactor	[System.Single]
	SpecialistHeatFactor		[System.Single]
	DefaultShutoffTemp		[System.Single]
	ExperienceEffect		[System.String]
	status				[System.String]
	debugEffBonus			[System.String]
	debugDelta			[System.String]
	debugTimeFac			[System.String]
	debugFinBon			[System.String]
	debugCrewBon			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleResourceHarvester] {
	CausesDepletion			[System.Boolean]
	DepletionRate			[System.Single]
	HarvestThreshold		[System.Single]
	HarvesterType			[System.Int32]
	ResourceName			[System.String]
	airSpeedStatic			[System.Double]
	ResourceStatus			[System.String]
	ImpactRange			[System.Single]
	ImpactTransform			[System.String]
	Efficiency			[System.Single]
	ConverterName			[System.String]
	GeneratesHeat			[System.Boolean]
	UseSpecialistBonus		[System.Boolean]
	UseSpecialistHeatBonus		[System.Boolean]
	SpecialistBonusBase		[System.Single]
	AutoShutdown			[System.Boolean]
	DirtyFlag			[System.Boolean]
	EfficiencyBonus			[System.Single]
	FillAmount			[System.Single]
	IsActivated			[System.Boolean]
	StartActionName			[System.String]
	StopActionName			[System.String]
	ToggleActionName		[System.String]
	TakeAmount			[System.Single]
	AlwaysActive			[System.Boolean]
	ThermalEfficiency		[FloatCurve]
	TemperatureModifier		[FloatCurve]
	SpecialistEfficiencyFactor	[System.Single]
	SpecialistHeatFactor		[System.Single]
	DefaultShutoffTemp		[System.Single]
	ExperienceEffect		[System.String]
	status				[System.String]
	debugEffBonus			[System.String]
	debugDelta			[System.String]
	debugTimeFac			[System.String]
	debugFinBon			[System.String]
	debugCrewBon			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleResourceIntake] {
	resourceName			[System.String]
	airFlow				[System.Single]
	status				[System.String]
	area				[System.Double]
	checkForOxygen			[System.Boolean]
	airSpeedGui			[System.Single]
	intakeSpeed			[System.Double]
	intakeTransformName		[System.String]
	intakeEnabled			[System.Boolean]
	occludeNode			[System.String]
	unitScalar			[System.Double]
	machCurve			[FloatCurve]
	kPaThreshold			[System.Double]
	disableUnderwater		[System.Boolean]
	underwaterOnly			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleResourceScanner] {
	MaxAbundanceAltitude		[System.Single]
	RequiresUnlock			[System.Boolean]
	ResourceName			[System.String]
	ScannerType			[System.Int32]
	abundanceDisplay		[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleSAS] {
	SASServiceLevel			[System.Int32]
	CommandModuleIndex		[System.Int32]
	RequireCrew			[System.Boolean]
	standalone			[System.Boolean]
	standaloneToggle		[System.Boolean]
	standaloneStateText		[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleScienceContainer] {
	capacity			[System.Int32]
	reviewActionName		[System.String]
	storeActionName			[System.String]
	collectActionName		[System.String]
	evaOnlyStorage			[System.Boolean]
	canBeTransferredToInVessel	[System.Boolean]
	canTransferInVessel		[System.Boolean]
	storageRange			[System.Single]
	allowRepeatedSubjects		[System.Boolean]
	dataIsRecoverable		[System.Boolean]
	dataIsCollectable		[System.Boolean]
	dataIsStorable			[System.Boolean]
	CollectOnlyOwnData		[System.Boolean]
	status				[System.String]
	showStatus			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleScienceConverter] {
	sciString			[System.String]
	datString			[System.String]
	rateString			[System.String]
	scientistBonus			[System.Single]
	researchTime			[System.Int32]
	scienceMultiplier		[System.Int32]
	dataProcessingMultiplier	[System.Single]
	scienceCap			[System.Int32]
	powerRequirement		[System.Single]
	ConverterName			[System.String]
	GeneratesHeat			[System.Boolean]
	UseSpecialistBonus		[System.Boolean]
	UseSpecialistHeatBonus		[System.Boolean]
	SpecialistBonusBase		[System.Single]
	AutoShutdown			[System.Boolean]
	DirtyFlag			[System.Boolean]
	EfficiencyBonus			[System.Single]
	FillAmount			[System.Single]
	IsActivated			[System.Boolean]
	StartActionName			[System.String]
	StopActionName			[System.String]
	ToggleActionName		[System.String]
	TakeAmount			[System.Single]
	AlwaysActive			[System.Boolean]
	ThermalEfficiency		[FloatCurve]
	TemperatureModifier		[FloatCurve]
	SpecialistEfficiencyFactor	[System.Single]
	SpecialistHeatFactor		[System.Single]
	DefaultShutoffTemp		[System.Single]
	ExperienceEffect		[System.String]
	status				[System.String]
	debugEffBonus			[System.String]
	debugDelta			[System.String]
	debugTimeFac			[System.String]
	debugFinBon			[System.String]
	debugCrewBon			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleScienceExperiment] {
	experimentID			[System.String]
	experimentActionName		[System.String]
	resetActionName			[System.String]
	reviewActionName		[System.String]
	useStaging			[System.Boolean]
	useActionGroups			[System.Boolean]
	hideUIwhenUnavailable		[System.Boolean]
	rerunnable			[System.Boolean]
	resettable			[System.Boolean]
	resettableOnEVA			[System.Boolean]
	hideFxModuleUI			[System.Boolean]
	transmitWarningText		[System.String]
	collectWarningText		[System.String]
	resourceToReset			[System.String]
	resourceResetCost		[System.Single]
	xmitDataScalar			[System.Single]
	dataIsCollectable		[System.Boolean]
	collectActionName		[System.String]
	interactionRange		[System.Single]
	usageReqMaskInternal		[System.Int32]
	usageReqMaskExternal		[System.Int32]
	availableShielded		[System.Boolean]
	deployableSeated		[System.Boolean]
	Deployed			[System.Boolean]
	Inoperable			[System.Boolean]
	usageReqMessage			[System.String]
	cooldownTimer			[System.Double]
	cooldownToGo			[System.Double]
	cooldownString			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleScienceLab] {
	crewsRequired			[System.Single]
	SurfaceBonus			[System.Single]
	ContextBonus			[System.Single]
	homeworldMultiplier		[System.Single]
	containerModuleIndex		[System.Int32]
	canResetConnectedModules	[System.Boolean]
	canResetNearbyModules		[System.Boolean]
	interactionRange		[System.Single]
	statusText			[System.String]
	dataStored			[System.Single]
	dataStorage			[System.Single]
	storedScience			[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleSeeThroughObject] {
	transformName			[System.String]
	shaderName			[System.String]
	screenRadius			[System.Single]
	proximityBias			[System.Single]
	minOpacity			[System.Single]
	leadModuleIndex			[System.Int32]
	leadModuleTgtValue		[System.Single]
	leadModuleTgtGain		[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleServiceModule] {
	IsDeployed			[System.Boolean]
	ExteriorColliderName		[System.String]
	UseJettisonZones		[System.Boolean]
	JettisonZoneNames		[System.String]
	ShellMeshName			[System.String]
	showMesh			[System.Boolean]
	openCutaway			[System.Boolean]
	moduleID			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleStatusLight] {
	lightObjName			[System.String]
	lightMeshRendererName		[System.String]
	lightMatPropertyName		[System.String]
	colorOn				[System.String]
	colorOff			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleStructuralNode] {
	attachNodeNames			[System.String]
	nodeRadius			[System.Single]
	rootObject			[System.String]
	spawnManually			[System.Boolean]
	spawnState			[System.Boolean]
	reverseVisibility		[System.Boolean]
	visibilityState			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleStructuralNodeToggle] {
	MeshMenuName			[System.String]
	NodeMenuName			[System.String]
	showMesh			[System.Boolean]
	showNodes			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleSurfaceFX] {
	thrustProviderModuleIndex	[System.Int32]
	fxMax				[System.Single]
	maxDistance			[System.Single]
	falloff				[System.Single]
	thrustTransformName		[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleTestSubject] {
	situationMask			[System.UInt32]
	useProgressForBodies		[System.Boolean]
	usePrestigeForSit		[System.Boolean]
	useStaging			[System.Boolean]
	useEvent			[System.Boolean]
	TestNotes			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleToggleCrossfeed] {
	crossfeedStatus			[System.Boolean]
	eventPropagatesInEditor		[System.Boolean]
	eventPropagatesInFlight		[System.Boolean]
	toggleEditor			[System.Boolean]
	toggleFlight			[System.Boolean]
	enableText			[System.String]
	disableText			[System.String]
	toggleText			[System.String]
	techRequired			[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleTripLogger] {
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleWheelBase] {
	wheelType			[WheelType]
	isGrounded			[System.Boolean]
	FitWheelColliderToMesh		[System.Boolean]
	radius				[System.Single]
	center				[UnityEngine.Vector3]
	mass				[System.Single]
	frictionSharpness		[System.Single]
	wheelDamping			[System.Single]
	wheelMaxSpeed			[System.Single]
	clipObject			[System.String]
	adherentStart			[System.Single]
	frictionAdherent		[System.Single]
	peakStart			[System.Single]
	frictionPeak			[System.Single]
	limitStart			[System.Single]
	frictionLimit			[System.Single]
	autoFrictionAvailable		[System.Boolean]
	autoFriction			[System.Boolean]
	frictionMultiplier		[System.Single]
	geeBias				[System.Single]
	groundHeightOffset		[System.Single]
	inactiveSubsteps		[System.Int32]
	activeSubsteps			[System.Int32]
	tireForceSharpness		[System.Single]
	suspensionForceSharpness	[System.Single]
	ApplyForcesToParent		[System.Boolean]
	wheelColliderTransformName	[System.String]
	wheelTransformName		[System.String]
	TooltipTitle			[System.String]
	TooltipPrimaryField		[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleWheelBogey] {
	wheelTransformRefName		[System.String]
	wheelTransformBaseName		[System.String]
	bogeyTransformName		[System.String]
	bogeyRefTransformName		[System.String]
	maxPitch			[System.Single]
	minPitch			[System.Single]
	restPitch			[System.Single]
	pitchResponse			[System.Single]
	bogeyAxis			[UnityEngine.Vector3]
	bogeyUpAxis			[UnityEngine.Vector3]
	deployModuleIndex		[System.Int32]
	baseModuleIndex			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleWheelBrakes] {
	maxBrakeTorque			[System.Single]
	brakeResponse			[System.Single]
	brakeTweakable			[System.Single]
	statusLightModuleIndex		[System.Int32]
	brakeInput			[System.Single]
	baseModuleIndex			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleWheelDamage] {
	stressTolerance			[System.Single]
	impactTolerance			[System.Single]
	deflectionMagnitude		[System.Single]
	slipMagnitude			[System.Single]
	deflectionSharpness		[System.Single]
	slipSharpness			[System.Single]
	damagedTransformName		[System.String]
	undamagedTransformName		[System.String]
	isRepairable			[System.Boolean]
	explodeMultiplier		[System.Single]
	isDamaged			[System.Boolean]
	stressPercent			[System.Single]
	baseModuleIndex			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleWheelDeployment] {
	shieldedCanDeploy		[System.Boolean]
	stateDisplayString		[System.String]
	stateString			[System.String]
	animationTrfName		[System.String]
	animationStateName		[System.String]
	deployedPosition		[System.Single]
	extendDurationFactor		[System.Single]
	retractDurationFactor		[System.Single]
	TsubSys				[System.Single]
	deployTargetTransformName	[System.String]
	retractTransformName		[System.String]
	fxDeploy			[System.String]
	fxDeployed			[System.String]
	fxRetract			[System.String]
	fxRetracted			[System.String]
	useStandInCollider		[System.Boolean]
	baseModuleIndex			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleWheelLock] {
	maxTorque			[System.Single]
	baseModuleIndex			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleWheelMotor] {
	driveResponse			[System.Single]
	idleDrain			[System.Double]
	wheelSpeedMax			[System.Single]
	autoTorque			[System.Boolean]
	motorStateString		[System.String]
	motorEnabled			[System.Boolean]
	motorInverted			[System.Boolean]
	driveLimiter			[System.Single]
	tractionControlScale		[System.Single]
	driveOutput			[System.Single]
	torqueCurve			[FloatCurve]
	baseModuleIndex			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleWheelMotorSteering] {
	steeringTorque			[System.Single]
	steeringEnabled			[System.Boolean]
	steeringInvert			[System.Boolean]
	driveResponse			[System.Single]
	idleDrain			[System.Double]
	wheelSpeedMax			[System.Single]
	autoTorque			[System.Boolean]
	motorStateString		[System.String]
	motorEnabled			[System.Boolean]
	motorInverted			[System.Boolean]
	driveLimiter			[System.Single]
	tractionControlScale		[System.Single]
	driveOutput			[System.Single]
	torqueCurve			[FloatCurve]
	baseModuleIndex			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleWheelSteering] {
	caliperTransformName		[System.String]
	steeringCurve			[FloatCurve]
	steeringResponse		[System.Single]
	steeringEnabled			[System.Boolean]
	steeringInvert			[System.Boolean]
	baseModuleIndex			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [ModuleWheelSuspension] {
	suspensionTransformName		[System.String]
	suspensionOffset		[System.Single]
	suspensionDistance		[System.Single]
	targetPosition			[System.Single]
	springRatio			[System.Single]
	springTweakable			[System.Single]
	damperRatio			[System.Single]
	damperTweakable			[System.Single]
	autoSpringDamper		[System.Boolean]
	boostRatio			[System.Single]
	maximumLoad			[System.Single]
	suppressModuleInfo		[System.Boolean]
	suspensionPos			[UnityEngine.Vector3]
	autoBoost			[System.Single]
	useAutoBoost			[System.Boolean]
	suspensionColliderName		[System.String]
	baseModuleIndex			[System.Int32]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [MultiModeEngine] {
	primaryEngineID			[System.String]
	secondaryEngineID		[System.String]
	primaryEngineModeDisplayName	[System.String]
	secondaryEngineModeDisplayName	[System.String]
	autoSwitchAvailable		[System.Boolean]
	mode				[System.String]
	carryOverThrottle		[System.Boolean]
	engineID			[System.String]
	runningPrimary			[System.Boolean]
	autoSwitch			[System.Boolean]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [RetractableLadder] {
	StateName			[System.String]
	ladderAnimationRootName		[System.String]
	ladderColliderName		[System.String]
	ladderRetractAnimationName	[System.String]
	externalActivationRange		[System.Single]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}
PartModule [SentinelModule] {
	isTracking			[System.Boolean]
	status				[System.String]
	stagingEnabled			[System.Boolean]
	stagingToggleEnabledEditor	[System.Boolean]
	stagingToggleEnabledFlight	[System.Boolean]
	stagingEnableText		[System.String]
	stagingDisableText		[System.String]
	overrideStagingIconIfBlank	[System.Boolean]
	moduleIsEnabled			[System.Boolean]
	upgradesApply			[System.Boolean]
	upgradesAsk			[System.Boolean]
	showUpgradesInModuleInfo	[System.Boolean]
}

 

I'll eventually add conditional application of variants, so you can do things like double the speed of a kerbal for x seconds if he's within x radius of an explosion and such.

Edited by Electrocutor
Link to comment
Share on other sites

  • Added ModulePartVariantsEx/Internal to EXTRA_INFO to set the IVA.
    • This obviously requires that you add the ModulePartVariantsEx to the part that needs IVA switching. No parameters are needed, it just acts to store and load the values. It will also be used to store/load all future values of things otherwise not persistent.
      MODULE {
      	name = ModulePartVariants
      	baseVariant = base
      	VARIANT {
      		name = base
      		EXTRA_INFO {
      			ModulePartVariantsEx/Internal = baseIVA
      		}
      	}
      	VARIANT {
      		name = OtherIVA
      		EXTRA_INFO {
      			ModulePartVariantsEx/Internal = variantIVA
      		}
      	}
      }
      MODULE {
      	name = ModulePartVariantsEx
      }

       

Edited by Electrocutor
Link to comment
Share on other sites

On 11/17/2018 at 8:16 AM, Electrocutor said:
  • Added ModulePartVariantsEx/Internal to EXTRA_INFO to set the IVA.
    • This obviously requires that you add the ModulePartVariantsEx to the part that needs IVA switching. No parameters are needed, it just acts to store and load the values. It will also be used to store/load all future values of things otherwise not persistent.
      
      MODULE {
      	name = ModulePartVariants
      	baseVariant = base
      	VARIANT {
      		name = base
      		EXTRA_INFO {
      			ModulePartVariantsEx/Internal = baseIVA
      		}
      	}
      	VARIANT {
      		name = OtherIVA
      		EXTRA_INFO {
      			ModulePartVariantsEx/Internal = variantIVA
      		}
      	}
      }
      MODULE {
      	name = ModulePartVariantsEx
      }

       

I have been wanting this for so, so long. Everyone told me it was impossible. Even the B9 Part Switch guys told me they wouldn't program something like this. I thought no one else cared. I cannot wait to get back home and make this work with Warbird Cockpits!

Will it work if you nest it in a Part Upgrade module?

Link to comment
Share on other sites

Just now, theonegalen said:

Will it work if you nest it in a Part Upgrade module?

Do you mean so that the IVA changes during a part upgrade instead of for a variant change?

The current dll is only hooked up to ModulePartVariants, but I can poke around the upgrade module and see what it has available if you need it.

Link to comment
Share on other sites

Just now, Electrocutor said:

Do you mean so that the IVA changes during a part upgrade instead of for a variant change?

The current dll is only hooked up to ModulePartVariants, but I can poke around the upgrade module and see what it has available if you need it.

So the idea is that cockpits would come with old fashioned and limited gauges early in the tech tree, then you would unlock the variant ivas with glass cockpits and more complex instrumentation later on.

Link to comment
Share on other sites

6 minutes ago, theonegalen said:

So the idea is that cockpits would come with old fashioned and limited gauges early in the tech tree, then you would unlock the variant ivas with glass cockpits and more complex instrumentation later on.

I don't see a way from the examples to have a variant added by an upgrade as it seems that upgrades can only change the value of PartModule fields, and not add a node (in this case VARIANT).

On the other hand, a good question is whether or not an upgrade can change the value of a child node, like this:

MODULE {
	name = ModulePartVariants
	VARIANT {
		EXTRA_INFO {
			ModulePartVariantsEx/Internal = A
			UPGRADES {
				UPGRADE {
					ModulePartVariantsEx/Internal = B
				}
				UPGRADE {
					ModulePartVariantsEx/Internal = C
				}
			}
		}
	}
}

If you get the time to try it, see if you can get something like that to work: I've never used part upgrades before.

Link to comment
Share on other sites

3 minutes ago, Electrocutor said:

I don't see a way from the examples to have a variant added by an upgrade as it seems that upgrades can only change the value of PartModule fields, and not add a node (in this case VARIANT).

On the other hand, a good question is whether or not an upgrade can change the value of a child node, like this:


MODULE {
	name = ModulePartVariants
	VARIANT {
		EXTRA_INFO {
			ModulePartVariantsEx/Internal = A
			UPGRADES {
				UPGRADE {
					ModulePartVariantsEx/Internal = B
				}
				UPGRADE {
					ModulePartVariantsEx/Internal = C
				}
			}
		}
	}
}

If you get the time to try it, see if you can get something like that to work: I've never used part upgrades before.

Yes, that's exactly what I was talking about! Unfortunately, I am away from my KSP computer until next Saturday, as I am on Thanksgiving vacation with family. But as soon as I get back, I'm going to give this a shot!

Link to comment
Share on other sites

Yesterday I had a KSP crash. Changed to Dx11 now.
Just letting you know you are not the only one.

I downgraded back to KSP 1.3.1
Is there a TU config file for Ven's stock revamp? Playing RO/Rp-1 which needs it installed.
I know there was one but I can't find it in this thread.

in this page: ( I just don't know if TU 1.0.0.8 will work, or should I use 1.0.0.5 that was at that moment the latest update)

 

Edited by Agustin
Link to comment
Share on other sites

On 11/18/2018 at 3:01 PM, theonegalen said:

So the idea is that cockpits would come with old fashioned and limited gauges early in the tech tree, then you would unlock the variant ivas with glass cockpits and more complex instrumentation later on.

I had an idea to solve this back when Upgrades first came out but never did anything with it , maybe it would work for you. It’s been a while since I messed wit upgrades though so I may be foggy on the details.

Make a MM clone of you part, let’s say it is called “pod” and the clone is “podAdvanced” (with the new IVA). Both parts are affected by the same Upgrade. The difference is that at Upgrade level 0, “podAdvanced” is category = hidden.

When you buy the next pod Upgrade “pod” becomes category = hidden and “podAdvanced” becomes category = command (or whatever).

I believe that the pods would still show up if you searched for them by name so you could also change the prices to be extremely high for the locked advanced tech, but reduce it to a reasonable price upon upgrade. 

 

 

Link to comment
Share on other sites

@Electrocutor

I tried to set up the Mk3 cockpit to switch variants between Full Retro and Mr Glass with your new dll, but it didn't do anything.

My cfg: https://drive.google.com/file/d/1gLHswsNpb45GW0PBVsFDn41AzLe8X9OQ/view?usp=drivesdk

My log: https://drive.google.com/file/d/1tkqzUjhjtINuvc4OWLpav0eSpNS0j4qs/view?usp=drivesdk

Edited by theonegalen
Link to comment
Share on other sites

7 hours ago, theonegalen said:

@Electrocutor

I tried to set up the Mk3 cockpit to switch variants between Full Retro and Mr Glass with your new dll, but it didn't do anything.

My cfg: https://drive.google.com/file/d/1gLHswsNpb45GW0PBVsFDn41AzLe8X9OQ/view?usp=drivesdk

My log: https://drive.google.com/file/d/1tkqzUjhjtINuvc4OWLpav0eSpNS0j4qs/view?usp=drivesdk

When I did all the moving about and put ModulePartVariantEx as part of a larger project, the name of the  PartModule changed. The module is simply named ModulePartData now, and will encompass all part-level properties that currently do not persist, including the internal model, which I've renamed to InternalModel. i.e. ModulePartData/InternalModel. This may change again in the future (or not) depending on how KSPF moves forward.

Sorry for the confusion.

Edited by Electrocutor
Link to comment
Share on other sites

5 hours ago, Electrocutor said:

When I did all the moving about and put ModulePartVariantEx as part of a larger project, the name of the  PartModule changed. The module is simply named ModulePartData now, and will encompass all part-level properties that currently do not persist, including the internal model, which I've renamed to InternalModel. i.e. ModulePartData/InternalModel. This may change again in the future (or not) depending on how KSPF moves forward.

Sorry for the confusion.

Aha! Thank you.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...