https://wiki.kerbalspaceprogram.com/api.php?action=feedcontributions&user=Micha&feedformat=atomKerbal Space Program Wiki - User contributions [en]2024-03-29T14:56:03ZUser contributionsMediaWiki 1.29.0https://wiki.kerbalspaceprogram.com/index.php?title=Version_history&diff=103621Version history2022-04-30T03:21:02Z<p>Micha: /* Summary */ Added unity version for KSP1.12 - https://forum.kerbalspaceprogram.com/index.php?/topic/160487-official-parttools/</p>
<hr />
<div>This page contains all changes to [[Kerbal Space Program]] since [[Version history#v0.7.3|v0.7.3]], the initial public release. The [[planned features]] lists any not released but proposed features.<br />
<br />
<div class="hlist nonumtoc toclimit-2"> __TOC__ </div><br />
<br />
== v1.12.3 ==<br />
Released 13<sup>th</sup> Dec, 2021<br />
<br />
{{Main article|1.12.3}}<br />
=== Summary ===<br />
* Fix AOORE in Assembly Loading of Duplicate Mod DLLs causing issues with loading of some mods.<br />
* Improved robotic parts drift when robotic parts are left locked. Players can now quicksave/reload or timewarp to reset part placement. Note: The drift issue can only be corrected when the robotic parts are set to locked mode.<br />
* Improved rotating docking ports drift when rotating docking ports are left locked. Players can now quicksave/reload or timewarp to reset part placement. Note: The drift issue can only be corrected when the rotating docking ports are set to locked mode.<br />
* Add UpgradePipeline support for PartModule renaming.<br />
<br />
== v1.12.2 ==<br />
Released 3<sup>rd</sup> Aug, 2021<br />
<br />
{{Main article|1.12.2}}<br />
=== Summary ===<br />
* Added locking to docking port rotations.<br />
* Firework improvements.<br />
* Added [[Clamp-O-Tron Docking Port Sr.]] variant.<br />
* Revamped [[LV-T30 "Reliant" Liquid Fuel Engine]] and [[LV-T45 "Swivel" Liquid Fuel Engine]]<br />
* Renamed 0.625m, 1.25m, 2.5m RCS tanks.<br />
* Bugfixes.<br />
<br />
== v1.12.1 ==<br />
Released 29<sup>th</sup> June, 2021<br />
<br />
{{Main article|1.12.1}}<br />
=== Summary ===<br />
* Hotfix.<br />
<br />
== v1.12 ==<br />
Released 24<sup>th</sup> June, 2021<br />
<br />
{{Main article|1.12}}<br />
=== Summary ===<br />
* Updated to Unity 2019.4.18f1 LTS<br />
* Maneuver Creator and Alarm Clock Apps<br />
* New solar panel and fireworks parts.<br />
* Final Celestial body visual improvements.<br />
* Craft and save file UI improvements.<br />
* Discoverable and usable launch sites (without DLCs).<br />
* Added Fireworks: [[Starshot-8]] and [[Starshot-32]]. <br />
* Bugfixes.<br />
<br />
== v1.11.2 ==<br />
Released 16<sup>th</sup> March, 2021<br />
<br />
{{Main article|1.11.2}}<br />
=== Summary ===<br />
* Hotfix.<br />
<br />
== v1.11.1 ==<br />
Released 28<sup>th</sup> January, 2021<br />
<br />
{{Main article|1.11.1}}<br />
=== Summary ===<br />
* Kerbals can assist in [[EVA Construction Mode]].<br />
* Bugfixes.<br />
<br />
== v1.11 ==<br />
Released 17<sup>th</sup> December, 2020<br />
<br />
{{Main article|1.11}}<br />
=== Summary ===<br />
* Added EVA Construction Mode.<br />
* Added new EVA science experiments.<br />
* Inventory System changes.<br />
* New lights and RCS thrusters.<br />
* Celestial body visual improvements.<br />
* Asteroid visual improvements.<br />
* Bugfixes.<br />
<br />
== v1.10.1 ==<br />
Released 28<sup>th</sup> July, 2020<br />
<br />
{{Main article|1.10.1}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.10 ==<br />
Released 1<sup>st</sup> July, 2020<br />
<br />
{{Main article|1.10}}<br />
=== Summary ===<br />
* Added new missions in collaboration with ESA.<br />
* Added [[comets]].<br />
* Introduced a [[Suit Picker]].<br />
* Added Flag Parts.<br />
* Added various parts and ESA variants.<br />
* Celestial body visual improvements.<br />
* Bugfixes.<br />
<br />
== v1.9.1 ==<br />
Released 27<sup>th</sup> February, 2020<br />
<br />
{{Main article|1.9.1}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.9 ==<br />
Released 12<sup>th</sup> February, 2020<br />
<br />
{{Main article|1.9}}<br />
=== Summary ===<br />
* Added Camera mode.<br />
* Celestial body visual improvements.<br />
* Engine revamps.<br />
* Bugfixes.<br />
<br />
== v1.8.1 ==<br />
Released 29<sup>th</sup> October, 2019<br />
<br />
{{Main article|1.8.1}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.8 ==<br />
Released 16<sup>th</sup> October, 2019<br />
<br />
{{Main article|1.8}}<br />
=== Summary ===<br />
* Updated to Unity 2019.2.2f1.<br />
* Celestial body visual improvements.<br />
* Editable action groups in flight.<br />
* New SRBs.<br />
* Performance improvements.<br />
<br />
== v1.7.3 ==<br />
Released 11<sup>th</sup> July, 2019<br />
<br />
{{Main article|1.7.3}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.7.2 ==<br />
Released 12<sup>th</sup> June, 2019<br />
<br />
{{Main article|1.7.2}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.7.1 ==<br />
Released 30<sup>th</sup> May, 2019<br />
<br />
{{Main article|1.7.1}}<br />
=== Summary ===<br />
* Implemented Cargo part category and Inventory processing.<br />
* Kerbal Portraits now available on [[EVA]].<br />
* Bugfixes.<br />
<br />
== v1.7 ==<br />
Released 10<sup>th</sup> April, 2019<br />
<br />
{{Main article|1.7}}<br />
=== Summary ===<br />
* Maneuver Mode.<br />
* Altimeter Mode.<br />
* Part revamps.<br />
<br />
== v1.6.1 ==<br />
Released 9<sup>th</sup> January, 2019<br />
<br />
{{Main article|1.6.1}}<br />
=== Summary ===<br />
* Bugfixes<br />
<br />
== v1.6 ==<br />
Released 19<sup>th</sup> December, 2018<br />
<br />
{{Main article|1.6}}<br />
=== Summary ===<br />
* Delta-v per Stage and Delta-v Tool App.<br />
* Part Revamps.<br />
* Navigation Icons to Launch Sites.<br />
* Ability to remove Helmets and neck rings.<br />
<br />
== v1.5.1 ==<br />
Released 17<sup>th</sup> October, 2018<br />
<br />
{{Main article|1.5.1}}<br />
=== Summary ===<br />
* Hotfix for Aero body lift in flight integrator.<br />
<br />
== v1.5 ==<br />
Released 15<sup>th</sup> October, 2018<br />
<br />
{{Main article|1.5}}<br />
=== Summary ===<br />
* New suits, EVA and IVA.<br />
* Revamped parts.<br />
* Improved Burn Time information.<br />
<br />
== v1.4.5 ==<br />
Released 26<sup>th</sup> July, 2018<br />
<br />
{{Main article|1.4.5}}<br />
=== Summary ===<br />
* Pop dialogs can now be closed/dismissed with ESC key.<br />
* Fixes for Steam workshop.<br />
* Bugfixes<br />
<br />
== v1.4.4 ==<br />
Released 21<sup>st</sup> June, 2018<br />
<br />
{{Main article|1.4.4}}<br />
=== Summary ===<br />
* Support for controllers.<br />
* Steam workshop for missions.<br />
* Steam cloud saves.<br />
* FX improvements.<br />
* Bugfixes<br />
<br />
== v1.4.3 ==<br />
Released 27<sup>th</sup> April, 2018<br />
<br />
{{Main article|1.4.3}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.4.2 ==<br />
Released 28<sup>th</sup> March, 2018<br />
<br />
{{Main article|1.4.2}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.4.1 ==<br />
Released 13<sup>th</sup> March, 2018<br />
<br />
{{Main article|1.4.1}}<br />
=== Summary ===<br />
* Jet engine sounds.<br />
* Localization fixes and enhancements.<br />
* Bugfixes and performance improvements.<br />
<br />
== v1.4 ==<br />
Released 6<sup>th</sup> March, 2018<br />
<br />
{{Main article|1.4}}<br />
=== Summary ===<br />
* Updated to Unity 2017.1.3p1.<br />
* Localization for French, German, Italian and Portuguese-Brazilian.<br />
* New parts (decouplers, separators and fuel tanks).<br />
* Part texture variants.<br />
* EVA Chute.<br />
<br />
== v1.3.1 (Demo) ==<br />
Released 5<sup>th</sup> October, 2017<br />
<br />
{{Main article|1.3.1}}<br />
=== Summary ===<br />
* Localization fixes and enhancements<br />
* Bugfixes and performance improvements<br />
* Other undefined enhancements<br />
<br />
== v1.3 ==<br />
Released 25<sup>th</sup> May, 2017<br />
<br />
{{Main article|1.3}}<br />
=== Summary ===<br />
* Localization for Spanish, Russian, Japanese, Chinese-Simplified.<br />
* Added Ambient light adjustment.<br />
* Asteroid Day Mod merged into stock.<br />
* Bugfixes and tweaks.<br />
<br />
== v1.2.2 ==<br />
Released 6<sup>th</sup> December, 2016<br />
<br />
{{Main article|1.2.2}}<br />
=== Summary ===<br />
* Bugfixes<br />
<br />
== v1.2.1 ==<br />
Released 1<sup>st</sup> November, 2016.<br />
<br />
{{Main article|1.2.1}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.2 ==<br />
Released 11<sup>th</sup> October, 2016.<br />
<br />
{{Main article|1.2}}<br />
=== Summary ===<br />
* Updated Unity to 5.4.0p4.<br />
* Implemented Text Mesh Pro, which makes our fonts look much better.<br />
* Overhauled Flow Control.<br />
* More wheel improvements.<br />
* Added [[CommNet|comms network]] and [[KerbNet]].<br />
* New [[Debug_Toolbar|Debug window]].<br />
* Many bugfixes and tweaks.<br />
<br />
== v1.1.3 ==<br />
Released 21<sup>st</sup> June, 2016.<br />
<br />
{{Main article|1.1.3}}<br />
=== Summary ===<br />
* Bugfixes and performance enhancements.<br />
<br />
== v1.1.2 ==<br />
Released 30<sup>th</sup> April, 2016.<br />
<br />
{{Main article|1.1.2}}<br />
=== Summary ===<br />
* Bugfixes and optimizations. Added some tweakables for gears and legs <br />
<br />
== v1.1.1 ==<br />
Released 29<sup>th</sup> April, 2016.<br />
<br />
{{Main article|1.1.1}}<br />
=== Summary ===<br />
* Bugfixes and optimizations<br />
<br />
== v1.1 ==<br />
Released 19<sup>th</sup> April, 2016, pre-released on 30<sup>th</sup> March, 2016 <br />
<br />
{{Main article|1.1}}<br />
=== Summary ===<br />
* Ported to Unity 5, should lead to improved physics and performance<br />
* Implemented save file upgrading system, saves shouldn't break<br />
* Added various tutorials and scenarios, and the KSPedia<br />
* GUI improvements<br />
* Weighted contracts<br />
* New rocket and spaceplane parts, fixed some part issues<br />
* Many bugfixes and tweaks<br />
<br />
== v1.0.5 ==<br />
Released 9<sup>th</sup> November, 2015.<br />
<br />
{{Main article|1.0.5}}<br />
=== Summary ===<br />
* Contextual Contracts & Contract Changes<br />
* Thermodynamic improvements<br />
* New buoyancy model<br />
* New rocket and spaceplane parts<br />
* Bugfixes & Tweaks<br />
<br />
== v1.0.4 ==<br />
Released 23<sup>rd</sup> June, 2015.<br />
<br />
{{Main article|1.0.4}}<br />
=== Summary ===<br />
* Hot-Fixed an issue where loading vessels equipped with heatshields from pre-1.0.3 saves would cause the game to crash<br />
<br />
== v1.0.3 ==<br />
Released 22<sup>nd</sup> June, 2015.<br />
<br />
{{Main article|1.0.3}}<br />
=== Summary ===<br />
* This revision brings several much-needed bugfixes and improvements, as well as a few new parts.<br />
* A big revision to the thermal system for parts.<br />
* The heat simulation has been greatly improved.<br />
* Five new Radiator parts.<br />
* Fixed a significant amount of bugs.<br />
<br />
== v1.0.2 ==<br />
Released 1<sup>st</sup> May, 2015.<br />
<br />
{{Main article|1.0.2}}<br />
=== Summary ===<br />
* Overlooked an issue in 1.0.1 regarding [[overheating]] when splashed down<br />
<br />
== v1.0.1 ==<br />
Released 1<sup>st</sup> May, 2015.<br />
<br />
{{Main article|1.0.1}}<br />
=== Summary ===<br />
* This is a small revision patch to address some of the most noticeable bugs were encountered since the release of 1.0.<br />
<br />
== v1.0 (Demo) ==<br />
Released 27<sup>th</sup> April, 2015. First official release.<br />
<br />
{{Main article|1.0}}<br />
=== Summary ===<br />
* Female [[Kerbonaut]] model<br />
* Improved aerodynamics<br />
* Improved component heating and cooling through atmospheric friction, solar radiation exposure, convection and more<br />
* Resource gathering from planets, moons and asteroids<br />
* Procedural [[fairings]]<br />
* Internal views for all cockpits<br />
* Parts relating to above, such as ablative [[heat shield]]s, air brakes and mining drills<br />
<br />
=== Demo Restrictions and changes ===<br />
* Part loading limited to 26 basic parts.<br />
* Career Tech Tree is smaller to fit the 26 parts.<br />
* No Plugin loading.<br />
* SPH and Runway Facilities are inaccessible.<br />
* Only one save profile allowed.<br />
* Cannot launch new flights if 3 or more are already in progress.<br />
* Kerbin, Mun, Minmus, and Kerbol are the only celestial bodies in the Kerbol system.<br />
* Revised tutorials and scenarios to be compatible with the demo set of parts.<br />
* Removed the Station One and Mun Orbit scenarios as those require parts from the full version.<br />
<br />
== v0.90.0 ==<br />
Released 15<sup>th</sup> December, 2014. First (and only) beta release.<br />
<br />
{{Main article|0.90.0}}<br />
=== Summary ===<br />
<br />
* Editor overhaul<br />
* Kerbal [[experience]] and professions (Pilot, engineer, scientist)<br />
* Extra [[contract]]s (Integration of [[thread:79788|Fine Print]])<br />
* [[Biome]]s on every planet and moon<br />
* MK3 overhaul<br />
* Upgradable facilities (in Career)<br />
* Organization of parts, including custom filters<br />
* Tutorial and help<br />
<br />
== v0.25 ==<br />
Released 7<sup>th</sup> October, 2014.<br />
<br />
{{Main article|0.25}}<br />
=== Summary ===<br />
<br />
* New spaceplane parts from Spaceplane Plus mod<br />
* Redesign of some old parts and textures<br />
* Added [[Administration Facility]] with ability to choose strategies in Career mode<br />
* New explosions<br />
* Destructible facilties at Kerbal Space Center<br />
* New [[Game Difficulty|difficulty options menu]]<br />
* Added crew transfer without EVA<br />
* Added new Navball vectors (prograde, retrograde, radial in/out, normal and antinormal)<br />
* Various bug fixes and tweaks<br />
* Integrated Spaceplanes Plus mod into KSP<br />
<br />
== v0.24.2 ==<br />
Released 25<sup>th</sup> July, 2014<br />
<br />
{{Main article|0.24.2}}<br />
=== Summary ===<br />
* Fixed a critical issue which prevented opening the right-click menus for several parts.<br />
<br />
== v0.24.1 ==<br />
Released 24<sup>th</sup> July, 2014<br />
<br />
{{Main article|0.24.1}}<br />
=== Summary ===<br />
<br />
* Various bug fixes and tweaks<br />
** Fixed a relatively serious issue with module loading which could result in missing modules if loading old craft. <br />
** O-10 Maneuvering engine scaling was off. Engine rescaled to proper size (smaller).<br />
** Fixed missing FX components on root parts after resuming a saved game or reverting.<br />
** Fixed a bug in Rescue Kerbal contracts, where rescue by means of external seats or claws wouldn't complete the contract.<br />
** Fixed a very annoying and potentially destructive bug where approaching another vessel could mess up your control state.<br />
** Tweaked costs for several spaceplane and aerodynamic parts<br />
<br />
== v0.24 ==<br />
Released 17<sup>th</sup> July, 2014<br />
<br />
{{Main article|0.24}}<br />
=== Summary ===<br />
* [[Contracts]] system in Career mode for gaining money and reputation<br />
* Reputation System in Career mode<br />
* Mission Control building now accessible for managing contracts<br />
* Parts cost money; space program has fiscal budget<br />
* Parts and fuel recovered after flight return money to budget<br />
* UI in Space Center view in top center shows, from left to right, Available [[Funds]], [[Reputation]], and [[Science]]<br />
* UI in Space Center view in bottom bar, beside time warp control, displays Universal Time<br />
* Three new buttons beside Resources in flight UI: Contracts, and Notifications<br />
* Throttle defaults to 50% at launch<br />
* New Liquid Fuel/Oxidizer powered RCS [[Vernor Engine]]<br />
* New [[monopropellant]] fueled [[O-10 MonoPropellant Engine]]<br />
<br />
== v0.23.5 ==<br />
Released 1<sup>st</sup> April, 2014<br />
<br />
{{Main article|0.23.5}}<br />
=== Summary ===<br />
* Asteroid Redirect Mission!<br />
* New SLS-styled parts<br />
* New part joint system<br />
* 12 additional new features<br />
* 11 bugs fixed<br />
<br />
== v0.23 ==<br />
Released 17<sup>th</sup> December, 2013<br />
<br />
{{Main article|0.23}}<br />
=== Summary ===<br />
* New [[R.A.P.I.E.R. Engine]]<br />
* [[Tweakable]]s added<br />
* 9 additional new features<br />
<br />
== v0.22 ==<br />
Released 16<sup>th</sup> October, 2013<br />
<br />
{{Main article|0.22}}<br />
=== Summary ===<br />
* [[Career mode]]<br />
* [[Science]]<br />
* [[Biome]]s on [[Kerbin]] and the [[Mun]]<br />
* [[Subassemblies]]<br />
<br />
== v0.21.1 ==<br />
Released 24<sup>th</sup> July, 2013<br />
<br />
{{Main article|0.21.1}}<br />
=== Summary ===<br />
* This patch addresses some of the most critical issues found on the 0.21 update.<br />
<br />
== v0.21 ==<br />
Released 24<sup>th</sup> July, 2013<br />
<br />
{{Main article|0.21}}<br />
=== Summary ===<br />
* Revised Flight-End scene flow.<br />
* New Space Center Scene.<br />
* The Astronaut Complex Facility.<br />
* Crew Management<br />
* New VAB and SPH Interiors.<br />
* Overhauled SAS Flight Control Sytem.<br />
* Much Improved terrain on Kerbin, the Mun, and other places.<br />
<br />
== v0.20.2 ==<br />
Released 30<sup>th</sup> May, 2013<br />
<br />
[http://forum.kerbalspaceprogram.com/content/182-0-20-2-Patch-Released Forum post link]<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Tweaked the PNG and JPG texture loaders to not use such insane amounts of memory.<br />
* Fixed the issues with mousewheel input on Linux.<br />
<br />
== v0.20.1 ==<br />
Released 29<sup>th</sup> May, 2013<br />
<br />
[http://forum.kerbalspaceprogram.com/content/180-0-20-1-Revision-Patch-is-out! Forum post link]<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Tweaked the logic for part-to-part collisions. Things should be much less likely to explode on contact.<br />
* Reverted the Mun's height values, so landmarks and bases shouldn't spawn below ground anymore (mind 20.0 saves though).<br />
* Tweaked part components on EVA so they start up with the right values.<br />
* Tweaked the suspension on the new Medium Rover Wheels, to fix jittering.<br />
* Fixed the too-low resolution on planetary diffuse and normal maps.<br />
* Fixed the screen resolution not being properly applied on game start.<br />
* Fixed some situations where the 'Control From Here' selection would be lost on resuming a game save.<br />
* Fixed a serious issue with the Cupola Pod that could cause spontaneous unplanned vessel disassembly.<br />
* Fixed an issue that caused internal spaces to spawn in duplicate sometimes. It was harmless but wasted resources.<br />
* Fixed the scale of Gilly in the Tracking Station scene.<br />
* Fixed a few issues with flags behaving weirdly after they were toppled down.<br />
* Fixed the camera jitter when walking around on EVA.<br />
<br />
== v0.20 ==<br />
Released 21<sup>st</sup> May, 2013<br />
<br />
[http://forum.kerbalspaceprogram.com/showthread.php/30553-KSP-0-20-Released Forum post link]<br />
<br />
=== New ===<br />
<br />
* Command Seat part for Kerbals on EVA.<br />
* Cupola pod with IVA.<br />
* Small Lander pod with IVA.<br />
* 2 new Probe Cores.<br />
* Large Docking Clamp.<br />
* New Medium Wheel.<br />
* Kerbals on EVA can now plant Flags on terrain. Planting a Flag allows you to name the site, which becomes a focus-able object in flight and on the Tracking Station. Planted flags have a Plaque, which can be written during placement, and read only when approached by an EVA.<br />
* Several Stock flags to choose from. Flags are moddable. Create your own!<br />
* Added a Flag selector to the Game Start Dialog.<br />
* Added a Flag Pole Facility to the Space Center.<br />
* Added a FlagDecal part module. Allows any part to have a part of its model textured with the selected flag.<br />
* Added Flag selector to Editor scenes, to select a flag for the mission (defaults to space program flag).<br />
* The Editor no longer requires that the first part on a vessel be a Command Pod. Any part which allows both stacking and surface-attaching can be used as the vessel root.<br />
* Added a new part filtering system to the parts list, which allows excluding and greying-out parts based on any criteria.<br />
* It is now possible to delete the first part on a vessel, and replace it.<br />
* Added the first iteration of the Kerbal Knowledge Base: A collection of vessel and planetary information on the Map and Tracking Station. The Knowledge Base shows information about known Celestial Bodies, displays the crews inside vessels, and much more.<br />
* Added Filtering by vessel type on the Tracking Station.<br />
* Added Filtering to the Map View as well (hover around the top-center of the screen)<br />
* New Loading Screens, with hints.<br />
* Mods and Stock Parts can now have their own separate folders for organization.<br />
* Added a Flags folder to collect flag bitmaps.<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* GameDatabase: Completely overhauled the loading process with a completely new system.<br />
* Added a scene transition buffer system, to ensure optimal memory cleanup when switching scenes.<br />
* Switching vessels no longer resets throttle and other input whenever possible.<br />
* Going on EVA and boarding a vessel (or boarding a seat) also no longer reset the vessel's input state.<br />
* Decoupled vessels inherit the old vessel's control state. <br />
* All parts on a stage will get activated now, even if that stage causes some of those parts to get jettisoned away.<br />
* Streamlined PQS Terrain Assets, reduced memory usage by up to 30%.<br />
* Upgraded Debug Menu, allows reloading parts and cfg files while playing.<br />
* The Map View now properly prioritizes selecting moused-over map nodes when multiple orbits overlap.<br />
* It's now possible to 'pin' the Ap and Pe nodes, so their captions remain visible after moving the mouse away.<br />
* Removed the Splash Screen scene. Now the game starts loading as soon as the application starts.<br />
* Rewrote and organized many scattered game events into a single coherent GameEvents System, which plugins can use.<br />
* If you crash/explode, focus now shifts to the nearest controllable vessel (if any) instead of going straight to the End Flight dialog.<br />
* Many more small bug fixes and tweaks.<br />
* Decoupled vessels now properly inherit the [[action group]] state of the original vessel.<br />
* "Root-dropping" decoupling now properly preserves the staging count for the new decoupled vessel.<br />
* Fixed the EVA flags looking weird during the initial part of the flag-plant animation.<br />
* Fixed staging icons on decoupled parts not being removed from the staging list.<br />
* Fixed the suspension jitter on the Medium Wheels.<br />
* Several improvements to how collisions are detected and handled in the editors.<br />
* Symmetrical counterparts now properly glow red or green based on whether they can attach or not.<br />
* Added a sound for when placing/releasing parts in the editor isn't possible.<br />
* Added the flag pole to the editor scene background.<br />
* Adjusted collision and torque values for the medium wheels so they're a bit faster and tougher.<br />
* Adjusted wheel breaking logic to take into account the relative velocities of rigidbodies.<br />
<br />
== v0.19.1 ==<br />
Released 18<sup>th</sup> March, 2013<br />
<br />
[http://forum.kerbalspaceprogram.com/content/149-KSP-0-19-1 Forum post link]<br />
<br />
(Most 0.19.0 mods should be compatible with this release)<br />
<br />
=== Bug Fixes and Tweaks ===<br />
<br />
* Fixed re-entry shader failing on highly scaled parts<br />
* Corrected an issue that would prevent large rover wheels from applying brakes<br />
* Tweaked braking speed and power on rover wheels<br />
* Adjusted how rover wheels display resource usage<br />
* Changed Ladders on the launchpad ladders to make it easier to climb them.<br />
* Changed the names of launchpad and runway objects to be more descriptive when you crash into them.<br />
<br />
== v0.19.0 ==<br />
Released 16<sup>th</sup> March, 2013<br />
<br />
[http://forum.kerbalspaceprogram.com/content/148-KSP-0-19-Released! Forum post link]<br />
<br />
=== New ===<br />
<br />
* A Native Linux version!<br />
* Added visual (and sound) effects for re-entry and supersonic flight.<br />
* Overhauled the Kerbal Face Expression System with new animations, which are also visible on EVA.<br />
* Added wheel parts and modules for the construction of rovers.<br />
* Added several new general purpose structural parts.<br />
* New mesh for the launch pad area, now with 100% less launch tower.<br />
* New mesh for the Runway, with sloping edges to drive on and off it.<br />
<br />
=== Bug Fixes ===<br />
<br />
* The sun no longer shines from below on ships and scenery objects at night, or while in orbit over the dark side of a planet.<br />
* Fixed the airspeed sound not looping properly, and adjusted the pitch range for it.<br />
* Various minor balance tweaks.<br />
* More texture variety added to probe cores, to better determine their positioning.<br />
* Fixed a few objects that were on the wrong layer.<br />
* Fixed an issue when comparing versions, which could result in false 'incompatible' warnings.<br />
* Fixed an issue with velocity changes when resuming 1x time while on a hyperbolic orbit inside a rotating reference frame.<br />
* Changed the debug toolbar key combo to ModifierKey+F12 (by default Shift+F12 for Linux, Alt+F12 for windows)<br />
* Changed the quick scenario loader key combo to ModifierKey+F10 (was Ctrl+F10 before)<br />
* Removed an unused shader that caused the game to crash on Linux systems with AMD video drivers.<br />
* The Alt modifier key is now remappable, and defaults to RightShift on Linux.<br />
* Remapped all ocurrences of the Alt key to RightShift on Linux (as Alt is OS-reserved on most distros).<br />
* Fixed double-clicks not working properly.<br />
* Added a setting to tweak the mouse wheel axis scaling.<br />
* Input Axes now support linear scaling.<br />
* The Debug console can now also be toggled using the Grave and AltGr keys<br />
<br />
== v0.18.4 ==<br />
Released 14<sup>th</sup> February, 2013<br />
<br />
=== New ===<br />
* Ported the game over to Unity 4. Expect improved performance.<br />
* Added a new stock spaceplane: The Ravenspear Mk4.<br />
<br />
=== Bugfixes and Tweaks ===<br />
* Fixed some buttons not being locked out properly on the Tracking Station and possibly other scenes.<br />
* The Staging Stack now automatically scrolls back into view if a staging operation sends it off screen.<br />
* Stage groups and icons now accurately follow the mouse when dragging.<br />
* Fixed some UI controls and keys being responsive during pause.<br />
* Fixed some sounds (mainly voices) being affected by 3D effects when they shouldn't.<br />
* Fixed an issue when going in and out of Map View after crashing the ship.<br />
* Fixed the EVA map icons not showing.<br />
* Fixed the planetary terrain not starting up properly sometimes.<br />
* Fixed the error messages when exiting the game from the flight scene.<br />
* Added a bad name filter for the Kerbal name generator.<br />
* Fixed issues with the popup dialogs that allowed them to spawn a massive number of duplicates.<br />
* Parts on the parts list no longer show the author on their tooltips (that broke immersion).<br />
* Flight basics tutorial now requires player to set throttle to max before finishing the tutorial (and launching).<br />
* fixed the non-persistent StateName field on MunFlight Tutorial.<br />
* Fixed an issue where controls could become locked when switching focus out of a dead uncontrollable vessel.<br />
* Fixed a collision issue with the large RCS Tank.<br />
* Fixed a transparency issue with smoke FX and explosions.<br />
* Boarding a vessel from EVA no longer toggles the SAS on the vessel.<br />
* The VAB and SPH now show decoupler ejection forces on the part stats.<br />
* Removed a part that wasn't ready and had sneaked its way into the build.<br />
* Fixed a few typos on part descriptions and tutorials.<br />
* Increased Jool's rotating frame threshold altitude to prevent entering its atmosphere with the rotating frame disabled.<br />
* Fixed an issue with the UI background not scaling correctly on the SPH.<br />
* Fixed winglet colliders.<br />
* Fixed EVA light orientations.<br />
* Updated Copyright dates.<br />
* Fixed vab transparency issue.<br />
* Fixed Explosion Shader Transparency issues.<br />
* Fixed Part Actions being clickable if Time Warp was engaged while the Action UI was already up.<br />
* Fixed the latest version checking.<br />
* Fixed some places that were using an old and inaccurate value for the vessel's G-force, preventing entering warp sometimes.<br />
* Fixed an issue which caused DAE model loading to fail.<br />
<br />
== v0.18.3 (Demo) ==<br />
Released 12<sup>th</sup> February, 2013<br />
<br />
=== New ===<br />
* Ported the game over to Unity 4. Expect improved performance.<br />
* Added an exit splash screen.<br />
<br />
=== Bugfixes and Tweaks ===<br />
* Parts on the parts list no longer show the author on their tooltips (that broke immersion).<br />
* Flight basics tutorial now requires player to set throttle to max before finishing the tutorial (and launching).<br />
* Fixed the non-persistent StateName field on MunFlight Tutorial.<br />
* Fixed the planetary terrain not starting up properly sometimes.<br />
* Fixed the error messages when exiting the game from the flight scene.<br />
* Added a bad name filter for the Kerbal name generator.<br />
* Disabled multiple demo warnings and timewarp notices.<br />
* Fixed vab transparency issue.<br />
* Stopped plugin folders from being created.<br />
* Fixed several spelling and grammatical errors.<br />
* Removed Debug logging for interia tensors.<br />
* Fixed winglet colliders.<br />
* Fixed EVA light orientations.<br />
* Updated Copyright dates.<br />
* Fixed Explosion Shader Transparency issues.<br />
* Disabled the debug toolbar.<br />
* Fixed an issue when going in and out of Map View after crashing the ship.<br />
* Fixed more ocurrences [sic] of the terrain not loading properly when entering flight.<br />
* Fixed some UI controls and keys being responsive during pause.<br />
* Rescaled the exit screen to fit 5:4 aspect ratios.<br />
* Fixed some more ocurrences [sic] of the terrain failing to load issue.<br />
* The Staging Stack now automatically scrolls back into view if a staging operation sends it off screen.<br />
* Stage groups and icons now accurately follow the mouse when dragging.<br />
* Fixed the MunFlight Tutorial not allowing use of the Map.<br />
* Boarding a vessel from EVA no longer toggles the vessel's SAS state.<br />
* The VAB and SPH now show decoupler ejection forces on the part stats.<br />
* Fixed Part Actions being clickable if Time Warp was engaged while the Action UI was already up.<br />
<br />
=== Demo Restrictions and changes ===<br />
* Part loading limited to the 25 stock ones.<br />
* No Plugin loading.<br />
* SPH and Runway Facilities are unnaccessible.<br />
* Only one save profile allowed.<br />
* Cannot launch new flights if 3 or more are already in progress.<br />
* Kerbin, the Mun and the Sun are the only celestial bodies in the solar system.<br />
* Replaced the Spaceport button on the main menu with a button to order the full version.<br />
* Revised tutorials and scenarios to be compatible with the demo set of parts.<br />
* Removed the Station One and Mun Orbit scenarios as those require parts from the full version.<br />
<br />
== v0.18.2 ==<br />
Released 20<sup>th</sup> December, 2012<br />
<br />
=== New ===<br />
* Training: Added a Basic Flight Tutorial, and a Basic Vessel Construction Tutorial.<br />
* Solar System: Added a new icy planet called Eeloo, somewhere out past Jool.<br />
* Scenarios: Added a scenario called Station One, where a refueling station is already in orbit.<br />
* UI: Added a button to open the SpacePort site on the Main Menu (opens on the default browser)<br />
* Music: Added two new tracks for space and another one for construction.<br />
<br />
=== Bugfixes and Tweaks ===<br />
* Graphics: 800x600 is no longer a valid resolution option. Minimum possible resolution is now 960x720.<br />
* Docking: Fixed ejected debris being incorrectly typed as "Unknown".<br />
* UI: Fixed an issue where the "Resume Saved" dialog wouldn't show if a save folder was missing its persistent.sfs file.<br />
* UI: The "Resume Saved" and Craft Load dialogs now offer to clean up incompatible files if any are detected.<br />
* UI: Incompatible/Invalid entries on those dialogs are now greyed out, and the reason why they can't be loaded is displayed.<br />
* UI: Fixed an issue with popup dialogs cutting out content (text and buttons) when multiple dialogs were spawned at once.<br />
* UI: The Resources panel is now visible while in the Map View.<br />
* Decouplers now break the connection at a specific node, instead of breaking the connection to the parent part. This enables choosing which side will remain attached.<br />
* Physicsless parts now get "promoted" to physical ones if they become the root of a vessel (by decoupling)<br />
* Persistence: Vessel rotation is now stored relative to the universe, instead of in worldspace. This fixes vessels having seemingly random rotations upon resuming a save.<br />
* Parts: Fixed an issue with the engine fairings which caused engines to lose mass on save/load cycles.<br />
* Parts: RCS thrusters no longer try (and fail) to do lever arm compensation.<br />
* Music: Fixed an issue where some tracks were subject to doppler effects in flight.<br />
* Solar System: Pol's gravity increased slightly<br />
* Solar System: Bop and Pol's semi-major axes increased (Bop's SOI almost intersected Tylo's)<br />
* Gameplay: Fixed an issue where crashing a ship wouldn't properly remove the root part and cause weird "physics" sometimes.<br />
* Gameplay: Fixed an issue with renaming vessels from symmetrically-placed command pods.<br />
* Maneuver Nodes: Fixed a small but annoying issue where maneuver gizmos would switch modes when rotating the camera just after creating a maneuver.<br />
* Training: Fixed Gene Kerman introducing himself as Wernher von Kerman on the Orbit 101 tutorial.<br />
* Parts: Fixed an issue where the root part of a vessel would live on in a weird state after crashing.<br />
* Docking: Fixed an issue where docking ports wouldn't resume their fuel crossfeed properly sometimes.<br />
* Controls: Added input locks to action groups and part context UIs, so they lock when appropriate.<br />
* UI: Part Resource Context Gauges now correctly go away when the corresponding part gets detached from the current ship.<br />
* Parts: Fixed an issue that could cause RCS thrusters to fly off on their own because of numerical spikes.<br />
* Parts: Landing gear now remember to set the brakes when resuming flight.<br />
* Gameplay: Added a rule to prevent saving the game or switching vessels while the current one is throttled up.<br />
* Gameplay: Unrestricted vessel switching is now only allowed if the vessel to be focused is loaded and unpacked. <br />
* Tutorials: Fixed the Construction Tutorial erroring out with an "incompatible" sfs when launching after completing the tutorial.<br />
* Tutorials: Tutorial Scenarios now delete the instructor objects when the ScenarioModule is destroyed.<br />
* Tutorials: The Construction Tutorial now allows launching the constructed vessel, and going back to edit it later.<br />
* Controls: Action groups are now locked when in map view, to prevent accidental activation without being able to see the ship.<br />
* Controls: Map View won't lock RCS off anymore when the navball is up.<br />
* UI: Added some sanity checking to text fields (vessel names and saves), so illegal characters don't cause trouble.<br />
<br />
== v0.18.1 ==<br />
Released 3<sup>rd</sup> December, 2012<br />
<br />
=== Bugfixes and Tweaks ===<br />
* Fixed an issue which could cause an error when undocking if the undocked vessel was missing its original root part.<br />
* Fixed the vessel snapping when docking, which could cause misaligned docking connections sometimes.<br />
* Fixed an issue where docking to docked vessels could cause trouble when undocking again in a different order.<br />
* Fixed manually-defined vessel types getting lost after docking.<br />
* Fixed a misspelled parameter on the smallRadialEngine cfg<br />
* Fixed an issue with the solar panels exposure detection maths.<br />
* Fixed a case where RCS could become activated by ASAS during time warp and eat all propellant<br />
* Adjusted Solar Panel raycasting to prevent false positives on planetary occlusion<br />
* Gimbal module now displays vectoring information in the VAB<br />
* Adjusted initialization of the gimbal module for better mod support <br />
* Gimbals now have an optional movement speed parameter<br />
* Changed Airflow Display during timewarp on the intakes<br />
* Gave Launch Pad Clamps power, so probes don't die waiting for a launch window.<br />
<br />
== v0.18.0 ==<br />
Released 1<sup>st</sup> December, 2012<br />
<br />
=== New ===<br />
<br />
* Docking: Connecting vessels together is now possible! Build space stations, surface bases, or assemble huge spacecraft in orbit. <br />
* Flight Planning: Getting to other planets and moons just got a lot simpler. Place maneuvers along your orbit to create a flight plan, and then just follow the guidance cues. No need to figure out angles or hold a protractor to the screen!<br />
* Improved Map UI: New map icons show close approaches, intersections with other orbits, and a lot more, so you can focus on getting where you want to go, instead of worrying about how to get there. <br />
* New Vessel Types and Vessel Renaming: Building a station? You can now rename and set your vessel as one of several new types, so it'll show on the map with the appropriate icon and name.<br />
* Automatic Fairings: Rockets now look like proper rockets! Several parts now have automatic fairings that pop up whenever something is stacked below them, and then jettison away during flight.<br />
* Much Improved Models and Textures: Many of the old parts have been completely redone, with carefully constructed meshes and hand painted textures, to give KSP a new look. <br />
* A slew of new part types: [[solar panel]]s, [[docking port]]s, [[Battery|batteries]], trusses, [[ion engine]]s, [[electric light]]s, side-mounted [[parachute]]s (or "radial parachutes"), [[crew cabin]]s, new science parts, and a heap more!<br />
* Unmanned Probes: New unmanned pods for building probes and unmanned missions, plus a huge amount of new probe parts.<br />
* Action Groups: A new way to control your ships! Instead of having everything done through staging, you can assign parts to groups that are controlled with a keypress. Set up Abort systems, or rig up complex contraptions. Or just let the game handle it automatically.<br />
* New Input Modes: No need to have two hands on the keyboard and a third one on the mouse anymore. New input modes make for much more ergonomic controls, and it's all remappable!<br />
* Two new celestial bodies: New places to explore, with interesting and varied terrain.<br />
* New Resources System: Watching fuel drain has never been so much fun! New resources allow for completely new possibilities. Energy, Fuel, Oxidizer and other resources now flow through your ship. Manage them as you fly, and pump them across parts.<br />
* Electricity: More power to the Kerbals! Many new functional electrical parts added, like Solar Panels, Batteries, and even a Nuclear Reactor!<br />
* Lights: Landing on the nightside just got a lot less deadly, with new landing and floodlight parts.<br />
* Functional Air Intakes: Turbines now properly require air to run, and Intakes can provide it for them, as long as there is an atmosphere around you.<br />
* Music: KSP now has its own soundtrack, featuring many cool tracks, from smooth jazzy tunes to build ships by, to wondrous spacy themes as you explore the solar system.<br />
* Much improved planets: Kerbin looks a lot better now, with hand-built terrain features. Moho and Eve also got major overhauls, and many others have also been improved.<br />
* Performance Tweaks: New terrain optimizations and a system to prevent lag by slowing the simulation make for a significant improvement in performance.<br />
<br />
== v0.17.1 ==<br />
Released 30<sup>th</sup> Oct, 2012<br />
<br />
=== New ===<br />
* New option on the settings file to enable verbose debug logging, to include a call stack trace (when available)<br />
* Added a slider in Game Settings to allow adjusting the UI size.<br />
* Added Main Menu and Credits music.<br />
* The Q and E keys can now be used to control yaw with the EVA Jetpack<br />
* The flight UI now scales dynamically depending on screen resolution, to always have the same pixel size.<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Fixed an issue where the menu ambience music would sometimes start playing on other scenes after some time had elapsed.<br />
* Overhauled the Debug Console. Entries are now labeled and colored according to type and the text is selectable.<br />
* Fixed the crewmember name textfields on the flight UI not scaling font size properly.<br />
* Fixed the terrain collision detection issues for Gilly and Bop.<br />
* Tweaked the terrain preset settings and PQS subvision methods for a significant reduction in object count.<br />
* PQS terrain quads are now positioned as closely as possible to their vertices, for maximum mesh stability.<br />
* Added a game setting to disable the automatic orientation when pressing any of the WSAD keys while jetpacking on EVA.<br />
* Fixed an issue with the terrain engine that resulted in invisible oceans.<br />
* Fixed a small bug on the patched conics maths that could have caused some trouble.<br />
* Fixed the misaligned Music and Voice Volume sliders on the Audio Settings Screen.<br />
* Added a Render Quality slider to the video settings screen.<br />
* Fixed an issue where ships could break apart when changing warp rates too quickly (the "Space Cthulhu" bug)<br />
* Fixed an issue with the VAB/SPH UI, that made it possible to launch without a ship, causing a total game crash.<br />
* Removed an unused asset from the tracking station scene, which was taking up memory without adding anything.<br />
* Fixed a problem that could cause parachutes to despawn when travelling at high speeds.<br />
<br />
== v0.17 ==<br />
Released 19<sup>th</sup> Sept, 2012<br />
<br />
=== New ===<br />
* Internal Cockpit Views: The first iteration of the IVAs (Intra-Vehicular Activities) feature set.<br />
* Multiple Player Saves: You can now have multiple ongoing game sessions, as each save is kept in its own folder (instead of all using the saves/default one). <br />
* Quick Flight Scenarios: Start flights from pre-set conditions, without interfering with your persistent sandbox save, and also save your own scenarios from your main game.<br />
* Scenario Logic Modules: Like PartModules, but for scene logic (and defined on an SFS file instead of a part.cfg).<br />
* Training Scenarios: Hands-On tutorials to teach you everything from craft construction to orbital maneuvers.<br />
* Center of mass, thrust, lift and drag visual cues on the construction scenes.<br />
* Prebuilt ships included with the game, as examples and possible starting points.<br />
* Many new planets and moons throughout the Kerbal Solar System.<br />
* Physical Timewarp Modes: An alternate time-warp mode where you can accelerate time to 2x, 3x and 4x without putting the sim on rails. <br />
* Several new parts<br />
* Added new tree and boulder meshes for Kerbin (No more paper cutout trees)<br />
* Pressing backspace will now reset the map and internal view. <br />
* Middle mouse modifies the internal camera zoom by an additional 2x.<br />
* Double clicking middle mouse will reset the internal camera zoom.<br />
* Unlit/Transparent shader added to mu reader/writer.<br />
* Added Nuclear-Thermal Engine part<br />
* Added focusable areas for internal views<br />
* Added Settings for Music and Voice Volume<br />
* Double-tapping the wheel brakes key will now set parking brakes.<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Fixed an issue with numerical inaccuracy at very high velocities (the "Space Kraken" bug).<br />
* Fixed several issues with the fuel flow logic.<br />
* Tweaked the atmosphere rendering for Kerbin, for improved visuals.<br />
* Ships saved by one player are private to that player. Ships on the KSP/Ships folders are common to all players and non-overwritable (from inside the game)<br />
* Added a button on game loading dialog, to delete a saved game and all its contents (prompts for confirmation).<br />
* Added a button on the ship loading dialog to delete saved ships (prompts for confirmation).<br />
* Added a button on the Tracking Station to terminate an ongong flight (prompts for confirmation).<br />
* Implemented dynamic walk cycle blending for EVA Kerbals under G levels between 0.17 and 1G <br />
* Added a floating origin system to the Scaled Space subscene, eliminating the visual jittering when viewing distant objects in the map view.<br />
* Revised part titles and descriptions for the parts added in 0.16<br />
* Fixed an issue with the terrain altitude detection, which could cause vessels (mostly debris) to fall through terrain.<br />
* Fixed an issue where flying through a Mun arch would destroy the vessel.<br />
* Fixed an issue with the G force calculation for vessels, which could prevent saving or warping.<br />
* Fixed several issues with the orbit math while on solar escape trajectories.<br />
* Fixed an issue with Krakensbane that could cause sub-optimal Kraken-banishment.<br />
* Smoke trails are now properly updated in moving reference frames.<br />
* Added smoothing to altimeter.<br />
* Fixed an issue with part initialization order which could cause a lot of trouble with physics and joints.<br />
* Fixed a bug with crossing SOIs at 1x warp.<br />
* Found and worked around a unity bug which caused several issues with parts colliding within the same vessel, and getting twitched out of place.<br />
* Fixed issues with the landing gear (will still need a rewrite, but should be better now)<br />
* Fix for advanced canard inversion of movement.<br />
* The Map Camera no longer rotates when in a rotating reference frame.<br />
* The ship cache is now properly cleared when starting a new game.<br />
* The Simulate In Background setting no longer requires a game restart to take effect.<br />
* The orbit trajectory reframing maths are all done with double-precision now, to remove jitter from the orbit splines.<br />
* Fuel tank parts no longer look into parent parts for fuel, unless connected to them by a fuel line.<br />
* Rewrote the LandingGear part as a PartModule, for a much more robust and stable implementation.<br />
* Tweaked the friction values for the landing gear wheels<br />
* Fixed an issue in Vessel that could cause a stream of nullref errors<br />
* Fixed an issue with Vessels not properly updating the positions of physicsless parts.<br />
<br />
== v0.16 ==<br />
Released 20<sup>th</sup> July, 2012<br />
<br />
=== New ===<br />
* Kerbal crewmembers in Extra-Vehicular Activities, both at the surface and in orbit.<br />
* Kerbal scientists, mechanics and ground crew all around the Space Center Facilities.<br />
* New Internal Cockpit models, with full modding support.<br />
* New (Much lighter on performance) Particle Effects and Explosions<br />
* Several new, larger rocket parts.<br />
* Added a Launch Clamp part. It holds the ship in place at the pad so it doesn't crumble to pieces before you get a chance to launch.<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Set all parts on the same vessel to ignore collisions with each other. Hopefully this will solve all part-to-part collision problems.<br />
* Reduced the minimum collider intersection threshold to much less than before. Should increase collision accuracy and hopefully solve issues like landing gear going through the ground. (all thanks to above fix)<br />
* [API Change] MemoryStream wrappers that were mistakenly not committed for 1.15.1 have been added to the code.<br />
* Packing/Unpacking ships is now done without affecting the ship's scene hierarchy. Now, vessels take care of keeping their own parts in place while packed, making for much more stable physics behavior when going in and out of time warp.<br />
* Improved vessel/part loading from persistence procedure, for more stable and accurate flight resuming.<br />
* Fixed a bug in the Tracking Station scene, which prevented scrolling the vessel list.<br />
* The Vessel Switching keys now only cycle between nearby vessels and won't cause the scene to reload anymore. To switch to far-away vessels, you must use the map view.<br />
* Added key and axis bindings for EVA controls. Reorganized the Input Settings screen a little.<br />
* Added separate control bindings for walking and jetpacking on EVAs.<br />
* Added 1:1 EVA rotation axes. Using them disables the automatic orientation system.<br />
* Fixed RCS and SAS toggling on other vessels.<br />
* Vessels take collision impact momentum into account whenever possible <br />
* Fixed a problem where vessels would be stuck as 'Landed' if boarding a part while in contact with another.<br />
* Fixed issues with the large Landing Leg colliders.<br />
* Added patcher auto-updater. Will redownload the patcher if a better version is available.<br />
* Tweaked Physics settings to reduce landed part wobble.<br />
* It is now possible to close the Flight End screen without leaving the flight scene (to switch vessels).<br />
* Tweaked part collision handling for better efficiency.<br />
* Landing Legs now use a much improved collision handling system, eliminating leg wobble on heavy ships.<br />
* PartTools can now serialize WheelCollider components.<br />
* Improved detection/response to vessels below terrain and much better terrain altitude detection for vessels.<br />
* It is no longer possible to save the game (or switch vessels) while very close to the ground and not landed (could cause terrain fallthrough).<br />
* Fixed the crew capacity values on the part.cfg files.<br />
* Fixed the Orbit initialization routine, to prevent NaN errors on landed craft<br />
* Fixed parts that use the Part class having a "Part Type not available" message on their descriptions at the VAB.<br />
* mbm texture files are now DXT compressed and cleared from RAM as soon as they're uploaded to the GPU. RAM usage is massively improved.<br />
* Fixed some issues with the patched conic solver not finding proper SOI transitions sometimes.<br />
<br />
== v0.15.2 ==<br />
Released 1<sup>st</sup> June, 2012<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Fixed an issue with part-to-part collisions that caused unphysical forces and caused some designs to break apart.<br />
<br />
== v0.15.1 ==<br />
Released 31<sup>st</sup> May, 2012<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Fixed a couple of issues with the parts action UI popups and their code bindings.<br />
* Tweaked the time warp altitude limits. It is now possible to warp fast at low orbits around Minmus and the Mun.<br />
* Tweaked the rotating reference frame thresholds when nearing planets, to reduce terrain mesh jitter.<br />
* Fixed the 'Sierpinski' Terrain' issue, where the terrain mesh would break up when approaching a planet after travelling very far.<br />
* Fixed an issue with the patched conic solver failing on some escape trajectories.<br />
* Fixed the normal maps on several parts.<br />
* It is now possible to set the persistent debris budget to zero, to disable saving debris completely.<br />
<br />
== v0.15 ==<br />
Released 17<sup>th</sup> May, 2012<br />
<br />
[http://kerbalspace.tumblr.com Announcement is final post on original development blog]<br />
<br />
=== New ===<br />
* The Spaceplane Hangar Facility, allows you to build vehicles horizontally, and launch them from a Runway<br />
* The Runway Facility, to launch from and land your spaceplanes at.<br />
* A new Part Creation Toolset, allowing for animated models, with normal and emmissive maps.<br />
* A deployable Landing Gear part<br />
* A new AtmosphericEngine part type, and two new air-breathing engines.<br />
* A Patched Conics trajectory projection system, shows your map trajectory as it enters and leaves the SOI of planets and moons.<br />
* Parts now can have a context menu where you can view data and perform actions. (Atmo engines already implement this)<br />
* Parts now visually display their temperatures through a dynamic emmissive heat map.<br />
* It is now possible to manually rotate parts on the VAB and Spaceplane Hangar prior to placement (using the WSADQE keys, Shift, Space to Reset)<br />
* It is now possible to trim the roll, pitch and yaw inputs by holding Alt and pressing the roll, pitch and yaw keys (Alt+X to reset).<br />
* Added a small, far-flung second moon around Kerbin, called Minmus.<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Fixed a security flaw with the updater tool.<br />
* The flight log will no longer show the terrain tile IDs when crashing things into them. It will show the correct "crashed into terrain" message.<br />
* Corrected the level of the ocean quadtree, so that it matches visually with the simulated water level.<br />
* (Possibly) increased performance on the flight scenes (from the terrain tweak also)<br />
* Found and fixed the true cause of the orbit NaN bug. (see last note on this page)<br />
* Corrected the aileron action on ControlSurface parts. Now aileron input is determined based on part orientation instead of symmetry counterparts.<br />
* Fixed an issue with joystick throttle when focusing/unfocusing the game.<br />
* Fixed a problem with fuel lines and struts becoming attached to non-existent parts when reloaded.<br />
* Fixed the behaviour of the Alt key when Alt-Tabbing out of the game.<br />
* It is no longer possible to enter time warp or save the game if the ship is landed or splashed, but still moving.<br />
* Several improvements to the scene lighting in the Spaceplane Hangar and Vehicle Assembly Building.<br />
* Fixed Fuel Lines and Struts not reconnecting once reattached to the ship at the VAB and SPH<br />
* Improved the part dragging on the editor scenes<br />
* After a crash, the end flight dialog will only come up by clicking the left mouse button, hitting Esc or the Space Bar<br />
<br />
== v0.14.4 ==<br />
Released 3<sup>rd</sup> April, 2012<br />
<br />
=== New ===<br />
* Added Shader Model 2 fallback shaders for the terrain. Doesn't look as pretty, but solves the black terrain issue on SM2 video cards.<br />
* Exposed terrain parameters on the Video Settings screen (Now called Graphics Settings).<br />
* Option to force using SM2 shaders even on SM3 compatible hardware.<br />
<br />
=== Bug Fixes ===<br />
* Sometimes vessels could still be seen as being under acceleration and not get saved. This is fixed now.<br />
* Tweaked the terrain system to use less memory.<br />
* Updated Kerbin's diffuse map, to remove the blue on the ice caps on map view and tracking station.<br />
* Launching the updater with the game in fullscreen mode will no longer cause the updater to crash.<br />
* The game will no longer launch the patcher if the latest update is available only as a full download. It will open the KSP Store instead.<br />
* Changed the default game settings so terrain scatter is off by default<br />
<br />
== v0.14.3 ==<br />
<br />
=== Bug Fixes ===<br />
* Fixed an issue with prevented unfocused ships from being saved.<br />
* Removed the KSC on the Mun (don't ask).<br />
* Tweaked the altitude of KSC to better match the terrain level.<br />
* Tweaked Kerbin landclasses to raise ocean and remove the blue from the ice caps.<br />
* Fixed the Sun flare not getting obscured by planets on the Tracking Station view.<br />
<br />
== v0.14.2 ==<br />
Released 27<sup>th</sup> March, 2012<br />
<br />
=== New ===<br />
* Created a proper icon for the game.<br />
* A completely overhauled terrain engine<br />
<br />
=== Bug Fixes ===<br />
* Fixed the patcher launching any executable after it's done patching. Now it launches KSP.exe always.<br />
* Fixed a potential security issue with the patcher authentication.<br />
* The patcher will no longer spam console windows while doing its thing.<br />
* Rotated the Mun back to its original orientation (a fix on the 14.1 left it facing the other way).<br />
* Improved the terrain correction system for landed vessels. It now compensates for terrain slope errors.<br />
* The Map and Tracking Station cameras now respond to the camera control input axes.<br />
* Fixed an issue with symmetrical parts not clearing references to decoupled counterparts.<br />
* Fixed an issue with the patcher not being able to login using passwords containing special characters.<br />
<br />
== v0.14.1 ==<br />
<br />
=== Bug Fixes ===<br />
* Found and fixed the real cause of the staging issues that have plagued every release from 13.2 onward.<br />
* The debug console is no longer spammed with NaN errors. This could cause extreme lag in densely populated game worlds.<br />
* Fixed an issue where unloaded vessels would not update their orbits, causing them to resume incorrectly if they switched SOIs.<br />
* Fixed the save folder paths on the Mac version (they were ending up inside the app package)<br />
* It is now possible to do a Quickload (F9) after a crash (with the flight end screen up).<br />
* The game will no longer overwrite the quicksave when resuming flights. Only when creating new ones.<br />
* Landed vessels no longer explode when approached by the player (as when landing near other landed ships)<br />
* Fixed an issue with landing detection when landed on other vessels.<br />
<br />
<br />
== v0.14.0 ==<br />
Released 3<sup>rd</sup> March, 2012<br />
<br />
=== New ===<br />
* Flights are regularly saved to file, to be resumed later. (yes, persistence)<br />
* Support for multiple simultaneous flights and switching from ship to ship.<br />
* The Tracking Station Facility at the Space Center, allows you to select and resume a flight in progress.<br />
* Holding the middle mouse button will allow you to rotate the flight camera about itself, instead of rotating its pivot. (double-clicking the MMB will recenter it)<br />
* Tweaked the orbit rendering on the Map View to reduce clutter when several icons are moused over at the same time.<br />
* Landed or Splashed vessels now display their coordinates (or location, if available) when moused over on the Map View.<br />
* More Crew Members so you can launch missions while others are underway.<br />
* An External Module Loader, which enables mod makers to program their own part modules.<br />
* Added small fuel tank and small engine parts<br />
* Added Landing Gear<br />
* Added a more efficient input lock for when vessels are in physics-hold mode, to prevent staging during that period.<br />
* Made the Landing Gear action a mappable key.<br />
<br />
=== Bug Fixes ===<br />
* The flight camera is no longer able to go upside down.<br />
* The ORBITAL camera mode will no longer change orientations when switching spheres of influence.<br />
* Fixed an issue with .craft file saving and loading, which makes it possible to save ship titles independently of the file name.<br />
* Un-warping a landed ship will no longer cause an unphysical jerk on it, which could possibly destroy it.<br />
* Landed/Splashed vessels no longer show an Apoapsis icon on the Map View.<br />
* The Map Camera now responds to the keyboard bindings for camera zoom.<br />
* Decouplers now obey the second law of physics (Acceleration = Force/Mass)<br />
* Decouplers now obey the third law of physics (every action has an equal and opposite reaction).<br />
* RCS Fuel Tanks now drain symmetrically if placed using symmetry.<br />
* Fixed the flight scene time step being incorrectly initialized as 0.04ms (would cause wobbly physics).<br />
* Fixed a problem with the Plugins folder in the Mac version, which caused the game to halt when loading.<br />
* Fixed an issue that caused incorrect staging when loading ships in the flight scene.<br />
* Reloaded parts were not storing references to their symmetry counterparts properly. That caused all sorts of weird behaviour.<br />
* Fixed Fuel tanks apparently not resuming fuel levels properly (was an icon issue).<br />
* Fixed the VAB tutorial never being shown after the first time, even when activated in the settings.<br />
* Fixed the tutorial window disappearing behind the command pod selection window.<br />
* Changed the ground detection system to a far more stable hold-and-release method.<br />
* Fixed yet another staging issue.<br />
* Fixed a game flow issue in which it was possible to cancel the flight end screen, leading to an error and leaving the game stuck in the flight scene.<br />
* Fixed the End Flight screen lockup issue after KIA.<br />
* Fixed the Alt+Tab locking staging issue. (was a poorly thought out control I had set up, which was removed)<br />
<br />
== v0.13.3 (Demo) ==<br />
<br />
Released 3<sup>rd</sup> March, 2012<br />
<br />
=== New on 0.13.3 ===<br />
* A Stats Tracking System, so we can collect information of the game for statistical purposes.<br />
<br />
=== Bug Fixes ===<br />
* Fixed a bug with symmetry in the VAB. <br />
* Fixed an issue with the main camera that would create sporadic moments of lag in map view.<br />
* Fixed a bug that caused symmetrical parts to lose the reference to one of their counterparts, leading to incorrect symmetrical placements. <br />
* Reverted the Staging logic to the 13.1 system, as the changes made in 13.2 were buggy. <br />
Note: 0.13.3 is an additional free version with bug fixes.<br />
<br />
==v0.13.2==<br />
Released 26<sup>th</sup> January 2012<br />
<br />
=== Bug Fixes ===<br />
* Fixed a bug with symmetry in the VAB.<br />
* Fixed an issue with the main camera that would create sporadic moments of lag in map view.<br />
* Fixed a bug that caused symmetrical parts to lose the reference to one of their counterparts, leading to incorrect symmetrical placements. <br />
Note : As of the 26<sup>th</sup> of January 2012, v0.13.2 is the final free version.<br />
<br />
==v0.13.1==<br />
Released 11<sup>th</sup> January, 2012<br />
<br />
=== New on 0.13.1 ===<br />
* Recompiled on the latest version of the Unity engine, to add multithreaded rendering support and better memory management.<br />
* Changed the Fuel Line flow direction, so fuel will flow from the first-placed end of the line to the second end.<br />
* Holding Ctrl and clicking on a part on the ship at the VAB will now automatically flip the parts list to the selected part's page.<br />
* Added in-game credits.<br />
<br />
=== Bug Fixes ===<br />
* Fixed the custom part sounds loading system, which wasn't working on the last release.<br />
* The part loader will no longer freeze if it cannot find a part module to load. It will load the base Part module, and make it visible but unavailable on the VAB.<br />
* Removed parent-wise fuel crossfeed from Radial Decouplers. Fuel Lines made that obsolete.<br />
* Fixed an issue that prevented attachment nodes from affecting connected part rotations properly.<br />
* Fixed an issue with the part loader, which would crash if a binary mesh was found, but no .dae or .obj file was present.<br />
<br />
==v0.13==<br />
Released 16<sup>th</sup> December, 2011<br />
<br />
=== Optimizations ===<br />
* Removed a lot of needless halts on the part processing routine during loading.<br />
* Restructured the sound loading system so the main loading thread doesn't wait for it to finish before moving on.<br />
* Deferred adding of several part components so they're only added when they're needed.<br />
* Mesh tangents can now be loaded from file, instead of being recalculated every time.<br />
* The mesh loader now ignores materials from file, because they were going to be replaced anyway later.<br />
* Meshes are now saved to binary files (serialized) when loaded for the first time, and loaded from those files when they're available.<br />
* Changed the rendering method for the part icons on the staging sequence. This can prevent thousands of objects from being created when flying large ships.<br />
* Ship parts now have adjustable levels of physics, so small parts are not as deeply simulated as large ones. This reduces the amount of physics objects and joints to simulate.<br />
* Reduced the amount of code components attached to each part, making for less calls on each frame.<br />
* Tweaked the part heat exchange model, for a considerable fps boost with very large ships.<br />
<br />
=== New on 0.13 ===<br />
* The part loader will check if the saved optimized meshes are out-of-date, and update them when necessary.<br />
* A new Fuel Line part, that allows fuel to be drained off external (side-mounted) tanks.<br />
* It is now possible to warp time freely when the ship is landed.<br />
* Added a progress bar for the loading screen.<br />
* Pressing F2 will hide the UI completely (so you can take UI-free screenshots).<br />
* Added a new icon for the Fuel Line parts.<br />
* Changed the icon grouping rule on RCS Blocks and Strut Connectors to group to all parts of the same type on it's stage.<br />
<br />
=== Bug Fixes ===<br />
* Fixed the mission timer not getting started if the first stage was moved before launching.<br />
* Liquid Fuel now flows from the top attachment node, instead of from the parent part (unless there is no top node, in which case it flows from the parent part).<br />
* Parts now keep the references to the part attached in each attachment node. (makes top-node based fuel flow possible)<br />
* Fixed a bug which prevented the ship selection dialogs from receiving double-click events. Now it is possible to select a ship file by double clicking on it.<br />
* Improved rendering of hyperbolic (escape) orbits in the map view. The trajectory is now a constant size regardless of eccentricity, and isn't warped by the splines.<br />
* The Map camera will now remember it's last position, and return to it when the map is reopened.<br />
* Fixed a problem that made it possible to delete the command pod in the VAB by using Ctrl+Z.<br />
* Increased the heat conductivity and heat dissipation values for all parts, to compensate for the new heat exchange system.<br />
* Exposed a 'thrustVector' cfg parameter for Liquid Engines. This allows you to set the 'default' thrust direction for an engine, same as with SRBs<br />
<br />
==v0.12==<br />
Released 11<sup>th</sup> November, 2011<br />
<br />
=== New on 0.12 ===<br />
* Re-added the Mun<br />
* New Orbital Camera Mode. Like Free Mode, but aligned to the solar system plane, like the Map View Camera is.<br />
* New Auto Camera Mode. Chooses between the other modes based on the state of the flight.<br />
* Liquid Engines now support thrust vectoring (gimballing).<br />
* New LV-T45 Vectoring-Enabled Liquid Engine.<br />
* The VAB will now allow you to select a Command Module before starting a new ship.<br />
* Planets and Moons now rotate.<br />
<br />
=== Bug Fixes ===<br />
* Improved the way velocities are applied when resuming physics.<br />
* Fixed the Advanced SAS icon showing as a question mark on the VAB.<br />
* Fixed a bug where cloning parts by removing and undoing would cause them to receive duplicate IDs (and crash the game when loading the ship again).<br />
* Tidied up the flight statistics numbers formatting a bit, so they're easier to make sense of.<br />
* Time Warp will now smoothly increase/decrease towards the set time rate, for a much more fluid transition.<br />
* Made several improvements to the Map View orbit rendering.<br />
* Fixed the rails to physics transition, so that there is no significant change anymore in orbital parameters when going out of warp.<br />
* Made some significant improvements to the physical joints that hold the ship together. Ships will not wobble anymore when going back into 1x time after warping, and the joints themselves are more stable overall.<br />
* Made a small tweak to the part tooltips on the VAB, to prevent them from going off-screen on small resolutions. (was noticeable with the new command pod selection dialog)<br />
<br />
==v0.11.1==<br />
Released 13<sup>th</sup> October, 2011<br />
<br />
=== Bug Fixes ===<br />
*A pausing glitch that would happen every time the menu was selected.<br />
<br />
==v0.11==<br />
<br />
Released 12<sup>th</sup> October, 2011<br />
<br />
=== New on 0.11 ===<br />
* Overhauled Space Center terrain area in both flight and space center scenes.<br />
* Integrated Orbital Analysis/Propagation system.<br />
* In-Flight Time Compression.<br />
* Orbital "Map" View.<br />
* Orbit Display.<br />
* Improved Space Skybox Background.<br />
* Better Launchpad area textures.<br />
* RCS (Reaction Control System) Module Part.<br />
* Added an 'RCS Toggle' key (Default 'R'), to toggle the RCS on and off. <br />
* Changed the useless Overthrottle LED for an RCS LED, which indicates if the RCS is enabled.<br />
* Advanced SAS Module Part: Uses input-enabled parts (like winglets and RCS) to stabilize flight, but applies no forces of its own.<br />
* Splash-down effects, sounds and a basic buoyancy simulation.<br />
* New "Atmosphere" Gauge in the UI, indicates how deep the ship is in the planet's atmosphere.<br />
* The Orbit system can now track and propagate hyperbolic (escape) trajectories.<br />
* Parts can now cast shadows on themselves.<br />
<br />
=== Bug Fixes ===<br />
* Added a simple but hopefully effective stall simulation for winglets and control surfaces.<br />
* Made a few optimizations to runtime loaded textures. Now they're compressed to DXT5 and support mipmaps.<br />
* The MET display will now start counting on liftoff instead of on flight start.<br />
* Tuned the terrain system a bit, to improve visual quality at high altitudes.<br />
* Greatly improved the input lock system. Now, components that lock game controls won't override locks placed by other components.<br />
* Improved the flight camera code. On Chase mode the camera will not spin around at the poles anymore, and both modes are more stable overall.<br />
* Optimized the terrain system rendering, and got a nice boost in performance during flight.<br />
<br />
==v0.10.1==<br />
Released 13<sup>th</sup> September 2011<br />
<br />
=== Bug Fixes. ===<br />
* Eliminated the sharp atmospheric cutoff at 34,500m. Now there is atmosphere up to around 68,000m.<br />
* Improved the drag calculations.<br />
* Created a new ControlSurface module to replace the problematic Stabilizer module. The Stabilizer is now deprecated.<br />
* Changed the folder structure on the Mac version, so it is the same as the PC version.<br />
* Removed the sensitivity/deadzone reset when reassigning joystick axes in the input settings.<br />
<br />
==v0.10==<br />
Released 6<sup>th</sup> September, 2011<br />
<br />
=== New on 0.10 ===<br />
* Completely overhauled procedural terrain system. Much more reliable and stable.<ref>HarvesteR, [http://kerbalspace.tumblr.com/post/9056986834/on-quadtrees-and-why-they-are-awesome On Quadtreees and why they are awesome]</ref><br />
* The whole planet can now detect collisions, so ejected parts can now land safely.<br />
* The terrain mesh is far more stable, shorelines and mountains no longer wobble.<br />
* The new terrain system is completely translation and rotation-safe. It can be moved dynamically without breaking visually.<br />
* An Orbital analysis and propagation system, allowing for a complete planetary simulation, among many other possibilities, is ready for implementation.<br />
* Terrain quads are now queued for subdivision, to improve performance<br />
* The terrain system now allows for a secondary target object, so both the ship and the camera can subdivide the terrain.<br />
* Mini settings screen for in-game tweaks.<br />
* New (much better) shader for water.<br />
* The R8 Winglet now responds to input, and can be used as an elevator, canard, aileron, rudder, or any combination.<br />
* It is now possible to crank anti-aliasing up to 8x.<br />
* Joystick Support.<br />
* A working Mac OSX version!<br />
<br />
=== Bug Fixes ===<br />
*Hi-subdivision tiles now have mesh colliders, which means the far side of the planet is no longer an insta-death trap.<br />
*Fixed the textures stretching near the terminator<br />
*The camera will no longer go through the ground.<br />
*The terrain collision mesh now perfectly matches the visual terrain.<br />
*Fixed a problem with the atmosphere, where it would fade in and out at specific points in orbit.<br />
*Fixed a few problems with some game settings not being correctly applied on game start.<br />
*Fixed a problem with the volume settings where explosions would sometimes sound out even with volume at 0%<br />
*Added a basic compatibility/integrity check on loading ships. If it fails, the ship won't load but the game won't crash.<br />
<br />
==v0.9==<br />
Released 12<sup>th</sup> August, 2011<br />
<br />
=== New on 0.9 ===<br />
* Stages are now persistent when manually edited.<br />
* Stages are now stored in relative values. This means they're now smarter<br />
* Parts can now specify their preferred relative stage though the cfg<br />
* Editing the staging sequence now creates Undo states.<br />
* The Debug Console can now be opened in the loading screen to debug load problems<br />
* Stages can now be manually created and, when empty, deleted<br />
* Stages are now represented as groups with parts inside them, instead of just separated by indicators<br />
* The staging stack now scrolls manually using the mousewheel (when mouseing over it)<br />
* Icons in the staging stack can now be multiple selected and moved as a group<br />
* Whole stages can now be dragged and repositioned<br />
* Stages can now be reset manually through a reset button<br />
* Empty stages delete themselves in flight<br />
* Active parts in previous stages move up to the current stage.<br />
* Parts on the VAB list will now display their stats when hovered over.<br />
* The tooltip for parts in the VAB will no longer go lower than the screen<br />
* Holding shift while selecting a part in the VAB will now select the pod so the whole ship can be moved<br />
* Parts now have an ActivatesEvenIfDisconnected parameter on the cfg to allow them to be activated after jettisoning<br />
* The VS Gauge now uses a log scale, to allow greater precision with small values<br />
* The Strut Connector. A compound part to create physical linkages between any 2 parts<br />
* Parachutes now have a 'useAGL' parameter. If that's enabled, it will deploy when it reaches deploy altitude from ground level <br />
* Symmetrically placed Icons are grouped into a single icon<br />
* Input Mapping screen<br />
* Video settings screen<br />
* Audio settings screen<br />
<br />
=== Bug Fixes ===<br />
* Fixed a bug that caused parts to activate out of sequence sometimes.<br />
* The scroll wheel is no longer read if the application is unfocused.<br />
* Staging lock is now preserved if the application is unfocused and refocused.<br />
* Fixed the MET clock, which would loop back to 00:00:00 when a mission went on for longer than 24 hours (Wow, I'm amazed someone found it )<br />
* Changed the debug console key to Alt + the key left of 1. It would interfere with the throttle controls in flight.<br />
* Fixed parachutes not deploying if not set to the last stage. (they can still deploy when jettisoned)<br />
* Fixed a silent error when parts set an explosion potential higher than 1.0<br />
* Eliminated the jitter on the VS gauge<br />
* Changed the physical attachments between parts again, so the stack is less wobbly overall<br />
* Fixed the bug that caused the crewmember name tags to drift out of the screen<br />
<br />
== v0.8.5 ==<br />
Released 18<sup>th</sup> July, 2011<br />
<br />
=== New on 0.8.5 ===<br />
* Added copying of parts (and sets of parts) by holding Alt while clicking on them.<br />
* Replaced tricoupler textures and UV mapping (UV map by Dippeggs)<br />
* Parachutes can now deploy automatically if jettisoned along with other parts (allowing for parts to be safely landed)<br />
* Stage decouplers can now share fuel across stages.<br />
* Added Keys to control the camera in the VAB (+/- for zooming, pgup/pgdown for scrolling)<br />
* Added Keys to control the camera in flight (+/- for zooming)<br />
* Added some sound effects for the parachute opening<br />
* Added cfg-definable parameter for parachute autodeployment delay<br />
* Added a debugging console to the game (can be toggled with Ctrl+Alt+Shift+C)<br />
* Right-clicking the Symmetry Button will now step the symmetry mode back.<br />
* It is no longer possible to select a part of the ship while the mouse is over any interface items.<br />
* Added toggle key to switch between precision or instant input modes (Caps Lock)<br />
* Pitch, Yaw and Roll gauges change color to indicate mode (orange for instant, cyan for precision)<br />
* Exposed Kd, Ki and Kp parameters for tuning the SAS and CommandPod modules<br />
<br />
=== Bug Fixes ===<br />
* Fixed the staging lock LED not turning purple after launch<br />
* Icons no longer show a transparent border floating around then mousing over disconnected parts.<br />
* Fixed a bug where deleting a symmetrical part would sometimes leave it's counterparts floating around.<br />
* Fixed a bug where creating a new stage with a decoupler and then removing it would generate errors.<br />
* Fixed most sound volume decay over distance problems.<br />
* Fixed a bug that caused a massive performance drop when fuel tanks emptied (fuel tank switch lag bug)<br />
* The Flight camera will now remain always centered on the ship's center of mass.<br />
* The Screenshot function will now create a Screenshots directory if one isn't found.<br />
* The altimeter will now go past 999,999K correctly (it will move up to 1000M, then 1000G, 1000T and so on)<br />
* Fixed a bug that could cause large ships to explode at 5,000m altitude.<br />
<br />
== v0.8.4 ==<br />
Released July 14<sup>th</sup>, 2011<br />
<br />
=== Bug Fixes ===<br />
* Fixed a small but incredibly disruptive bug which prevented engines from being connected to fuel tanks<br />
<br />
== v0.8.3 ==<br />
Released 14 <sup>th</sup> July, 2011<br />
<br />
=== New on 0.8.3 ===<br />
* Added key to lock staging, to prevent accidental jettisoning (remember to set it off later). Set to Alt+L<br />
* Added a tooltip for the Symmetry Button<br />
<br />
=== Bug Fixes ===<br />
* Fixed A TON of bugs with the symmetry and ship construction in general. Game is stable again.<br />
* Fixed a bug where parts would lose staging info and revert to default when returning from flight to the VAB. (the staging reset bug)<br />
* Fixed a glitch introduced in 0.8.3 RC1 that allowed parts to be attached to frozen parts.<br />
<br />
== v0.8.2 ==<br />
Released 13 <sup>th</sup> July, 2011<br />
<br />
This version is a hotfix for a couple of ugly bugs found with the 0.8.1 release.<br />
<br />
Note: The 0.8.1 release introduced a few changes to the .craft file format, so it is possible that ships<br />
created with versions prior to 0.8.1 might not be compatible with the new version. <br />
<br />
=== Bug Fixes ===<br />
* Fixed a serious bug where swapping about symmetrical parts would crash the game<br />
* Pod cannot be dropped if an Escape Tower (PunchOut addon) is attached<br />
<br />
== v0.8.1 ==<br />
Released 13<sup>th</sup> July, 2011<br />
<br />
=== New on 0.8.1 ===<br />
* Added options to use Angle Snapping when placing surface-aligned parts.<br />
* Symmetrical placement mode in the VAB.<br />
* It's now possible to set aside a part of group of parts. This enables adding parts in between others without deleting half the ship.<br />
* Sound Normalizer, keeps the volume balanced even with 50+ boosters firing<br />
* Added framerate cap to keep GPUs from screaming on light scenes. (configurable through the settings.cfg file)<br />
* Deleting a part now requires clicking the parts list. This prevents accidental deletion. (Or you can also press 'Delete)<br />
* Fuel can now flow through Strut parts like the tricoupler <br />
<br />
=== Bug Fixes ===<br />
* Fixed bug where starting a new ship with a loaded multi-stage ship would create empty stages<br />
* Smoke trail effects now fade away when nearing the edge of the atmosphere<br />
* Fixed SkySphere culling issues at large distances<br />
* Added cfg parameter to enforce a symmetry mode when stacking (like 3 under the tricoupler)<br />
* Updated editor tutorial to reflect the changes in this update<br />
<br />
== v0.8 ==<br />
Released July 7<sup>th</sup>, 2011<br />
<br />
=== New on 0.8 ===<br />
* Saving and Loading buttons in the interface, as well as a ship loading dialog for picking new ships.<br />
* Ship name field in the editor, allows saving ships with any filename.<br />
* Screenshot button to capture the screen to file.<br />
* functioning MET indicator in the flight UI<br />
* Pages in the VAB part list, whenever the parts exceed the size of the list.<br />
* New skins for the UI windows that pop up. (like the flight results dialog)<br />
* A new splash screen before the main menu enters.<br />
* SAS toggle with 'T' key<br />
* Option to Simulate in Background in the settings.cfg file<br />
* Undo/Redo actions in the VAB, by Ctrl+Z and Ctrl+Y<br />
* Fuel tanks are now stackable to increase fuel amount (and weight )<br />
* On-screen text popup to let you know the current camera mode<br />
* Cfg interpreter can now parse 2D, 3D, and 4D Vectors, as well as rotations (in angle-axis format)<br />
* Cfg-defined thrust positions and orientations, make retro-rockets and any other craziness open for addon parts.<br />
* Parts may now create new stages for themselves through the cfg (used to be decouplers only)<br />
* New texture for the Solid Rocket Booster<br />
* The game now checks for updates against the KSP site, and let's you know if there is a new version available<br />
* Loading screen moved to before the main menu appears.<br />
<br />
=== Bug fixes ===<br />
* Liquid Engine particle effects responding to engine cutoff<br />
* Icon indicators for all parts that need to show information<br />
* Custom icons for all part types<br />
* VAB placement bug with tricouplers and fuel tanks (and decouplers)<br />
* Reposition the [[Navball]] and main camera focus, so the ship isn't obscured by the interface - this one is kinda moot now, since the new camera centers the ship better, and the navball doesn't hide the ship anymore.<br />
* Pause also affecting particle effects<br />
* Pausing the game no longer produces a G-force peak<br />
* SRB mesh normals correction<br />
* Complete rewrite of the flight camera code. No more jitters and a number of new options in the settings.cfg<br />
* Relaunch button on pause menu. No need to end flight to relaunch.<br />
* Version text on main menu resetting after returning to it from game.<br />
* Inverted the middle mouse button zoom. Now mouseing forward brings the camera closer.<br />
* The text on the stage indicators no longer appears over other interface elements<br />
* Fixed excessive wobbliness with side-attached parts<br />
* Radial decouplers now have their own module (they used to share modules with the stack decoupler) <br />
* Increased the inclination range for the VAB camera from 45° to 80°<br />
* Updated tutorial to reflect the changes made in this update (like the new cameras in flight).<br />
* Tweaked the Radial Decoupler separation. It can now eject lit SRBs safely away from the ship and not kill the crew everytime.<br />
<br />
== v0.7.3 ==<br />
Released June 24<sup>th</sup>, 2011<br />
<br />
* Initial Release<ref>[http://kerbalspace.tumblr.com/post/6872084213/first-release-is-up First Release is Up!]</ref><br />
<br />
=== Notable Features ===<br />
* Downloaded over 5000 times<ref>[http://kerbalspace.tumblr.com/post/7348393677/milestone-5000-downloads-and-counting Milestone: 5000 downloads and counting!]</ref><br />
* No SAS, although SAS module is implemented and generates torque<br />
* The only engine, the [[LV-T30]] can only be fed by one [[FL-T500]] attached on its top<br />
* The [[AV-R8 Winglet]] is just a fin and can't be used to control the vehicle<br />
* It is nearly impossible to achieve orbit<br />
* [[Kerbin]] is the only celestial object, does not rotate, and is a mirror reflection of the [http://libnoise.sourceforge.net/examples/complexplanet/index.html example planet from libnoise]<br />
* [[The sun]] is a directional light source at infinite distance<br />
* The render distance is only 1500&nbsp;km, and Kerbin will "sink" into the sky background, vanishing entirely as that altitude is achieved<br />
* The original Intercontinental Kraken had not been fixed (Moving far from the KSC will result in shaking and even Rapid Unplanned Disassembly due to floating-point precision loss.)<br />
<br />
== v0.4 ==<br />
Not released<ref>[http://kerbalspace.tumblr.com/post/17827181033/the-story-of-ksp-ksp-0-4 The Story of KSP - KSP 0.4]</ref><br />
<br />
* The disk terrain generator seen in early releases is implemented from the Libnoise library, giving Kerbin its current global topology (excepting a few later modifications.)<br />
<br />
== v0.3 ==<br />
Not released<ref>HarvesteR, [http://kerbalspace.tumblr.com/post/17096770707/the-story-of-ksp-ksp-0-3 The Story of KSP - KSP 0.3]</ref><br />
<br />
* The (pre-[[0.90.0]]) parts tabs were implemented in the [[Editor]]<br />
* Some terrain was placed in the immediate vicinity of the pad, but Kerbin was still 20&nbsp;km and smooth beyond it<br />
* The Mun was removed<br />
* The game featured an interface including an average propellant gauge, RCS propellant gauge, vertical speed and altimeter, kerbal portraits, g-meter and throttle indicator, most of which did not function<br />
* An electronic sign, possibly for mouse-over information, appeared; it showed quotes and countdowns in this version<br />
<br />
== v0.2 ==<br />
Not released<ref>HarvesteR, [http://kerbalspace.tumblr.com/post/16291223741/the-story-of-ksp-ksp-0-2 The Story of KSP - KSP 0.2]</ref><br />
<br />
* Kerbin was a textured 20&nbsp;km (radius assumed) sphere with no terrain, presumably with 1/900 of its current mass and an orbital speed of less than 442.9&nbsp;m/s<br />
* There was a fixed Mun: another textured smooth sphere with little resemblance to the canonical [[Mun]]<br />
* Staging is added<br />
* Instead of the current vessel-origin rendering system (necessary to solve floating point jitters), the game used the center of Kerbin as the origin<br />
* The game is now in an early 3D like format<br />
<br />
== v0.1 ==<br />
Not released<ref>HarvesteR, [http://kerbalspace.tumblr.com/post/16228007762/the-story-of-ksp-ksp-0-1 The Story of KSP- KSP 0.1]</ref><br />
<br />
* The [[Editor]] ran in the flight scene, the Vehicle Assembly Building not being implemented yet<br />
* The [[RT-10]] solid rocket motor was implemented and looks only slightly different from today{{Check version||0.90}}<br />
* The [[Command Pod Mk1]], [[TR-18A Stack Decoupler]], [[LV-T30 Liquid Fuel Engine]], [[FL-T500 Fuel Tank]], and [[TT-38K Radial Decoupler]] are implemented, but barely recognizable<br />
* Kerbin was a flat, floating tile with generated terrain, and instead of achieving orbit, you could launch past its edge and fall forever into the "void"<br />
* While the graphics were 3D, the game was 2D, and one could fly and build vehicles only in the altitude-longitude plane, unable to turn north or south, and able to attach parts to only two sides<br />
<br />
== v0.0 ==<br />
Not released<ref name="One Year of KSP">HarvesteR, [http://kerbalspace.tumblr.com/post/16016599050/one-year-of-ksp One Year of KSP]</ref><br />
<br />
* "Kerbal" comes from the name Felipe "HarvesteR" Falanghe gave small figurines he installed in modified fireworks as a teenager<ref>Known Griefers [http://www.knowngriefers.com/2013/08/kerbal-space-program-devs-interviewed.html Kerbal Space Program Devs Interviewed!] 2012 August 27</ref><br />
* HarvesteR was hired by Monkey Squad in 2010 April; the company did not develop software at the time<ref name="polygon">Charlie L. Hall [http://www.polygon.com/features/2014/1/27/5338438/kerbal-space-program To The Mun and Back: Kerbal Space Program], Polygon 2014 January 27 interview with developers</ref><br />
* Development of Kerbal Space Program was authorized by Squad co-founder Adrian Goya in 2010 October, but deferred until HarvesteR could be released from marketing set projects in progress<ref name="polygon" /><br />
* Kerbal Space Program first compiled on 2011 January 17<ref name="One Year of KSP"/><br />
<br />
== References ==<br />
<references /><br />
<br />
{{Versions}}<br />
<br />
[[Category:Documentation]]<br />
[[Category:Versions| ]]</div>Michahttps://wiki.kerbalspaceprogram.com/index.php?title=Module&diff=101456Module2021-07-05T05:48:36Z<p>Micha: /* ModuleScienceExperiment */</p>
<hr />
<div>{{TOC|align=right}}<br />
<br />
== STOCK MODULES ==<br />
Modules define what specific parts can do. They are generally calls to C-coded or hard-coded functions that define what functionality these parts have in-game. If you are a new part designer, modder, engineer, or someone else who makes parts, please check the STOCK modules list '''before''' designing a new module. Each additional module increases the CPU workload and reduces FPS and Physics. All 0.90 stock modules are now included.<br />
<br />
{|class="wikitable"<br />
|-<br />
| name<br />
| names define the module in use and are a general indication of what the module subtype does. Specific variables are associated with each [module].[name]. For example, the Clamp-O-Tron Docking Port Sr. has the MODULE.name ModuleDockingNode and its' associates variables are [referenceAttachNode] and [nodeType]. Some [MODULE]s share variables with other modules, which can make deciphering their purpose difficult.<br />
|}<br />
<br />
{|<br />
! explanation <br />
! code examples<br />
|-<br />
|<br />
<br />
=== CModuleFuelLine ===<br />
No known arguments or variables at this time. This module is used by fuelLine, presumably to specify that it is fuel Transfer enabled. More research is clearly called for. This module is new in 0.90.<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = CModuleFuelLine<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== CModuleLinkedMesh ===<br />
This module is new in 0.90 and is used by fuelLine and strutConnector, presumably to created the variable length connectors between two parts (and add end caps on both sides). <br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| lineObjName<br />
|| <br />
* obj_line<br />
* obj_strut <br />
|| specifies whether there is a flag displayed on the exterior surface of the object.<br />
|-<br />
| targetAnchorName<br />
||<br />
* obj_targetAnchor<br />
|| Unknown<br />
|-<br />
| anchorCapName<br />
|| <br />
* obj_AnchorCap<br />
|| name of the part on the source part that this part attaches from<br />
|-<br />
| targetCapName<br />
||<br />
* obj_targetCap<br />
|| name of the part on the target part to which this mesh attaches<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = CModuleLinkedMesh<br />
<br />
lineObjName = obj_line<br />
targetAnchorName = obj_targetAnchor<br />
anchorCapName = obj_anchorCap<br />
targetCapName = obj_targetCap <br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== CModuleStrut ===<br />
This module is new in 0.90 and is used by strutConnector, presumably to indicate that it is a structural support part.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| linearStrength<br />
|| <br />
* 100<br />
* 150<br />
|| the push/pull strength of the strut<br />
|-<br />
| angularStrength<br />
||<br />
* 100<br />
* 150<br />
|| the sheering strength of the strut<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = CModuleStrut<br />
<br />
linearStrength = 150<br />
angularStrength = 150<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
<br />
=== FlagDecal ===<br />
Parts with this module have a place for a flag on their sides. You don't have to turn it on, but this is how it gets there.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| textureQuadName <br />
|| <br />
* flagTransform <br />
|| specifies whether there is a flag displayed on the exterior surface of the object.<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = FlagDecal<br />
textureQuadName = flagTransform<br />
}<br />
</pre><br />
<br />
|-<br />
<br />
|<br />
=== FXModuleAnimateThrottle ===<br />
Animation for engines and engine bells showing them as they fire up and operate, based on the amount of throttle applied. See ion Engines for a good example.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| animationName || <br />
* colorAnimation <br />
|| specifies the animation to be used<br />
|-<br />
| depondOnEngineState || <br />
* True<br />
* False <br />
|| specifies whether the animation is dependent on the throttle<br />
|-<br />
| responseSpeed || <br />
* 0.5<br />
|| specifies the rate at which the animation reacts to the change in engine state<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = FXModuleAnimateThrottle<br />
animationName = colorAnimation<br />
dependOnEngineState = True<br />
responseSpeed = 0.5<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== FXModuleConstrainPosition ===<br />
Copies the rotation and/or position (matchRotation/matchPosition) from targetName to moversName. Used by for example wheels to copy the rotation of the steering part to the wheel collider.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| matchRotation ||<br />
* true<br />
* false<br />
|| Should targetNames rotation be applied to moversName?<br />
|-<br />
| matchPosition ||<br />
* true<br />
* false<br />
|| Should targetName's position be applied to moversName?<br />
|-<br />
| CONSTRAINFX || {} || unknown<br />
|-<br />
| targetName || <br />
* Steering <br />
* steering <br />
|| gameObject to copy targetName's world position/rotation of.<br />
|-<br />
| moversName || <br />
* wheelCollider<br />
* steering<br />
|| gameObject to apply targetName's world position/rotation to.<br />
|}<br />
<br />
|| <br />
<pre><br />
MODULE<br />
{<br />
name = FXModuleConstrainPosition<br />
matchRotation = true<br />
matchPosition = false<br />
CONSTRAINFX<br />
{<br />
targetName = steering<br />
moversName = lateral<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== FXModuleLookAtConstraint ===<br />
Makes two gameObject "look" at each other, for example in suspensions where the piston must "look" at the cylinder. The gameObjects must be aligned so it rotates around it's local X axis and looks down it's local Z axis. <br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| CONSTRAINLOOKFX || {} || <br />
|-<br />
| targetName || <br />
* susp2-1 <br />
|| gameObject to target rotatorsName at.<br />
|-<br />
| rotatorsName || <br />
* susp2-2 <br />
|| gameObject to rotate so that it looks at targetName<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = FXModuleLookAtConstraint<br />
CONSTRAINLOOKFX<br />
{<br />
targetName = susp2-1<br />
rotatorsName = susp2-2<br />
}<br />
CONSTRAINLOOKFX<br />
{<br />
targetName = susp2-2<br />
rotatorsName = susp2-1<br />
}<br />
CONSTRAINLOOKFX<br />
{<br />
targetName = susp1-2<br />
rotatorsName = susp1-1<br />
}<br />
CONSTRAINLOOKFX<br />
{<br />
targetName = susp1-1<br />
rotatorsName = susp1-2<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== KerbalSeat ===<br />
This module makes the part have an EXTERIOR seat. <br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| seatPivotName <br />
|| <br />
* seatPivot <br />
|| Unknown<br />
|-<br />
| ejectDirection <br />
|| <br />
* 0, 1, 0.2 <br />
|| specifies the direction from which your Kerbal will exit the vehicle. Try to line up with a hatch!<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KerbalSeat<br />
seatPivotName = seatPivot <br />
ejectDirection = 0, 1, 0.2<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== LaunchClamp ===<br />
This module enables the part to hold a vessel in suspension on the launch pad. <br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| trf_towerPivot_name || <br />
* obj_girdercap <br />
|| specifies the model used for the pivot point<br />
|-<br />
| trf_towerStretch_name || <br />
* obj_girder <br />
|| specifies the model for the ground to pivot girder <br />
|-<br />
| trf_anchor_name || <br />
* obj_ground <br />
|| specifies the model for the ground mount point <br />
|-<br />
| trf_animationRoot_name || <br />
* launchclamp <br />
|| specifies the base animation<br />
|-<br />
| anim_decouple_name || <br />
* launchclamp <br />
|| specifies the animation for the release of the clamp<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = LaunchClamp<br />
<br />
trf_towerPivot_name = obj_girdercap<br />
trf_towerStretch_name = obj_girder<br />
trf_anchor_name = obj_ground<br />
<br />
trf_animationRoot_name = launchclamp<br />
anim_decouple_name = launchclamp<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleAlternator ===<br />
Specifies that this part produced a resource, based on the percentage of thrust produced by the engine.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example <br />
|-<br />
| RESOURCE ||<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
|- <br />
| name || ElectricCharge || name of the resource produced<br />
|-<br />
| rate || 1.0 || rate at which the resource is produced at 100% thrust, expressed in units/second<br />
|}<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAlternator <br />
RESOURCE<br />
{<br />
name = ElectricCharge<br />
rate = 5.0<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleAnchoredDecoupler ===<br />
This module specifies that the part is attached (anchored) to another part, and will decouple from yet a third part, forcing the third part away from it.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| anchorName || <br />
* anchor <br />
|| specifies the name of the anchored part<br />
|-<br />
| ejectionForce || <br />
* 450 <br />
|| dV applied to part upon separation<br />
|-<br />
| explosiveNodeID || <br />
* srf<br />
* top<br />
|| specifies the location of the explosion.<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAnchoredDecoupler<br />
anchorName = anchor<br />
ejectionForce = 450<br />
explosiveNodeID = srf<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleAnimateGeneric ===<br />
Generic Animations will be applied to parts with this module. This module is slowly replacing other animation modules as progression is made towards the release version of KSP.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| animationName || <br />
* Deploy<br />
* CrewCabinLight<br />
* dish<br />
* dockingring<br />
* dockingporthull<br />
|| specifies the name of the animation to be used<br />
|-<br />
| isOneShot || <br />
* false<br />
|| specifies whether the animation can occur only once<br />
|-<br />
| startEventGUIName || Flavor text || <br />
to describe turning the animation to its 'On' State<br />
|-<br />
| endEventGUIName || Flavor text || <br />
to describe turning the animation to its 'Off' State<br />
|-<br />
| actionGUIName || Flavor text || <br />
to describe switching the animation between it's 'on' and 'off' states<br />
|-<br />
| allowManualControl || <br />
* '''true'''<br />
* false<br />
|| specifies whether the part can be manually animated<br />
|-<br />
| actionAvailable || <br />
* '''true'''<br />
* false<br />
|| ???<br />
|-<br />
| eventAvailableEditor || <br />
* '''true'''<br />
* false<br />
|| specifies whether the animation can be toggled in the VAB/SPH scene<br />
|-<br />
| eventAvailableFlight || <br />
* '''true'''<br />
* false<br />
|| specifies whether the animation can be toggled in the flight scene<br />
|-<br />
| eventAvailableEVA || <br />
* '''true'''<br />
* false<br />
|| specifies whether the animation can be toggled by a Kerbal on EVA near the vessel or part containing the animation<br />
|-<br />
| evaDistance || <br />
* 5<br />
* 10<br />
|| specifies the maximum distance (in meters) from which a Kerbal on EVA can toggle an animation on the part<br />
|-<br />
|}<br />
<br />
|| <br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAnimateGeneric<br />
animationName = dish<br />
isOneShot = false<br />
<br />
startEventGUIName = Extend<br />
endEventGUIName = Retract<br />
actionGUIName = Toggle Antenna<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleAnimateHeat ===<br />
This module specifies that heating animation will be applied to this part.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| ThermalAnim || <br />
* HeatAnimationEmissiveLiquidEngine3<br />
* HeatAnimationEmissiveTurbofan<br />
* HeatAnimationEmissiveJet<br />
* overheat<br />
|| animation for applying heat to an object<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAnimateHeat<br />
ThermalAnim = HeatAnimatioEmissiveLiquidEngine3<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleAsteroid ===<br />
Because it has no procedures or calls, is new in [0.90] and only appears on a part that you must hack to have available, it is impossible to say for certain what this module does, but it has something to do with being an asteroid.<br />
no procedures or calls<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAsteroid <br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleCargoBay ===<br />
Allows a [[cargo bay]] to shield its contents from airflow and heat.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| DeployModuleIndex || <br />
* 0<br />
* 1<br />
* 2<br />
|| Specifies the index (starting with zero) of the MODULE which controls whether the bay is open or closed. Said MODULE must implement IScalarModule (e.g. ModuleAnimateGeneric and its descendents, or ModuleAnimatedDecoupler from [https://github.com/Starwaster/AnimatedDecouplers AnimatedDecouplers]).<br />
|-<br />
| closedPosition || <br />
* 0<br />
* 1<br />
|| Specifies whether the cargo bay is closed by default (0) or open by default (1).<br />
|-<br />
| lookupRadius || <br />
* 1.25<br />
|| Radius within which the part should search for parts to be shielded.<br />
|-<br />
| lookupCenter || <br />
* 0,0.5,0<br />
* 1,0,0<br />
|| Optional (default is 0,0,0). Specifies the point from which the search is centered. Rays are cast from here; any parts that are struck are shielded, while the rays stop when the part's own colliders are hit.<br />
|-<br />
|<br />
* nodeOuterForeID<br />
* nodeOuterAftID<br />
* nodeInnerForeID<br />
* nodeInnerAftID<br />
|| <br />
* top<br />
* bottom<br />
* top2<br />
* bottom2<br />
|| Optional. For hollow cargo bay parts without end walls (e.g. [[Mk2 Cargo Bay CRG-04]]), node IDs are given to determine where the cargo bay ends.<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleCargoBay<br />
DeployModuleIndex = 1<br />
closedPosition = 1<br />
lookupRadius = 1<br />
<br />
nodeOuterForeID = top<br />
nodeOuterAftID = bottom<br />
nodeInnerForeID = top2<br />
nodeInnerAftID = bottom2<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleCommand ===<br />
Applies Command to vessels<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| minimumCrew || <br />
* 0<br />
* 1<br />
* 2<br />
|| Specifies the minimum number of crew needed to operate this module. <br />
|-<br />
| RESOURCE ||<br />
{|class="wikitable"<br />
|-<br />
| name || ElectricCharge || This is the name of that resource<br />
|-<br />
| rate || 15.0 || and the rate in units/second of resource consumed<br />
|}<br />
|| If this Module requires a resource<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleCommand<br />
minimumCrew = 1<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleControlSurface ===<br />
This module gives the part the ability to respond to inputs, generally used for aerodynamic parts to expose more or less effective surface to lift and braking forces in atmospheres.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| dragCoeff || * 0.5 || <br />
this value overrides the maximum_drag value<br />
|-<br />
| deflectionLiftCoeff || * 0.7 || specifies the Coefficient of lift for the part<br />
|-<br />
| ctrlSurfaceRange || * 20 || specifies the degrees of operation for the part<br />
|-<br />
| ctrlSurfaceArea || * 0.95 || specifies how much of the part affects lift<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleControlSurface<br />
dragCoeff = 0.5<br />
deflectionLiftCoeff = 0.7<br />
ctrlSurfaceRange = 20<br />
ctrlSurfaceArea = 0.95<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleDataTransmitter ===<br />
This module specifies that the part acts as a transmitter of data, typically an antenna of some sort, for broadcasting science data back to the KSC.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| antennaType || <br />
* DIRECT<br />
* RELAY<br />
|| whether the antenna is capable of acting as a relay<br />
|-<br />
| packetInterval || <br />
* 0.18<br />
* 0.4 <br />
* 0.3 <br />
|| Mits per second <br />
|-<br />
| packetSize || <br />
* 2<br />
|| Mits per packet<br />
|-<br />
| packetResourceCost || <br />
* 20<br />
* 10<br />
* 12.5 <br />
|| Resource per packet<br />
|-<br />
| requiredResource || <br />
* ElectricCharge <br />
|| Required resource (usually ElectricCharge)<br />
|-<br />
| DeployFxModules || <br />
* 0 <br />
|| Deployment <br />
|-<br />
| ProgressFxModules || <br />
* 1 <br />
|| Animations that play while transmitting<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleDataTransmitter<br />
<br />
antennaType = DIRECT<br />
packetInterval = 0.18<br />
packetSize = 2<br />
<br />
packetResourceCost = 20.0<br />
requiredResource = ElectricCharge<br />
<br />
DeployFxModules = 0<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleDecouple ===<br />
ModuleDecouple is a slightly upgraded version of ModuleAnchoredDecoupler, and may replace it in the future. Allows for decouplers that separate from both parts to which it is attached.<br />
{|class="wikitable"<br />
! variable !! sample !! definition<br />
|-<br />
| isOmniDecoupler || <br />
* true<br />
* '''false''' <br />
|| Specifies whether this decoupler separates on both ends or not. Defaults to false.<br />
|-<br />
| ejectionForce <br />
|| <br />
* 100 <br />
|| specifies the DeltaV with which the part separates<br />
|-<br />
| explosiveNodeID || <br />
* top<br />
* srf <br />
|| for non-OmniDecouplers, specifics the Node of separation<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleDecouple<br />
ejectionForce = 250<br />
explosiveNodeID = srf<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleDeployableSolarPanel ===<br />
Solar panels cannot deploy without this module. May be possible to use for other modules which unfold. Optionally specifies whether the part will automatically turn to face the sun. This is one place where you can say how a part breaks.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| animationName || <br />
* solarpanels<br />
* solarpanels2<br />
* solarpanels4<br />
* altsolarpanelbase<br />
* bigsolarpanel<br />
|| <br />
unknown for sure. Assumed to refer to an animation describing part transformation from its closed state to its open state. known parameters are:<br />
|-<br />
| sunTracking || <br />
* true<br />
* false<br />
|| Indicates whether the animation will turn the panel towards the sun.<br />
|-<br />
| raycastTransformName ||<br />
* suncatcher<br />
|| Specifies the GameObject in Unity with Z+ forward facing the sun that will act as the solar panel.<br />
|-<br />
| pivotName ||<br />
* suncatcher<br />
|| Specifies the object in Unity which will act as the rotation point for the solar panel sun tracking function.<br />
|-<br />
| isBreakable ||<br />
* true<br />
* false<br />
|| Indicates whether the part will break on high-dynamic stress.<br />
|-<br />
| resourceName ||<br />
* ElectricCharge<br />
|| The resource provided by this module. Any resource may be used, including resources not defined.<br />
|-<br />
| chargeRate || <br />
* 10<br />
|| Amount of resource provided per second at 100% output. Positive values only, please.<br />
|-<br />
| powerCurve || || <br />
powerCurve is a special call consisting of subtypes called [key]. Each [key] uses four numbers to define what it will do at a specific distance from a source. In the case of solar panels, where powerCurve is typically used, there are typically 4 [key]s. [powerCurve] defines the rate at which resources are provided relative to the [chargeRate] and distance from the specified source (ie. Kerbol)<br />
* 206000000000 0.00 0 0<br />
* 013599840256 1.00 0 0<br />
* 068773560320 0.50 0 0<br />
* 000000000000 10.0 0 0<br />
|}<br />
|| <br />
<pre>MODULE<br />
{<br />
name = ModuleDeployableSolarPanel<br />
<br />
animationName = solarpanels2<br />
resourceName = ElectricCharge<br />
chargeRate = 2<br />
powerCurve<br />
{<br />
key = 206000000000 0 0 0<br />
key = 13599840256 1 0 0<br />
key = 68773560320 0.5 0 0<br />
key = 0 10 0 0<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleDockingNode ===<br />
A module for docking ports<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| referenceAttachNode || <br />
* top<br />
* bottom<br />
* dockingNode<br />
|| <br />
Specifies the node on the part that is used for the docking port, generally top or bottom. dockingNode is the name of the GameObject transform in Unity with Z+ forward.<br />
|-<br />
| deployAnimationController || <br />
* 1<br />
* 0<br />
|| Boolean<br />
|-<br />
| nodeType || <br />
* size1<br />
* size2<br />
* size0<br />
|| Specifies the type of node for attachment. When perform docking operations, nodes must have the same value for nodeType in order to dock with one another.<br />
|-<br />
| nodeTransformName || <br />
* dockingNode<br />
* DOCKING<br />
|| unknown<br />
|-<br />
| controlTransformName || <br />
* controlNode <br />
|| apparently only used for docking nodes that have related animations, see dockingPortInline<br />
|-<br />
| undockEjectionForce || <br />
* 0.25<br />
|| Force in d/v applied on undock<br />
|-<br />
| minDistanceToReEngage || <br />
* 3.5<br />
|| Docking Nodes must separate by this many meters before being able to reengage<br />
|-<br />
| acquireForce || <br />
* 3.5<br />
|| magnetic grip, in d/v<br />
|-<br />
| acquireTorque || <br />
* 3.5 <br />
|| rotational magnetic grip, in d/v<br />
|-<br />
| acquireRange || <br />
* 3<br />
|| maximum distance to begin applying magnetic grip<br />
|-<br />
| captureRange || <br />
* 1.5<br />
|| maximum range to begin docking<br />
|-<br />
| snapRotation || <br />
* True<br />
* False<br />
|| specifies whether to enforce docking at multiple rotational offsets rather than a single allowable angle<br />
|-<br />
| snapOffset || <br />
* 45<br />
* 90<br />
* 120<br />
|| specifies what rotational offsets (in degrees) docking is allowed<br />
|-<br />
| acquireMinRollDot || <br />
* 0.95<br />
* 0.99999<br />
|| specifies the minimum angular accuracy between docking ports for applying magnetic grip; higher values imply better accuracy<br />
|-<br />
| captureMinRollDot || <br />
* 0.95<br />
* 0.99999<br />
|| specifies the minimum angular accuracy between docking ports to begin docking; higher values imply better accuracy<br />
|-<br />
| gendered || <br />
* True<br />
* False<br />
|| specifies whether to enforce gendered docking; defaults to false (androgynous)<br />
|-<br />
| genderFemale || <br />
* True<br />
* False<br />
|| if gendered (see above) is true, this specifies whether the docking port can only docking with another port of the same type but different gender; defaults to true, which means it can only dock with another port with genderFemale=false<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleDockingNode<br />
referenceAttachNode = top<br />
nodeType = size2<br />
undockEjectionForce = 0.25<br />
minDistanceToReEngage = 3.5<br />
acquireForce = 3.5<br />
acquireTorque = 3.5<br />
acquireRange = 3.0<br />
captureRange = 1.5<br />
snapRotation = false<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleEngines ===<br />
Everything about your engine, all in one module!<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| thrustVectorTransformName || <br />
* thrustTransform <br />
|| specifies gameObject to be used as point of applied thrust, force is applied in local +Z. standard name is thrustTransform, but it can be anything as long as gameObject in the MU matches thrustVectorTransformName value in module config<br />
|-<br />
| throttleLocked || <br />
* True<br />
* '''False''' <br />
|| Used to create engines without controllable thrust.<br />
|-<br />
| exhaustDamage || <br />
* True<br />
* False <br />
|| assumed to indicate whether the exhaust from this engine will damage other parts.<br />
|-<br />
| ignitionThreshold || <br />
* 0.1 <br />
||minimum required resource(s) for engine to start. If engine has less than specified value in resource(s), it will not start. Think of it as if your car needs at least half full tank to start.<br />
|-<br />
| minThrust || <br />
* 0<br />
* 10<br />
* 100<br />
|| Minimum thrust value. Engines will be considered 'off' at or below this value.<br />
|-<br />
| maxThrust || <br />
* 200<br />
* 215<br />
* 80<br />
|| Just like the name implies, this is the maximum thrust a single unit of this module can produce. In order to create a more powerful engine, set this value higher.<br />
|-<br />
| heatProduction || <br />
*400<br />
*900<br />
|| a measure of the amount of heat energy produced per second. measured in degrees Kerbius (degrees Celsius)<br />
|-<br />
| fxOffset || <br />
* 0,0,0<br />
* 0,0,1<br />
|| 3-dimensional vector coordinates specifying the location of thrust effects<br />
|-<br />
| useEngineResponseTime || <br />
* True<br />
* False <br />
|| <br />
|-<br />
| engineAccelerationSpeed || <br />
* 0.2<br />
* 0.12 <br />
||<br />
|-<br />
| engineDecelerationSpeed || <br />
* 0.35<br />
* 0.21<br />
|| <br />
|-<br />
| allowShutdown || <br />
* '''True'''<br />
* False <br />
|| Specifies engines that cannot be turned off, regardless of whether their thrust can be controlled.<br />
|-<br />
| useVelocityCurve || <br />
* True<br />
* False <br />
|| <br />
|-<br />
| PROPELLANT || {}<br />
|| resource utilized in the operation of this part, generally a fuel or other propellant. Engines may use multiple propellant types.<br />
|-<br />
| name ||<br />
* LiquidFuel<br />
* Oxidizer<br />
|| name of the resource consumed while this part is in operation<br />
|-<br />
| ratio || <br />
* 0.9<br />
* 1.1 <br />
|| rate at which this resource is consumed, per second. Not to be confused with ratio relative to other propellants.<br />
|-<br />
| DrawGauge || <br />
* true<br />
* '''false'''<br />
|| Boolean value that indicates whether or not the 'fuel remaining' indicator in the staging selection is displayed or not.<br />
|-<br />
| atmosphereCurve || {} || specifies variances in operational efficiency<br />
|-<br />
| key || || <br />
uses two values to specify engine efficiency relative to the depth of the atmosphere (based on Kerbin sea-level!) First number indicates the relative pressure (0 = vacuum, 1 Kerbin sea-level), second numer indicates ISP value).<br />
Translates directly to ISP. In order to make a more efficient engine, set the second number of this array higher. <br />
|-<br />
| velocityCurve || {} || <br />
Control the degree of acceleration of an engine at specified speeds. It uses keys to generate a curve of the amount of thrust generated by the engine according to the speed of the craft. First part of the key is speed in m/s and then comes the thrust multiplier ( the effective thrust will be : maxThrust * multiplier). Used stock by jet engines.<br />
|}<br />
<br />
|| <br />
<pre><br />
MODULE<br />
{ <br />
name = ModuleEngines <br />
thrustVectorTransform<br />
Name = thrustTransform <br />
throttleLocked = True <br />
exhaustDamage = True <br />
allowShutdown = False <br />
ignitionThreshold = 0.1 <br />
minThrust = 0 <br />
maxThrust = 18 <br />
heatProduction = 550 <br />
fxOffset = 0, 0, 0.02 <br />
PROPELLANT <br />
{ <br />
name = SolidFuel <br />
ratio = 1.0 <br />
DrawGauge = True <br />
} <br />
atmosphereCurve <br />
{ <br />
key = 0 100 <br />
key = 1 100 <br />
} <br />
}<br />
</pre><br />
|-<br />
|<br />
=== ModuleEnginesFX ===<br />
An updated and more customizable version of ModuleEngines. Required for and allows implementation of multi-modal engines and engines with custom exhaust FX.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| engineID <br />
|| <br />
* LES<br />
* KS25<br />
|| Hidden name of the engine<br />
|-<br />
| runningEffectName <br />
|| <br />
* running_closed <br />
|| effect used for when the engine is running<br />
|-<br />
| thrustVectorTransformName <br />
|| <br />
* thrustTransform<br />
* obj_gimbal<br />
|| <br />
specifies gameObject to be used as point of applied thrust, force is applied in local +Z. standard name is thrustTransform, but it can be anything as long as gameObject in the MU matches thrustVectorTransformName value in module config<br />
|-<br />
| exhaustDamage ||<br />
* True<br />
* False <br />
|| <br />
Indicates whether the exhaust from this engine will damage other parts.<br />
|-<br />
| throttleLocked || <br />
* True<br />
* False<br />
|| <br />
Assumed to specify that solid Rocket Boosters cannot have their throttle adjusted while in flight.<br />
|-<br />
| ignitionThreshold <br />
|| <br />
* 0.1<br />
* 0.05 <br />
|| minimum required resource(s) for engine to start. If engine has less than specified value in resource(s), it will not start. Think of it as if your car needs at least half full tank to start.<br />
|-<br />
| minThrust <br />
|| <br />
* 0<br />
* 10 <br />
|| <br />
Minimum thrust value. Engines will be considered 'off' at or below this value.<br />
|-<br />
| maxThrust <br />
|| <br />
* 200<br />
* 215 <br />
|| <br />
Just like the name implies, this is the maximum thrust a single unit of this module can produce.<br />
|-<br />
| heatProduction <br />
|| <br />
* 400 <br />
* 600<br />
|| a measure of the amount of heat energy produced per second. measured in degrees Kerbius (degrees Celsius)<br />
|-<br />
| fxOffset <br />
|| <br />
* 0,0,-1<br />
* 0,0,-0.5<br />
|| <br />
3-dimensional vector coordinates specifying the location of thrust effects<br />
|-<br />
| PROPELLANT <br />
|| {}<br />
|| resource utilized in the operation of this part, generally a fuel or other propellant.<br />
|-<br />
| name <br />
|| <br />
* LiquidFuel<br />
* Oxidizer<br />
* XenonGas<br />
|| <br />
name of the resource consumed while this part is in operation<br />
|-<br />
| ratio <br />
|| <br />
* 0.9<br />
* 1.1<br />
|| <br />
rate at which this resource is consumed, per second. Not to be confused with ratio relative to other propellants.<br />
|-<br />
| DrawGauge <br />
|| <br />
* True<br />
* False<br />
|| <br />
Boolean value that indicates whether or not the 'fuel remaining' indicator in the staging selection is displayed or not.<br />
|-<br />
| atmosphereCurve || {} || specifies variances in operational efficiency<br />
|-<br />
| key || <br />
* 0 360<br />
* 0.5 320<br />
* 1 260 <br />
|| <br />
uses two values to specify engine efficiency relative to the depth of the atmosphere (based on Kerbin sea-level!) First number indicates the relative pressure (0 = vacuum, 1 Kerbin sea-level), second numer indicates ISP value).<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleEnginesFX<br />
thrustVectorTransformName = thrustTransform<br />
exhaustDamage = True<br />
ignitionThreshold = 0.1<br />
minThrust = 0<br />
maxThrust = 30<br />
heatProduction = 150<br />
fxOffset = 0, 0, 0.125<br />
PROPELLANT<br />
{<br />
name = LiquidFuel<br />
ratio = 0.9<br />
DrawGauge = True<br />
}<br />
PROPELLANT<br />
{<br />
name = Oxidizer<br />
ratio = 1.1<br />
}<br />
atmosphereCurve<br />
{<br />
key = 0 350<br />
key = 1 300<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleEnviroSensor ===<br />
Environmental sensor definitions. Specifies that this part is one of these types of sensors.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| sensorType ||<br />
* ACC<br />
* PRES<br />
* GRAV<br />
* TEMP<br />
|| Type of experiment / sensor. Not sure of the utility of this definition, could be used in Science modules to determine what type of experiment was conducted. Could be used in contracts for determining contract requirements.<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleEnviroSensor<br />
sensorType = ACC<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleGenerator ===<br />
Generators and Alternators serve must the same purpose, but generators are not linked to the percentage of thrust output of an engine, they simply produce. Some cannot be shut off. A generator may produce any available resource.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| isAlwaysActive ||<br />
* true<br />
* false<br />
|| <br />
specifies whether this module is always active or not. true/false<br />
|-<br />
| OUTPUT_RESOURCE || {} || <br />
|-<br />
| name <br />
|| <br />
* ElectricCharge <br />
* LiquidFuel<br />
* XenonGas<br />
|| <br />
specifies the name of the produced resource. <br />
|-<br />
| rate <br />
|| <br />
* 1<br />
* 5<br />
|| <br />
specifies the rate of resource produced, expressed in units per second.<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleGenerator<br />
isAlwaysActive = true<br />
OUTPUT_RESOURCE<br />
{<br />
name = ElectricCharge<br />
rate = 0.75<br />
} <br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleGimbal ===<br />
Gimballing represents an engine-bells ability to move around in relation to the engine body, provided a degree of ability to steer the vessel. Higher numbers indicate a higher range, but don't set it too high. Strange things will happen. Recommend limiting range to .90 at the absolute maximum.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| gimbalTransformName <br />
|| <br />
* thrustTransform<br />
|| <br />
Uncertain.<br />
|-<br />
| gimbalRange <br />
|| <br />
* .20<br />
* .15<br />
* .10<br />
* .5<br />
|| represents the maximum angle, in degrees, that gimballing is supported. Recommend keeping this number relatively low (under 20 for sure), as setting the number too high can have catastrophic effects on ship design.<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleGimbal<br />
gimbalTransformName = thrustTransform<br />
gimbalRange = 0.5<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleGrappleNode ===<br />
Added in [0.90], specifically for the KASA asteroid capture missions, this part functions much like a dockingNode, however, it does not require a matching docking node on the capture-side. Grapplers can attach to anything (as far as we know).<br />
{|class="wikitable"<br />
! variable !! sample !! definition<br />
|-<br />
| nodeTransformName || <br />
* ArticulatedCap<br />
|| Uncertain. Assumed to relate to animations used.<br />
|-<br />
| deployAnimationController ||<br />
* 1<br />
|| Uncertain. <br />
|-<br />
| nodeType || <br />
* size1<br />
|| Size of the connection. Relates to Docking port sizes. <br />
|-<br />
| captureRange ||<br />
* 0.05<br />
|| Maximum distance between grappler and target at which grappling can occur<br />
|-<br />
| captureMinFwdDot ||<br />
* 0.866<br />
|| Unknown<br />
|-<br />
| captureMaxRvel ||<br />
* 1<br />
|| Maximum speed, relative to target, at which target can be grappled<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleGrappleNode<br />
<br />
nodeTransformName = ArticulatedCap<br />
deployAnimationController = 1 <br />
nodeType = size1<br />
<br />
captureRange = 0.05 <br />
captureMinFwdDot = 0.866<br />
captureMaxRvel = 1<br />
}<br />
</pre><br />
<br />
|-<br />
|<br />
<br />
=== ModuleJettison ===<br />
specifies that pieces of this craft are able to be jettisoned, what they are and how to jettison them<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
<br />
|-<br />
| jettisonName || <br />
* node_fairing_collider<br />
* fairingL<br />
* fairingR<br />
* fairing<br />
|| <br />
Name of the part to be jettisoned<br />
|-<br />
| bottomNodeName <br />
|| <br />
* bottom<br />
||<br />
Name of the node from which the part will be jettisoned<br />
|-<br />
| isFairing || <br />
* True<br />
* False<br />
|| <br />
Specifies whether the ejected part is a fairing. Uncertain as to why this important. May have to do with debris tracking.<br />
|-<br />
| jettisonedObjectMass <br />
|| <br />
* 0.1 <br />
|| <br />
Specifies the mass of the jettisoned object. It is uncertain, yet, if this mass is removed from the total mass of the vehicle. It is also uncertain if, when a fairing is added in vehicle assembly, this mass is added to the parent object.<br />
|-<br />
| jettisonForce <br />
|| <br />
* 1<br />
* 2 <br />
* 5 <br />
|| <br />
DeltaV with which the object is jettisoned from its parent object. Typically very low values, such as 1, 2 or 5<br />
|-<br />
| jettisonDirection <br />
||<br />
* 0 0 1<br />
* 0 1 0<br />
|| <br />
Three-dimensional array which specifies the direction of the jettisonForce relative to the original part, laterally is 0 0 1 and 0 0 -1, for example.<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleJettison<br />
jettisonName = fairing<br />
bottomNodeName = bottom<br />
isFairing = True<br />
jettisonedObjectMass = 0.1<br />
jettisonForce = 5<br />
jettisonDirection = 0 0 1<br />
<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleLandingGear ===<br />
Specifies that the part is a landing gear, implying a wheel, and the traits of that wheel. Hopefully being deprecated in favor of [[Module#ModuleWheel|moduleWheel]] below.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| BrakeTorque || <br />
* 12 <br />
|| Amount of torque applied during breaking<br />
|-<br />
| BrakeSpeed ||<br />
* 3 <br />
|| Reduction in speed over time, expressed in m/s<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleLandingGear<br />
<br />
BrakeTorque = 12<br />
BrakeSpeed = 3<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleLandingLeg ===<br />
Specifies that this part is a landing leg and describes compression and resistance factors for the part.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| animationName || <br />
* Deploy<br />
* newlandingleg<br />
* probeleg<br />
|| specifies the animation to use<br />
|-<br />
| wheelColliderName <br />
|| <br />
* wheelCollider<br />
|| <br />
|-<br />
| suspensionTransformName ||<br />
* Piston<br />
* piston<br />
* leg<br />
||<br />
|-<br />
| orientFootToGround || <br />
* true<br />
* false<br />
|| <br />
|-<br />
| landingFootName || <br />
* foot<br />
|| <br />
|-<br />
| alignFootUp || <br />
* true<br />
* false<br />
|| Aligns to up Axis instead of forward axis if true<br />
|-<br />
| suspensionUpperLimit || <br />
* 0.60 <br />
* 0.47<br />
* 0.65 <br />
|| unknown <br />
|-<br />
| impactTolerance || <br />
* 300<br />
* 450<br />
* 150 <br />
|| specifies the dV in m/s before the part breaks <br />
|-<br />
| suspensionSpring || <br />
* 1.25<br />
* 5<br />
* 1 <br />
|| specifies the maximum degree of compression in the part <br />
|-<br />
| suspensionDamper || <br />
* 1<br />
* 2 <br />
|| Uncertain<br />
|-<br />
| suspensionOffset || <br />
* 0<br />
* 0.02 <br />
|| Uncertain<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
<br />
name = ModuleLandingLeg<br />
animationName = Deploy<br />
wheelColliderName = wheelCollider<br />
suspensionTransformName = Piston<br />
orientFootToGround = true<br />
landingFootName = foot<br />
// Foot is aligned to up Axis instead of forward<br />
alignFootUp = true<br />
suspensionUpperLimit = 0.60<br />
impactTolerance = 300<br />
suspensionSpring = 1.25<br />
suspensionDamper = 1<br />
suspensionOffset = 0, 0.02,0<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleLight ===<br />
Specifies that this part is a light source, and how that light is produced and directed.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| lightName <br />
|| <br />
* spotlight<br />
* landinglight<br />
||<br />
Name of the light source<br />
|-<br />
| useAnimationDim || <br />
* true<br />
* false<br />
|| Uncertain. Assumed to specify an animation to dim the light<br />
|-<br />
| lightBrightenSpeed || <br />
* 2.5<br />
|| When you turn it off, how long it takes to turn off<br />
|-<br />
| lightDimSpeed || <br />
* 2.5<br />
|| Speed at which the light dims<br />
|-<br />
| resourceAmount || <br />
* 0.4 <br />
|| rate of consumption (in units/second) of the needed resource<br />
|-<br />
| animationName || <br />
* LightAnimation<br />
|| <br />
|-<br />
| useResources || <br />
* true <br />
* false<br />
|| <br />
specifies whether this light source requires resources<br />
|-<br />
| useAutoDim || <br />
* true<br />
* false<br />
|| <br />
Sets the autodim<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleLight<br />
lightName = spotlight<br />
useAnimationDim = true<br />
lightBrightenSpeed = 2.5<br />
lightDimSpeed = 2.5<br />
animationName = LightAnimation<br />
resourceAmount = 0.02<br />
useResources = true<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleParachute ===<br />
specifies that this part is a parachute and describes the operational parameters for parachute operations. Includes default settings for opening height and deployment atmospheric conditions.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition <br />
|-<br />
| semiDeployedAnimation || <br />
* semiDeploySmall <br />
|| specifies the animation to use in the semi-deployed state<br />
|-<br />
| fullyDeployedAnimation || <br />
* fullyDeploySmall <br />
|| specifies the animation to use in the fully deployed state<br />
|-<br />
| invertCanopy || <br />
* '''true'''<br />
* false <br />
|| unknown purpose.<br />
|-<br />
| autoCutSpeed || <br />
* 0.5 <br />
|| specifies the speed at which the parachute will be automatically cut, rendering it ineffective.<br />
|-<br />
| capName || <br />
* cap <br />
|| <br />
|-<br />
| canopyName || <br />
* canopy <br />
|| <br />
|-<br />
| stowedDrag || <br />
* 0.22 <br />
|| specifies the drag effect while the parachute is still stowed<br />
|-<br />
| semiDeployedDrag || <br />
* 1 <br />
|| specifies the drag effect while the parachute is in its semi-deployed state<br />
|-<br />
| fullyDeployedDrag || <br />
* 500 <br />
|| specifies the drag effect while the parachute is in its fully deployed state<br />
|-<br />
| minAirPressureToOpen || <br />
* 0.01 <br />
|| specifies the minimum Air pressure (or atmosphere) required for the parachute to enter its semi-deployed state<br />
|-<br />
| deployAltitude || <br />
* 500 <br />
|| configurable, sets the altitude above the planetary collision mesh at which the parachute will enter its fully deployed state<br />
|-<br />
| deploymentSpeed || <br />
* 1 <br />
|| specifies the speed at which the parachute will enter its fully deployed state<br />
|-<br />
| semiDeploymentSpeed ||<br />
* 1 <br />
|| specifies the speed at which the parachute will enter its semi-deployed state<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleParachute<br />
semiDeployedAnimation = semiDeploySmall<br />
fullyDeployedAnimation = fullyDeploySmall<br />
invertCanopy = true<br />
autoCutSpeed = 0.5<br />
capName = cap<br />
canopyName = canopy<br />
stowedDrag = 0.22<br />
semiDeployedDrag = 1<br />
fullyDeployedDrag = 500<br />
minAirPressureToOpen = 0.01<br />
deployAltitude = 500<br />
deploymentSpeed = 1<br />
semiDeploymentSpeed = 1 <br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleRCS ===<br />
Specifies that this is a Reaction Control System part. Uses variable resources to control directionality of the spacecraft. Unlike engines, RCS parts are generally oriented perpendicular to all directions of a spacecraft in order to provide steering, rather than thrust. Typically, monopropellant is decompressively expelled from an RCS port to push the spacecraft in one direction. <br />
Note: ModuleRCS can use either a single resource, or a series of PROPELLANT calls.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
|-<br />
| thrusterTransformName || <br />
* RCSthruster<br />
|| <br />
|-<br />
| thrusterPower || <br />
* 10<br />
* 5<br />
* 20<br />
|| <br />
This is the power that the RCS thrusters provide. To make stronger RCS, use a higher numer<br />
|-<br />
| resourceName -------- interchangeable with PROPELLANT calls || || <br />
The name of the resource used by the RCS thruster, typically MonoPropellant<br />
|-<br />
| resourceFlowMode -- for resourceName only --|| <br />
* STAGE_PRIORITY_FLOW<br />
* STACK_PRIORITY_FLOW<br />
* ALL_VESSEL<br />
* NONE<br />
|| <br />
Specifies the manner in which the resource is requested from the vessel<br />
|-<br />
| PROPELLANT || || <br />
Introduced with the inclusion of the Vernor RCS, it is recommended to use PROPELLANT calls only when using multiple resources. It is expected that older RCS will be updated to the new convention prior to final release.<br />
|-<br />
| name || <br />
* MonoPropellant<br />
* LiquidFuel<br />
* Oxidizer<br />
|| <br />
name of the resource consumed<br />
|-<br />
| ratio || <br />
* 1<br />
* 1.1<br />
* 0.9<br />
|| <br />
ratio of the resource consumed <br />
|-<br />
| resourceFlowMode <br />
|| <br />
* STAGE_PRIORITY_FLOW<br />
* STACK_PRIORITY_FLOW<br />
* ALL_VESSEL<br />
* NONE<br />
|| using the same pull method as a single resource, specifies how to pull the resource from the rest of the vessel<br />
|-<br />
| atmosphereCurve || <br />
* 0 350<br />
* 1 250<br />
|| <br />
Specifies the efficiency of the RCS thruster using 2-part keys<br />
0 specifies the ISP in atmosphere<br />
1 specifies the ISP at Kerbin Sea Level<br />
entries in between specify the ISP at specific percentages of Kerbin Sea Level (e.g: 0.5 = 1/2 Kerbin Atmosphere)<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleRCS<br />
thrusterTransformName = RCSthruster<br />
thrusterPower = 12<br />
resourceName = LiquidFuel<br />
resourceFlowMode = STAGE_PRIORITY_FLOW<br />
PROPELLANT<br />
{<br />
name = LiquidFuel<br />
ratio = 0.9<br />
DrawGauge = True<br />
resourceFlowMode = STAGE_PRIORITY_FLOW<br />
}<br />
PROPELLANT<br />
{<br />
name = Oxidizer<br />
ratio = 1.1<br />
resourceFlowMode = STAGE_PRIORITY_FLOW<br />
}<br />
atmosphereCurve<br />
{<br />
key = 0 260<br />
key = 1 140<br />
}<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleReactionWheel ===<br />
Specifies that this part contains reaction wheels, used to stabilize the directionality of a spacecraft. Typically used for stability, rather than producing change, both are possible. If you're thinking that this does the same thing as RCS, you wouldn't be far off.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| PitchTorque || <br />
* 20 <br />
|| <br />
numerical value, denotes amount of change can be applied to pitch using reaction wheel power<br />
|-<br />
| YawTorque || <br />
* 20<br />
|| <br />
numerical value, denotes amount of change can be applied to yaw using reaction wheel power<br />
|-<br />
| RollTorque || <br />
* 20 <br />
|| <br />
numerical value, denotes amount of change can be applied to roll using reaction wheel power<br />
|-<br />
| RESOURCE || {} || <br />
The resource used by reaction wheels in order to affect the changes they can produce<br />
|-<br />
| name || <br />
* ElectricCharge<br />
|| <br />
name of the relevant resource, typically ElectricCharge<br />
|-<br />
| rate || <br />
*0.45<br />
|| <br />
Rate of consumption, expressed in units/second at full usage.<br />
|}<br />
|<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleReactionWheel<br />
<br />
PitchTorque = 30<br />
YawTorque = 30<br />
RollTorque = 30<br />
<br />
RESOURCE<br />
{<br />
name = ElectricCharge<br />
rate = 0.6<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleResourceConverter ===<br />
Used to create a part that convertes resources.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
|-<br />
| ConverterName || <br />
* Lf+Ox<br />
|| <br />
Name displayed when right-clicking the part.<br />
|-<br />
| StartActionName ||<br />
* Start ISRU [Lf+Ox]<br />
|| <br />
Text displayed for the start action.<br />
|-<br />
| StopActionName || <br />
* Stop ISRU [Lf+Ox]<br />
|| <br />
Text displayed for the stop action.<br />
|-<br />
| AutoShutdown || <br />
* true<br />
* false<br />
|| <br />
Automatically shut the converter down if part is overheating?<br />
|-<br />
| TemperatureModifier || <br />
* Temperature modifier defintion<br />
|| <br />
Unknown. Floatpoint curve.<br />
|-<br />
| GeneratesHeat || <br />
* true<br />
* false<br />
|| <br />
If set to true the converter operation will generate heat.<br />
|-<br />
| DefaultShutoffTemp || <br />
* .8<br />
|| <br />
Unknown. Related to AutoShutdown. Assumed to be unrelated to Core Temp.<br />
|-<br />
| ThermalEfficiency ||<br />
* Thermal efficiency definition<br />
||<br />
Efficiency related to part temperature. Floatpoint curve.<br />
|-<br />
| UseSpecialistBonus || <br />
* true<br />
* false<br />
|| <br />
If set to true the converter will use specialist bonus. Efficiency = EB * [SBB + (SEF * EE)]. EE = 0-6<br />
|-<br />
| SpecialistEfficiencyFactor || <br />
* 0.2<br />
|| <br />
SEF. Sets the amount each specialist-level adds to the efficiency.<br />
|-<br />
| SpecialistBonusBase || <br />
* 0.05<br />
|| <br />
SBB. Base efficiency a converter can reach without any specialist if EB = 1.<br />
|-<br />
| ExperienceEffect || <br />
* ConverterSkill<br />
|| <br />
EE. NoSpecialist=0; ZeroStarSpecialist=1; OneStarSpecialist=2; FiveStarSpecialist=6<br />
|-<br />
| EfficiencyBonus || <br />
* 1<br />
|| <br />
EB. Final multiplier for efficiency. Tipp: start with EB = 1 and adjust if required.<br />
|-<br />
| INPUT_RESOURCE || <br />
* Resource defintion<br />
|| <br />
Defines the resource consumed when the converter is active. Can have multiple INPUT_RESOURCE definitions.<br />
|-<br />
| OUTPUT_RESOURCE || <br />
* Resource defintion<br />
|| <br />
Defines the resource produced when the converter is active. Can have multiple OUTPUT_RESOURCE definitions.<br />
|}<br />
|<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleResourceConverter<br />
ConverterName = Lf+Ox<br />
StartActionName = Start ISRU [Lf+Ox]<br />
StopActionName = Stop ISRU [Lf+Ox] <br />
AutoShutdown = true<br />
TemperatureModifier<br />
{<br />
key = 0 100000<br />
key = 750 50000<br />
key = 1000 10000<br />
key = 1250 500 <br />
key = 2000 50 <br />
key = 4000 0<br />
} <br />
GeneratesHeat = true<br />
DefaultShutoffTemp = .8<br />
ThermalEfficiency <br />
{<br />
key = 0 0 0 0<br />
key = 500 0.1 0 0<br />
key = 1000 1.0 0 0<br />
key = 1250 0.1 0 0<br />
key = 3000 0 0 0 <br />
}<br />
UseSpecialistBonus = true<br />
SpecialistEfficiencyFactor = 0.2<br />
SpecialistBonusBase = 0.05<br />
ExperienceEffect = ConverterSkill<br />
EfficiencyBonus = 1<br />
INPUT_RESOURCE<br />
{<br />
ResourceName = Ore<br />
Ratio = 0.5<br />
FlowMode = STAGE_PRIORITY_FLOW<br />
}<br />
INPUT_RESOURCE<br />
{<br />
ResourceName = ElectricCharge<br />
Ratio = 30<br />
}<br />
OUTPUT_RESOURCE<br />
{<br />
ResourceName = LiquidFuel<br />
Ratio = 0.45<br />
DumpExcess = false<br />
FlowMode = STAGE_PRIORITY_FLOW<br />
}<br />
OUTPUT_RESOURCE<br />
{<br />
ResourceName = Oxidizer<br />
Ratio = 0.55<br />
DumpExcess = false<br />
FlowMode = STAGE_PRIORITY_FLOW<br />
}<br />
}<br />
</pre><br />
|<br />
|-<br />
|<br />
<br />
=== ModuleResourceHarvester ===<br />
Used to create a part that harvestes resources from the environment.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
|-<br />
| HarvesterType || <br />
* 0<br />
* 1<br />
* 2<br />
* 3<br />
|| <br />
Defines the type of harvester. <br />
* 0 = Planetary use<br />
* 1 = Oceanic use<br />
* 2 = Atmospheric use<br />
* 3 = Vacuum use?<br />
Harvester types other then 0 require use of a deploy animation before they can be activated (tested with KSP version 1.1.3).<br />
|-<br />
| Efficiency ||<br />
* 1<br />
|| <br />
Harvester efficiency. Seems to work differently depending on harvester type.<br />
|-<br />
| ResourceName || <br />
* Ore <br />
|| <br />
Resource to harvest.<br />
|-<br />
| ConverterName || <br />
* Surface Harvester<br />
|| <br />
Name displayed when right-clicking the part.<br />
|-<br />
| StartActionName || <br />
* Start Surface Harvester<br />
|| <br />
Text displayed for the start action.<br />
|-<br />
| StopActionName || <br />
* Stop Surface Harvester<br />
|| <br />
Text displayed for the stop action.<br />
|-<br />
| ToggleActionName || <br />
* Toggle Surface Harvester<br />
|| <br />
Text displayed for the toggle action.<br />
|-<br />
| ImpactTransform || <br />
* ImpactTransform<br />
|| <br />
Seems to be only relevant for surface harvesters. Resource is only harvested when in contact to the ground. Further details of this parameter are unknown.<br />
|-<br />
| ImpactRange || <br />
* 5<br />
|| <br />
Seems to be only relevant for surface harvesters. May be the distance between where the drillhead is when it is deployed and where the actual part is. Further details of this parameter are unknown.<br />
|-<br />
| AutoShutdown || <br />
* true<br />
* false<br />
|| <br />
If set to true the harvester will automatically shut off if it overheats.<br />
|-<br />
| GeneratesHeat || <br />
* true<br />
* false<br />
|| <br />
If set to true the harvester operation will generate heat.<br />
|-<br />
| UseSpecialistBonus || <br />
* true<br />
* false<br />
|| <br />
If set to true crew members can give a bonus to harvester efficiency.<br />
|-<br />
| SpecialistEfficiencyFactor || <br />
* 0.2<br />
|| <br />
Efficieny bonus multiplier based on the number of specialists and their skill.<br />
|-<br />
| SpecialistBonusBase || <br />
* 0.05<br />
|| <br />
Efficieny bonus base amount for each specialist of the given type.<br />
|-<br />
| Specialty || <br />
* Engineer<br />
|| <br />
Type of specialist required to get the efficiency bonus.<br />
|-<br />
| EfficiencyBonus || <br />
* 1<br />
|| <br />
Added efficiency for having a specialist.<br />
|-<br />
| INPUT_RESOURCE || <br />
* Resource defintion<br />
|| <br />
Defines the resource consumed when the harvester is active. Can have multiple INPUT_RESOURCE definitions.<br />
|-<br />
| TemperatureModifier || <br />
* Temperature modifier defintion<br />
|| <br />
Unknown.<br />
|-<br />
| ThermalEfficiency ||<br />
* Thermal efficiency definition<br />
||<br />
Efficiency related to part temperature.<br />
|}<br />
|<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleResourceHarvester<br />
HarvesterType = 0<br />
Efficiency = 1.5<br />
ResourceName = Ore<br />
ConverterName = Surface Harvester<br />
StartActionName = Start Surface Harvester<br />
StopActionName = Stop Surface Harvester<br />
ToggleActionName = Toggle Surface Harvester<br />
ImpactTransform = ImpactTransform<br />
ImpactRange = 5<br />
AutoShutdown = true<br />
GeneratesHeat = true<br />
UseSpecialistBonus = true<br />
SpecialistEfficiencyFactor = 0.2<br />
SpecialistBonusBase = 0.05<br />
Specialty = Engineer<br />
EfficiencyBonus = 1<br />
INPUT_RESOURCE<br />
{<br />
ResourceName = ElectricCharge<br />
Ratio = 15<br />
}<br />
TemperatureModifier<br />
{<br />
key = 0 10000<br />
key = 250 7500<br />
key = 500 5000<br />
key = 750 500<br />
key = 1000 0<br />
} <br />
ThermalEfficiency <br />
{<br />
key = 0 0.1<br />
key = 250 .1<br />
key = 500 1<br />
key = 750 .1<br />
key = 1000 0<br />
}<br />
}<br />
</pre><br />
|<br />
|-<br />
|<br />
<br />
=== ModuleResourceIntake ===<br />
Used to create a part that produces a resource based on interaction with the environment.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
|-<br />
| resourceName || <br />
*IntakeAir <br />
|| <br />
defines the type of resource produced by this module. Any resource may be used for this purpose, including those not defined at all<br />
|-<br />
| checkForOxygen ||<br />
* true<br />
* false<br />
|| <br />
An optional method that specifies this module must check to see if oxygen/atmosphere is present whenever attempting to generate the requested resource.<br />
|-<br />
| area || <br />
* 0.004 <br />
|| <br />
area is the amount of space used for determining how much resource to produce. The larger the number, the more of the resource is produced per second.<br />
|-<br />
| intakeSpeed || <br />
* 10<br />
|| <br />
unknown. Assumed to be a minimum m/s measure to determine if this module operates or not.<br />
|-<br />
| intakeTransformName ||<br />
* Intake <br />
||<br />
unknown.<br />
|}<br />
|<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleResourceIntake<br />
resourceName = IntakeAir<br />
checkForOxygen = true<br />
area = 0.006<br />
intakeSpeed = 10<br />
intakeTransformName = Intake <br />
}<br />
</pre><br />
|<br />
|-<br />
|<br />
<br />
=== ModuleSAS ===<br />
Used as a reference to determine whether this part is activated by the SAS function of the interface. ie. when you turn on SAS, turn on this part. NOTE: [0.90] added SASServiceLevel (0-3) <br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| SASServiceLevel ||<br />
* 0<br />
* 1<br />
* 2<br />
* 3<br />
|| defines the required level of building development for each different SAS capabilities (markers on the nav ball)<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleSAS<br />
SASServiceLevel = 1<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleScienceContainer ===<br />
A place to store the results of a science experiment.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| reviewActionName || Flavor Text || for reviewing the data contained in a science container.<br />
|-<br />
| storeActionName || Flavor text || for placing data into a science container.<br />
|-<br />
| collectActionName || Flavor text || for removing data from a science container.<br />
<br />
|-<br />
| evaOnlyStorage || <br />
* True<br />
* False<br />
|| <br />
Specifies whether or not data storage is restricted to EVA activities.<br />
|-<br />
| storageRange || <br />
* 0.5<br />
|| <br />
Distance, expressed in meters, a Kerbal must be within in order to interact with data and this container.<br />
|-<br />
| allowRepeatedSubjects || <br />
* True<br />
* False<br />
|| Uncertain<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleScienceContainer<br />
<br />
reviewActionName = Review Stored Data<br />
storeActionName = Store Experiments<br />
evaOnlyStorage = True<br />
storageRange = 4.0<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleScienceExperiment ===<br />
A place to conduct a science experiment.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| experimentID ||<br />
*evaReport<br />
*mysteryGoo<br />
*surfaceSample<br />
*mobileMaterialsLab<br />
*temperatureScan<br />
*barometerScan<br />
*seismicScan<br />
*gravityScan<br />
*atmosphereAnalysis<br />
*asteroidSample<br />
|| This refers to the Experiment IDs listed in ScienceDefs.cfg under each EXPERIMENT_DEFINITION{}<br />
|-<br />
| experimentActionName || Flavor text || <br />
for contextual menu to describe to the player what the part does when collecting data<br />
|-<br />
| resetActionName || Flavor text || <br />
for contextual menu to describe to the player what the part does when collecting data<br />
|-<br />
| reviewActionName || Flavor text || <br />
for contextual menu to describe to the player what the part does when collecting data<br />
|-<br />
| useStaging ||<br />
* True<br />
* False<br />
|| specifies whether this module can be activated through the normal staging system<br />
|-<br />
| useActionGroups || <br />
* True<br />
* False<br />
|| specifies whether this module can be activated by an Action Group<br />
|-<br />
| hideUIwhenUnavailable || <br />
* True<br />
* False<br />
|| specifies whether this module will show its activation buttons through the contextual menu, even if it is not available<br />
|-<br />
| rerunnable || <br />
* True<br />
* '''False'''<br />
|| specifies whether this experiment can be rerun.<br />
|-<br />
| xmitDataScalar || <br />
* 0.35<br />
|| Specifies the share of science data that can be recovered via the antenna. In this example 35% can be recovered.<br />
|-<br />
| FxModules || <br />
* 0 <br />
|| The index of the module, starting from 0, playing the animation, if any, for this science instrument. The module must implement IScalarModule so must be ModuleAnimateGeneric or a descendant.<br />
|-<br />
| dataIsCollectable || <br />
* True<br />
* False<br />
|| Uncertain. Presumed to indicate whether a Kerbal on EVA can retrieve data from this experiment<br />
|-<br />
| collectActionName || Flavor text || If data is collectible, this is the flavor text for collecting that data<br />
|-<br />
| interactionRange || <br />
* 0.5 <br />
|| The range, expressed in meters, from which a Kerbal on EVA can interact with this module (for example to reset the experiment)<br />
|-<br />
| usageReqMaskInternal || (ExperimentUsageReqs) || How the experiment can be triggered by the parent Vessel.<br />
|-<br />
| usageReqMaskExternal || (ExperimentUsageReqs) || How the experiment can be triggered by EVA Kerbals.<br />
|}<br />
<br />
ExperimentUsageReqs<br />
{|class="wikitable"<br />
|-<br />
! Name !! Value !! Notes<br />
|-<br />
| Never || -1 || Experiment can't be used at all<br />
|-<br />
| Always || 0 || Experiment can always be used<br />
|-<br />
| VesselControl || 1 || Experiment can be used if vessel is (see ExperimentUsageReqs)under control (probe or crew)<br />
|-<br />
| CrewInVessel || 2 || Experiment can only be used if vessel is crewed.<br />
|-<br />
| CrewInPart || 4 || Experiment can only be used if part contains crew.<br />
|-<br />
| ScientistCrew || 8 || Experiment can only be used if crew is scientist.<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleScienceExperiment <br />
<br />
experimentID = atmosphereAnalysis<br />
<br />
experimentActionName = Run Atmosphere Analysis<br />
resetActionName = Discard Data<br />
reviewActionName = Review Data<br />
<br />
useStaging = False <br />
useActionGroups = True<br />
hideUIwhenUnavailable = True <br />
rerunnable = True<br />
<br />
xmitDataScalar = 0.35<br />
<br />
dataIsCollectable = True<br />
collectActionName = Download Data<br />
interactionRange = 1.2<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleScienceLab ===<br />
A place to modify a science experiment prior to transmission in order to gain more research points from it.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| containerModuleIndex || <br />
* 0 <br />
|| Specifies ModuleScienceContainer location in order in cfg file. 0 is first module listing, 1 is two and so on.<br />
|-<br />
| dataTransmissionBoost || <br />
* 1.5<br />
|| Unknown <br />
|-<br />
| crewsRequired || <br />
* 2 <br />
|| Minimum number of Kerbals in the part needed to operate this module<br />
|-<br />
| canResetConnectedModules || <br />
* True<br />
* False<br />
|| Unknown. Presumed to indicate whether modules attached to this part can be reset from this module<br />
|-<br />
| canResetNearbyModules || <br />
* True<br />
* False<br />
|| Presumed to indicate whether modules attached to this vessel can be reset from this module<br />
|-<br />
| interactRange || <br />
* 1.2 <br />
|| Limit of range (in meters) that modules attached to this vessel can be reset. Uncertain.<br />
|-<br />
| REOURCE_PROCESS || {} || <br />
|-<br />
| name || <br />
* ElectricCharge<br />
|| names the resource required, e.g.: ElectricCharge<br />
|-<br />
| amount || <br />
* 10 <br />
|| <br />
specified, numerical, the number of units of the specified resource expended<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleScienceLab<br />
<br />
containerModuleIndex = 0 <br />
dataTransmissionBoost = 1.15 <br />
crewsRequired = 2<br />
<br />
canResetConnectedModules = True<br />
canResetNearbyModules = True<br />
interactionRange = 5<br />
<br />
RESOURCE_PROCESS<br />
{<br />
name = ElectricCharge<br />
amount = 10<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleSteering ===<br />
Specifies that this part is steerable and provides the axis and animation information for steering the part.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| controlAxisType || <br />
* Forward <br />
|| Unsure. May have something to do with directional control<br />
|-<br />
| steeringAxis || <br />
* 0, 0, 1 <br />
|| specifies the 3-dimensional axis of steering control. <br />
|-<br />
| steeringTransformName || <br />
* Steering <br />
|| unknown<br />
|-<br />
| steeringLocked || <br />
* true<br />
* false<br />
|| specifies whether the part's steering starts locked<br />
|-<br />
| steeringCurve || <br />
{|<br />
| <br />
|-<br />
| 0 || 16<br />
|-<br />
| 10 || 9<br />
|-<br />
| 30 || 2<br />
|-<br />
| 100 || 1<br />
|}<br />
|| multi-array of keys, <br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleSteering<br />
controlAxisType = Forward<br />
steeringAxis = 0, 0, 1<br />
steeringTransformName = Steering<br />
steeringLocked = true<br />
steeringCurve<br />
{<br />
key = 0 16<br />
key = 10 9<br />
key = 30 2<br />
key = 100 1<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleTestSubject ===<br />
Used for the contract system, determines atmospheric conditions under which this part may be considered for testing. Also specifies whether the part is able to be tested using the Staging process or must be manually selected and "Perform Test" used to satisfy contract requirements.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
|-<br />
| environments (Deprecated. Use situationMask instead) || <br />
* 15<br />
* 1<br />
|| <br />
A single numerical value, between 0 (nowhere) and 15 (anywhere), that specifies the atmospheric conditions the part may be tested under. Add numbers together to specify multiple environments<br />
* 0 = nowhere<br />
* 1 = the surface of; srf<br />
* 2 = the ocean of; ocean<br />
* 3 = the surface or ocean of; srf, ocean<br />
* 4 = the atmosphere of; atmo<br />
* 5 = the surface or atmosphere of; srf, atmo<br />
* 6 = the ocean or atmosphere of; ocean, atmo<br />
* 7 = the surface, ocean or atmosphere of; srf, ocean, atmo<br />
* 8 = the space above; space<br />
* 9 = the surface or space above; srf, space<br />
* 10 = the ocean or space of; srf, ocean, space<br />
* 11 = the surface, ocean or space of; srf, ocean, space<br />
* 12 = the space or atmosphere of; atmo, space<br />
* 13 = the surface, space or atmosphere of; srf, atmo, space<br />
* 14 = the ocean, space, or atmosphere of; ocean, atmo, space<br />
* 15 = anywhere; srf, ocean, atmo, space<br />
|-<br />
| useStaging ||<br />
* True<br />
* False <br />
|| specifies whether the part can be tested using the Staging Process<br />
|-<br />
| useEvent ||<br />
* True<br />
* False <br />
|| specifies whether the part can be tested using the "Perform Test" action.<br />
|-<br />
| situationMask || <br />
* 16<br />
* 63<br />
|| <br />
A binary mask for defining the situation.<br />
* SrfLanded = 1,<br />
* SrfSplashed = 2,<br />
* FlyingLow = 4,<br />
* FlyingHigh = 8,<br />
* InSpaceLow = 16,<br />
* InSpaceHigh = 32<br />
* Hidden Flag (not sure what this does, but several engine cfgs have a 7th flag tripped, value equaling 127) = 64<br />
|-<br />
| CONSTRAINT || <br />
{<br /><br />
type = REPEATABILITY<br /><br />
<br />
value = ALWAYS<br /><br />
<br />
prestige = Trivial<br /><br />
}<br /><br />
<br /><br />
<br /><br />
{<br /><br />
<br />
type = ALTITUDEENV<br /><br />
<br />
test = LT<br /><br />
<br />
value = 1000<br /><br />
<br />
situationMask = 8<br /><br />
<br />
prestige = Trivial<br /><br />
<br />
}<br /><br />
<br />
<br />
|| <br />
Constraints define different attributes of a test.<br />
<br /><br /><br />
<br />
type - The type of constraint. Can have values such as :<br /><br />
* SPEED<br />
* SPEEDENV<br />
* ALTITUDE<br />
* ALTITUDEENV<br />
* DENSITY<br />
* DYNAMICPRESSURE<br />
* OXYGEN<br />
* ATMOSPHERE<br />
* SITUATION<br />
* REPEATABILITY<br />
<br /><br />
test - An optional parameter. Relevant when type ''isn't'' set to 'REPEATABILITY'. Can have values such as:<br /><br />
* GT<br />
* LT<br />
* EQ<br />
* NEQ<br />
<br /><br />
value - Defines whether or not this test can be repeated. Can have values such as:<br /><br />
* ALWAYS<br />
* BODYANDSITUATION<br />
* ONCEPERPART<br />
<br /><br />
prestige - Defines the prestige level for the test. Can have values such as:<br /><br />
* Trivial<br />
* Significant<br />
* Exceptional<br />
<br /><br />
body - Defines what celestial body can be used for the test . Can have values such as:<br /><br />
* _NotHome (disables every flag but Kerbin)<br />
* _NotSun (unclear what this does, but might disable every celestial body but Kerbol?)<br />
<br /><br />
situationMask - Overrides the situationMask value for this constraint only:<br /><br />
* SrfLanded = 1,<br />
* SrfSplashed = 2,<br />
* FlyingLow = 4,<br />
* FlyingHigh = 8,<br />
* InSpaceLow = 16,<br />
* InSpaceHigh = 32<br />
|}<br />
||<pre><br />
MODULE<br />
{<br />
name = ModuleTestSubject<br />
useStaging = True<br />
useEvent = True<br />
situationMask = 60<br />
CONSTRAINT<br />
{<br />
// disable all but home<br />
type = SITUATION<br />
value = 0<br />
body = _NotHome<br />
prestige = Trivial<br />
}<br />
CONSTRAINT<br />
{<br />
// disable all but home<br />
type = SITUATION<br />
value = 0<br />
body = _NotHome<br />
prestige = Significant<br />
}<br />
CONSTRAINT<br />
{<br />
type = REPEATABILITY<br />
value = ALWAYS<br />
prestige = Trivial<br />
}<br />
CONSTRAINT<br />
{<br />
type = REPEATABILITY<br />
value = BODYANDSITUATION<br />
prestige = Significant<br />
}<br />
CONSTRAINT<br />
{<br />
type = REPEATABILITY<br />
value = ONCEPERPART<br />
prestige = Exceptional<br />
}<br />
CONSTRAINT<br />
{<br />
type = ALTITUDEENV<br />
test = GT<br />
value = 4000<br />
prestige = Trivial<br />
}<br />
CONSTRAINT<br />
{<br />
type = ALTITUDEENV<br />
test = LT<br />
value = 8000<br />
prestige = Trivial<br />
}<br />
CONSTRAINT<br />
{<br />
type = ALTITUDEENV<br />
test = GT<br />
value = 2000<br />
prestige = Significant<br />
}<br />
CONSTRAINT<br />
{<br />
type = ALTITUDEENV<br />
test = LT<br />
value = 4000<br />
prestige = Significant<br />
}<br />
CONSTRAINT<br />
{<br />
type = ALTITUDEENV<br />
test = GT<br />
value = 1000<br />
prestige = Exceptional<br />
}<br />
CONSTRAINT<br />
{<br />
type = ALTITUDEENV<br />
test = LT<br />
value = 2000<br />
prestige = Exceptional<br />
}<br />
CONSTRAINT<br />
{<br />
type = ALTITUDE<br />
test = GT<br />
value = 0 // this just registers altitude as something to care about<br />
situationMask = 8<br />
}<br />
CONSTRAINT<br />
{<br />
type = ALTITUDE<br />
test = LT<br />
value = 300000<br />
situationMask = 16<br />
body = _NotSun<br />
}<br />
CONSTRAINT<br />
{<br />
type = ALTITUDE<br />
test = LT<br />
value = 600000<br />
situationMask = 32<br />
body = _NotSun<br />
}<br />
CONSTRAINT<br />
{<br />
type = SPEED<br />
test = GT<br />
value = 0<br />
situationMask = 8<br />
prestige = Trivial<br />
}<br />
CONSTRAINT<br />
{<br />
type = SPEED<br />
test = LT<br />
value = 600<br />
situationMask = 8<br />
prestige = Trivial<br />
}<br />
CONSTRAINT<br />
{<br />
type = SPEED<br />
test = GT<br />
value = 0<br />
situationMask = 8<br />
prestige = Significant<br />
}<br />
CONSTRAINT<br />
{<br />
type = SPEED<br />
test = LT<br />
value = 900<br />
situationMask = 8<br />
prestige = Significant<br />
}<br />
CONSTRAINT<br />
{<br />
type = SPEED<br />
test = GT<br />
value = 300<br />
situationMask = 8<br />
prestige = Exceptional<br />
}<br />
CONSTRAINT<br />
{<br />
type = SPEED<br />
test = LT<br />
value = 1200<br />
situationMask = 8<br />
prestige = Exceptional<br />
}<br />
CONSTRAINT<br />
{<br />
type = SPEEDENV<br />
test = LT<br />
value = 200<br />
prestige = Trivial<br />
}<br />
}</pre><br />
|-<br />
|<br />
<br />
=== ModuleWheel ===<br />
The better version of landingGear, with lots more options for the operation of wheels, including adding power, steering, and damage information.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| hasMotor || <br />
* true<br />
* false<br />
|| specifies whether the wheel has a powered propulsion system <br />
|-<br />
| resourceName ||<br />
* ElectricCharge<br />
|| specifies the resource(s) used by powered propulsion system<br />
|-<br />
| resourceConsumptionRate || <br />
* 1.0<br />
|| specifies the rate of consumption of resources for the powered propulsion system in units/second<br />
|-<br />
| canSteer || <br />
* true<br />
* false<br />
|| specifies whether this wheel is steerable<br />
|-<br />
| controlAxisType || <br />
* Forward <br />
|| If steerable, specifies the axis type <br />
|-<br />
| steeringModeType || <br />
* AutomaticSteer<br />
* TankSteer<br />
|| uncertain: may refer to rack-and-pinion versus Track-type steering<br />
|-<br />
| brakeTorque || <br />
* 300 <br />
|| the dV (in m/s) of torque applied when using the breaks <br />
|-<br />
| brakeSpeed || <br />
* 1.2 <br />
|| the dV (in m/s) that braking will slow the vehicle under optimum conditions <br />
|-<br />
| impactTolerance || <br />
* 2000 <br />
|| dV that this part can withstand before breaking <br />
|-<br />
| overSpeedDamage || <br />
* 60 <br />
|| uncertain. possibly reserved for future use, possible that this is the amount of dV of damage applied to this part whenever it exceeds it's rated speed<br />
|-<br />
| WHEEL || {} || <br />
|-<br />
| wheelName || <br />
* wheel<br />
|| Internal name of the wheel<br />
|-<br />
| wheelColliderName || <br />
* wheelCollider<br />
|| Internal name of the collider mesh for the wheel<br />
|-<br />
| suspensionTransformName || <br />
* suspensionTraverse<br />
|| Animation for suspension usage<br />
|-<br />
| suspensionNeutralPointName || <br />
* suspensionNeutralPoint<br />
|| Animation for the neutral point of the suspension <br />
|-<br />
| damagedObjectName || <br />
* bustedwheel<br />
|| If you break it, you bought, and this is what you'll call it<br />
|-<br />
| rotateX || <br />
* 0<br />
|| <br />
|-<br />
| rotateY || <br />
* 1<br />
|| <br />
|-<br />
| rotateZ || <br />
* 0<br />
|| <br />
|-<br />
| steeringCurve || {} || <br />
keys, 0 16<br />
10 9<br />
30 2<br />
|-<br />
| torqueCurve || {} || <br />
keys<br />
0 250 0 0 <br />
20 100 0 0 <br />
30 14 0 0 <br />
34 0 0 0<br />
<br />
|}<br />
<br />
|| <br />
<pre><br />
MODULE<br />
{<br />
name = ModuleWheel<br />
hasMotor = true<br />
resourceName = ElectricCharge<br />
resourceConsumptionRate = 0.5<br />
canSteer = true<br />
controlAxisType = Forward<br />
steeringModeType = AutomaticSteer<br />
brakeTorque = 180<br />
brakeSpeed = 1.0<br />
impactTolerance = 65<br />
overSpeedDamage = 20<br />
<br />
WHEEL<br />
{<br />
wheelName = wheel<br />
wheelColliderName = wheelCollider<br />
suspensionTransformName = suspensionTraverse<br />
suspensionNeutralPointName = suspensionNeutralPoint<br />
damagedObjectName = bustedwheel<br />
rotateX = 0<br />
rotateY = 1<br />
rotateZ = 0<br />
}<br />
<br />
steeringCurve<br />
{<br />
key = 0 18<br />
key = 15 6<br />
}<br />
<br />
torqueCurve<br />
{<br />
key = 0 170 0 0 <br />
key = 2.5 100 0 0<br />
key = 12 0 0 0<br />
}<br />
<br />
<br />
}</pre><br />
|-<br />
|<br />
<br />
=== MultiModeEngine ===<br />
Specifies that this part is an engine with multiple modes. Added in [0.90], it allows for engines that use different types of resources and provides different flight characteristics depending on which mode it is operating in. This module defines the different modes and passes them to moduleEnginesFX.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| primaryEngineID || <br />
* AirBreathing<br />
* ClosedCycle<br />
|| this is passed to ModuleEnginesFX to determine the properties for this mode<br />
|-<br />
| secondaryEngineID || <br />
* AirBreathing<br />
* ClosedCycle<br />
|| this is passed to ModuleEnginesFX to determine the properties for this mode<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = MultiModeEngine<br />
primaryEngineID = AirBreathing<br />
secondaryEngineID = ClosedCycle<br />
}<br />
<br />
</pre><br />
<br />
<br />
|-<br />
|<br />
<br />
=== RetractableLadder ===<br />
Just like the name implies, this module is attached to parts that are or contain a retractable or collapsible ladder.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| ladderAnimationRootName || <br />
* TelusBay<br />
* Telescopic ladder<br />
|| name of the beginning animation for this module<br />
|-<br />
| ladderColliderName || <br />
* ladderCollider<br />
|| name of the collider mesh for this module<br />
|-<br />
| ladderRetractAnimationName ||<br />
* Retract<br />
|| name of the retraction animation for this module<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = RetractableLadder<br />
<br />
ladderAnimationRootName = TelusBay<br />
ladderColliderName = ladderCollider<br />
ladderRetractAnimationName = Retract<br />
}<br />
</pre><br />
|-<br />
|<br />
|}<br />
<br />
== MODULES FROM MODS ==<br />
Defining a module is a task in and of itself and one that I'm sure has already been covered in other places. Many modules defined by mods are duplicating effects that could be created with stock modules, but for one reason or another, the mod owner has decided to create their own modules (possibly for degree of control, possibly because the stock module didn't quite do everything they needed). In any event, I've looked at some of the Mod modules, and detailed them below. By mod, they are:<br />
<br />
=== Kerbal Assembly System ===<br />
Kerbal Assembly System is most noted for adding the option to grab and move parts using Kerbals. It also allows for storage of certain parts in containers.<br />
<br />
MODULE:NEEDS[KAS]<br />
for the module<br />
<br />
{|<br />
! !!<br />
|-<br />
| <br />
{|class="wikitable"<br />
==== KASModuleContainer ====<br />
Specifies that this part can serve as a container for other parts, and how much storage space the part has. Also included is an interaction distance. Kerbals must be this close or closer to open the container. Lots of sounds.<br />
! variable !! example !! definition<br />
|-<br />
| maxSize || <br />
* 5<br />
* 20 <br />
* 80<br />
|| specifies the size of the container relative to Kerbal Attachment System parts.<br />
|-<br />
| maxOpenDistance || <br />
* 1<br />
* 5<br />
|| Kerbals must be at least this close (in meters) in order to open the container<br />
|-<br />
| sndStorePath || <br />
* KAS/Sounds/hookBayStore<br />
|| sound stuff<br />
|-<br />
| sndOpenPath || <br />
* KAS/Sounds/containerOpen<br />
|| sound stuff for opening the container <br />
|-<br />
| sndClosePath || <br />
* KAS/Sounds/containerClose<br />
|| sound stuff for closing the container<br />
|-<br />
| bipWrongSndPath || <br />
* KAS/Sounds/bipwrong<br />
|| sound stuff<br />
|-<br />
|}<br />
|| <br />
<pre>MODULE<br />
{<br />
name = KASModuleContainer<br />
maxSize = 80<br />
}<br />
</pre><br />
|-<br />
<br />
|<br />
{|class="wikitable"<br />
==== ModuleConnectedLivingSpace ====<br />
! variable !! example !! definition<br />
|-<br />
| passable ||<br />
* true<br />
* false<br />
|| specifies whether Kerbals can commute to parts connected to this part<br />
|-<br />
| passableWhenSurfaceAttached ||<br />
* true<br />
* false<br />
|| can be passed through even when connected to the ground?<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleConnectedLivingSpace<br />
passable = true<br />
passableWhenSurfaceAttached = true <br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
{|class="wikitable"<br />
<br />
==== KASModulePartBay ====<br />
! variable !! example !! definition<br />
|-<br />
| BAY || {} || <br />
{|class="wikitable"<br />
|-<br />
| attachNode ||<br />
* top<br />
* bottom <br />
|| attachment placement<br />
|-<br />
| type ||<br />
* containerA<br />
* container<br />
* hookBay<br />
||<br />
|-<br />
|}<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModulePartBay<br />
BAY<br />
{<br />
attachNode = top<br />
type = containerA<br />
type = containerB<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModulePort ====<br />
! variable !! example !! definition<br />
|-<br />
| attachNode ||<br />
* top<br />
|| unsure<br />
|-<br />
| nodeType ||<br />
* kasplug<br />
|| unknown<br />
|-<br />
| breakForce || <br />
* 30<br />
|| unknown<br />
|-<br />
| nodeTransformName ||<br />
* plugNode<br />
|| unknown<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModulePort<br />
attachNode = top<br />
nodeType = kasplug<br />
breakForce = 30<br />
nodeTransformName = plugNode<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModuleAnchor ====<br />
! variable !! example !! definition<br />
This module will set a custom drag value when the part touch the ground.<br />
|-<br />
| groundDrag ||<br />
* 500<br />
|| Drag value of the anchor when it touch the ground<br />
|-<br />
| bounciness ||<br />
* 0<br />
|| Bounciness of the anchor<br />
|-<br />
| dynamicFriction ||<br />
* 0.8<br />
|| Dynamic friction of the anchor when it touch the ground<br />
|-<br />
| staticFriction ||<br />
* 0.8<br />
|| Static friction of the anchor when it touch the ground<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModuleAnchor<br />
groundDrag = 500<br />
bounciness = 0<br />
dynamicFriction = 0.8 <br />
staticFriction = 0.8<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModuleMagnet ====<br />
This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.<br />
! variable !! example !! definition<br />
|-<br />
| breakForce ||<br />
* 10<br />
|| The force that needs to be applied on the magnet joint to break.<br />
|-<br />
| attachToEva ||<br />
* true<br />
* false<br />
|| Disable/enable attraction of eva<br />
|-<br />
| minFwdDot ||<br />
* 0.998<br />
|| Minimum magnet alignement needed to attach (1 is perfectly aligned)<br />
|-<br />
| powerDrain ||<br />
* 4<br />
|| Power consumption when the magnet is used<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModuleMagnet<br />
breakForce = 10<br />
attachToEva = False<br />
minFwdDot = 0.998<br />
powerDrain = 4<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModuleStrut ====<br />
! variable !! example !! definition<br />
|-<br />
| nodeTransform ||<br />
* pipeNode<br />
* strutNode<br />
|| unknown<br />
|-<br />
| type ||<br />
* PipeSize1<br />
* StrutSize1<br />
|| Unkown<br />
|-<br />
| maxLength ||<br />
* 20<br />
* 8<br />
|| unknown<br />
|-<br />
| maxAngle ||<br />
* 100<br />
|| unknown<br />
|-<br />
| breakForce ||<br />
* 10<br />
|| unknown<br />
|-<br />
| allowDock ||<br />
* true<br />
* false<br />
|| unknown<br />
|-<br />
| allowPumpFuel ||<br />
* true<br />
* false<br />
|| unknown<br />
|-<br />
| hasCollider ||<br />
* true<br />
* false<br />
|| unknown<br />
|-<br />
| tubeScale ||<br />
* 0.15<br />
|| unknown<br />
|-<br />
| jointScale ||<br />
* 0.15<br />
|| unknown<br />
|-<br />
| textureTiling ||<br />
* 1<br />
* 4<br />
|| unknown<br />
|-<br />
| tubeSrcType ||<br />
* Joined<br />
* Rounded<br />
|| Unknown<br />
|-<br />
| tubeTgtType ||<br />
* Joined<br />
* Rounded<br />
|| unknown<br />
|-<br />
| evaStrutPos ||<br />
* (0.05, 0.059, -0.21)<br />
|| unknown<br />
|-<br />
| evaStrutRot ||<br />
* (190.0, 0.0, 0.0)<br />
|| unknown<br />
|-<br />
| tubeTexPath ||<br />
* KAS/Textures/pipe<br />
|| unknown<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModuleStrut <br />
nodeTransform = pipeNode<br />
type = PipeSize1 <br />
maxLenght = 20<br />
maxAngle = 100<br />
breakForce = 10<br />
allowDock = true<br />
allowPumpFuel = true<br />
hasCollider = false<br />
tubeScale = 0.15<br />
jointScale = 0.15<br />
textureTiling = 1<br />
tubeSrcType = Joined<br />
tubeTgtType = Joined<br />
evaStrutPos = (0.05, 0.059, -0.21)<br />
evaStrutRot = (190.0, 0.0, 0.0)<br />
tubeTexPath = KAS/Textures/pipe<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModuleGrapplingHook ====<br />
This module will make the part acting like a grappling-hook, any collided part in front of the grapple will be automatically attached if the inpact is strong enough. Only work when attached on a winch.<br />
! variable !! example !! definition<br />
|-<br />
| partBreakForce ||<br />
* 6<br />
|| The force that needs to be applied on the grapple/part joint to break.<br />
|-<br />
| staticBreakForce ||<br />
* 15<br />
|| The force that needs to be applied on the grapple/static joint to break.<br />
|-<br />
| aboveDist ||<br />
* 0.05<br />
|| Distance from the attach point to the center of the part<br />
|-<br />
| forceNeeded ||<br />
* 4<br />
|| Collision force needed to attach the grapple.<br />
|-<br />
| attachToPart ||<br />
* true<br />
* false<br />
|| Disable/enable attachment on parts.<br />
|-<br />
| rayDir ||<br />
* (0,-1,0)<br />
|| Direction of the attach raycast. Attachment will be done only with objects in that direction.<br />
|-<br />
| rayLenght ||<br />
* 0.8<br />
|| Attach ray lenght.<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModuleGrapplingHook<br />
partBreakForce = 6<br />
staticBreakForce = 15<br />
aboveDist = 0.05<br />
forceNeeded = 4<br />
attachToPart = true<br />
rayDir = (0,-1,0) <br />
rayLenght = 0.8<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModuleWinch ====<br />
! variable !! example !! definition<br />
|-<br />
| maxLenght ||<br />
* 50<br />
* 80<br />
|| unknown<br />
|-<br />
| cableSpring ||<br />
* 1000<br />
|| <br />
|-<br />
| cableDamper ||<br />
* 0.1<br />
|| <br />
|-<br />
| cableWidth ||<br />
* 0.04<br />
|| <br />
|-<br />
| motorMaxSpeed ||<br />
* 2<br />
|| <br />
|-<br />
| motorAcceleration ||<br />
* 0.05<br />
|| <br />
|-<br />
| powerDrain ||<br />
* 0.5<br />
* 0.3<br />
|| <br />
|-<br />
| headTransformName ||<br />
* head<br />
|| <br />
|-<br />
| headPortNodeName ||<br />
* portNode<br />
|| <br />
|-<br />
| connectedPortNodeName ||<br />
* bottom<br />
* front<br />
|| <br />
|-<br />
| anchorNodeName ||<br />
* anchorNode<br />
|| <br />
|-<br />
| evaGrabHeadPos ||<br />
* (0.05, 0.01, -0.11)<br />
|| <br />
|-<br />
| evaGrabHeadDir ||<br />
* (0,0,1)<br />
|| <br />
|-<br />
| evaDropHeadPos ||<br />
* (0.05, 0.01, -0.16)<br />
|| <br />
|-<br />
| evaDropHeadRot ||<br />
* (180.0, 0.0, 0.0)<br />
|| <br />
|-<br />
| ejectEnabled ||<br />
* true<br />
* false<br />
|| <br />
|-<br />
| ejectForce ||<br />
* 20<br />
|| <br />
|-<br />
| lockMinDist ||<br />
* 0.12<br />
|| <br />
|-<br />
| lockMinFwdDot ||<br />
* 0.90<br />
|| <br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModuleWinch<br />
maxLenght = 50<br />
cableSpring = 1000<br />
cableDamper = 0.1<br />
cableWidth = 0.04<br />
motorMaxSpeed = 2<br />
motorAcceleration = 0.05<br />
powerDrain = 0.5<br />
headTransformName = head<br />
headPortNodeName = portNode<br />
connectedPortNodeName = bottom<br />
anchorNodeName = anchorNode<br />
evaGrabHeadPos = (0.05, 0.01, -0.11)<br />
evaGrabHeadDir = (0,0,1)<br />
evaDropHeadPos = (0.05, 0.01, -0.16)<br />
evaDropHeadRot = (180.0, 0.0, 0.0)<br />
ejectEnabled = true<br />
ejectForce = 20<br />
lockMinDist = 0.12<br />
lockMinFwdDot = 0.90<br />
}<br />
<br />
</pre><br />
|-<br />
|}<br />
<br />
<br />
<br />
=== Universal Storage ===<br />
Universal Storage. By the by: Excellently documented!<br />
<br />
{|<br />
! !!<br />
|-<br />
| <br />
{|class="wikitable"<br />
==== ModuleAnimator ====<br />
Animation module.<br />
! variable !! example !! definition<br />
|-<br />
| animationName || <br />
* Take 001<br />
|| Name of the animation from the model.<br />
|-<br />
| guiEnableName || <br />
* Wedge Locks Off<br />
|| Part tooltip name to display for deployment<br />
|-<br />
| guiDisableName || <br />
* Wedge Locks Off<br />
|| Part tooltip name to display for retraction<br />
|-<br />
| actionEnableName || <br />
* Wedge Locks Off<br />
|| Action group name for deployment <br />
|-<br />
| actionDisableName || <br />
* Wedge Locks On<br />
|| Action group name for retraction<br />
|-<br />
| animationSpeed || <br />
* 100000<br />
|| Speed of the animation<br />
|-<br />
| oneShot || <br />
* true<br />
* false<br />
|| If the animation can only be played once<br />
|-<br />
| activeEditor || <br />
* true<br />
* false<br />
|| If the part toolitp is visible in the editor<br />
|-<br />
| activeFlight || <br />
* true<br />
* false<br />
|| If the part tooltip is visible in flight<br />
|-<br />
| activeUnfocused || <br />
* true<br />
* false<br />
|| If the part tooltip is visible from EVA<br />
|-<br />
| unfocusedRange || <br />
* 5<br />
|| EVA visible range<br />
|-<br />
|}<br />
|| <br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAnimator<br />
animationName = Take 001<br />
guiEnableName = Wedge Locks Off<br />
guiDisableName = Wedge Locks On<br />
actionEnableName = Wedge Locks Off <br />
actionDisableName = Wedge Locks On <br />
<br />
animationSpeed = 100000<br />
oneShot = false<br />
activeEditor = true<br />
activeFlight = false<br />
activeUnfocused = false<br />
unfocusedRange = 5<br />
}<br />
</pre><br />
|-<br />
<br />
|<br />
{|class="wikitable"<br />
=== Umbra Space Industries:Regolith ===<br />
Note: DEPRECATED (use stock resource converter's)<br />
==== REGO_ModuleResourceConverter ====<br />
! variable !! example !! definition<br />
|-<br />
| ConverterName ||<br />
* Water Electrolizer<br />
|| Flavor Text<br />
|-<br />
| StartActioName ||<br />
* Start Water Electrolizer<br />
|| Flavor Text<br />
|-<br />
| StopActioName ||<br />
* Stop Water Electrolizer<br />
|| Flavor Text<br />
|-<br />
| RecipeInputs ||<br />
* ElectricCharge, 14, Water, 0.0000176697<br />
|| <br />
|-<br />
| RecipeOutputs ||<br />
* Hydrogen, 0.0219907427, True, Oxygen, 0.0109953713, False<br />
|| <br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = REGO_ModuleResourceConverter<br />
ConverterName = Water Electrolizer<br />
StartActionName = Start Water Electrolizer<br />
StopActionName = Stop Water Electrolizer<br />
RecipeInputs = ElectricCharge, 14, Water, 0.0000176697<br />
RecipeOutputs = Hydrogen, 0.0219907427, True, Oxygen, 0.0109953713, False<br />
}<br />
</pre><br />
|-<br />
|}<br />
<br />
=== Umbra Space Industries: ExpPack ===<br />
USI is widely known for building an entire add-on family of interconnected and cross-supported parts and extensions. Here we detail mods added by the ExpPack.<br />
<br />
{|<br />
! !!<br />
|-<br />
| <br />
{|class="wikitable"<br />
==== USI_ClearIVA ====<br />
No calls.<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = USI_ClearIVA<br />
}<br />
</pre><br />
|-<br />
|}<br />
<br />
[[Category:Documentation]][[Category:Modding]]</div>Michahttps://wiki.kerbalspaceprogram.com/index.php?title=CFG_File_Documentation&diff=98545CFG File Documentation2020-06-10T10:02:10Z<p>Micha: Add missing engineering101 to TechRequired</p>
<hr />
<div>Configuration files are text files used to specify, store and adjust information for various parts of the game in a human-readable manner. They most commonly use the .cfg file extension, but this is not always the case. The most commonly referenced cfg files are [[API:Part|part]] configurations. These are used to change settings for the part such as mass, size and cost, as well as adding, removing or adjusting [API:PartModule|part modules]], for example increasing an engine's thrust or adding resource storage capacity.<br />
<br />
== Config Format ==<br />
The config format used in Kerbal Space Program is NOT a Unity class, but specific to KSP.<br />
<br />
KSP reads .cfg files into config nodes. Config nodes can contain values (serialized versions of all sorts of data types) or other config nodes. See the [https://kerbalspaceprogram.com/api/class_config_node.html C# class documentation] in the KSP API Documentation for more details. <br />
<br />
=== Module Manager ===<br />
The stock config is very simple - nodes and values, which are nothing more than tree nodes and strings. Parsing is handled by modules that use .cfg files. See KSPField in the API.<br />
<br />
The mod Module Manager adds powerful filtering and extension capabilities to the Config Node format. If you see an @ signs, []'s, or it looks like programming, the config is using Module Manager. It is well documented [http://forum.kerbalspaceprogram.com/threads/55219 in the forum thread] and [https://github.com/sarbian/ModuleManager/wiki/Module-Manager-Syntax on sarbian's Gitub].<br />
<br />
== Basic Part Making Guidelines ==<br />
<br />
Every part consists of multiple files, including the configuration file, a model and a collision mesh. Under the 0.25 standards, the model and collision mesh must both have a material assigned when creating them in your modeling software and prior to export for use. I am not a modeler, so I will leave that guidance to someone more qualified.<br />
<br />
When creating a new part, each of these files (including additional models and meshes, if needed) should all be contained in a single folder which describes or names the part. Even though Squad themselves are horribly inconsistent when building parts, it is best to have the name of the folder, and the names of each of the meshes match the name of the part inside the cfg file (not the name that you see in the parts building! More on that later).<br />
<br />
If you making more than a few parts, you may want to create a folder for each type of part. This is certainly an acceptable practice, and one that Squad uses themselves. For example: /Engines/ to place all of your engine designs inside.<br />
<br />
If you are making a mod that does things other than just provide a stock-capable parts pack, you may want a more subfolders, one for parts, one for agencies, another for contracts, etc, etc. <br />
<br />
No matter how deep you nest your mods' folders, your mod itself should be contained within the /GameData folder with a name that uniquely identifies your mod. It would be wise to name this folder the same as you are marketing your mod (ie: GameData\Modular Kolonization System\ is advertised as Modular Kolonization System or GameData\MechJeb is advertised as MechJeb) (and yes, I know that I'm using examples which actively violate this principle!)<br />
<br />
So, I wrote a mod (let's call it ShadowSplat) that modifies some resources, adds a few agencies, and massively updates the parts pack including new engines, fuel tanks, science containers, and electrics. My folder structure might look like this:<br />
<br />
<pre><br />
KSP_win\GameData\ShadowSplat\<br />
KSP_win\GameData\ShadowSplat\Agencies<br />
KSP_win\GameData\ShadowSplat\Resources<br />
KSP_win\GameData\ShadowSplat\Parts<br />
KSP_win\GameData\ShadowSplat\Parts\Engine<br />
KSP_win\GameData\ShadowSplat\Parts\FuelTank<br />
KSP_win\GameData\ShadowSplat\Parts\Science<br />
KSP_win\GameData\ShadowSplat\Parts\Electrical<br />
</pre><br />
<br />
== PARTS Configuration Files ==<br />
<br />
As of at least {{Check version|0.24.2}}, the order of the configuration file matters very little. As far as I can tell, you can throw just about anything you want in there in any order. However, for compatability and error-checking reasons, it's best to follow the general structure that exists within stock parts. Many of the stock parts contain commenting-out lines to help you decode where things should go, but, here's a general breakdown, using a mythological part (let's call it "DoesItAll"). DoesItAll will exist in this foldier:<br />
<br />
<pre><br />
KSP_win\GameData\ShadowSplat\Parts\Engine\DoesItAll<br />
</pre><br />
<br />
and will consist of the files:<br />
<pre>KSP_win\GameData\ShadowSplat\Parts\Engine\DoesItAll.cfg<br />
KSP_win\GameData\ShadowSplat\Parts\Engine\DoesItAll.mu<br />
KSP_win\GameData\ShadowSplat\Parts\Engine\DoesItAll.mbm<br />
</pre><br />
<br />
Note: this is a general explanation. Additional information can be found be clicking the provided links:<br />
<br />
=== General Parameters ===<br />
<br />
{|class="wikitable"<br />
|-<br />
! Actual part !! Explanation<br />
|-<br />
| PART || - specifies that this cfg relates to a part<br />
|-<br />
| { ||<br />
|-<br />
| [[#Name|name]] = DoesItAll || set the hidden name of the part. Spaces are not allowed. Underscores and other special characters are either not allowed or not recommended. This name is used behind the scenes for reference to and from other parts and procedural calls, but is also revealed during crash/damage dialog boxes (F3). It is good programming practice to use a name that at least partially defines the part and/or creator. fuelTankSmallFlat (which is already in use) is not a good name to use here, even though it does describe the part effectively, it does not differentiate between an fuelTankSmallFlat - The T-100 fuel tank and the Rockomax X200-8 Fuel Tank, which could also be considered a fuelTankSmallFlat. <br />
|-<br />
| [[#module|module]] = Part || This convention is no longer used. Earlier versions of KSP only permitted individual parts to serve as single modules and this was therefore appropriately placed back then. Newer versions allow parts to have/serve as multiple modules and the conventions for defining those modules have been relocated and redefined as its own subgroup. Can still be found in legacy parts that have not been updated, including the "Tail Fin" by C7 Aerospace Division. 5 parts in total are known to still use this convention. <br />
* FuelLine has the additional property of maxLength, presumably to restrict the length of fuel lines. This method is used on the Stock Fuel Line <br />
* StrutConnector has the additional properties of linearStrength, angularStrength and maxLength. This method is used on the stock Strut Connector<br />
* Winglet has the additional properties of dragCoeff and deflectionLiftCoeff. just like the ModuleControlSurface. This method is used on the stock parts Tail Fin, wingletAV-T1, sweptWing and is expected to be deprecated at the next revision of those parts.<br />
|- <br />
| [[#author|author]] || Simply a place to take credit for your creation / update. This line is not referenced in-game. It is recommended that you utilize the same author credit for all parts that you or your team create under one title. For example, assign all MKS mods to author MKS Team and all OKS mods to author OKS team, even though you are all the same team. <br />
|}<br />
<br />
=== Model Parameters ===<br />
<br />
At this point, you can use the deprecated style of [[#mesh|mesh]] on a line by itself, or open a new sub called MODEL. The preferred method is to use MODEL:<br />
<br />
{|class="wikitable"<br />
|-<br />
! Actual part !! Explanation<br />
|- <br />
| MODEL { || opens the MODEL sub<br />
|- <br />
| model || The name of the mesh. Write its name therein and keep the mesh file in the same directory as the part file.<br />
|-<br />
| scale || The scale of the model - depending on the units in your 3D modelling program. If you used one unit = one meter, then use a scale of 1. If it's 1 unit = 0.1 meters, then use a scale of 0.1. Using a 0.1 scale factor and then scaling to fit the other parts is easier than fiddling around with scale factors. This factor will only affect the units involved in node placement and will not affect the actual size of the part.<br />
|-<br />
| texture || Specifies let location of the texture file - e.g. texture = texturefilename , folder/../texturefilename (/folder would be GameData/folder)<br />
|}<br />
<br />
If you do not use [[#MODEL|MODEL]], you must use mesh to define the parts collision mesh, like so:<br />
<br />
{|class="wikitable"<br />
|-<br />
! Actual part !! Explanation<br />
|-<br />
| mesh || Mesh defines the mesh and texture package used to create the in-game appearance of your part. Acceptable meshes include .mu files.<br />
|- <br />
|}<br />
<br />
=== Asset Parameters ===<br />
<br />
{|class="wikitable"<br />
|-<br />
! Actual part !! Explanation<br />
|-<br />
| [[#mesh|mesh]] = DoesItAll.mu || Mesh defines the mesh and texture package used to create the in-game appearance of your part. Acceptable meshes include .mu files<br />
|- <br />
| [[#scale|scale]] || scale defines the size of your part. I am uncertain as to what will happen when you change this value <br />
|-<br />
| [[#specPower|specPower]] || Specific Power? fuelLine<br />
|- <br />
| [[#rimFalloff|rimFalloff]] || 3 fuelLine<br />
|-<br />
| [[#alphaCutoff|alphaCutoff]] || Number: 0.0 fuelLine<br />
|-<br />
| [[#rescaleFactor|rescaleFactor]] || <br />
An optional parameter that is not usually included in most parts, but the option is available for resizing a part for personal use. In order to retain correct node placements, the scale parameter must also be proportionally changed to match the new rescaleFactor. The default value for rescaleFactor is 1.25 but can be changed to any value.<br />
|-<br />
| [[#iconCenter|iconCenter]] || 0,3,0 Array of integers? (advSasModuleLarge, fuelLine)<br />
|}<br />
<br />
=== Node Definitions ===<br />
So, node definitions are a little weird. You don't have to use any, and you *can use a whole bunch. Defines where parts attach to other parts. Tricouplers have four: three bottom and one at the top, while most parts simply have two, and a few parts have only one. <br />
<br />
Node stack defines where the part vertically stacks with other parts, and node attach defines where on a part's surface other parts attach - in other words, horizontal attachment.<br />
<br />
The attachment values relate to an object's origin, and their values correspond to a model's units and scaling factors. A node_stack_bottom with x, y, and z values of (2.5, 5.0, 3.0) will have an attachment node 2.5 units to the right, 5.0 units up, and 3.0 units forward. The next three values refer to the orientation that a particular node will accept other attachments, on a scale of -1.0 to 1.0. These represent the vector that a part will orient itself on when attaching to the node. For example, a fuel tank with a node_stack_bottom will have angx, angy, and angz values of (0.0, -1.0, 0.0). This represents a vector downward relative to the part model, in the negative y direction. A value of (0.0, -1.0, 1.0) would represent a diagonal vector downward and forward, while a value of (1.0, 1.0, 1.0) would represent a vector to the right, up, and forward.<br />
<br />
Generally, most parts will have angx, angy, and angz values of either (0.0, -1.0, 0.0) for a node_stack_bottom and (0.0, 1.0, 0.0) for a node_stack_top.<br />
<br />
The last value indicates the visual size of an attachment node. Values may be either 0 (small half-meter node), 1 (normal), or 2 (large). This parameter is optional and will default to 1 if nothing is specified.<br />
<br />
Keep in mind, naming conventions (_stack_bottom, _stack_top) for nodes only apply to node_stack; they are only helpful in identifying a node's position.<br />
<br />
Known node definitions are listed below:<br />
<br />
* node_stack_top<br />
* node_stack_bottom<br />
* node_stack_connect01<br />
* node_stack_connect02<br />
* node_stack_connect03<br />
* node_attach<br />
* node_stack_bottom01<br />
* node_stack_bottom02<br />
* node_stack_bottom03<br />
* node_stack_bottom04<br />
<br />
Each one follows this example, and specifies where other parts can connect to this part:<br />
<br />
{|class="wikitable"<br />
|-<br />
! Actual Part !! Explanation<br />
|-<br />
| [[#node_attach|node_attach]] = 0.00, 0.147, 0.00, 0.0, 1.0, 0.0, 1 || specifies the location of the nodes of this part (the green circles).<br />
|}<br />
<br />
<pre><br />
node_stack_bottom = x, y, z, angx, angy, angz, size<br />
node_stack_top = x, y, z, angx, angy, angz, size<br />
node_attach = x, y, z, angx, angy, angz, size<br />
</pre><br />
<br />
=== FX definitions ===<br />
FX definitions specify visual effects associated with this part, including engine exhausts, explosions, and coloration. Each one is a unique effect, and the only parameters they take is the location/offset that the effect occurs at. <br />
The 'active' switch on the end is used to define ''when'' this effect will be visible. See the [[FX Groups]] listing to know which effect groups are available, and when they are used.<br />
It's also possible to assign an effect to more than just one FX Group. If for instance, you want a smoke effect to be visible both when the part activates and also when it deactivates itself, you can do this: <br />
<br />
fx_gasBurst_white = x, y, z, angx, angy, angz, activate, deactivate<br />
<br />
This is particularly useful if you're defining a lot of effects, like the gas discharges on an RCS module.<br />
<br />
<br />
<pre><br />
fx_exhaustFlame_yellow = x, y, z, angx, angy, angz, active<br />
fx_exhaustLight_yellow = x, y, z, angx, angy, angz, active<br />
fx_smokeTrail_medium = x, y, z, angx, angy, angz, active<br />
</pre><br />
<br />
Known FX calls are listed below:<br />
<br />
* fx_exhaustFlame_blue_small<br />
* fx_exhaustFlame_yellow<br />
* fx_exhaustFlame_yellow_tiny<br />
* fx_exhaustFlame_blue<br />
* fx_exhaustFlame_white_tiny<br />
* fx_exhaustLight_yellow<br />
* fx_exhaustLight_blue<br />
* fx_smokeTrail_medium<br />
* fx_smokeTrail_light<br />
* fx_gasBurst_white<br />
* fx_exhaustSparks_flameout<br />
* fx_exhaustSparks_flameout_2<br />
* fx_exhaustSparks_yellow<br />
<br />
Module Parameters for PREFAB_PARTICLE and MODEL_MULTI_PARTICLE:<br />
<br />
{|class="wikitable"<br />
|-<br />
! Variable !! Value !! Definition<br />
|-<br />
| prefabName || fx_exhaustFlame_blue || The name of the effect you want to use (See list above).<br />
|-<br />
| transformName || smokePoint || The name of the point defined in the Unity editor where the effect will appear from.<br />
|-<br />
| size || Throttle Range (0.0), Scale (0.0) || '''(Deprecated, doesn't work!)''' Scales the size of the particle effect set in the Unity editor. This parameter is usually the same number as the size in meters for the part (1.25, 2.5, 3.75, etc.). You need one line with a declaration for every point on the throttle range you are editing (See example below).<br />
|-<br />
| energy || Throttle Range (0.0), Scale (0.0) || Scales the energy of the particle effect set in the Unity editor. Energy is the time it takes for the effect to disappear. For smoke trails, you want a high value, but for water vapor you want a small value. You need one line with a declaration for every point on the throttle range you are editing (See example below).<br />
|-<br />
| emission || Throttle Range (0.0), Scale (0.0) || Lets you edit the emission range and scale of the effect. It handles amount of particles in a set amount of time. You need one line with a declaration for every point on the throttle range you are editing (See example below).<br />
|-<br />
| speed || Throttle Range (0.0), Scale (0.0) || Scales the velocity of the particle effect set in the Unity editor. You need one line with a declaration for every point on the throttle range you are editing (See example below).<br />
|-<br />
| localOffset || X, Y, Z || Used in PREFAB_PARTICLE. Lets you change the offset of the effect in 3D space. To move the particle effect closer to or further from the nozzle, edit the Z axis.<br />
|-<br />
| localPosition || X, Y, Z || Used in MODEL_MULTI_PARTICLE. Lets you change the offset of the effect in 3D space. To move the particle effect closer to or further from the nozzle, edit the Z axis.<br />
|-<br />
| localScale || X, Y, Z || Used in MODEL_MULTI_PARTICLE. This was implemented in KSP 1.4.5 and replaces the size parameter. Lets you change the size of the particle so that the same particle can be custom fit to engines of various sizes. However, values other than [1, 1, 1] only work properly when the engine has (for part makers: only one of the named emitter transform; for casual players: only one nozzle). It works correctly on RCS thrusters that have up to 5 such emitters. This parameter also cannot be used on any of the particles provided by default in the game or by most part mods. New particles must be made such that the same transform that holds the PartTools script also holds the KSP Particle Emitter script.<br />
|-<br />
|}<br />
<br />
Example taken from the config file for the [[S3 KS-25 "Vector" Liquid Fuel Engine]]:<br />
<pre><br />
PREFAB_PARTICLE<br />
{<br />
prefabName = fx_smokeTrail_light<br />
transformName = smokePoint<br />
emission = 0.0 0.0<br />
emission = 0.05 0.0<br />
emission = 0.075 0.25<br />
emission = 1.0 1.25<br />
speed = 0.0 0.25<br />
speed = 1.0 1.0<br />
localOffset = 0, 0, 0<br />
}<br />
</pre><br />
<br />
=== Sound FX definitions ===<br />
Just like Visual effects, sound effects specify an effect to be used by the part. Sound effects are coded using a two-sided equation, the left side specifies the sound or sound file to be used, whereas the right side specifies when to use that particular sound. Known Sound Effects definitions are:<br />
<br />
This is pretty easy to use in a basic way, which will suit our needs just fine.<br />
<br />
Under this section, comes:<br />
<br />
sound_vent_medium = activate<br />
sound_rocket_hard = active<br />
sound_vent_soft = deactivate<br />
<br />
Sounds are added to FX Groups, in much the same way smoke and flame effects are. Of course, sounds do not need to be positioned in space, nor do they have rotations, so all you need is to indicate in which FX Group the sound will be executed. As with effects, you can assign multiple groups to a sound.<br />
<br />
<br />
Since 0.20 GameData structure there are 2 ways to add a sound to a part:<br />
<br />
* KSP has an internal sound library, which contains a few sound effects. By defining a sound as in the example above, KSP will search for that sound in its internal library.<br />
* The second way is to add new sound files which is ONLY possible if adding the sound file to the GameData/modName/parts/partName/part/sounds/ folder. Note that all the sounds are therefore "private", only accessed by that part. For now, the legacy folder or a shared mod folder method doesn't work, devs are probably going to fix this problem in the future.<br />
<br />
<br />
REMEMBER: If you add a custom sound, the file name must start with '''sound_''' (e.g., sound_myNewSoundEffect.wav). <br />
<br />
To use a sound from the KSP internal library or the part/sounds folder, you must not include the extension in the sound name (e.g., sound_vent_medium = activate), otherwise the sound will not work.<br />
<br />
Supported files are 48000&nbsp;Hz .wav files and .ogg<br />
<br />
These are the paired sound types and part statuses.<br />
{|class="wikitable"<br />
|-<br />
! Sound !! Engine Status <br />
|-<br />
| sound_jet_low || decouple<br />
|-<br />
| sound_jet_deep || engage<br />
|-<br />
| sound_vent_soft || running <br />
|-<br />
| sound_vent_large || power<br />
|-<br />
| sound_vent_medium || disengage<br />
|-<br />
| sound_rocket_hard || flameout<br />
|-<br />
| sound_rocket_mini || activate<br />
|-<br />
| sound_decoupler_fire || deploy<br />
|-<br />
| sound_explosion_low ||<br />
|-<br />
| sound_parachute_open ||<br />
|-<br />
| sound_parachute_single ||<br />
|-<br />
|} <br />
<br />
=== Editor Parameters ===<br />
{|class="wikitable"<br />
|-<br />
! Actual Part !! Definition <br />
|-<br />
| CrewCapacity || The number of Kerbals that can be seated in this part. Mk1 Command Pod seats 1. Jebediah is so awesome, he only takes up .7 seats. Chuck Norris takes as many seats as he wants. Use 0 to specify a probe.<br />
|- <br />
| TechRequired || <br />
This is the technology tree node that must be activated in order to have access to this part. Any single word can go here, but if you use a word that is not in the tech tree definition, you may never be able to access your part. Currently, stock KSP comes with the following [[ Technology_tree]] nodes:<br />
<br />
* start<br />
* basicRocketry<br />
* engineering101<br />
* generalRocketry<br />
* stability<br />
* survivability<br />
* advRocketry<br />
* generalConstruction<br />
* flightControl<br />
* scienceTech<br />
* heavyRocketry<br />
* fuelSystems<br />
* advConstruction<br />
* aerodynamicSystems<br />
* advFlightControl<br />
* electrics<br />
* spaceExploration<br />
* landing<br />
* heavierRocketry<br />
* specializedConstruction<br />
* actuators<br />
* supersonicFlight<br />
* specializedControl<br />
* precisionEngineering<br />
* advElectrics<br />
* advExploration<br />
* advLanding<br />
* nuclearPropulsion<br />
* advMetalworks<br />
* composites<br />
* advAerodynamics<br />
* highAltitudeFlight<br />
* largeControl<br />
* unmannedTech<br />
* ionPropulsion<br />
* largeElectrics<br />
* electronics<br />
* fieldScience<br />
* veryHeavyRocketry<br />
* metaMaterials<br />
* heavyAerodynamics<br />
* hypersonicFlight<br />
* advUnmanned<br />
* specializedElectrics<br />
* advScienceTech<br />
* advancedMotors<br />
The following Tech Tree nodes are present in stock, but not used unless called for by a mod.<br />
* experimentalRocketry<br />
* nanolathing<br />
* experimentalAerodynamics<br />
* aerospaceTech<br />
* experimentalElectrics<br />
* experimentalScience<br />
* automation (used by MechJeb)<br />
* robotics<br />
* experimentalMotors<br />
|-<br />
| entryCost || entryCost represents the amount of [[Funds]] required to unlock this particular part. As such, it could be considered an 'investment' cost in the development. First you have to have the brains to make the thing, then someone has to develop it (that's this cost), then you can get it into production (that's cost, coming later). You can set this to any value you like. Bear in mind that this value has no meaning in Sandbox or Science Modes. It is only used in Career Mode. <br />
|- <br />
| cost || cost represents the cost in [[Funds]] to attach a single instance of this part to your craft. It represents the "wet cost", assuming all resources are at their full amount. '''This is different from mass, which is the dry mass.''' Cost has no use in Sandbox or Science modes, it is only used in Career mode<br />
|-<br />
| category || Mods are organized alphabetically according to their sub-directory in parts, and then according to this value. This is why, when you add a mod that is contained in folder "000_NewMod", it's parts appear first and when you add a mod that is contained in "ZZZ_NewMod", it's parts appear last. Currently there are nine useable categories: <br />
<br />
* Command <br />
* Propulsion (deprecated, but still useable) <br />
* FuelTank<br />
* Engine<br />
* Aero <br />
* Electrical <br />
* Structural <br />
* Utility <br />
* Wheel <br />
|- <br />
| subcategory || subcategory is not currently in use as of [0.90]. It is expected that this control will later be linked to [category] to provide a further subdivision of searchable parts in-game, possibly to cut down on clutter when the parts list gets exceptionally high. With certain mods installed, the Propulsion category already spans several pages. [subcategory] can help control this by provided variants such as [liquidEngine], [LOXfueltank], [SRB], etc<br />
|-<br />
| title || title is the in-game name for your part and features such iconic names as 'Command Pod Mk1'. The title of your part can be as long or short as you want, and there are no known limitations on what can be used in the title. This is how your part will be known in-game, on in-game contextual menus and referred to on message boards and forums (hopefully) so take that into consideration. <br />
|-<br />
| manufacturer || manufacturer is flavor text (possibly useful in future iterations as a filter for parts) that defines who built or created the part for use (or pulled out of the junk-pile and sold at 10000% mark-up for you to use). Just as with the title of your part, there are no known restrictions on the flavor text, including length. This is KSP, though, so try to be humorous<br />
|-<br />
| description || description is the flavor text that describes your parts purpose, motivation, direction, life aspirations, goals, favor colors, and (hopefully) what it can (is supposed to) do. As with other flavor text, there are no known limitations on what can go here, including length. In fact, this flavor text is treated special in-game by being given a text box that automatically scrolls based on the length of the description used. If your part does something unusual, it's probably a good idea to (at least partially) document it here, so people know how to use your part in-game. Many are the parts that have failed their popularity exams because of bad descriptions. <br />
|}<br />
<br />
=== Attachment rules ===<br />
attachRules defines how this part attaches to or allows attachments from other parts. Though documented in some part files, the documentation is minimalist and difficult to understand, so here's a little clean-up and expansion. <br />
<br />
*// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision<br />
*attachRules = 1,1,1,1,1<br />
<br />
The rules correspond to the numbers below - 1 is allow, 0 is prevent. The tags are:<br />
<br />
'''stack''' - Can your part be stacked on others?<br />
<br />
'''SrfAttach''' - Can your part be placed onto a surface?<br />
<br />
'''allowStack''' - Will you allow other parts to be stacked on your part?<br />
<br />
'''allowSrfAttach''' Can other parts be placed on the surface of yours?<br />
<br />
'''allowCollision''' - A special one: Can your part be placed if part of it is intersecting another part?<br />
<br />
<br />
'''Note that you can also force parts attached to this part to attach in a specific symmetry.'''<br />
<br />
*// symmetry rules: 0=1x, 1=2x, 2=3x, 3=4x and so on...<br />
*stackSymmetry = 3 <br />
<br />
<br />
<br />
<br />
=== Standard Part Parameters ===<br />
This defines how your part performs in the air and its limits. Note that not all of these parameters need to be defined. If they're left out of the cfg file, KSP will use a default value for them. Standard part parameters indicate how the part interacts with the environment in flight mode. From mounting on the launch platform or the runway through take-off and atmospheric interactions to landing and blowing up, this is where physics enters the game<br />
<br />
{|class="wikitable"<br />
|-<br />
! Actual Part !! Definition<br />
|-<br />
| mass = 1 || mass measured in Kerbal tons, describes the 'weight' of your part and is used in calculations involving roll, pitch, yaw, and thrust. The higher the mass, the more energy will be needed to change any of those four parameters. It is also used in making center-of-mass, center-of-lift and center-of-drag calculations, some of which are critical for aerodynamic flight. This is a numerical value, and you can use any positive value. Bear in mind that extremely high positive values for [mass] may make the part unusable in-game or require additional special parts to make usable. This is generally considered poor design. It represents the "dry mass" when all resources are empty. '''This is different from cost, which is the wet cost.'''<br />
|- <br />
| dragModelType || [dragModelType] describes how your part interacts with drag forces. At present, the known [dragModelType]s include:<br />
*default<br />
|-<br />
| maximum_drag || (could use clarification) The maximum drag coefficient of the part (usually under between 0.2 and 0.3 and < 1). Generally drag when part's direction of travel is along its y-axis.<br />
|-<br />
| minimum_drag || (could use clarification) The minimum drag coefficient of the part (usually under between 0.2 and 0.3 and < 1 and lower than maximum_drag). This value is unused if dragModelType is set to default. Generally drag when the part's direction of travel is perpendicular to its y-axis.<br />
|-<br />
| angularDrag || (could use clarification) how much angular drag is there/resistance to turning? (Also usually under 1.)<br />
|-<br />
| crashTolerance || crashTolerance describes the maximum velocity (in m/s) at which your part can interact with another part without suffering damage (read: blowing up). The higher you set this value, the faster an impact your part can survive. 12 is fairly high, and is the de facto standard for most pods. 14 is useful for landing legs, and 50 is used on some wheels, which are basically indestructible. <br />
|-<br />
| BreakingForce || <br />
optional [breakingForce] specifies an amount of Force exerted between this part and another part that it is attached to. When exceeded, the two parts will separate (usually catastrophically). Higher values indicate stronger connections. <br />
|-<br />
| BreakingTorque || optional. Like [breakingForce], [breakingTorque] defines an amount of Force between two parts, but rather than direct force towards or against, [breakingTorque] refers to rotational forces between the two objects. It assigns a value that, again, when exceeded, will cause the two parts to separate, with the expected results<br />
|-<br />
| maxTemp || Stock KSP uses the [maxTemp] value to determine at what temperature parts will blow up due to overheating. As of Version 1.1, heat sources include Kerbin's sun, re-entry and aerodynamic heating, and engine exhaust. KSP's uses Kelvin as its temperature scale. Once this value is exceeded, your part will spontaneously explode. Managing heat with engines is a critical function of launching higher-powered engines, and design considerations mean that you shouldn't place parts with low [maxTemp] values directly in the path of engine exhaust. ~1800 is a good value for most engine assemblies.<br />
|-<br />
| ActivatesEvenIfDisconnected || true or false, assumed to specify whether the part will operate when not connected to a vessel (remote control?) Must test. Currently, only know part is the Sepratron I<br />
|-<br />
| stagingIcon || Sets the icon in the staging system<br />
* DECOUPLER_HOR (Radial Decoupler Icon)<br />
* LIQUID_ENGINE (Liquid Engines, or engines that have controllable thrust) <br />
* SOLID_BOOSTER (Solid Rocket Boosters, or engines without controllable thrust) <br />
* RCS_MODULE (Small 4-Way RCS Block Icon)<br />
* FUEL_TANK (Red Fuel Tank Icon)<br />
* COMMAND_POD (Generic Command Pod Icon)<br />
* DECOUPLER_VERT (Vertical Decoupler)<br />
* (?)<br />
*<br />
|-<br />
| stageOffset || Can be 0, 1, etc. defines whether this part will create a new stage before itself. This only applies for the automatically generated staging sequence. -1 is used in parachutes...signals that activation of this object does not cause a staging effect? <br />
|-<br />
| childStageOffset || Can be 0, 1, etc. defines whether this part will create a new stage after itself. This only applies for the automatically generated staging sequence.<br />
|-<br />
| explosionPotential || unknown purpose. Possibly for future use for random failures. Known values are numerical.<br />
* 0.1<br />
* 0 (BSLsnakprobe)<br />
|-<br />
| fuelCrossFeed || Will the part crossfeed fuel between parts attached to it? allows or restricts fuel moving through this part. Boolean argument: True or False<br />
|-<br />
| NoCrossFeedNodeKey = bottom || if set to bottom will keep fuel from flowing FROM bottom nodes (avoiding some stack imbalances). Used with parts with multiple bottom nodes, such as the [[TVR-1180C Mk1 Stack Tri-Coupler]]. keeps resources from flowing FROM the named nodes (prevents stack imbalances and such) Use with fuelCrossFeed true to to allow resources to flow into these parts, but not back out. Known parameters: bottom<br />
|-<br />
| linearStrength || The amount of stress the given part can sustain without breaking, in a straight back-and-forth direction. Used for fuel lines and strut connectors. <br />
|-<br />
| angularStrength || The amount of stress the given part can sustain without breaking, laterally. Used for fuel lines and strut connectors<br />
|-<br />
| maxLength || The maximum possible length of this stretchy part, expressed in meters. Used for fuel lines and strut connectors, as they have repeating meshes<br />
|-<br />
| vesselType || unknown. May automatically set the Ship Type variable when including parts with a defined [vesselType]. Known [vesselTypes] include:<br />
* Ship<br />
* Probe<br />
* Lander<br />
* Rover<br />
* SpaceObject (refers only to PotatoRoids)<br />
|-<br />
| PhysicsSignificance || optional. unknown purpose. assumed to default to zero. Appears to be a numerical value. Many parts are 'physicsless' Known parts: <br />
* radialFlatSolarPanel<br />
* ladderRadial<br />
* z-400Battery<br />
* z-100Battery<br />
Known Values: 1<br />
|-<br />
|}<br />
<br />
=== MODULES ===<br />
<br />
Each Configuration file is composed of several sections. Some of these sections are standardized across all parts, others are specific to specific part types. To build or modify a successful part, it is necessary to have an understanding of what each section does, and within those sections what each line of configuration actually does, and what the options are for those lines. This Definitions file will attempt to address each of those questions in turn and is current as of [0.25.0]<br />
<br />
<br />
Notes: It appears that, with a few exceptions, all definitions can occur in any order in the PART file. Free arrangement is valid for MODEL {}, INTERNAL {}, [[ Module | MODULE ]] {}, <br />
<br />
<br />
<span id="MODULES"></span><br />
<br />
<br />
[[ Module| MODULE]]s define what specific parts can do. They are generally calls to C-coded or hard-coded functions that define what functionality these parts have in-game. <br />
<br />
'''name''' <br />
names define the module in use and are a general indication of what the module subtype does. Specific variables are associated with each [[ Module| MODULE]].[name]. For example, the Clamp-O-Tron Docking Port Sr. has the [[ Module| MODULE]].name ModuleDockingNode and its' associates variables are [referenceAttachNode] and [nodeType]. Some [[ Module| MODULE]]s share variables with other [[ Module| MODULE]]s, which can make deciphering their purpose difficult.<br />
<br />
known [[ Module| MODULE]]s, their associated variables, and the meanings of those variables will be explained below.<br />
<br />
{|class="wikitable"<br />
|-<br />
! [[ Module | MODULE ]] Name !! [[ Module | MODULE ]] Function !! From Modification<br />
|-<br />
| [[ Module#ModuleCargoBay| ModuleCargoBay]] || Cargo bays || Stock<br />
|-<br />
| [[ Module#ModuleParachute | ModuleParachute ]] || Parachute Operations || Stock<br />
|-<br />
| [[ Module#ModuleSAS | ModuleSAS ]] || Control System || Stock<br />
|- <br />
| [[ Module#KerbalSeat | KerbalSeat ]] || Internal Seating? || Stock<br />
|- <br />
| [[ Module#ModuleLandingGear | ModuleLandingGear]] || One type of Wheel || Stock<br />
|-<br />
| [[ Module#ModuleSteering | ModuleSteering ]] || For Wheel Operations || Stock<br />
|-<br />
| [[ Module#FXModuleConstraingPosition | FXModuleConstraingPosition ]] || Unsure || Stock<br />
|-<br />
| [[ Module#ModuleLandingLeg | ModuleLandingLeg ]] || For Landing Legs || Stock<br />
|-<br />
| [[ Module#RetractableLadder | RetractableLadder ]] || For Collapsible Ladders || Stock<br />
|-<br />
| [[ Module#ModuleReactionWheel | ModuleReactionWheel ]] || Controls Force of Reaction wheels || Stock<br />
|-<br />
| [[ Module#ModuleScienceContainer | ModuleScienceContainer ]] || Place to store Science || Stock<br />
|-<br />
| [[ Module#FlagDecal | FlagDecal ]] || Flag Decorations on Parts || Stock<br />
|- <br />
| [[ Module#ModuleScienceLab | ModuleScienceLab ]] || For Science generators || Stock<br />
|-<br />
| [[ Module#ModuleJettison | ModuleJettison ]] || Fairing removal || Stock<br />
|- <br />
| [[ Module#ModuleAlternator | ModuleAlternator ]] || For producing resources based on thrust || Stock<br />
|-<br />
| [[ Module#ModuleCommand | ModuleCommand ]] || For Control || Stock<br />
|-<br />
| [[ Module#ModuleEnviroSensor | ModuleEnviroSensor ]] || Unmanned Science || Stock<br />
|-<br />
| [[ Module#ModuleControlSurface | ModuleControlSurface ]] || Control Surfaces, aelirons || Stock<br />
|- <br />
| [[ Module#ModuleAnimateHeat | ModuleAnimateHeat ]] || Animation to be played based on heat || Stock<br />
|-<br />
| [[ Module#Module Engines | Module Engines ]] || Engines and Thrust (somewhat deprecated) || Stock<br />
|-<br />
| [[ Module#FXModuleAnimateThrottle | FXModuleAnimateThrottle ]] || Animation to be played based on throttle level || Stock<br />
|- <br />
| [[ Module#ModuleEnginesFX | ModuleEnginesFX ]] || Engines and Thrust (use this in place of Module Engines) || Stock<br />
|-<br />
| [[ Module#ModuleGimbal | ModuleGimbal ]] || Engine Directionality || Stock<br />
|-<br />
| [[ Module#ModuleTestSubject | ModuleTestSubject ]] || Contract System || Stock<br />
|-<br />
| [[ Module#LaunchClamp | LaunchClamp ]] || Launch Clamps || Stock<br />
|-<br />
| [[ Module#ModuleDockingNode | ModuleDockingNode ]] || Docking Ports || Stock<br />
|-<br />
| [[ Module#ModuleRCS | ModuleRCS ]] || Reaction Control Systems || Stock<br />
|-<br />
| [[ Module#ModuleResourceHarvester | ModuleResourceHarvester ]] || Harvests resources from the environment || Stock<br />
|-<br />
| [[ Module#ModuleResourceIntake | ModuleResourceIntake ]] || Intakes that produce resources || Stock<br />
|-<br />
| [[ Module#ModuleScienceExperiment | ModuleScienceExperiment ]] || Controlling Experiments || Stock<br />
|- <br />
| [[ Module#ModuleGrappleNode | ModuleGrappleNode ]] || For [[Advanced Grabbing Unit|the Klaw]] || Stock<br />
|-<br />
| [[ Module#ModuleLight | ModuleLight ]] || For external lighting || Stock<br />
|-<br />
| [[ Module#ModuleAnimateGeneric | ModuleAnimateGeneric ]] || Generic Animation Calls || Stock<br />
|-<br />
| [[ Module#ModuleDataTransmitter | ModuleDataTransmitter ]] || For transmitting antennas || Stock<br />
|- <br />
| [[ Module#FXModuleLockAtConstraint | FXModuleLockAtConstraint ]] || Uncertain || Stock<br />
|-<br />
| [[ Module#ModuleAsteroid | ModuleAsteroid ]] || Unsure || Stock<br />
|- <br />
| [[ Module#ModuleDeployableSolarPanel | ModuleDeployableSolarPanel ]] || For unfoldable solar panels || Stock<br />
|-<br />
| [[ Module#ModuleWheel | ModuleWheel ]] || For wheels, powered or unpowered || Stock<br />
|-<br />
| [[ Module#FXModuleLookAtConstraint | FXModuleLookAtConstraint ]] || Unknown || Stock<br />
|-<br />
| [[ Module#FXModuleConstrainPosition | FXModuleConstrainPosition ]] || Unknown || Stock<br />
|-<br />
| [[ Module#ModuleAnchoredDecoupler | ModuleAnchoredDecoupler ]] || Decouplers1 || Stock<br />
|-<br />
| [[ Module#ModuleDecouple | ModuleDecouple ]] || Decoupling Operations || Stock<br />
|-<br />
| [[ Module#KASModuleContainer | KASModuleContainer ]] || Containers || KAS / Kerbal Assembly System<br />
|-<br />
| [[ Module#KASModuleGrab |KASModuleGrab ]] || || KAS / Kerbal Assembly System<br />
|-<br />
| [[ Module#KASModuleStrut |KASModuleStrut ]] || || KAS / Kerbal Assembly System<br />
|-<br />
| [[ Module#SCANset |SCANset ]] || || SCANsat<br />
|-<br />
| [[ Module#TweakScale |TweakScale ]] || Changing the size of parts || TweakScale<br />
|-<br />
| [[ Module#MechJebCore |MechJebCore ]] || Automated ship controls and advanced information systems || MechJeb<br />
|-<br />
| [[ Module#ModuleConnectedLivingSpace |ModuleConnectedLivingSpace ]] || || MKS/OKS / Modular Kolonization System<br />
|- <br />
| [[ Module#KolonyConverter |KolonyConverter ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#MKSModule |MKSModule ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#ExWorkshop |ExWorkshop ]] || || MKS/OKS / Modular Kolonization System<br />
|- <br />
| [[ Module#KarboniteAtmoExtractor |KarboniteAtmoExtractor ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#KarboniteDrill |KarboniteDrill ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#KarboniteGenerator |KarboniteGenerator ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#KarboniteParticleExtractor |KarboniteParticleExtractor ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#KarboniteConverter |KarboniteConverter ]] || || MKS/OKS / Modular Kolonization System<br />
|- <br />
| [[ Module#USI_Converter |USI_Converter ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#USIAnimation |USIAnimation ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#USI_BaseAnchor |USI_BaseAnchor ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#USI_InertialDampener |USI_InertialDampener ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#ProxyLogistics |ProxyLogistics ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#FSanimateGeneric |FSanimateGeneric ]] || || Firespitter<br />
|-<br />
| [[ Module#FStextureSwitch2 |FStextureSwitch2 ]] || || Firespitter<br />
|-<br />
| [[ Module#FSfuelSwitch |FSfuelSwitch ]] || || Firespitter<br />
|-<br />
| [[ Module#MKSLcentral |MKSLcentral ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#ORSModuleAirScoop |ORSModuleAirScoop ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#ORSModuleAirIntake |ORSModuleAirIntake ]] || || MKS/OKS / Modular Kolonization System<br />
|- <br />
| [[ Module#ORSResourceScanner |ORSResourceScanner ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#ORSModuleRailsExtraction |ORSModuleRailsExtraction ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#ORSModuleParticleCollector |ORSModuleParticleCollector ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#ORSAnimatedScanner |ORSAnimatedScanner ]] || || MKS/OKS / Modular Kolonization System<br />
|- <br />
| [[ Module#ORSAnimatedExtractor |ORSAnimatedExtractor ]] || || MKS/OKS / Modular Kolonization System<br />
|-<br />
| [[ Module#ModuleSPU |ModuleSPU ]] || || Remote Tech<br />
|-<br />
| [[ Module#ModuleRTAntennaPassive |ModuleRTAntennaPassive ]] || || Remote Tech<br />
|-<br />
| [[ Module#FSplanePropellerSpinner |FSplanePropellerSpinner ]] || || Firespitter<br />
|-<br />
| [[ Module#FSengineSounds |FSengineSounds ]] || || FSengineSounds<br />
|-<br />
|}<br />
<br />
=== INTERNAL ===<br />
Internal specifies the internal files used to construct views from the IVA or internal vehicular activity, and are referenced out to the \Spaces\ directory of the relevant part mod. (Squad's internals are in \GameData\Squad\Spaces). INTERNALs have their own .cfg files with their own calls and methods that will not be discussed here. Squad provides 9 INTERNALs as part of Stock KSP:<br />
<br />
* crewCabinInternals<br />
* cupolaInternal<br />
* GenericSpace1<br />
* GenericSpace3<br />
* landerCabinInternals<br />
* landerCabinSmallInternal<br />
* mk1CockpitInternal<br />
* mk1PodCockpit<br />
* PodCockpit<br />
<br />
=== RESOURCE ===<br />
In parts files, [RESOURCE] refers to a resource that is stored by a part. Each stored resource must be separately defined by a [RESOURCE] call. Any resource may be stored, including those not defined. The examples in the table below comes from a [[Z-100 Rechargable Battery Pack|battery]] config.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! explanation<br />
|-<br />
| name || ElectricCharge || Name of the resource being stored.<br />
|-<br />
| amount || 100 || Amount of the resource included when dragged out of the parts list.<br />
|-<br />
| maxAmount || 100 || Maximum amount of the resource that can be stored<br />
|-<br />
| isTweakable || false || Allows/prevents modification of resource levels in editor.<br />
|-<br />
| hideFlow || true || Allows/prevents display of motion of resource transfer. Not sure why this would be important.<br />
|}<br />
<br />
=== EFFECTS ===<br />
{|class="wikitable"<br />
|-<br />
!variable ||explanation<br />
|-<br />
|| clip || specifies the location of an audio clip to play during the specified thrust effect.<br />
|-<br />
|| volume || <br />
?? 2-part array, used twice, once to specify a minimum volume, once to specify a maximum volume, relative to the game's volume settings<br />
|-<br />
|| pitch || <br />
?? 2-part array, used twice, once to specify a minimum volume, once to specify a maximum volume, relative to the game's volume settings<br />
|-<br />
|| loop || <br />
boolean, true or false, specifies whether to play the sound once, or to keep playing the sound as long as the specified effect is in operation<br />
|}<br />
<br />
== Resource Configuration Files ==<br />
Resources are massively modifiable, but Stock KSP only comes with a few, and these are contained in squad/resources/ResourcesGeneric.cfg. Be extremely careful when modifying ResourcesGeneric.cfg, as it could have unintended side effects for your rockets. Resource definitions follow these conventions:<br />
<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! explanation<br />
|-<br />
| name || <br />
{|class="wikitable"<br />
! Resource !! Mod<br />
|-<br />
| LiquidFuel || Stock<br />
|-<br />
| Oxidizer || Stock<br />
|-<br />
| SolidFuel || Stock<br />
|-<br />
| MonoPropellant || Stock<br />
|-<br />
| XenonGas || Stock<br />
|-<br />
| ElectricCharge || Stock<br />
|-<br />
| IntakeAir || Stock<br />
|-<br />
| EVA Propellant || Stock<br />
|-<br />
| MechanicalParts || MKS/OKS<br />
|-<br />
| Recyclables || MKS/OKS<br />
|-<br />
| ElectronicParts || MKS/OKS<br />
|-<br />
| PlasticParts || MKS/OKS<br />
|-<br />
| ModularParts || MKS/OKS<br />
|-<br />
| ReplacementParts || MKS/OKS<br />
|-<br />
| RepairKits || MKS/OKS<br />
|-<br />
| PatchKits || MKS/OKS<br />
|-<br />
| Computers || MKS/OKS<br />
|-<br />
| Robotics || MKS/OKS<br />
|-<br />
| ExoticMinerals || MKS/OKS<br />
|-<br />
| RareMetals || MKS/OKS<br />
|-<br />
| Chemicals || MKS/OKS<br />
|-<br />
| Polymers || MKS/OKS<br />
|-<br />
| SpecMachinery || MKS/OKS<br />
|-<br />
| AdvMachinery || MKS/OKS<br />
|-<br />
| BasicMachinery || MKS/OKS<br />
|-<br />
| PunchCards || MKS/OKS<br />
|-<br />
| Compost || MKS/OKS<br />
|-<br />
| MEP-Manufacturing || MKS/OKS<br />
|-<br />
| MEP-Laboratory || MKS/OKS<br />
|-<br />
| MEP-Refining || MKS/OKS<br />
|-<br />
| MEP-Mining || MKS/OKS<br />
|-<br />
| MEP-Environmental || MKS/OKS<br />
|-<br />
| MEP-Computing || MKS/OKS<br />
|-<br />
|}<br />
|| This is the name of the resource. Like the name of your part, it is restricted to one word with no spaces or underscores. This is how the resource is referred to in-game.<br />
|-<br />
| Display Name || Liquid Fuel || Display name for UI elements, can have spaces. <br />
|-<br />
| Abbreviation || LF || For KerbNet resource switcher button. Two characters at best, like in the Periodic Table. Only important for things that are drilled up.<br />
|-<br />
| density || 0.005 || [density] is a numerical value between 0 and 1 used in calculations involving mass, storage capacity and units. Lower values mean lower densities, meaning you can get more units in a smaller space.<br />
|-<br />
| unitCost || 0.8 || [unitCost] defines the amount of Kerbits of value for each unit of the specified resource. Any number will do. Positive values indicate that you pay for the resource. Negative values have not been tested (yet), but it is assumed that negative values mean others will pay you to get rid of this resource. (Nuclear waste disposal, anyone?) <br />
|-<br />
| hsp || 2010 || Specific Heat, how much energy in joules per kelvin needed to raise the temperature of 1kg of resource by 1 deg Kelvin. High numbers make it great as a thermal control substance.<br />
|-<br />
| flowMode || <br />
* STACK_PRIORITY_SEARCH<br />
* NO_FLOW<br />
* STAGE_PRIORITY_FLOW<br />
* ALL_VESSEL <br />
|| [flowMode] defines how the resource moves throughout your vessel whenever the resource is requested by a particular part. There are 4 known methods of flow mode:<br />
|-<br />
| transfer || <br />
* PUMP<br />
* NONE<br />
|| [transfer] is an optional method which specifies how and whether or not a resource may be manually transferred from one location on a vessel to another. There are two known methods of [transfer]:<br />
|-<br />
| isTweakable || <br />
* true<br />
* false<br />
|| [isTweakable] is an optional, boolean method which specifies whether or not a resource may be assigned during construction. Defaults to true. The only accepted arguments are true and false.<br />
|-<br />
| isVisible ||<br />
* true<br />
* false<br />
|| boolean, Is the gauge for this even ever visible (resource panel in flight and in VAB)? Overrides isTweakable. Almost every resource has this true.<br />
|-<br />
| volume || <br />
1<br />
|| Standard value is 1. How many litres of space a unit of this occupies. Affects tankage in volume sensitive storage systems like KIS and B9 Part Switch.<br />
|}<br />
<br />
== Science Definitions Configuration Files ==<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! explanation<br />
|-<br />
| id || crewReport || internal name of the experiment in question<br />
|-<br />
| title || Crew Report || Flavor text of the experiment<br />
|- <br />
| baseValue || 5 || Base science value of the experiment<br />
|-<br />
| scienceCap || 5 || Max? value of the experiment, before multipliers<br />
|- <br />
| dataScale || 1 || Multiplier used in calculations<br />
|-<br />
| requireAtmosphere ||<br />
* True<br />
* False<br />
|| specifies whether this experiment must be conducted inside an atmosphere<br />
|-<br />
| situationMask || 63 || uses the sum of the situation bits to determine where the experiment can be conducted:<br />
* SrfLanded = 1,<br />
* SrfSplashed = 2,<br />
* FlyingLow = 4,<br />
* FlyingHigh = 8,<br />
* InSpaceLow = 16,<br />
* InSpaceHigh = 32<br />
|-<br />
| biomeMask || 7 || uses the same pattern as situationMask to determine whether experiment will give different result for different biomes. i.e. 7 = 1 + 2 + 4 so flying high will have only a single result per body but flying low (and landed or splashed) will give one result per biome<br />
|-<br />
| requiredExperimentLevel || 0.5 || specifies the level of research facility required before the experiment can be conducted<br />
|-<br />
| RESULTS || <br />
{|class="wikitable"<br />
|-<br />
! name !! example !! definition<br />
|-<br />
| Too many to list!<br />
* default<br />
* MohoSrf <br />
|| You ran an Atmosphere Analysis, recording various measurements like temperature, pressure and atmosphere composition || Flavor text for the science popup window and science archives that describes what happened when the experiment was conducted.<br />
|-<br />
|}<br />
|| an array of data that provides flavor text for each scenario that the experiment is conducted in. Left side is a combination of the planet name and the situation bit. No spaces. Right side is the flavor text provided to the GUI.<br />
|}<br />
<br />
== Contracts Definitions Configuration Files ==<br />
{|class="wikitable"<br />
Contains a single call to STORY_DEF, which then allows for subsets<br />
|-<br />
! variable !! example !! explanation<br />
|-<br />
<br />
|}<br />
<br />
== Contracts Configuration Files ==<br />
<br />
== Agent Configuration Files ==<br />
Agent configuration files specify specific Agents that may have an impact on the performance (read science, money, and prestige) awarded to your Kerbals for completion of specific tasks. Also specifies agency relations to one another. Many of these configurations are not implemented as of [0.90]<br />
<br />
<pre style="white-space: pre-wrap"><br />
// Agency mentalities<br />
// * Commercial [Increased financial stakes, both for success and failure]<br />
// * Competitive [competes with companies which we have a negative standing towards, auto-added if any standings set][not impl]<br />
// * Conglomerate []<br />
// * Startup []<br />
// * Cooperative [not impl]<br />
// * Ecomental [not impl]<br />
// * Economic []<br />
// * Hasty [-deadlines -expiry +rep]<br />
// * Patient [] <br />
// * Industrial [not impl] <br />
// * Perfectionist [not impl]<br />
// * Pioneer [Makes agency more likely to offer a contract to something that's never been done before]<br />
// * Record [Flags agency as a record-keeping organization, focuses on contracts about breaking existing records and doing new things]<br />
// * Scientific [Agency is more likely to offer science data gathering contracts][not impl]<br />
// * Stern [Higher Reputation Stakes for both success and failure]<br />
// * EasyGoing [Lower Reputation Stakes for both success and failure]<br />
// * Kerbalminded [not impl][Sets up conditions against losing Kerbals]<br />
// * Moral [not impl]<br />
// syntax guidelines<br />
//<br />
// standings = agent name string, float<br />
// mentality = MentalityClass [float]<br />
</pre><br />
<br />
<br />
{|class="wikitable"<br />
! !! !! !!<br />
|-<br />
|}<br />
<br />
== Kerbal Configuration Files ==<br />
Defines what your Kerbals can do. Contained in the Traits.cfg file.<br />
<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition !! in code<br />
|-<br />
| name || <br />
* Pilot <br />
* Engineer<br />
* Scientist<br />
|| describes the Kerbal's job || <pre>name = Pilot</pre><br />
|-<br />
| title || Any text || Flavor text of the job || <br />
<pre> title = Engineer </pre><br />
|-<br />
| desc || Any text || Flavor text of job description || <pre>desc = Pilots provide assistance in flying the vessel.</pre><br />
|-<br />
| EFFECT { || Array of skills <br />
|| describes benefits to vessel for having a Kerbal with this job aboard <br />
|| <br />
<pre> EFFECT<br />
{<br />
name = VesselScienceReturn<br />
modifiers = 1.05, 1.1, 1.15, 1.2, 1.25<br />
}<br />
EFFECT<br />
{<br />
name = PartScienceReturn<br />
modifiers = 1.05, 1.1, 1.15, 1.2, 1.25<br />
}<br />
</pre><br />
|}<br />
<br />
== Prop Configuration Files ==<br />
<br />
Contained in several different files, usually labeled prop.cfg, in the /Props/ directory. Describes aspects of parts used on IVAs, included buttons, switches, dials, and screens.<br />
<br />
<pre><br />
PROP<br />
{<br />
name = directionalKnob<br />
MODULE<br />
{<br />
name = internalGeneric<br />
}<br />
}<br />
proxy = 0, 0, 0, 0.0225, 0.0075, 0.0225, 0, 1, 0<br />
<br />
</pre><br />
<pre><br />
PROP<br />
{<br />
name = RadarAltimeter<br />
MODULE<br />
{<br />
name = InternalRadarAltitude<br />
indicatorName = indicator<br />
increments<br />
{<br />
inc = 0, 0<br />
inc = 34, 100<br />
inc = 70, 200<br />
inc = 110, 300<br />
inc = 145, 400<br />
inc = 180, 500<br />
inc = 215, 1000<br />
inc = 232, 2000<br />
inc = 250, 3000<br />
}<br />
}<br />
}<br />
proxy = 0, 0, 0, 0.06, 0.01, 0.06, 1.0, 0.5, 0<br />
</pre><br />
<pre><br />
PROP<br />
{<br />
name = NavBall<br />
MODULE<br />
{<br />
name = InternalNavBall<br />
navBallName = NavSphere<br />
iconUp = 0, 1, 0<br />
progradeVectorName = progradeVector<br />
retrogradeVectorName = retrogradeVector<br />
progradeWaypointName = progradeWaypoint<br />
retrogradeWaypointName = retrogradeWaypoint<br />
normalVectorName = NormalVector<br />
antiNormalVectorName = antiNormalVector<br />
radialInVectorName = RadialInVector<br />
radialOutVectorName = RadialOutVector<br />
maneuverArrowName = ManeuverArrow<br />
anchorName = Anchor<br />
}<br />
}<br />
proxy = 0, 0, 0, 0.075, 0.01, 0.09, 1.0, 0.5, 0<br />
</pre><br />
<pre><br />
PROP<br />
{<br />
name = switch<br />
MODULE<br />
{<br />
name = internalGeneric<br />
}<br />
}<br />
proxy = 0, 0, 0, 0.0225, 0.0075, 0.0225, 0, 1, 0<br />
</pre><br />
<br />
== Internals Configuration Files ==<br />
<br />
== Strategies Configuration Files ==<br />
Contained in Strategies.cfg, used to describe the variable strategies available. Each strategy opens with STRATEGY {<br />
<br />
{|class="wikitable"<br />
! variable !! samples !! description !! in code<br />
|-<br />
| name || <br />
* AppreciationCampaignCfg<br />
* FundraisingCampaignCfg<br />
* OpenSourceTechProgramCfg<br />
* UnpaidResearchProgramCfg<br />
* OutsourcedResearchCfg<br />
* PatentsLicensingCfg<br />
* AgressiveNegotiations<br />
* RecoveryTransponders<br />
|| Internal Description of Campaign Name. No spaces or special characters || <pre>name = AppreciationCampaignCfg</pre><br />
|-<br />
| title || Recovery Transponder Fitting || Flavor text for the campaign name || <pre>title = Appreciation Campaign</pre><br />
|-<br />
| desc || Recovering parts landed far away from the Space Center can be very costly, but I reckon we can reduce those costs by installing better transponders on the parts we launch. These units are not cheap, but they should make it much easier to find parts, improving the recovery value even if they're half-way around Kerbin. What do you say? || Flavor text for the description of the campaign || <pre>desc = We could definitely improve our <br />
image by putting some effort into reminding Kerbals <br />
everywhere of just how great the Space Program is. <br />
Advertisement space isn't free, however.</pre><br />
|-<br />
| department ||<br />
* Operations<br />
* Finances<br />
* Science<br />
* Public Relations<br />
|| Specifies the Department that the strategy belongs to. Can only be a department that already exists (as of [0.90] || <pre>department = Public Relations</pre><br />
|-<br />
| icon || || specifies the icon image to be used in conjunction with the campaign. In the campaign selection. || <pre>icon = Squad/Strategies/Icons/AppreciationCampaign</pre><br />
|-<br />
| groupTag ||<br />
* Basic,A<br />
* Basic,B<br />
* Basic,C<br />
* Misc,D<br />
* Misc,Recovery<br />
<br />
|| Uncertain, clearly has something to do with grouping || <pre>groupTag = Basic,A</pre><br />
|-<br />
| minLeastDuration || positive Integers || the minimum shortest amount of time (in days) that the campaign may have (campaigns must run at least this long) || <pre>minLeastDuration = 60</pre><br />
|-<br />
| maxLeastDuration || positive Integers || the maximum shortest amount of time (in days) that the campaign may have. Using the sliders, campaigns may be adjusted to require at least this long to run || <pre>maxLeastDuration = 100</pre><br />
|-<br />
| minLongestDuration || positive Integers || the minimum longest duration (in days) of the campaign. Using the sliders, campaigns may be adjusted to only run this long || <pre>minLongestDuration = 1200</pre><br />
|-<br />
| maxLongestDuration || positive Integers || the maximum longest duration (in days) of the campaign (campaigns cannot run longer than this) || <pre>maxLongestDuration = 1600</pre><br />
|-<br />
| requiredReputationMin || Integers || Minimum reputation required to purchase this campaign || <pre>requiredReputationMin = -500</pre><br />
|-<br />
| requiredReputationMax || Integers || The most reputation you can be required to have in order to run this campaign || <pre>requiredReputationMax = 750</pre><br />
|-<br />
| initialCostFundsMin || Integers || Minimum funds required to purchase this campaign || <pre>initialCostFundsMin = 8000.0</pre><br />
|-<br />
| initialCostFundsMax || Integers || The largest amount of Kerbits that can be required to purchase this campaign || <pre>initialCostFundsMax = 160000.0</pre><br />
|-<br />
| initialCostReputation || Integers || Minimum cost in reputation to run this campaign || <pre>initialCostReputation = 0.0</pre><br />
|-<br />
| initialCostScience || Integers || Minimum cost is science points to run this campaign || <pre>initialCostScience = 0.0</pre><br />
|-<br />
| hasFactorSlider || <br />
* True<br />
* False<br />
|| Can the campaign be adjusted by increasing inputs and getting greater outputs out of the campaign? || <pre>hasFactorSlider = True</pre><br />
|-<br />
| factorSliderDefault || Float || multiplication factor for each step along the slider bar|| <pre>factorSliderDefault = 0.05</pre><br />
|-<br />
| factorSliderSteps || Numbers || number of steps/stages in the slider bar || <pre>factorSliderSteps = 20</pre><br />
|-<br />
| EFFECT { || see table below || describes what the particular campaign actually does || see table below<br />
|}<br />
<br />
=== EFFECTS ===<br />
There are currently three different EFFECT types available for use in Strategies: CurrencyOperation, ValueModifier, and CurrencyConverter. Each one has different variables and are detailed below.<br />
<br />
{|class="wikitable"<br />
CurrencyOperation<br />
! variable !! samples !! description !! in code<br />
|-<br />
| name || <br />
* CurrencyOperation<br />
|| internal reference name || <pre>name = CurrencyConverter</pre><br />
|-<br />
| currency || <br />
* Funds<br />
|| input and output for campaign operations || <pre>currency = Funds</pre><br />
|-<br />
| operation || <br />
* Multiply<br />
* Add<br />
|| operation to perform on currency || <pre>operation = Multiply</pre><br />
|-<br />
| effectDescription || "to Launch Costs" || Flavor text for the operation to be performed || <pre>effectDescription = to Launch Costs</pre><br />
|-<br />
| minValue || Float || factor to use in operations || <pre>minValue = 1.1</pre><br />
|-<br />
| maxValue || Float || factor to use in operations || <pre>maxValue = 1.06</pre><br />
|-<br />
| AffectReasons || <br />
* VesselRollout<br />
* RnDPartPurchase<br />
|| conditions that trigger the operation || <pre>AffectReasons = VesselRollout</pre><br />
|}<br />
<br />
{|class="wikitable"<br />
ValueModifier<br />
|-<br />
! variable !! samples !! description !! in code<br />
|-<br />
| name || <br />
* ValueModifier<br />
|| internal reference name || <pre>name = CurrencyConverter</pre><br />
|-<br />
| valueID || VesselRecoveryFactor || Value to be modified || <pre>valueId = VesselRecoveryFactor</pre><br />
|-<br />
| minValue || Float || factor to use in operations || <pre>minValue = 1.1</pre><br />
|-<br />
| maxValue || Float || factor to use in operations || <pre>maxValue = 1.06</pre><br />
|}<br />
<br />
{|class="wikitable"<br />
CurrencyConverter<br />
|-<br />
! variable !! samples !! description !! in code<br />
|-<br />
| name || <br />
* CurrencyConverter<br />
|| internal reference name || <pre>name = CurrencyConverter</pre> <br />
|-<br />
| input || <br />
* Funds<br />
* Reputation <br />
* Science<br />
<br />
|| specifies the input for the campaign || <pre>input = Funds</pre><br />
|-<br />
| output || <br />
* Reputation <br />
* Funds <br />
* Science<br />
<br />
|| specifies the outputs for the campaign || <pre>output = Reputation</pre><br />
|-<br />
| minShare || Float || specifies the minimum || <pre>minShare = 0.0</pre><br />
|-<br />
| maxShare || Float || specifies the maximum || <pre>maxShare = 1.0</pre><br />
|-<br />
| minRate || Float || specifies the minimum rate of conversion, based on slider values || <pre>minRate = 0.041667</pre><br />
|-<br />
| maxRate || Float || specifies the maximum rate of conversion, based on slider values || <pre>maxRate = 0.0520</pre><br />
|-<br />
| AffectReasons || <br />
* ContractReward<br />
* ScienceTransmission<br />
* ContractAdvance<br />
* VesselRecovery<br />
* VesselRollout<br />
* RnDPartPurchase<br />
<br />
|| criteria for conversions || <pre>AffectReasons = ContractReward, ContractAdvance</pre><br />
|-<br />
| effectDescription || <br />
* gains<br />
* Income<br />
|| describes the type of return || <pre>effectDescription = Income</pre><br />
|}<br />
<br />
== Department Configuration Files ==<br />
Used in the Strategies system, these specify the Departments available that provide different strategies for use.<br />
<br />
{|class="wikitable"<br />
|-<br />
! variable !! samples !! description !! in code<br />
|-<br />
| name || <br />
* Finances <br />
* Science<br />
* Public Relations<br />
* Operations <br />
|| The department name || <pre>name = Public Relations</pre><br />
|-<br />
| desc || Flavor Text || describes the department || <pre><br />
desc = Linus is Wernher Von Kerman's Intern. <br />
Because Wernher himself is too important to be <br />
bothered with these boring strategy meetings. <br />
He sends his intern in his stead.</pre><br />
|-<br />
| color || array of 3 numbers between 0 and 255 || specifies the color of the department || <pre>color = 149 254 135</pre><br />
|-<br />
| avatar || <br />
* Strategy_MechanicGuy<br />
* Strategy_PRGuy<br />
* Strategy_ScienceGuy<br />
* Strategy_Mortimer<br />
|| Internal name of the Department Head || <pre>avatar = Strategy_PRGuy</pre><br />
|-<br />
| headName || <br />
* Mortimer Kerman<br />
* Linus Kerman<br />
* Walt Kerman<br />
* Gus Kerman<br />
|| Flavor Text for the Department Head || <pre>headName = Walt Kerman</pre><br />
|-<br />
| headImage ||<br />
* MORTIMER_KERMAN<br />
* SCIGUY_KERMAN<br />
* PRGUY_KERMAN<br />
* PRGUY_KERMAN<br />
|| animation file name for the Head shot of the Department Head featured in the strategy selection screen|| <pre>headImage = PRGUY_KERMAN</pre><br />
|}<br />
<br />
[[Category:Tutorials]]<br />
[[Category:Documentation]]<br />
[[Category:Modding]]</div>Michahttps://wiki.kerbalspaceprogram.com/index.php?title=Setting_up_Visual_Studio&diff=95500Setting up Visual Studio2019-11-28T15:24:12Z<p>Micha: Update for KSP1.8</p>
<hr />
<div>Microsoft Visual Studio is a program (more specifically IDE, or Integrated Development Environment) that makes it easier to code applications for Windows. For KSP, it is used for developing plugins (parts, part modules, mono behaviours or scenario modules) via the C# IDE, although any program that can compile C# is sufficient.<br />
<br />
== Prerequisites ==<br />
<br />
In order to complete this tutorial you must have the following. Plugins may be written in other environments.<br />
<br />
* Microsoft Windows XP or above<br />
* Microsoft .NET Framework 4.0 or above (4.5 is recommended)<br />
** Before KSP 1.8, Microsoft .NET Framework 3.5<br />
* For Windows 7 or 8 [http://www.visualstudio.com/en-us/products/visual-studio-community-vs Visual Studio Community 2017] or for Windows XP [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express Microsoft Visual C# Express 2010]<br />
** You can use any version of Visual Studio from VS2012 (2010 for XP) onwards, which are functionally similar.<br />
* Latest version of Kerbal Space Program.<br />
<br />
== Setting Up ==<br />
<br />
# Close any solutions you currently have open by choosing '''File > Close Solution'''.<br />
# Start a new solution either by selecting '''New Project''' from the Home screen, or by using '''File > New > Project...'''<br />
# Create a new Class Library project for C#: In the "New Project" dialog, on the left choose '''Installed > Templates > Visual C# > Windows'''. In the middle, choose '''Class Library.''' At the top, if your version of Visual Studio has a dropdown for .NET version, choose '''.NET Framework 4.5''' ('''.NET Framework 4.5''' for KSP versions prior to 1.8).<br />
# Name it whatever you like. (We're using MyKSPProject for this tutorial, so replace MyKSPProject with whatever you're using.) [[File:VS2012-NewClassLib.png|thumb|right|Setting up the class library project]] Click '''Ok''' in the New Project dialog.<br />
# In your Solution Explorer (the pane on the top right of the screen), right-click on MyKSPProject (not "Solution 'MyKSPProject' (1 project)") and choose Add Reference.[[File:VS2012-AddRef.png|thumb|right|Adding references]]<br />
# Switch to the Browse tab.<br />
# Click on the "Browse..." button.<br />
# Go to your KSP_Data\Managed folder and add the following DLLs as references:<br />
#* KSP_INSTALL_FOLDER\KSP_Data\Managed\Assembly-CSharp.dll<br />
#* KSP_INSTALL_FOLDER\KSP_Data\Managed\UnityEngine.dll<br />
# Save your solution.<br />
# If you didn't set the .NET Framework earlier, in your Solution Explorer (the pane on the top right of the screen), right-click on MyKSPProject and choose Properties. Change the Target Framework to 4.5 (Visual Studio will default to a newer framework version). Visual Studio will reload the project after you click ok.<br />
<br />
<br />
Great, you're all set! Now continue to [[Tutorial:Creating your first module|creating your first module]]!<br />
<br />
[[Category:Tutorials]]<br />
[[Category:Plugin SDK Tutorials]]</div>Michahttps://wiki.kerbalspaceprogram.com/index.php?title=Setting_up_Visual_Studio&diff=95499Setting up Visual Studio2019-11-28T15:22:58Z<p>Micha: Formatting</p>
<hr />
<div>Microsoft Visual Studio is a program (more specifically IDE, or Integrated Development Environment) that makes it easier to code applications for Windows. For KSP, it is used for developing plugins (parts, part modules, mono behaviours or scenario modules) via the C# IDE, although any program that can compile C# is sufficient.<br />
<br />
== Prerequisites ==<br />
<br />
In order to complete this tutorial you must have the following. Plugins may be written in other environments.<br />
<br />
* Microsoft Windows XP or above<br />
* Microsoft .NET Framework 4.0 or above (4.5 is recommended)<br />
** Before KSP 1.8, Microsoft .NET Framework 3.5<br />
* For Windows 7 or 8 [http://www.visualstudio.com/en-us/products/visual-studio-community-vs Visual Studio Community 2017] or for Windows XP [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express Microsoft Visual C# Express 2010]<br />
** You can use any version of Visual Studio from VS2012 (2010 for XP) onwards, which are functionally similar.<br />
* Latest version of Kerbal Space Program.<br />
<br />
== Setting Up ==<br />
<br />
# Close any solutions you currently have open by choosing '''File > Close Solution'''.<br />
# Start a new solution either by selecting '''New Project''' from the Home screen, or by using '''File > New > Project...'''<br />
# Create a new Class Library project for C#: In the "New Project" dialog, on the left choose '''Installed > Templates > Visual C# > Windows'''. In the middle, choose '''Class Library.''' At the top, if your version of Visual Studio has a dropdown for .NET version, choose '''.NET Framework 3.5'''.<br />
# Name it whatever you like. (We're using MyKSPProject for this tutorial, so replace MyKSPProject with whatever you're using.) [[File:VS2012-NewClassLib.png|thumb|right|Setting up the class library project]] Click '''Ok''' in the New Project dialog.<br />
# In your Solution Explorer (the pane on the top right of the screen), right-click on MyKSPProject (not "Solution 'MyKSPProject' (1 project)") and choose Add Reference.[[File:VS2012-AddRef.png|thumb|right|Adding references]]<br />
# Switch to the Browse tab.<br />
# Click on the "Browse..." button.<br />
# Go to your KSP_Data\Managed folder and add the following DLLs as references:<br />
#* KSP_INSTALL_FOLDER\KSP_Data\Managed\Assembly-CSharp.dll<br />
#* KSP_INSTALL_FOLDER\KSP_Data\Managed\UnityEngine.dll<br />
# Save your solution.<br />
# If you didn't set the .NET Framework earlier, in your Solution Explorer (the pane on the top right of the screen), right-click on MyKSPProject and choose Properties. Change the Target Framework to 3.5 (Visual Studio will default to a newer framework version). Visual Studio will reload the project after you click ok.<br />
<br />
<br />
Great, you're all set! Now continue to [[Tutorial:Creating your first module|creating your first module]]!<br />
<br />
[[Category:Tutorials]]<br />
[[Category:Plugin SDK Tutorials]]</div>Michahttps://wiki.kerbalspaceprogram.com/index.php?title=Setting_up_Visual_Studio&diff=95498Setting up Visual Studio2019-11-28T15:22:05Z<p>Micha: Updated for KSP1.8</p>
<hr />
<div>Microsoft Visual Studio is a program (more specifically IDE, or Integrated Development Environment) that makes it easier to code applications for Windows. For KSP, it is used for developing plugins (parts, part modules, mono behaviours or scenario modules) via the C# IDE, although any program that can compile C# is sufficient.<br />
<br />
== Prerequisites ==<br />
<br />
In order to complete this tutorial you must have the following. Plugins may be written in other environments.<br />
<br />
* Microsoft Windows XP or above<br />
* Microsoft .NET Framework 4.0 or above (4.5 is recommended)<br />
* Before KSP 1.8, Microsoft .NET Framework 3.5<br />
* For Windows 7 or 8 [http://www.visualstudio.com/en-us/products/visual-studio-community-vs Visual Studio Community 2017] or for Windows XP [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express Microsoft Visual C# Express 2010]<br />
** You can use any version of Visual Studio from VS2012 (2010 for XP) onwards, which are functionally similar.<br />
* Latest version of Kerbal Space Program.<br />
<br />
== Setting Up ==<br />
<br />
# Close any solutions you currently have open by choosing '''File > Close Solution'''.<br />
# Start a new solution either by selecting '''New Project''' from the Home screen, or by using '''File > New > Project...'''<br />
# Create a new Class Library project for C#: In the "New Project" dialog, on the left choose '''Installed > Templates > Visual C# > Windows'''. In the middle, choose '''Class Library.''' At the top, if your version of Visual Studio has a dropdown for .NET version, choose '''.NET Framework 3.5'''.<br />
# Name it whatever you like. (We're using MyKSPProject for this tutorial, so replace MyKSPProject with whatever you're using.) [[File:VS2012-NewClassLib.png|thumb|right|Setting up the class library project]] Click '''Ok''' in the New Project dialog.<br />
# In your Solution Explorer (the pane on the top right of the screen), right-click on MyKSPProject (not "Solution 'MyKSPProject' (1 project)") and choose Add Reference.[[File:VS2012-AddRef.png|thumb|right|Adding references]]<br />
# Switch to the Browse tab.<br />
# Click on the "Browse..." button.<br />
# Go to your KSP_Data\Managed folder and add the following DLLs as references:<br />
#* KSP_INSTALL_FOLDER\KSP_Data\Managed\Assembly-CSharp.dll<br />
#* KSP_INSTALL_FOLDER\KSP_Data\Managed\UnityEngine.dll<br />
# Save your solution.<br />
# If you didn't set the .NET Framework earlier, in your Solution Explorer (the pane on the top right of the screen), right-click on MyKSPProject and choose Properties. Change the Target Framework to 3.5 (Visual Studio will default to a newer framework version). Visual Studio will reload the project after you click ok.<br />
<br />
<br />
Great, you're all set! Now continue to [[Tutorial:Creating your first module|creating your first module]]!<br />
<br />
[[Category:Tutorials]]<br />
[[Category:Plugin SDK Tutorials]]</div>Michahttps://wiki.kerbalspaceprogram.com/index.php?title=Version_history&diff=94933Version history2019-07-02T01:34:12Z<p>Micha: /* v1.4 */ Add Unity update - nice to have summary of all Unity updates on this page.</p>
<hr />
<div>This page contains all changes to [[Kerbal Space Program]] since [[Version history#v0.7.3|v0.7.3]], the initial public release. The [[planned features]] lists any not released but proposed features.<br />
<br />
<div class="hlist nonumtoc toclimit-2"> __TOC__ </div><br />
<br />
== v1.7.2 ==<br />
Released 12<sup>th</sup> June, 2019<br />
<br />
{{Main article|1.7.2}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.7.1 ==<br />
Released 30<sup>th</sup> May, 2019<br />
<br />
{{Main article|1.7.1}}<br />
=== Summary ===<br />
* Implemented Cargo part category and Inventory processing.<br />
* Kerbal Portraits now available on [[EVA]].<br />
* Bugfixes.<br />
<br />
== v1.7 ==<br />
Released 10<sup>th</sup> April, 2019<br />
<br />
{{Main article|1.7}}<br />
=== Summary ===<br />
* Maneuver Mode.<br />
* Altimeter Mode.<br />
* Part revamps.<br />
<br />
== v1.6.1 ==<br />
Released 9<sup>th</sup> January, 2019<br />
<br />
{{Main article|1.6.1}}<br />
=== Summary ===<br />
* Bugfixes<br />
<br />
== v1.6 ==<br />
Released 19<sup>th</sup> December, 2018<br />
<br />
{{Main article|1.6}}<br />
=== Summary ===<br />
* Delta-v per Stage and Delta-v Tool App.<br />
* Part Revamps.<br />
* Navigation Icons to Launch Sites.<br />
* Ability to remove Helmets and neck rings.<br />
<br />
== v1.5.1 ==<br />
Released 17<sup>th</sup> October, 2018<br />
<br />
{{Main article|1.5.1}}<br />
=== Summary ===<br />
* Hotfix for Aero body lift in flight integrator.<br />
<br />
== v1.5 ==<br />
Released 15<sup>th</sup> October, 2018<br />
<br />
{{Main article|1.5}}<br />
=== Summary ===<br />
* New suits, EVA and IVA.<br />
* Revamped parts.<br />
* Improved Burn Time information.<br />
<br />
== v1.4.5 ==<br />
Released 26<sup>th</sup> July, 2018<br />
<br />
{{Main article|1.4.5}}<br />
=== Summary ===<br />
* Pop dialogs can now be closed/dismissed with ESC key.<br />
* Fixes for Steam workshop.<br />
* Bugfixes<br />
<br />
== v1.4.4 ==<br />
Released 21<sup>st</sup> June, 2018<br />
<br />
{{Main article|1.4.4}}<br />
=== Summary ===<br />
* Support for controllers.<br />
* Steam workshop for missions.<br />
* Steam cloud saves.<br />
* FX improvements.<br />
* Bugfixes<br />
<br />
== v1.4.3 ==<br />
Released 27<sup>th</sup> April, 2018<br />
<br />
{{Main article|1.4.3}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.4.2 ==<br />
Released 28<sup>th</sup> March, 2018<br />
<br />
{{Main article|1.4.2}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.4.1 ==<br />
Released 13<sup>th</sup> March, 2018<br />
<br />
{{Main article|1.4.1}}<br />
=== Summary ===<br />
* Jet engine sounds.<br />
* Localization fixes and enhancements.<br />
* Bugfixes and performance improvements.<br />
<br />
== v1.4 ==<br />
Released 6<sup>th</sup> March, 2018<br />
<br />
{{Main article|1.4}}<br />
=== Summary ===<br />
* Updated to Unity 2017.1.3p1.<br />
* Localization for French, German, Italian and Portuguese-Brazilian.<br />
* New parts (decouplers, separators and fuel tanks).<br />
* Part texture variants.<br />
* EVA Chute.<br />
<br />
== v1.3.1 (Demo) ==<br />
Released 5<sup>th</sup> October, 2017<br />
<br />
{{Main article|1.3.1}}<br />
=== Summary ===<br />
* Localization fixes and enhancements<br />
* Bugfixes and performance improvements<br />
* Other undefined enhancements<br />
<br />
== v1.3 ==<br />
Released 25<sup>th</sup> May, 2017<br />
<br />
{{Main article|1.3}}<br />
=== Summary ===<br />
* Localization for Spanish, Russian, Japanese, Chinese-Simplified.<br />
* Added Ambient light adjustment.<br />
* Asteroid Day Mod merged into stock.<br />
* Bugfixes and tweaks.<br />
<br />
== v1.2.2 ==<br />
Released 6<sup>th</sup> December, 2016<br />
<br />
{{Main article|1.2.2}}<br />
=== Summary ===<br />
* Bugfixes<br />
<br />
== v1.2.1 ==<br />
Released 1<sup>st</sup> November, 2016.<br />
<br />
{{Main article|1.2.1}}<br />
=== Summary ===<br />
* Bugfixes.<br />
<br />
== v1.2 ==<br />
Released 11<sup>th</sup> October, 2016.<br />
<br />
{{Main article|1.2}}<br />
=== Summary ===<br />
* Updated Unity to 5.4.0p4.<br />
* Implemented Text Mesh Pro, which makes our fonts look much better.<br />
* Overhauled Flow Control.<br />
* More wheel improvements.<br />
* Added [[CommNet|comms network]] and [[KerbNet]].<br />
* New [[Debug_Toolbar|Debug window]].<br />
* Many bugfixes and tweaks.<br />
<br />
== v1.1.3 ==<br />
Released 21<sup>st</sup> June, 2016.<br />
<br />
{{Main article|1.1.3}}<br />
=== Summary ===<br />
* Bugfixes and performance enhancements.<br />
<br />
== v1.1.2 ==<br />
Released 30<sup>th</sup> April, 2016.<br />
<br />
{{Main article|1.1.2}}<br />
=== Summary ===<br />
* Bugfixes and optimizations. Added some tweakables for gears and legs <br />
<br />
== v1.1.1 ==<br />
Released 29<sup>th</sup> April, 2016.<br />
<br />
{{Main article|1.1.1}}<br />
=== Summary ===<br />
* Bugfixes and optimizations<br />
<br />
== v1.1 ==<br />
Released 19<sup>th</sup> April, 2016, pre-released on 30<sup>th</sup> March, 2016 <br />
<br />
{{Main article|1.1}}<br />
=== Summary ===<br />
* Ported to Unity 5, should lead to improved physics and performance<br />
* Implemented save file upgrading system, saves shouldn't break<br />
* Added various tutorials and scenarios, and the KSPedia<br />
* GUI improvements<br />
* Weighted contracts<br />
* New rocket and spaceplane parts, fixed some part issues<br />
* Many bugfixes and tweaks<br />
<br />
== v1.0.5 ==<br />
Released 9<sup>th</sup> November, 2015.<br />
<br />
{{Main article|1.0.5}}<br />
=== Summary ===<br />
* Contextual Contracts & Contract Changes<br />
* Thermodynamic improvements<br />
* New buoyancy model<br />
* New rocket and spaceplane parts<br />
* Bugfixes & Tweaks<br />
<br />
== v1.0.4 ==<br />
Released 23<sup>rd</sup> June, 2015.<br />
<br />
{{Main article|1.0.4}}<br />
=== Summary ===<br />
* Hot-Fixed an issue where loading vessels equipped with heatshields from pre-1.0.3 saves would cause the game to crash<br />
<br />
== v1.0.3 ==<br />
Released 22<sup>nd</sup> June, 2015.<br />
<br />
{{Main article|1.0.3}}<br />
=== Summary ===<br />
* This revision brings several much-needed bugfixes and improvements, as well as a few new parts.<br />
* A big revision to the thermal system for parts.<br />
* The heat simulation has been greatly improved.<br />
* Five new Radiator parts.<br />
* Fixed a significant amount of bugs.<br />
<br />
== v1.0.2 ==<br />
Released 1<sup>st</sup> May, 2015.<br />
<br />
{{Main article|1.0.2}}<br />
=== Summary ===<br />
* Overlooked an issue in 1.0.1 regarding [[overheating]] when splashed down<br />
<br />
== v1.0.1 ==<br />
Released 1<sup>st</sup> May, 2015.<br />
<br />
{{Main article|1.0.1}}<br />
=== Summary ===<br />
* This is a small revision patch to address some of the most noticeable bugs were encountered since the release of 1.0.<br />
<br />
== v1.0 (Demo) ==<br />
Released 27<sup>th</sup> April, 2015. First official release.<br />
<br />
{{Main article|1.0}}<br />
=== Summary ===<br />
* Female [[Kerbonaut]] model<br />
* Improved aerodynamics<br />
* Improved component heating and cooling through atmospheric friction, solar radiation exposure, convection and more<br />
* Resource gathering from planets, moons and asteroids<br />
* Procedural [[fairings]]<br />
* Internal views for all cockpits<br />
* Parts relating to above, such as ablative [[heat shield]]s, air brakes and mining drills<br />
<br />
=== Demo Restrictions and changes ===<br />
* Part loading limited to 26 basic parts.<br />
* Career Tech Tree is smaller to fit the 26 parts.<br />
* No Plugin loading.<br />
* SPH and Runway Facilities are inaccessible.<br />
* Only one save profile allowed.<br />
* Cannot launch new flights if 3 or more are already in progress.<br />
* Kerbin, Mun, Minmus, and Kerbol are the only celestial bodies in the Kerbol system.<br />
* Revised tutorials and scenarios to be compatible with the demo set of parts.<br />
* Removed the Station One and Mun Orbit scenarios as those require parts from the full version.<br />
<br />
== v0.90.0 ==<br />
Released 15<sup>th</sup> December, 2014. First (and only) beta release.<br />
<br />
{{Main article|0.90.0}}<br />
=== Summary ===<br />
<br />
* Editor overhaul<br />
* Kerbal [[experience]] and professions (Pilot, engineer, scientist)<br />
* Extra [[contract]]s (Integration of [[Fine Print]])<br />
* [[Biome]]s on every planet and moon<br />
* MK3 overhaul<br />
* Upgradable facilities (in Career)<br />
* Organization of parts, including custom filters<br />
* Tutorial and help<br />
<br />
== v0.25 ==<br />
Released 7<sup>th</sup> October, 2014.<br />
<br />
{{Main article|0.25}}<br />
=== Summary ===<br />
<br />
* New spaceplane parts from Spaceplane Plus mod<br />
* Redesign of some old parts and textures<br />
* Added [[Administration Facility]] with ability to choose strategies in Career mode<br />
* New explosions<br />
* Destructible facilties at Kerbal Space Center<br />
* New [[Game Difficulty|difficulty options menu]]<br />
* Added crew transfer without EVA<br />
* Added new Navball vectors (prograde, retrograde, radial in/out, normal and antinormal)<br />
* Various bug fixes and tweaks<br />
* Integrated Spaceplanes Plus mod into KSP<br />
<br />
== v0.24.2 ==<br />
Released 25<sup>th</sup> July, 2014<br />
<br />
{{Main article|0.24.2}}<br />
=== Summary ===<br />
* Fixed a critical issue which prevented opening the right-click menus for several parts.<br />
<br />
== v0.24.1 ==<br />
Released 24<sup>th</sup> July, 2014<br />
<br />
{{Main article|0.24.1}}<br />
=== Summary ===<br />
<br />
* Various bug fixes and tweaks<br />
** Fixed a relatively serious issue with module loading which could result in missing modules if loading old craft. <br />
** O-10 Maneuvering engine scaling was off. Engine rescaled to proper size (smaller).<br />
** Fixed missing FX components on root parts after resuming a saved game or reverting.<br />
** Fixed a bug in Rescue Kerbal contracts, where rescue by means of external seats or claws wouldn't complete the contract.<br />
** Fixed a very annoying and potentially destructive bug where approaching another vessel could mess up your control state.<br />
** Tweaked costs for several spaceplane and aerodynamic parts<br />
<br />
== v0.24 ==<br />
Released 17<sup>th</sup> July, 2014<br />
<br />
{{Main article|0.24}}<br />
=== Summary ===<br />
* [[Contracts]] system in Career mode for gaining money and reputation<br />
* Reputation System in Career mode<br />
* Mission Control building now accessible for managing contracts<br />
* Parts cost money; space program has fiscal budget<br />
* Parts and fuel recovered after flight return money to budget<br />
* UI in Space Center view in top center shows, from left to right, Available [[Funds]], [[Reputation]], and [[Science]]<br />
* UI in Space Center view in bottom bar, beside time warp control, displays Universal Time<br />
* Three new buttons beside Resources in flight UI: Contracts, and Notifications<br />
* Throttle defaults to 50% at launch<br />
* New Liquid Fuel/Oxidizer powered RCS [[Vernor Engine]]<br />
* New [[monopropellant]] fueled [[O-10 MonoPropellant Engine]]<br />
<br />
== v0.23.5 ==<br />
Released 1<sup>st</sup> April, 2014<br />
<br />
{{Main article|0.23.5}}<br />
=== Summary ===<br />
* Asteroid Redirect Mission!<br />
* New SLS-styled parts<br />
* New part joint system<br />
* 12 additional new features<br />
* 11 bugs fixed<br />
<br />
== v0.23 ==<br />
Released 17<sup>th</sup> December, 2013<br />
<br />
{{Main article|0.23}}<br />
=== Summary ===<br />
* New [[R.A.P.I.E.R. Engine]]<br />
* [[Tweakable]]s added<br />
* 9 additional new features<br />
<br />
== v0.22 ==<br />
Released 16<sup>th</sup> October, 2013<br />
<br />
{{Main article|0.22}}<br />
=== Summary ===<br />
* [[Career mode]]<br />
* [[Science]]<br />
* [[Biome]]s on [[Kerbin]] and the [[Mun]]<br />
* [[Subassemblies]]<br />
<br />
== v0.21.1 ==<br />
Released 24<sup>th</sup> July, 2013<br />
<br />
{{Main article|0.21.1}}<br />
=== Summary ===<br />
* This patch addresses some of the most critical issues found on the 0.21 update.<br />
<br />
== v0.21 ==<br />
Released 24<sup>th</sup> July, 2013<br />
<br />
{{Main article|0.21}}<br />
=== Summary ===<br />
<!-- Bullet points taken from HarvesteR's forum article.<br />
Commented out points which don't fit here. --><br />
* Revised Flight-End scene flow.<br />
* New Space Center Scene.<br />
* The Astronaut Complex Facility.<br />
* Crew Management<br />
* New VAB and SPH Interiors.<br />
<!-- * PSystem. --><br />
* Overhauled SAS Flight Control Sytem.<br />
* Much Improved terrain on Kerbin, the Mun, and other places.<br />
<!-- * A Completely Redesigned Website. --><br />
<br />
== v0.20.2 ==<br />
Released 30<sup>th</sup> May, 2013<br />
<br />
[http://forum.kerbalspaceprogram.com/content/182-0-20-2-Patch-Released Forum post link]<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Tweaked the PNG and JPG texture loaders to not use such insane amounts of memory.<br />
* Fixed the issues with mousewheel input on Linux.<br />
<br />
== v0.20.1 ==<br />
Released 29<sup>th</sup> May, 2013<br />
<br />
[http://forum.kerbalspaceprogram.com/content/180-0-20-1-Revision-Patch-is-out! Forum post link]<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Tweaked the logic for part-to-part collisions. Things should be much less likely to explode on contact.<br />
* Reverted the Mun's height values, so landmarks and bases shouldn't spawn below ground anymore (mind 20.0 saves though).<br />
* Tweaked part components on EVA so they start up with the right values.<br />
* Tweaked the suspension on the new Medium Rover Wheels, to fix jittering.<br />
* Fixed the too-low resolution on planetary diffuse and normal maps.<br />
* Fixed the screen resolution not being properly applied on game start.<br />
* Fixed some situations where the 'Control From Here' selection would be lost on resuming a game save.<br />
* Fixed a serious issue with the Cupola Pod that could cause spontaneous unplanned vessel disassembly.<br />
* Fixed an issue that caused internal spaces to spawn in duplicate sometimes. It was harmless but wasted resources.<br />
* Fixed the scale of Gilly in the Tracking Station scene.<br />
* Fixed a few issues with flags behaving weirdly after they were toppled down.<br />
* Fixed the camera jitter when walking around on EVA.<br />
<br />
== v0.20 ==<br />
Released 21<sup>st</sup> May, 2013<br />
<br />
[http://forum.kerbalspaceprogram.com/showthread.php/30553-KSP-0-20-Released Forum post link]<br />
<br />
=== New ===<br />
<br />
* Command Seat part for Kerbals on EVA.<br />
* Cupola pod with IVA.<br />
* Small Lander pod with IVA.<br />
* 2 new Probe Cores.<br />
* Large Docking Clamp.<br />
* New Medium Wheel.<br />
* Kerbals on EVA can now plant Flags on terrain. Planting a Flag allows you to name the site, which becomes a focus-able object in flight and on the Tracking Station. Planted flags have a Plaque, which can be written during placement, and read only when approached by an EVA.<br />
* Several Stock flags to choose from. Flags are moddable. Create your own!<br />
* Added a Flag selector to the Game Start Dialog.<br />
* Added a Flag Pole Facility to the Space Center.<br />
* Added a FlagDecal part module. Allows any part to have a part of its model textured with the selected flag.<br />
* Added Flag selector to Editor scenes, to select a flag for the mission (defaults to space program flag).<br />
* The Editor no longer requires that the first part on a vessel be a Command Pod. Any part which allows both stacking and surface-attaching can be used as the vessel root.<br />
* Added a new part filtering system to the parts list, which allows excluding and greying-out parts based on any criteria.<br />
* It is now possible to delete the first part on a vessel, and replace it.<br />
* Added the first iteration of the Kerbal Knowledge Base: A collection of vessel and planetary information on the Map and Tracking Station. The Knowledge Base shows information about known Celestial Bodies, displays the crews inside vessels, and much more.<br />
* Added Filtering by vessel type on the Tracking Station.<br />
* Added Filtering to the Map View as well (hover around the top-center of the screen)<br />
* New Loading Screens, with hints.<br />
* Mods and Stock Parts can now have their own separate folders for organization.<br />
* Added a Flags folder to collect flag bitmaps.<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* GameDatabase: Completely overhauled the loading process with a completely new system.<br />
* Added a scene transition buffer system, to ensure optimal memory cleanup when switching scenes.<br />
* Switching vessels no longer resets throttle and other input whenever possible.<br />
* Going on EVA and boarding a vessel (or boarding a seat) also no longer reset the vessel's input state.<br />
* Decoupled vessels inherit the old vessel's control state. <br />
* All parts on a stage will get activated now, even if that stage causes some of those parts to get jettisoned away.<br />
* Streamlined PQS Terrain Assets, reduced memory usage by up to 30%.<br />
* Upgraded Debug Menu, allows reloading parts and cfg files while playing.<br />
* The Map View now properly prioritizes selecting moused-over map nodes when multiple orbits overlap.<br />
* It's now possible to 'pin' the Ap and Pe nodes, so their captions remain visible after moving the mouse away.<br />
* Removed the Splash Screen scene. Now the game starts loading as soon as the application starts.<br />
* Rewrote and organized many scattered game events into a single coherent GameEvents System, which plugins can use.<br />
* If you crash/explode, focus now shifts to the nearest controllable vessel (if any) instead of going straight to the End Flight dialog.<br />
* Many more small bug fixes and tweaks.<br />
* Decoupled vessels now properly inherit the [[action group]] state of the original vessel.<br />
* "Root-dropping" decoupling now properly preserves the staging count for the new decoupled vessel.<br />
* Fixed the EVA flags looking weird during the initial part of the flag-plant animation.<br />
* Fixed staging icons on decoupled parts not being removed from the staging list.<br />
* Fixed the suspension jitter on the Medium Wheels.<br />
* Several improvements to how collisions are detected and handled in the editors.<br />
* Symmetrical counterparts now properly glow red or green based on whether they can attach or not.<br />
* Added a sound for when placing/releasing parts in the editor isn't possible.<br />
* Added the flag pole to the editor scene background.<br />
* Adjusted collision and torque values for the medium wheels so they're a bit faster and tougher.<br />
* Adjusted wheel breaking logic to take into account the relative velocities of rigidbodies.<br />
<br />
== v0.19.1 ==<br />
Released 18<sup>th</sup> March, 2013<br />
<br />
[http://forum.kerbalspaceprogram.com/content/149-KSP-0-19-1 Forum post link]<br />
<br />
(Most 0.19.0 mods should be compatible with this release)<br />
<br />
=== Bug Fixes and Tweaks ===<br />
<br />
* Fixed re-entry shader failing on highly scaled parts<br />
* Corrected an issue that would prevent large rover wheels from applying brakes<br />
* Tweaked braking speed and power on rover wheels<br />
* Adjusted how rover wheels display resource usage<br />
* Changed Ladders on the launchpad ladders to make it easier to climb them.<br />
* Changed the names of launchpad and runway objects to be more descriptive when you crash into them.<br />
<br />
== v0.19.0 ==<br />
Released 16<sup>th</sup> March, 2013<br />
<br />
[http://forum.kerbalspaceprogram.com/content/148-KSP-0-19-Released! Forum post link]<br />
<br />
=== New ===<br />
<br />
* A Native Linux version!<br />
* Added visual (and sound) effects for re-entry and supersonic flight.<br />
* Overhauled the Kerbal Face Expression System with new animations, which are also visible on EVA.<br />
* Added wheel parts and modules for the construction of rovers.<br />
* Added several new general purpose structural parts.<br />
* New mesh for the launch pad area, now with 100% less launch tower.<br />
* New mesh for the Runway, with sloping edges to drive on and off it.<br />
<br />
=== Bug Fixes ===<br />
<br />
* The sun no longer shines from below on ships and scenery objects at night, or while in orbit over the dark side of a planet.<br />
* Fixed the airspeed sound not looping properly, and adjusted the pitch range for it.<br />
* Various minor balance tweaks.<br />
* More texture variety added to probe cores, to better determine their positioning.<br />
* Fixed a few objects that were on the wrong layer.<br />
* Fixed an issue when comparing versions, which could result in false 'incompatible' warnings.<br />
* Fixed an issue with velocity changes when resuming 1x time while on a hyperbolic orbit inside a rotating reference frame.<br />
* Changed the debug toolbar key combo to ModifierKey+F12 (by default Shift+F12 for Linux, Alt+F12 for windows)<br />
* Changed the quick scenario loader key combo to ModifierKey+F10 (was Ctrl+F10 before)<br />
* Removed an unused shader that caused the game to crash on Linux systems with AMD video drivers.<br />
* The Alt modifier key is now remappable, and defaults to RightShift on Linux.<br />
* Remapped all ocurrences of the Alt key to RightShift on Linux (as Alt is OS-reserved on most distros).<br />
* Fixed double-clicks not working properly.<br />
* Added a setting to tweak the mouse wheel axis scaling.<br />
* Input Axes now support linear scaling.<br />
* The Debug console can now also be toggled using the Grave and AltGr keys<br />
<br />
== v0.18.4 ==<br />
Released 14<sup>th</sup> February, 2013<br />
<br />
=== New ===<br />
* Ported the game over to Unity 4. Expect improved performance.<br />
* Added a new stock spaceplane: The Ravenspear Mk4.<br />
<br />
=== Bugfixes and Tweaks ===<br />
* Fixed some buttons not being locked out properly on the Tracking Station and possibly other scenes.<br />
* The Staging Stack now automatically scrolls back into view if a staging operation sends it off screen.<br />
* Stage groups and icons now accurately follow the mouse when dragging.<br />
* Fixed some UI controls and keys being responsive during pause.<br />
* Fixed some sounds (mainly voices) being affected by 3D effects when they shouldn't.<br />
* Fixed an issue when going in and out of Map View after crashing the ship.<br />
* Fixed the EVA map icons not showing.<br />
* Fixed the planetary terrain not starting up properly sometimes.<br />
* Fixed the error messages when exiting the game from the flight scene.<br />
* Added a bad name filter for the Kerbal name generator.<br />
* Fixed issues with the popup dialogs that allowed them to spawn a massive number of duplicates.<br />
* Parts on the parts list no longer show the author on their tooltips (that broke immersion).<br />
* Flight basics tutorial now requires player to set throttle to max before finishing the tutorial (and launching).<br />
* fixed the non-persistent StateName field on MunFlight Tutorial.<br />
* Fixed an issue where controls could become locked when switching focus out of a dead uncontrollable vessel.<br />
* Fixed a collision issue with the large RCS Tank.<br />
* Fixed a transparency issue with smoke FX and explosions.<br />
* Boarding a vessel from EVA no longer toggles the SAS on the vessel.<br />
* The VAB and SPH now show decoupler ejection forces on the part stats.<br />
* Removed a part that wasn't ready and had sneaked its way into the build.<br />
* Fixed a few typos on part descriptions and tutorials.<br />
* Increased Jool's rotating frame threshold altitude to prevent entering its atmosphere with the rotating frame disabled.<br />
* Fixed an issue with the UI background not scaling correctly on the SPH.<br />
* Fixed winglet colliders.<br />
* Fixed EVA light orientations.<br />
* Updated Copyright dates.<br />
* Fixed vab transparency issue.<br />
* Fixed Explosion Shader Transparency issues.<br />
* Fixed Part Actions being clickable if Time Warp was engaged while the Action UI was already up.<br />
* Fixed the latest version checking.<br />
* Fixed some places that were using an old and inaccurate value for the vessel's G-force, preventing entering warp sometimes.<br />
* Fixed an issue which caused DAE model loading to fail.<br />
<br />
== v0.18.3 (Demo) ==<br />
Released 12<sup>th</sup> February, 2013<br />
<br />
=== New ===<br />
* Ported the game over to Unity 4. Expect improved performance.<br />
* Added an exit splash screen.<br />
<br />
=== Bugfixes and Tweaks ===<br />
* Parts on the parts list no longer show the author on their tooltips (that broke immersion).<br />
* Flight basics tutorial now requires player to set throttle to max before finishing the tutorial (and launching).<br />
* Fixed the non-persistent StateName field on MunFlight Tutorial.<br />
* Fixed the planetary terrain not starting up properly sometimes.<br />
* Fixed the error messages when exiting the game from the flight scene.<br />
* Added a bad name filter for the Kerbal name generator.<br />
* Disabled multiple demo warnings and timewarp notices.<br />
* Fixed vab transparency issue.<br />
* Stopped plugin folders from being created.<br />
* Fixed several spelling and grammatical errors.<br />
* Removed Debug logging for interia tensors.<br />
* Fixed winglet colliders.<br />
* Fixed EVA light orientations.<br />
* Updated Copyright dates.<br />
* Fixed Explosion Shader Transparency issues.<br />
* Disabled the debug toolbar.<br />
* Fixed an issue when going in and out of Map View after crashing the ship.<br />
* Fixed more ocurrences [sic] of the terrain not loading properly when entering flight.<br />
* Fixed some UI controls and keys being responsive during pause.<br />
* Rescaled the exit screen to fit 5:4 aspect ratios.<br />
* Fixed some more ocurrences [sic] of the terrain failing to load issue.<br />
* The Staging Stack now automatically scrolls back into view if a staging operation sends it off screen.<br />
* Stage groups and icons now accurately follow the mouse when dragging.<br />
* Fixed the MunFlight Tutorial not allowing use of the Map.<br />
* Boarding a vessel from EVA no longer toggles the vessel's SAS state.<br />
* The VAB and SPH now show decoupler ejection forces on the part stats.<br />
* Fixed Part Actions being clickable if Time Warp was engaged while the Action UI was already up.<br />
<br />
=== Demo Restrictions and changes ===<br />
* Part loading limited to the 25 stock ones.<br />
* No Plugin loading.<br />
* SPH and Runway Facilities are unnaccessible.<br />
* Only one save profile allowed.<br />
* Cannot launch new flights if 3 or more are already in progress.<br />
* Kerbin, the Mun and the Sun are the only celestial bodies in the solar system.<br />
* Replaced the Spaceport button on the main menu with a button to order the full version.<br />
* Revised tutorials and scenarios to be compatible with the demo set of parts.<br />
* Removed the Station One and Mun Orbit scenarios as those require parts from the full version.<br />
<br />
== v0.18.2 ==<br />
Released 20<sup>th</sup> December, 2012<br />
<br />
=== New ===<br />
* Training: Added a Basic Flight Tutorial, and a Basic Vessel Construction Tutorial.<br />
* Solar System: Added a new icy planet called Eeloo, somewhere out past Jool.<br />
* Scenarios: Added a scenario called Station One, where a refueling station is already in orbit.<br />
* UI: Added a button to open the SpacePort site on the Main Menu (opens on the default browser)<br />
* Music: Added two new tracks for space and another one for construction.<br />
<br />
=== Bugfixes and Tweaks ===<br />
* Graphics: 800x600 is no longer a valid resolution option. Minimum possible resolution is now 960x720.<br />
* Docking: Fixed ejected debris being incorrectly typed as "Unknown".<br />
* UI: Fixed an issue where the "Resume Saved" dialog wouldn't show if a save folder was missing its persistent.sfs file.<br />
* UI: The "Resume Saved" and Craft Load dialogs now offer to clean up incompatible files if any are detected.<br />
* UI: Incompatible/Invalid entries on those dialogs are now greyed out, and the reason why they can't be loaded is displayed.<br />
* UI: Fixed an issue with popup dialogs cutting out content (text and buttons) when multiple dialogs were spawned at once.<br />
* UI: The Resources panel is now visible while in the Map View.<br />
* Decouplers now break the connection at a specific node, instead of breaking the connection to the parent part. This enables choosing which side will remain attached.<br />
* Physicsless parts now get "promoted" to physical ones if they become the root of a vessel (by decoupling)<br />
* Persistence: Vessel rotation is now stored relative to the universe, instead of in worldspace. This fixes vessels having seemingly random rotations upon resuming a save.<br />
* Parts: Fixed an issue with the engine fairings which caused engines to lose mass on save/load cycles.<br />
* Parts: RCS thrusters no longer try (and fail) to do lever arm compensation.<br />
* Music: Fixed an issue where some tracks were subject to doppler effects in flight.<br />
* Solar System: Pol's gravity increased slightly<br />
* Solar System: Bop and Pol's semi-major axes increased (Bop's SOI almost intersected Tylo's)<br />
* Gameplay: Fixed an issue where crashing a ship wouldn't properly remove the root part and cause weird "physics" sometimes.<br />
* Gameplay: Fixed an issue with renaming vessels from symmetrically-placed command pods.<br />
* Maneuver Nodes: Fixed a small but annoying issue where maneuver gizmos would switch modes when rotating the camera just after creating a maneuver.<br />
* Training: Fixed Gene Kerman introducing himself as Wernher von Kerman on the Orbit 101 tutorial.<br />
* Parts: Fixed an issue where the root part of a vessel would live on in a weird state after crashing.<br />
* Docking: Fixed an issue where docking ports wouldn't resume their fuel crossfeed properly sometimes.<br />
* Controls: Added input locks to action groups and part context UIs, so they lock when appropriate.<br />
* UI: Part Resource Context Gauges now correctly go away when the corresponding part gets detached from the current ship.<br />
* Parts: Fixed an issue that could cause RCS thrusters to fly off on their own because of numerical spikes.<br />
* Parts: Landing gear now remember to set the brakes when resuming flight.<br />
* Gameplay: Added a rule to prevent saving the game or switching vessels while the current one is throttled up.<br />
* Gameplay: Unrestricted vessel switching is now only allowed if the vessel to be focused is loaded and unpacked. <br />
* Tutorials: Fixed the Construction Tutorial erroring out with an "incompatible" sfs when launching after completing the tutorial.<br />
* Tutorials: Tutorial Scenarios now delete the instructor objects when the ScenarioModule is destroyed.<br />
* Tutorials: The Construction Tutorial now allows launching the constructed vessel, and going back to edit it later.<br />
* Controls: Action groups are now locked when in map view, to prevent accidental activation without being able to see the ship.<br />
* Controls: Map View won't lock RCS off anymore when the navball is up.<br />
* UI: Added some sanity checking to text fields (vessel names and saves), so illegal characters don't cause trouble.<br />
<br />
== v0.18.1 ==<br />
Released 3<sup>rd</sup> December, 2012<br />
<br />
=== Bugfixes and Tweaks ===<br />
* Fixed an issue which could cause an error when undocking if the undocked vessel was missing its original root part.<br />
* Fixed the vessel snapping when docking, which could cause misaligned docking connections sometimes.<br />
* Fixed an issue where docking to docked vessels could cause trouble when undocking again in a different order.<br />
* Fixed manually-defined vessel types getting lost after docking.<br />
* Fixed a misspelled parameter on the smallRadialEngine cfg<br />
* Fixed an issue with the solar panels exposure detection maths.<br />
* Fixed a case where RCS could become activated by ASAS during time warp and eat all propellant<br />
* Adjusted Solar Panel raycasting to prevent false positives on planetary occlusion<br />
* Gimbal module now displays vectoring information in the VAB<br />
* Adjusted initialization of the gimbal module for better mod support <br />
* Gimbals now have an optional movement speed parameter<br />
* Changed Airflow Display during timewarp on the intakes<br />
* Gave Launch Pad Clamps power, so probes don't die waiting for a launch window.<br />
<br />
== v0.18.0 ==<br />
Released 1<sup>st</sup> December, 2012<br />
<br />
=== New ===<br />
<br />
* Docking: Connecting vessels together is now possible! Build space stations, surface bases, or assemble huge spacecraft in orbit. <br />
* Flight Planning: Getting to other planets and moons just got a lot simpler. Place maneuvers along your orbit to create a flight plan, and then just follow the guidance cues. No need to figure out angles or hold a protractor to the screen!<br />
* Improved Map UI: New map icons show close approaches, intersections with other orbits, and a lot more, so you can focus on getting where you want to go, instead of worrying about how to get there. <br />
* New Vessel Types and Vessel Renaming: Building a station? You can now rename and set your vessel as one of several new types, so it'll show on the map with the appropriate icon and name.<br />
* Automatic Fairings: Rockets now look like proper rockets! Several parts now have automatic fairings that pop up whenever something is stacked below them, and then jettison away during flight.<br />
* Much Improved Models and Textures: Many of the old parts have been completely redone, with carefully constructed meshes and hand painted textures, to give KSP a new look. <br />
* A slew of new part types: [[solar panel]]s, [[docking port]]s, [[Battery|batteries]], trusses, [[ion engine]]s, [[electric light]]s, side-mounted [[parachute]]s (or "radial parachutes"), [[crew cabin]]s, new science parts, and a heap more!<br />
* Unmanned Probes: New unmanned pods for building probes and unmanned missions, plus a huge amount of new probe parts.<br />
* Action Groups: A new way to control your ships! Instead of having everything done through staging, you can assign parts to groups that are controlled with a keypress. Set up Abort systems, or rig up complex contraptions. Or just let the game handle it automatically.<br />
* New Input Modes: No need to have two hands on the keyboard and a third one on the mouse anymore. New input modes make for much more ergonomic controls, and it's all remappable!<br />
* Two new celestial bodies: New places to explore, with interesting and varied terrain.<br />
* New Resources System: Watching fuel drain has never been so much fun! New resources allow for completely new possibilities. Energy, Fuel, Oxidizer and other resources now flow through your ship. Manage them as you fly, and pump them across parts.<br />
* Electricity: More power to the Kerbals! Many new functional electrical parts added, like Solar Panels, Batteries, and even a Nuclear Reactor!<br />
* Lights: Landing on the nightside just got a lot less deadly, with new landing and floodlight parts.<br />
* Functional Air Intakes: Turbines now properly require air to run, and Intakes can provide it for them, as long as there is an atmosphere around you.<br />
* Music: KSP now has its own soundtrack, featuring many cool tracks, from smooth jazzy tunes to build ships by, to wondrous spacy themes as you explore the solar system.<br />
* Much improved planets: Kerbin looks a lot better now, with hand-built terrain features. Moho and Eve also got major overhauls, and many others have also been improved.<br />
* Performance Tweaks: New terrain optimizations and a system to prevent lag by slowing the simulation make for a significant improvement in performance.<br />
<br />
== v0.17.1 ==<br />
Released 30<sup>th</sup> Oct, 2012<br />
<br />
=== New ===<br />
* New option on the settings file to enable verbose debug logging, to include a call stack trace (when available)<br />
* Added a slider in Game Settings to allow adjusting the UI size.<br />
* Added Main Menu and Credits music.<br />
* The Q and E keys can now be used to control yaw with the EVA Jetpack<br />
* The flight UI now scales dynamically depending on screen resolution, to always have the same pixel size.<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Fixed an issue where the menu ambience music would sometimes start playing on other scenes after some time had elapsed.<br />
* Overhauled the Debug Console. Entries are now labeled and colored according to type and the text is selectable.<br />
* Fixed the crewmember name textfields on the flight UI not scaling font size properly.<br />
* Fixed the terrain collision detection issues for Gilly and Bop.<br />
* Tweaked the terrain preset settings and PQS subvision methods for a significant reduction in object count.<br />
* PQS terrain quads are now positioned as closely as possible to their vertices, for maximum mesh stability.<br />
* Added a game setting to disable the automatic orientation when pressing any of the WSAD keys while jetpacking on EVA.<br />
* Fixed an issue with the terrain engine that resulted in invisible oceans.<br />
* Fixed a small bug on the patched conics maths that could have caused some trouble.<br />
* Fixed the misaligned Music and Voice Volume sliders on the Audio Settings Screen.<br />
* Added a Render Quality slider to the video settings screen.<br />
* Fixed an issue where ships could break apart when changing warp rates too quickly (the "Space Cthulhu" bug)<br />
* Fixed an issue with the VAB/SPH UI, that made it possible to launch without a ship, causing a total game crash.<br />
* Removed an unused asset from the tracking station scene, which was taking up memory without adding anything.<br />
* Fixed a problem that could cause parachutes to despawn when travelling at high speeds.<br />
<br />
== v0.17 ==<br />
Released 19<sup>th</sup> Sept, 2012<br />
<br />
=== New ===<br />
* Internal Cockpit Views: The first iteration of the IVAs (Intra-Vehicular Activities) feature set.<br />
* Multiple Player Saves: You can now have multiple ongoing game sessions, as each save is kept in its own folder (instead of all using the saves/default one). <br />
* Quick Flight Scenarios: Start flights from pre-set conditions, without interfering with your persistent sandbox save, and also save your own scenarios from your main game.<br />
* Scenario Logic Modules: Like PartModules, but for scene logic (and defined on an SFS file instead of a part.cfg).<br />
* Training Scenarios: Hands-On tutorials to teach you everything from craft construction to orbital maneuvers.<br />
* Center of mass, thrust, lift and drag visual cues on the construction scenes.<br />
* Prebuilt ships included with the game, as examples and possible starting points.<br />
* Many new planets and moons throughout the Kerbal Solar System.<br />
* Physical Timewarp Modes: An alternate time-warp mode where you can accelerate time to 2x, 3x and 4x without putting the sim on rails. <br />
* Several new parts<br />
* Added new tree and boulder meshes for Kerbin (No more paper cutout trees)<br />
* Pressing backspace will now reset the map and internal view. <br />
* Middle mouse modifies the internal camera zoom by an additional 2x.<br />
* Double clicking middle mouse will reset the internal camera zoom.<br />
* Unlit/Transparent shader added to mu reader/writer.<br />
* Added Nuclear-Thermal Engine part<br />
* Added focusable areas for internal views<br />
* Added Settings for Music and Voice Volume<br />
* Double-tapping the wheel brakes key will now set parking brakes.<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Fixed an issue with numerical inaccuracy at very high velocities (the "Space Kraken" bug).<br />
* Fixed several issues with the fuel flow logic.<br />
* Tweaked the atmosphere rendering for Kerbin, for improved visuals.<br />
* Ships saved by one player are private to that player. Ships on the KSP/Ships folders are common to all players and non-overwritable (from inside the game)<br />
* Added a button on game loading dialog, to delete a saved game and all its contents (prompts for confirmation).<br />
* Added a button on the ship loading dialog to delete saved ships (prompts for confirmation).<br />
* Added a button on the Tracking Station to terminate an ongong flight (prompts for confirmation).<br />
* Implemented dynamic walk cycle blending for EVA Kerbals under G levels between 0.17 and 1G <br />
* Added a floating origin system to the Scaled Space subscene, eliminating the visual jittering when viewing distant objects in the map view.<br />
* Revised part titles and descriptions for the parts added in 0.16<br />
* Fixed an issue with the terrain altitude detection, which could cause vessels (mostly debris) to fall through terrain.<br />
* Fixed an issue where flying through a Mun arch would destroy the vessel.<br />
* Fixed an issue with the G force calculation for vessels, which could prevent saving or warping.<br />
* Fixed several issues with the orbit math while on solar escape trajectories.<br />
* Fixed an issue with Krakensbane that could cause sub-optimal Kraken-banishment.<br />
* Smoke trails are now properly updated in moving reference frames.<br />
* Added smoothing to altimeter.<br />
* Fixed an issue with part initialization order which could cause a lot of trouble with physics and joints.<br />
* Fixed a bug with crossing SOIs at 1x warp.<br />
* Found and worked around a unity bug which caused several issues with parts colliding within the same vessel, and getting twitched out of place.<br />
* Fixed issues with the landing gear (will still need a rewrite, but should be better now)<br />
* Fix for advanced canard inversion of movement.<br />
* The Map Camera no longer rotates when in a rotating reference frame.<br />
* The ship cache is now properly cleared when starting a new game.<br />
* The Simulate In Background setting no longer requires a game restart to take effect.<br />
* The orbit trajectory reframing maths are all done with double-precision now, to remove jitter from the orbit splines.<br />
* Fuel tank parts no longer look into parent parts for fuel, unless connected to them by a fuel line.<br />
* Rewrote the LandingGear part as a PartModule, for a much more robust and stable implementation.<br />
* Tweaked the friction values for the landing gear wheels<br />
* Fixed an issue in Vessel that could cause a stream of nullref errors<br />
* Fixed an issue with Vessels not properly updating the positions of physicsless parts.<br />
<br />
== v0.16 ==<br />
Released 20<sup>th</sup> July, 2012<br />
<br />
=== New ===<br />
* Kerbal crewmembers in Extra-Vehicular Activities, both at the surface and in orbit.<br />
* Kerbal scientists, mechanics and ground crew all around the Space Center Facilities.<br />
* New Internal Cockpit models, with full modding support.<br />
* New (Much lighter on performance) Particle Effects and Explosions<br />
* Several new, larger rocket parts.<br />
* Added a Launch Clamp part. It holds the ship in place at the pad so it doesn't crumble to pieces before you get a chance to launch.<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Set all parts on the same vessel to ignore collisions with each other. Hopefully this will solve all part-to-part collision problems.<br />
* Reduced the minimum collider intersection threshold to much less than before. Should increase collision accuracy and hopefully solve issues like landing gear going through the ground. (all thanks to above fix)<br />
* [API Change] MemoryStream wrappers that were mistakenly not committed for 1.15.1 have been added to the code.<br />
* Packing/Unpacking ships is now done without affecting the ship's scene hierarchy. Now, vessels take care of keeping their own parts in place while packed, making for much more stable physics behavior when going in and out of time warp.<br />
* Improved vessel/part loading from persistence procedure, for more stable and accurate flight resuming.<br />
* Fixed a bug in the Tracking Station scene, which prevented scrolling the vessel list.<br />
* The Vessel Switching keys now only cycle between nearby vessels and won't cause the scene to reload anymore. To switch to far-away vessels, you must use the map view.<br />
* Added key and axis bindings for EVA controls. Reorganized the Input Settings screen a little.<br />
* Added separate control bindings for walking and jetpacking on EVAs.<br />
* Added 1:1 EVA rotation axes. Using them disables the automatic orientation system.<br />
* Fixed RCS and SAS toggling on other vessels.<br />
* Vessels take collision impact momentum into account whenever possible <br />
* Fixed a problem where vessels would be stuck as 'Landed' if boarding a part while in contact with another.<br />
* Fixed issues with the large Landing Leg colliders.<br />
* Added patcher auto-updater. Will redownload the patcher if a better version is available.<br />
* Tweaked Physics settings to reduce landed part wobble.<br />
* It is now possible to close the Flight End screen without leaving the flight scene (to switch vessels).<br />
* Tweaked part collision handling for better efficiency.<br />
* Landing Legs now use a much improved collision handling system, eliminating leg wobble on heavy ships.<br />
* PartTools can now serialize WheelCollider components.<br />
* Improved detection/response to vessels below terrain and much better terrain altitude detection for vessels.<br />
* It is no longer possible to save the game (or switch vessels) while very close to the ground and not landed (could cause terrain fallthrough).<br />
* Fixed the crew capacity values on the part.cfg files.<br />
* Fixed the Orbit initialization routine, to prevent NaN errors on landed craft<br />
* Fixed parts that use the Part class having a "Part Type not available" message on their descriptions at the VAB.<br />
* mbm texture files are now DXT compressed and cleared from RAM as soon as they're uploaded to the GPU. RAM usage is massively improved.<br />
* Fixed some issues with the patched conic solver not finding proper SOI transitions sometimes.<br />
<br />
== v0.15.2 ==<br />
Released 1<sup>st</sup> June, 2012<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Fixed an issue with part-to-part collisions that caused unphysical forces and caused some designs to break apart.<br />
<br />
== v0.15.1 ==<br />
Released 31<sup>st</sup> May, 2012<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Fixed a couple of issues with the parts action UI popups and their code bindings.<br />
* Tweaked the time warp altitude limits. It is now possible to warp fast at low orbits around Minmus and the Mun.<br />
* Tweaked the rotating reference frame thresholds when nearing planets, to reduce terrain mesh jitter.<br />
* Fixed the 'Sierpinski' Terrain' issue, where the terrain mesh would break up when approaching a planet after travelling very far.<br />
* Fixed an issue with the patched conic solver failing on some escape trajectories.<br />
* Fixed the normal maps on several parts.<br />
* It is now possible to set the persistent debris budget to zero, to disable saving debris completely.<br />
<br />
== v0.15 ==<br />
Released 17<sup>th</sup> May, 2012<br />
<br />
[http://kerbalspace.tumblr.com Announcement is final post on original development blog]<br />
<br />
=== New ===<br />
* The Spaceplane Hangar Facility, allows you to build vehicles horizontally, and launch them from a Runway<br />
* The Runway Facility, to launch from and land your spaceplanes at.<br />
* A new Part Creation Toolset, allowing for animated models, with normal and emmissive maps.<br />
* A deployable Landing Gear part<br />
* A new AtmosphericEngine part type, and two new air-breathing engines.<br />
* A Patched Conics trajectory projection system, shows your map trajectory as it enters and leaves the SOI of planets and moons.<br />
* Parts now can have a context menu where you can view data and perform actions. (Atmo engines already implement this)<br />
* Parts now visually display their temperatures through a dynamic emmissive heat map.<br />
* It is now possible to manually rotate parts on the VAB and Spaceplane Hangar prior to placement (using the WSADQE keys, Shift, Space to Reset)<br />
* It is now possible to trim the roll, pitch and yaw inputs by holding Alt and pressing the roll, pitch and yaw keys (Alt+X to reset).<br />
* Added a small, far-flung second moon around Kerbin, called Minmus.<br />
<br />
=== Bug Fixes and Tweaks ===<br />
* Fixed a security flaw with the updater tool.<br />
* The flight log will no longer show the terrain tile IDs when crashing things into them. It will show the correct "crashed into terrain" message.<br />
* Corrected the level of the ocean quadtree, so that it matches visually with the simulated water level.<br />
* (Possibly) increased performance on the flight scenes (from the terrain tweak also)<br />
* Found and fixed the true cause of the orbit NaN bug. (see last note on this page)<br />
* Corrected the aileron action on ControlSurface parts. Now aileron input is determined based on part orientation instead of symmetry counterparts.<br />
* Fixed an issue with joystick throttle when focusing/unfocusing the game.<br />
* Fixed a problem with fuel lines and struts becoming attached to non-existent parts when reloaded.<br />
* Fixed the behaviour of the Alt key when Alt-Tabbing out of the game.<br />
* It is no longer possible to enter time warp or save the game if the ship is landed or splashed, but still moving.<br />
* Several improvements to the scene lighting in the Spaceplane Hangar and Vehicle Assembly Building.<br />
* Fixed Fuel Lines and Struts not reconnecting once reattached to the ship at the VAB and SPH<br />
* Improved the part dragging on the editor scenes<br />
* After a crash, the end flight dialog will only come up by clicking the left mouse button, hitting Esc or the Space Bar<br />
<br />
== v0.14.4 ==<br />
Released 3<sup>rd</sup> April, 2012<br />
<br />
=== New ===<br />
* Added Shader Model 2 fallback shaders for the terrain. Doesn't look as pretty, but solves the black terrain issue on SM2 video cards.<br />
* Exposed terrain parameters on the Video Settings screen (Now called Graphics Settings).<br />
* Option to force using SM2 shaders even on SM3 compatible hardware.<br />
<br />
=== Bug Fixes ===<br />
* Sometimes vessels could still be seen as being under acceleration and not get saved. This is fixed now.<br />
* Tweaked the terrain system to use less memory.<br />
* Updated Kerbin's diffuse map, to remove the blue on the ice caps on map view and tracking station.<br />
* Launching the updater with the game in fullscreen mode will no longer cause the updater to crash.<br />
* The game will no longer launch the patcher if the latest update is available only as a full download. It will open the KSP Store instead.<br />
* Changed the default game settings so terrain scatter is off by default<br />
<br />
== v0.14.3 ==<br />
<br />
=== Bug Fixes ===<br />
* Fixed an issue with prevented unfocused ships from being saved.<br />
* Removed the KSC on the Mun (don't ask).<br />
* Tweaked the altitude of KSC to better match the terrain level.<br />
* Tweaked Kerbin landclasses to raise ocean and remove the blue from the ice caps.<br />
* Fixed the Sun flare not getting obscured by planets on the Tracking Station view.<br />
<br />
== v0.14.2 ==<br />
Released 27<sup>th</sup> March, 2012<br />
<br />
=== New ===<br />
* Created a proper icon for the game.<br />
* A completely overhauled terrain engine<br />
<br />
=== Bug Fixes ===<br />
* Fixed the patcher launching any executable after it's done patching. Now it launches KSP.exe always.<br />
* Fixed a potential security issue with the patcher authentication.<br />
* The patcher will no longer spam console windows while doing its thing.<br />
* Rotated the Mun back to its original orientation (a fix on the 14.1 left it facing the other way).<br />
* Improved the terrain correction system for landed vessels. It now compensates for terrain slope errors.<br />
* The Map and Tracking Station cameras now respond to the camera control input axes.<br />
* Fixed an issue with symmetrical parts not clearing references to decoupled counterparts.<br />
* Fixed an issue with the patcher not being able to login using passwords containing special characters.<br />
<br />
== v0.14.1 ==<br />
<br />
=== Bug Fixes ===<br />
* Found and fixed the real cause of the staging issues that have plagued every release from 13.2 onward.<br />
* The debug console is no longer spammed with NaN errors. This could cause extreme lag in densely populated game worlds.<br />
* Fixed an issue where unloaded vessels would not update their orbits, causing them to resume incorrectly if they switched SOIs.<br />
* Fixed the save folder paths on the Mac version (they were ending up inside the app package)<br />
* It is now possible to do a Quickload (F9) after a crash (with the flight end screen up).<br />
* The game will no longer overwrite the quicksave when resuming flights. Only when creating new ones.<br />
* Landed vessels no longer explode when approached by the player (as when landing near other landed ships)<br />
* Fixed an issue with landing detection when landed on other vessels.<br />
<br />
<br />
== v0.14.0 ==<br />
Released 3<sup>rd</sup> March, 2012<br />
<br />
=== New ===<br />
* Flights are regularly saved to file, to be resumed later. (yes, persistence )<br />
* Support for multiple simultaneous flights and switching from ship to ship.<br />
* The Tracking Station Facility at the Space Center, allows you to select and resume a flight in progress.<br />
* Holding the middle mouse button will allow you to rotate the flight camera about itself, instead of rotating its pivot. (double-clicking the MMB will recenter it)<br />
* Tweaked the orbit rendering on the Map View to reduce clutter when several icons are moused over at the same time.<br />
* Landed or Splashed vessels now display their coordinates (or location, if available) when moused over on the Map View.<br />
* More Crew Members so you can launch missions while others are underway.<br />
* An External Module Loader, which enables mod makers to program their own part modules.<br />
* Added small fuel tank and small engine parts<br />
* Added Landing Gear<br />
* Added a more efficient input lock for when vessels are in physics-hold mode, to prevent staging during that period.<br />
* Made the Langing Gear action a mappable key.<br />
<br />
=== Bug Fixes ===<br />
* The flight camera is no longer able to go upside down.<br />
* The ORBITAL camera mode will no longer change orientations when switching spheres of influence.<br />
* Fixed an issue with .craft file saving and loading, which makes it possible to save ship titles independently of the file name.<br />
* Un-warping a landed ship will no longer cause an unphysical jerk on it, which could possibly destroy it.<br />
* Landed/Splashed vessels no longer show an Apoapsis icon on the Map View.<br />
* The Map Camera now responds to the keyboard bindings for camera zoom.<br />
* Decouplers now obey the second law of physics (Acceleration = Force/Mass)<br />
* Decouplers now obey the third law of physics (every action has an equal and opposite reaction).<br />
* RCS Fuel Tanks now drain symmetrically if placed using symmetry.<br />
* Fixed the flight scene time step being incorrectly initialized as 0.04ms (would cause wobbly physics).<br />
* Fixed a problem with the Plugins folder in the Mac version, which caused the game to halt when loading.<br />
* Fixed an issue that caused incorrect staging when loading ships in the flight scene.<br />
* Reloaded parts were not storing references to their symmetry counterparts properly. That caused all sorts of weird behaviour.<br />
* Fixed Fuel tanks apparently not resuming fuel levels properly (was an icon issue).<br />
* Fixed the VAB tutorial never being shown after the first time, even when activated in the settings.<br />
* Fixed the tutorial window disappearing behind the command pod selection window.<br />
* Changed the ground detection system to a far more stable hold-and-release method.<br />
* Fixed yet another staging issue.<br />
* Fixed a game flow issue in which it was possible to cancel the flight end screen, leading to an error and leaving the game stuck in the flight scene.<br />
* Fixed the End Flight screen lockup issue after KIA.<br />
* Fixed the Alt+Tab locking staging issue. (was a poorly thought out control I had set up, which was removed)<br />
<br />
== v0.13.3 (Demo) ==<br />
<br />
Released 3<sup>rd</sup> March, 2012<br />
<br />
=== New on 0.13.3 ===<br />
* A Stats Tracking System, so we can collect information of the game for statistical purposes.<br />
<br />
=== Bug Fixes ===<br />
* Fixed a bug with symmetry in the VAB. <br />
* Fixed an issue with the main camera that would create sporadic moments of lag in map view.<br />
* Fixed a bug that caused symmetrical parts to lose the reference to one of their counterparts, leading to incorrect symmetrical placements. <br />
* Reverted the Staging logic to the 13.1 system, as the changes made in 13.2 were buggy. <br />
Note: 0.13.3 is an additional free version with bug fixes.<br />
<br />
==v0.13.2==<br />
Released 26<sup>th</sup> January 2012<br />
<br />
=== Bug Fixes ===<br />
* Fixed a bug with symmetry in the VAB.<br />
* Fixed an issue with the main camera that would create sporadic moments of lag in map view.<br />
* Fixed a bug that caused symmetrical parts to lose the reference to one of their counterparts, leading to incorrect symmetrical placements. <br />
Note : As of the 26<sup>th</sup> of January 2012, v0.13.2 is the final free version.<br />
<br />
==v0.13.1==<br />
Released 11<sup>th</sup> January, 2012<br />
<br />
=== New on 0.13.1 ===<br />
* Recompiled on the latest version of the Unity engine, to add multithreaded rendering support and better memory management.<br />
* Changed the Fuel Line flow direction, so fuel will flow from the first-placed end of the line to the second end.<br />
* Holding Ctrl and clicking on a part on the ship at the VAB will now automatically flip the parts list to the selected part's page.<br />
* Added in-game credits.<br />
<br />
=== Bug Fixes ===<br />
* Fixed the custom part sounds loading system, which wasn't working on the last release.<br />
* The part loader will no longer freeze if it cannot find a part module to load. It will load the base Part module, and make it visible but unavailable on the VAB.<br />
* Removed parent-wise fuel crossfeed from Radial Decouplers. Fuel Lines made that obsolete.<br />
* Fixed an issue that prevented attachment nodes from affecting connected part rotations properly.<br />
* Fixed an issue with the part loader, which would crash if a binary mesh was found, but no .dae or .obj file was present.<br />
<br />
==v0.13==<br />
Released 16<sup>th</sup> December, 2011<br />
<br />
=== Optimizations ===<br />
* Removed a lot of needless halts on the part processing routine during loading.<br />
* Restructured the sound loading system so the main loading thread doesn't wait for it to finish before moving on.<br />
* Deferred adding of several part components so they're only added when they're needed.<br />
* Mesh tangents can now be loaded from file, instead of being recalculated every time.<br />
* The mesh loader now ignores materials from file, because they were going to be replaced anyway later.<br />
* Meshes are now saved to binary files (serialized) when loaded for the first time, and loaded from those files when they're available.<br />
* Changed the rendering method for the part icons on the staging sequence. This can prevent thousands of objects from being created when flying large ships.<br />
* Ship parts now have adjustable levels of physics, so small parts are not as deeply simulated as large ones. This reduces the amount of physics objects and joints to simulate.<br />
* Reduced the amount of code components attached to each part, making for less calls on each frame.<br />
* Tweaked the part heat exchange model, for a considerable fps boost with very large ships.<br />
<br />
=== New on 0.13 ===<br />
* The part loader will check if the saved optimized meshes are out-of-date, and update them when necessary.<br />
* A new Fuel Line part, that allows fuel to be drained off external (side-mounted) tanks.<br />
* It is now possible to warp time freely when the ship is landed.<br />
* Added a progress bar for the loading screen.<br />
* Pressing F2 will hide the UI completely (so you can take UI-free screenshots).<br />
* Added a new icon for the Fuel Line parts.<br />
* Changed the icon grouping rule on RCS Blocks and Strut Connectors to group to all parts of the same type on it's stage.<br />
<br />
=== Bug Fixes ===<br />
* Fixed the mission timer not getting started if the first stage was moved before launching.<br />
* Liquid Fuel now flows from the top attachment node, instead of from the parent part (unless there is no top node, in which case it flows from the parent part).<br />
* Parts now keep the references to the part attached in each attachment node. (makes top-node based fuel flow possible)<br />
* Fixed a bug which prevented the ship selection dialogs from receiving double-click events. Now it is possible to select a ship file by double clicking on it.<br />
* Improved rendering of hyperbolic (escape) orbits in the map view. The trajectory is now a constant size regardless of eccentricity, and isn't warped by the splines.<br />
* The Map camera will now remember it's last position, and return to it when the map is reopened.<br />
* Fixed a problem that made it possible to delete the command pod in the VAB by using Ctrl+Z.<br />
* Increased the heat conductivity and heat dissipation values for all parts, to compensate for the new heat exchange system.<br />
* Exposed a 'thrustVector' cfg parameter for Liquid Engines. This allows you to set the 'default' thrust direction for an engine, same as with SRBs<br />
<br />
==v0.12==<br />
Released 11<sup>th</sup> November, 2011<br />
<br />
=== New on 0.12 ===<br />
* Re-added the Mun<br />
* New Orbital Camera Mode. Like Free Mode, but aligned to the solar system plane, like the Map View Camera is.<br />
* New Auto Camera Mode. Chooses between the other modes based on the state of the flight.<br />
* Liquid Engines now support thrust vectoring (gimballing).<br />
* New LV-T45 Vectoring-Enabled Liquid Engine.<br />
* The VAB will now allow you to select a Command Module before starting a new ship.<br />
* Planets and Moons now rotate.<br />
<br />
=== Bug Fixes ===<br />
* Improved the way velocities are applied when resuming physics.<br />
* Fixed the Advanced SAS icon showing as a question mark on the VAB.<br />
* Fixed a bug where cloning parts by removing and undoing would cause them to receive duplicate IDs (and crash the game when loading the ship again).<br />
* Tidied up the flight statistics numbers formatting a bit, so they're easier to make sense of.<br />
* Time Warp will now smoothly increase/decrease towards the set time rate, for a much more fluid transition.<br />
* Made several improvements to the Map View orbit rendering.<br />
* Fixed the rails to physics transition, so that there is no significant change anymore in orbital parameters when going out of warp.<br />
* Made some significant improvements to the physical joints that hold the ship together. Ships will not wobble anymore when going back into 1x time after warping, and the joints themselves are more stable overall.<br />
* Made a small tweak to the part tooltips on the VAB, to prevent them from going off-screen on small resolutions. (was noticeable with the new command pod selection dialog)<br />
<br />
==v0.11.1==<br />
Released 13<sup>th</sup> October, 2011<br />
<br />
=== Bug Fixes ===<br />
*A pausing glitch that would happen every time the menu was selected.<br />
<br />
==v0.11==<br />
<br />
Released 12<sup>th</sup> October, 2011<br />
<br />
=== New on 0.11 ===<br />
* Overhauled Space Center terrain area in both flight and space center scenes.<br />
* Integrated Orbital Analysis/Propagation system.<br />
* In-Flight Time Compression.<br />
* Orbital "Map" View.<br />
* Orbit Display.<br />
* Improved Space Skybox Background.<br />
* Better Launchpad area textures.<br />
* RCS (Reaction Control System) Module Part.<br />
* Added an 'RCS Toggle' key (Default 'R'), to toggle the RCS on and off. <br />
* Changed the useless Overthrottle LED for an RCS LED, which indicates if the RCS is enabled.<br />
* Advanced SAS Module Part: Uses input-enabled parts (like winglets and RCS) to stabilize flight, but applies no forces of its own.<br />
* Splash-down effects, sounds and a basic buoyancy simulation.<br />
* New "Atmosphere" Gauge in the UI, indicates how deep the ship is in the planet's atmosphere.<br />
* The Orbit system can now track and propagate hyperbolic (escape) trajectories.<br />
* Parts can now cast shadows on themselves.<br />
<br />
=== Bug Fixes ===<br />
* Added a simple but hopefully effective stall simulation for winglets and control surfaces.<br />
* Made a few optimizations to runtime loaded textures. Now they're compressed to DXT5 and support mipmaps.<br />
* The MET display will now start counting on liftoff instead of on flight start.<br />
* Tuned the terrain system a bit, to improve visual quality at high altitudes.<br />
* Greatly improved the input lock system. Now, components that lock game controls won't override locks placed by other components.<br />
* Improved the flight camera code. On Chase mode the camera will not spin around at the poles anymore, and both modes are more stable overall.<br />
* Optimized the terrain system rendering, and got a nice boost in performance during flight.<br />
<br />
==v0.10.1==<br />
Released 13<sup>th</sup> September 2011<br />
<br />
=== Bug Fixes. ===<br />
* Eliminated the sharp atmospheric cutoff at 34,500m. Now there is atmosphere up to around 68,000m.<br />
* Improved the drag calculations.<br />
* Created a new ControlSurface module to replace the problematic Stabilizer module. The Stabilizer is now deprecated.<br />
* Changed the folder structure on the Mac version, so it is the same as the PC version.<br />
* Removed the sensitivity/deadzone reset when reassigning joystick axes in the input settings.<br />
<br />
==v0.10==<br />
Released 6<sup>th</sup> September, 2011<br />
<br />
=== New on 0.10 ===<br />
* Completely overhauled procedural terrain system. Much more reliable and stable.<ref>HarvesteR, [http://kerbalspace.tumblr.com/post/9056986834/on-quadtrees-and-why-they-are-awesome On Quadtreees and why they are awesome]</ref><br />
* The whole planet can now detect collisions, so ejected parts can now land safely.<br />
* The terrain mesh is far more stable, shorelines and mountains no longer wobble.<br />
* The new terrain system is completely translation and rotation-safe. It can be moved dynamically without breaking visually.<br />
* An Orbital analysis and propagation system, allowing for a complete planetary simulation, among many other possibilities, is ready for implementation.<br />
* Terrain quads are now queued for subdivision, to improve performance<br />
* The terrain system now allows for a secondary target object, so both the ship and the camera can subdivide the terrain.<br />
* Mini settings screen for in-game tweaks.<br />
* New (much better) shader for water.<br />
* The R8 Winglet now responds to input, and can be used as an elevator, canard, aileron, rudder, or any combination.<br />
* It is now possible to crank anti-aliasing up to 8x.<br />
* Joystick Support.<br />
* A working Mac OSX version!<br />
<br />
=== Bug Fixes ===<br />
*Hi-subdivision tiles now have mesh colliders, which means the far side of the planet is no longer an insta-death trap.<br />
*Fixed the textures stretching near the terminator<br />
*The camera will no longer go through the ground.<br />
*The terrain collision mesh now perfectly matches the visual terrain.<br />
*Fixed a problem with the atmosphere, where it would fade in and out at specific points in orbit.<br />
*Fixed a few problems with some game settings not being correctly applied on game start.<br />
*Fixed a problem with the volume settings where explosions would sometimes sound out even with volume at 0%<br />
*Added a basic compatibility/integrity check on loading ships. If it fails, the ship won't load but the game won't crash.<br />
<br />
==v0.9==<br />
Released 12<sup>th</sup> August, 2011<br />
<br />
=== New on 0.9 ===<br />
* Stages are now persistent when manually edited.<br />
* Stages are now stored in relative values. This means they're now smarter<br />
* Parts can now specify their preferred relative stage though the cfg<br />
* Editing the staging sequence now creates Undo states.<br />
* The Debug Console can now be opened in the loading screen to debug load problems<br />
* Stages can now be manually created and, when empty, deleted<br />
* Stages are now represented as groups with parts inside them, instead of just separated by indicators<br />
* The staging stack now scrolls manually using the mousewheel (when mouseing over it)<br />
* Icons in the staging stack can now be multiple selected and moved as a group<br />
* Whole stages can now be dragged and repositioned<br />
* Stages can now be reset manually through a reset button<br />
* Empty stages delete themselves in flight<br />
* Active parts in previous stages move up to the current stage.<br />
* Parts on the VAB list will now display their stats when hovered over.<br />
* The tooltip for parts in the VAB will no longer go lower than the screen<br />
* Holding shift while selecting a part in the VAB will now select the pod so the whole ship can be moved<br />
* Parts now have an ActivatesEvenIfDisconnected parameter on the cfg to allow them to be activated after jettisoning<br />
* The VS Gauge now uses a log scale, to allow greater precision with small values<br />
* The Strut Connector. A compound part to create physical linkages between any 2 parts<br />
* Parachutes now have a 'useAGL' parameter. If that's enabled, it will deploy when it reaches deploy altitude from ground level <br />
* Symmetrically placed Icons are grouped into a single icon<br />
* Input Mapping screen<br />
* Video settings screen<br />
* Audio settings screen<br />
<br />
=== Bug Fixes ===<br />
* Fixed a bug that caused parts to activate out of sequence sometimes.<br />
* The scroll wheel is no longer read if the application is unfocused.<br />
* Staging lock is now preserved if the application is unfocused and refocused.<br />
* Fixed the MET clock, which would loop back to 00:00:00 when a mission went on for longer than 24 hours (I'm amazed someone found it )<br />
* Changed the debug console key to Alt + the key left of 1. It would interfere with the throttle controls in flight.<br />
* Fixed parachutes not deploying if not set to the last stage. (they can still deploy when jettisoned)<br />
* Fixed a silent error when parts set an explosion potential higher than 1.0<br />
* Eliminated the jitter on the VS gauge<br />
* Changed the physical attachments between parts again, so the stack is less wobbly overall<br />
* Fixed the bug that caused the crewmember name tags to drift out of the screen<br />
<br />
== v0.8.5 ==<br />
Released 18<sup>th</sup> July, 2011<br />
<br />
=== New on 0.8.5 ===<br />
* Added copying of parts (and sets of parts) by holding Alt while clicking on them.<br />
* Replaced tricoupler textures and UV mapping (UV map by Dippeggs)<br />
* Parachutes can now deploy automatically if jettisoned along with other parts (allowing for parts to be safely landed)<br />
* Stage decouplers can now share fuel across stages.<br />
* Added Keys to control the camera in the VAB (+/- for zooming, pgup/pgdown for scrolling)<br />
* Added Keys to control the camera in flight (+/- for zooming)<br />
* Added some sound effects for the parachute opening<br />
* Added cfg-definable parameter for parachute autodeployment delay<br />
* Added a debugging console to the game (can be toggled with Ctrl+Alt+Shift+C)<br />
* Right-clicking the Symmetry Button will now step the symmetry mode back.<br />
* It is no longer possible to select a part of the ship while the mouse is over any interface items.<br />
* Added toggle key to switch between precision or instant input modes (Caps Lock)<br />
* Pitch, Yaw and Roll gauges change color to indicate mode (orange for instant, cyan for precision)<br />
* Exposed Kd, Ki and Kp parameters for tuning the SAS and CommandPod modules<br />
<br />
=== Bug Fixes ===<br />
* Fixed the staging lock LED not turning purple after launch<br />
* Icons no longer show a transparent border floating around then mousing over disconnected parts.<br />
* Fixed a bug where deleting a symmetrical part would sometimes leave it's counterparts floating around.<br />
* Fixed a bug where creating a new stage with a decoupler and then removing it would generate errors.<br />
* Fixed most sound volume decay over distance problems.<br />
* Fixed a bug that caused a massive performance drop when fuel tanks emptied (fuel tank switch lag bug)<br />
* The Flight camera will now remain always centered on the ship's center of mass.<br />
* The Screenshot function will now create a Screenshots directory if one isn't found.<br />
* The altimeter will now go past 999,999K correctly (it will move up to 1000M, then 1000G, 1000T and so on)<br />
* Fixed a bug that could cause large ships to explode at 5,000m altitude.<br />
<br />
== v0.8.4 ==<br />
Released July 14<sup>th</sup>, 2011<br />
<br />
=== Bug Fixes ===<br />
* Fixed a small but incredibly disruptive bug which prevented engines from being connected to fuel tanks<br />
<br />
== v0.8.3 ==<br />
Released 14 <sup>th</sup> July, 2011<br />
<br />
=== New on 0.8.3 ===<br />
* Added key to lock staging, to prevent accidental jettisoning (remember to set it off later). Set to Alt+L<br />
* Added a tooltip for the Symmetry Button<br />
<br />
=== Bug Fixes ===<br />
* Fixed A TON of bugs with the symmetry and ship construction in general. Game is stable again.<br />
* Fixed a bug where parts would lose staging info and revert to default when returning from flight to the VAB. (the staging reset bug)<br />
* Fixed a glitch introduced in 0.8.3 RC1 that allowed parts to be attached to frozen parts.<br />
<br />
== v0.8.2 ==<br />
Released 13 <sup>th</sup> July, 2011<br />
<br />
This version is a hotfix for a couple of ugly bugs found with the 0.8.1 release.<br />
<br />
Note: The 0.8.1 release introduced a few changes to the .craft file format, so it is possible that ships<br />
created with versions prior to 0.8.1 might not be compatible with the new version. <br />
<br />
=== Bug Fixes ===<br />
* Fixed a serious bug where swapping about symmetrical parts would crash the game<br />
* Pod cannot be dropped if an Escape Tower (PunchOut addon) is attached<br />
<br />
== v0.8.1 ==<br />
Released 13<sup>th</sup> July, 2011<br />
<br />
=== New on 0.8.1 ===<br />
* Added options to use Angle Snapping when placing surface-aligned parts.<br />
* Symmetrical placement mode in the VAB.<br />
* It's now possible to set aside a part of group of parts. This enables adding parts in between others without deleting half the ship.<br />
* Sound Normalizer, keeps the volume balanced even with 50+ boosters firing<br />
* Added framerate cap to keep GPUs from screaming on light scenes. (configurable through the settings.cfg file)<br />
* Deleting a part now requires clicking the parts list. This prevents accidental deletion. (Or you can also press 'Delete)<br />
* Fuel can now flow through Strut parts like the tricoupler <br />
<br />
=== Bug Fixes ===<br />
* Fixed bug where starting a new ship with a loaded multi-stage ship would create empty stages<br />
* Smoke trail effects now fade away when nearing the edge of the atmosphere<br />
* Fixed SkySphere culling issues at large distances<br />
* Added cfg parameter to enforce a symmetry mode when stacking (like 3 under the tricoupler)<br />
* Updated editor tutorial to reflect the changes in this update<br />
<br />
== v0.8 ==<br />
Released July 7<sup>th</sup>, 2011<br />
<br />
=== New on 0.8 ===<br />
* Saving and Loading buttons in the interface, as well as a ship loading dialog for picking new ships.<br />
* Ship name field in the editor, allows saving ships with any filename.<br />
* Screenshot button to capture the screen to file.<br />
* functioning MET indicator in the flight UI<br />
* Pages in the VAB part list, whenever the parts exceed the size of the list.<br />
* New skins for the UI windows that pop up. (like the flight results dialog)<br />
* A new splash screen before the main menu enters.<br />
* SAS toggle with 'T' key<br />
* Option to Simulate in Background in the settings.cfg file<br />
* Undo/Redo actions in the VAB, by Ctrl+Z and Ctrl+Y<br />
* Fuel tanks are now stackable to increase fuel amount (and weight )<br />
* On-screen text popup to let you know the current camera mode<br />
* Cfg interpreter can now parse 2D, 3D, and 4D Vectors, as well as rotations (in angle-axis format)<br />
* Cfg-defined thrust positions and orientations, make retro-rockets and any other craziness open for addon parts.<br />
* Parts may now create new stages for themselves through the cfg (used to be decouplers only)<br />
* New texture for the Solid Rocket Booster<br />
* The game now checks for updates against the KSP site, and let's you know if there is a new version available<br />
* Loading screen moved to before the main menu appears.<br />
<br />
=== Bug fixes ===<br />
* Liquid Engine particle effects responding to engine cutoff<br />
* Icon indicators for all parts that need to show information<br />
* Custom icons for all part types<br />
* VAB placement bug with tricouplers and fuel tanks (and decouplers)<br />
* Reposition the [[Navball]] and main camera focus, so the ship isn't obscured by the interface - this one is kinda moot now, since the new camera centers the ship better, and the navball doesn't hide the ship anymore.<br />
* Pause also affecting particle effects<br />
* Pausing the game no longer produces a G-force peak<br />
* SRB mesh normals correction<br />
* Complete rewrite of the flight camera code. No more jitters and a number of new options in the settings.cfg<br />
* Relaunch button on pause menu. No need to end flight to relaunch.<br />
* Version text on main menu resetting after returning to it from game.<br />
* Inverted the middle mouse button zoom. Now mouseing forward brings the camera closer.<br />
* The text on the stage indicators no longer appears over other interface elements<br />
* Fixed excessive wobbliness with side-attached parts<br />
* Radial decouplers now have their own module (they used to share modules with the stack decoupler) <br />
* Increased the inclination range for the VAB camera from 45° to 80°<br />
* Updated tutorial to reflect the changes made in this update (like the new cameras in flight).<br />
* Tweaked the Radial Decoupler separation. It can now eject lit SRBs safely away from the ship and not kill the crew everytime.<br />
<br />
== v0.7.3 ==<br />
Released June 24<sup>th</sup>, 2011<br />
<br />
* Initial Release<ref>[http://kerbalspace.tumblr.com/post/6872084213/first-release-is-up First Release is Up!]</ref><br />
<br />
=== Notable Features ===<br />
* Downloaded over 5000 times<ref>[http://kerbalspace.tumblr.com/post/7348393677/milestone-5000-downloads-and-counting Milestone: 5000 downloads and counting!]</ref><br />
* No SAS, although SAS module is implemented and generates torque<br />
* The only engine, the [[LV-T30]] can only be fed by one [[FL-T500]] attached on its top<br />
* The [[AV-R8 Winglet]] is just a fin and can't be used to control the vehicle<br />
* It is nearly impossible to achieve orbit<br />
* [[Kerbin]] is the only celestial object, does not rotate, and is a mirror reflection of the [http://libnoise.sourceforge.net/examples/complexplanet/index.html example planet from libnoise]<br />
* [[The sun]] is a directional light source at infinite distance<br />
* The render distance is only 1500&nbsp;km, and Kerbin will "sink" into the sky background, vanishing entirely as that altitude is achieved<br />
* The original Intercontinental Kraken had not been fixed (Moving far from the KSC will result in shaking and even Rapid Unplanned Disassembly.)<br />
<br />
== v0.4 ==<br />
Not released<ref>[http://kerbalspace.tumblr.com/post/17827181033/the-story-of-ksp-ksp-0-4 The Story of KSP - KSP 0.4]</ref><br />
<br />
* The disk terrain generator seen in early releases is implemented from the Libnoise library, giving Kerbin its current global topology (excepting a few later modifications.)<br />
<br />
== v0.3 ==<br />
Not released<ref>HarvesteR, [http://kerbalspace.tumblr.com/post/17096770707/the-story-of-ksp-ksp-0-3 The Story of KSP - KSP 0.3]</ref><br />
<br />
* The (pre-[[0.90.0]]) parts tabs were implemented in the [[Editor]]<br />
* Some terrain was placed in the immediate vicinity of the pad, but Kerbin was still 20&nbsp;km and smooth beyond it<br />
* The Mun was removed<br />
* The game featured an interface including an average propellant gauge, RCS propellant gauge, vertical speed and altimeter, kerbal portraits, g-meter and throttle indicator, most of which did not function<br />
* An electronic sign, possibly for mouse-over information, appeared; it showed quotes and countdowns in this version<br />
<br />
== v0.2 ==<br />
Not released<ref>HarvesteR, [http://kerbalspace.tumblr.com/post/16291223741/the-story-of-ksp-ksp-0-2 The Story of KSP - KSP 0.2]</ref><br />
<br />
* Kerbin was a textured 20&nbsp;km (radius assumed) sphere with no terrain, presumably with 1/900 of its current mass and an orbital speed of less than 442.9&nbsp;m/s<br />
* There was a fixed Mun: another textured smooth sphere with little resemblance to the canonical [[Mun]]<br />
* Staging is added<br />
* Instead of the current vessel-origin rendering system (necessary to solve floating point jitters), the game used the center of Kerbin as the origin<br />
* The game is now in an early 3D like format<br />
<br />
== v0.1 ==<br />
Not released<ref>HarvesteR, [http://kerbalspace.tumblr.com/post/16228007762/the-story-of-ksp-ksp-0-1 The Story of KSP- KSP 0.1]</ref><br />
<br />
* The [[Editor]] ran in the flight scene, the Vehicle Assembly Building not being implemented yet<br />
* The [[RT-10]] solid rocket motor was implemented and looks only slightly different from today{{Check version||0.90}}<br />
* The [[Command Pod Mk1]], [[TR-18A Stack Decoupler]], [[LV-T30 Liquid Fuel Engine]], [[FL-T500 Fuel Tank]], and [[TT-38K Radial Decoupler]] are implemented, but barely recognizable<br />
* Kerbin was a flat, floating tile with generated terrain, and instead of achieving orbit, you could launch past its edge and fall forever into the "void"<br />
* While the graphics were 3D, the game was 2D, and one could fly and build vehicles only in the altitude-longitude plane, unable to turn north or south, and able to attach parts to only two sides<br />
<br />
== v0.0 ==<br />
Not released<ref name="One Year of KSP">HarvesteR, [http://kerbalspace.tumblr.com/post/16016599050/one-year-of-ksp One Year of KSP]</ref><br />
<br />
* "Kerbal" comes from the name Felipe "HarvesteR" Falanghe gave small figurines he installed in modified fireworks as a teenager<ref>Known Griefers [http://www.knowngriefers.com/2013/08/kerbal-space-program-devs-interviewed.html Kerbal Space Program Devs Interviewed!] 2012 August 27</ref><br />
* HarvesteR was hired by Monkey Squad in 2010 April; the company did not develop software at the time<ref name="polygon">Charlie L. Hall [http://www.polygon.com/features/2014/1/27/5338438/kerbal-space-program To The Mun and Back: Kerbal Space Program], Polygon 2014 January 27 interview with developers</ref><br />
* Development of Kerbal Space Program was authorized by Squad co-founder Adrian Goya in 2010 October, but deferred until HarvesteR could be released from marketing set projects in progress<ref name="polygon" /><br />
* Kerbal Space Program first compiled on 2011 January 17<ref name="One Year of KSP"/><br />
<br />
== References ==<br />
<references /><br />
<br />
{{Versions}}<br />
<br />
[[Category:Documentation]]<br />
[[Category:Versions| ]]</div>Michahttps://wiki.kerbalspaceprogram.com/index.php?title=Unity_Part_Tools&diff=80854Unity Part Tools2018-03-22T12:22:37Z<p>Micha: Updated to latest versions and added link to Unity.</p>
<hr />
<div>{{stub||Article currently only contains download links, no documentation yet.}}<br />
<br />
The newest '''Unity Part Tools''' for [[KSP]] (currently version 1.4.1) can be found in [http://forum.kerbalspaceprogram.com/index.php?/topic/160487-parttools-updated/ this] forum thread. There is no longer a working download link at kerbalspaceprogram.com.<br />
<br />
The tool is used to create new parts for Kerbal Space Program and requires you to have a copy of [https://unity3d.com/unity/qa/patch-releases/2017.1.3p1 Unity 2017.1.3p1] installed.<br />
<br />
[[Category:Modding]]</div>Michahttps://wiki.kerbalspaceprogram.com/index.php?title=Module&diff=66046Module2015-07-08T18:19:19Z<p>Micha: /* ModuleScienceExperiment */ Added usageReqMask fields</p>
<hr />
<div>{{TOC|align=right}}<br />
<br />
== STOCK MODULES ==<br />
Modules define what specific parts can do. They are generally calls to C-coded or hard-coded functions that define what functionality these parts have in-game. If you are a new part designer, modder, engineer, or someone else who makes parts, please check the STOCK modules list '''before''' designing a new module. Each additional module increases the CPU workload and reduces FPS and Physics. All 0.90 stock modules are now included.<br />
<br />
{|class="wikitable"<br />
|-<br />
| name<br />
| names define the module in use and are a general indication of what the module subtype does. Specific variables are associated with each [module].[name]. For example, the Clamp-O-Tron Docking Port Sr. has the MODULE.name ModuleDockingNode and its' associates variables are [referenceAttachNode] and [nodeType]. Some [MODULE]s share variables with other modules, which can make deciphering their purpose difficult.<br />
|}<br />
<br />
{|<br />
! explanation <br />
! code examples<br />
|-<br />
|<br />
<br />
=== CModuleFuelLine ===<br />
No known arguments or variables at this time. This module is used by fuelLine, presumably to specify that it is fuel Transfer enabled. More research is clearly called for. This module is new in 0.90.<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = CModuleFuelLine<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== CModuleLinkedMesh ===<br />
This module is new in 0.90 and is used by fuelLine and strutConnector, presumably to created the variable length connectors between two parts (and add end caps on both sides). <br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| lineObjName<br />
|| <br />
* obj_line<br />
* obj_strut <br />
|| specifies whether there is a flag displayed on the exterior surface of the object.<br />
|-<br />
| targetAnchorName<br />
||<br />
* obj_targetAnchor<br />
|| Unknown<br />
|-<br />
| anchorCapName<br />
|| <br />
* obj_AnchorCap<br />
|| name of the part on the source part that this part attaches from<br />
|-<br />
| targetCapName<br />
||<br />
* obj_targetCap<br />
|| name of the part on the target part to which this mesh attaches<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = CModuleLinkedMesh<br />
<br />
lineObjName = obj_line<br />
targetAnchorName = obj_targetAnchor<br />
anchorCapName = obj_anchorCap<br />
targetCapName = obj_targetCap <br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== CModuleStrut ===<br />
This module is new in 0.90 and is used by strutConnector, presumably to indicate that it is a structural support part.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| linearStrength<br />
|| <br />
* 100<br />
* 150<br />
|| the push/pull strength of the strut<br />
|-<br />
| angularStrength<br />
||<br />
* 100<br />
* 150<br />
|| the sheering strength of the strut<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = CModuleStrut<br />
<br />
linearStrength = 150<br />
angularStrength = 150<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
<br />
=== FlagDecal ===<br />
Parts with this module have a place for a flag on their sides. You don't have to turn it on, but this is how it gets there.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| textureQuadName <br />
|| <br />
* flagTransform <br />
|| specifies whether there is a flag displayed on the exterior surface of the object.<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = FlagDecal<br />
textureQuadName = flagTransform<br />
}<br />
</pre><br />
<br />
|-<br />
<br />
|<br />
=== FXModuleAnimateThrottle ===<br />
Animation for engines and engine bells showing them as they fire up and operate, based on the amount of throttle applied. See ion Engines for a good example.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| animationName || <br />
* colorAnimation <br />
|| specifies the animation to be used<br />
|-<br />
| depondOnEngineState || <br />
* True<br />
* False <br />
|| specifies whether the animation is dependent on the throttle<br />
|-<br />
| responseSpeed || <br />
* 0.5<br />
|| specifies the rate at which the animation reacts to the change in engine state<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = FXModuleAnimateThrottle<br />
animationName = colorAnimation<br />
dependOnEngineState = True<br />
responseSpeed = 0.5<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== FXModuleConstrainPosition ===<br />
I don't know what this does.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| matchRotation ||<br />
* true<br />
* false<br />
|| unknown <br />
|-<br />
| matchPosition ||<br />
* true<br />
* false<br />
|| unknown<br />
|-<br />
| CONSTRAINFX || {} || unknown<br />
|-<br />
| targetName || <br />
* Steering <br />
* steering <br />
|| unknown<br />
|-<br />
| moversName || <br />
* wheelCollider<br />
* steering<br />
|| unknown<br />
|}<br />
<br />
|| <br />
<pre><br />
MODULE<br />
{<br />
name = FXModuleConstrainPosition<br />
matchRotation = true<br />
matchPosition = false<br />
CONSTRAINFX<br />
{<br />
targetName = steering<br />
moversName = lateral<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== FXModuleLookAtConstraint ===<br />
I don't know what this does either.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| CONSTRAINLOOKFX || {} || <br />
|-<br />
| targetName || <br />
* susp2-1 <br />
|| No idea<br />
|-<br />
| rotatorsName || <br />
* susp2-2 <br />
|| No idea<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = FXModuleLookAtConstraint<br />
CONSTRAINLOOKFX<br />
{<br />
targetName = susp2-1<br />
rotatorsName = susp2-2<br />
}<br />
CONSTRAINLOOKFX<br />
{<br />
targetName = susp2-2<br />
rotatorsName = susp2-1<br />
}<br />
CONSTRAINLOOKFX<br />
{<br />
targetName = susp1-2<br />
rotatorsName = susp1-1<br />
}<br />
CONSTRAINLOOKFX<br />
{<br />
targetName = susp1-1<br />
rotatorsName = susp1-2<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== KerbalSeat ===<br />
This module makes the part have an EXTERIOR seat. <br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| seatPivotName <br />
|| <br />
* seatPivot <br />
|| Unknown<br />
|-<br />
| ejectDirection <br />
|| <br />
* 0, 1, 0.2 <br />
|| specifies the direction from which your Kerbal will exit the vehicle. Try to line up with a hatch!<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KerbalSeat<br />
seatPivotName = seatPivot <br />
ejectDirection = 0, 1, 0.2<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== LaunchClamp ===<br />
This module enables the part to hold a vessel in suspension on the launch pad. <br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| trf_towerPivot_name || <br />
* obj_girdercap <br />
|| specifies the model used for the pivot point<br />
|-<br />
| trf_towerStretch_name || <br />
* obj_girder <br />
|| specifies the model for the ground to pivot girder <br />
|-<br />
| trf_anchor_name || <br />
* obj_ground <br />
|| specifies the model for the ground mount point <br />
|-<br />
| trf_animationRoot_name || <br />
* launchclamp <br />
|| specifies the base animation<br />
|-<br />
| anim_decouple_name || <br />
* launchclamp <br />
|| specifies the animation for the release of the clamp<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = LaunchClamp<br />
<br />
trf_towerPivot_name = obj_girdercap<br />
trf_towerStretch_name = obj_girder<br />
trf_anchor_name = obj_ground<br />
<br />
trf_animationRoot_name = launchclamp<br />
anim_decouple_name = launchclamp<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleAlternator ===<br />
Specifies that this part produced a resource, based on the percentage of thrust produced by the engine.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example <br />
|-<br />
| RESOURCE ||<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
|- <br />
| name || ElectricCharge || name of the resource produced<br />
|-<br />
| rate || 1.0 || rate at which the resource is produced at 100% thrust, expressed in units/second<br />
|}<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAlternator <br />
RESOURCE<br />
{<br />
name = ElectricCharge<br />
rate = 5.0<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleAnchoredDecoupler ===<br />
This module specifies that the part is attached (anchored) to another part, and will decouple from yet a third part, forcing the third part away from it.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| anchorName || <br />
* anchor <br />
|| specifies the name of the anchored part<br />
|-<br />
| ejectionForce || <br />
* 450 <br />
|| dV applied to part upon separation<br />
|-<br />
| explosiveNodeID || <br />
* srf<br />
* top<br />
|| specifies the location of the explosion.<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAnchoredDecoupler<br />
anchorName = anchor<br />
ejectionForce = 450<br />
explosiveNodeID = srf<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleAnimateGeneric ===<br />
Generic Animations will be applied to parts with this module. This module is slowly replacing other animation modules as progression is made towards the release version of KSP.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| animationName || <br />
* Deploy<br />
* CrewCabinLight<br />
* dish<br />
* dockingring<br />
* dockingporthull<br />
|| specifies the name of the animation to be used<br />
|-<br />
| isOneShot || <br />
* false<br />
|| specifies whether the animation can occur only once<br />
|-<br />
| startEventGUIName || Flavor text || <br />
to describe turning the animation to its 'On' State<br />
|-<br />
| endEventGUIName || Flavor text || <br />
to describe turning the animation to its 'Off' State<br />
|-<br />
| actionGUIName || Flavor text || <br />
to describe switching the animation between it's 'on' and 'off' states<br />
|-<br />
| allowManualControl || <br />
* '''true'''<br />
* false<br />
|| specifies whether the part can be manually animated<br />
|}<br />
<br />
|| <br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAnimateGeneric<br />
animationName = dish<br />
isOneShot = false<br />
<br />
startEventGUIName = Extend<br />
endEventGUIName = Retract<br />
actionGUIName = Toggle Antenna<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleAnimateHeat ===<br />
This module specifies that heating animation will be applied to this part.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| ThermalAnim || <br />
* HeatAnimationEmissiveLiquidEngine3<br />
* HeatAnimationEmissiveTurbofan<br />
* HeatAnimationEmissiveJet<br />
* overheat<br />
|| animation for applying heat to an object<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAnimateHeat<br />
ThermalAnim = HeatAnimatioEmissiveLiquidEngine3<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleAsteroid ===<br />
Because it has no procedures or calls, is new in [0.90] and only appears on a part that you must hack to have available, it is impossible to say for certain what this module does, but it has something to do with being an asteroid.<br />
no procedures or calls<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAsteroid <br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleCargoBay ===<br />
Allows a [[cargo bay]] to shield its contents from airflow and heat.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| DeployModuleIndex || <br />
* 0<br />
* 1<br />
* 2<br />
|| Specifies the index (starting with zero) of the MODULE which controls whether the bay is open or closed. Said MODULE must implement IScalarModule (e.g. ModuleAnimateGeneric and its descendents, or ModuleAnimatedDecoupler from [https://github.com/Starwaster/AnimatedDecouplers AnimatedDecouplers]).<br />
|-<br />
| closedPosition || <br />
* 0<br />
* 1<br />
|| Specifies whether the cargo bay is closed by default (0) or open by default (1).<br />
|-<br />
| lookupRadius || <br />
* 1.25<br />
|| Radius within which the part should search for parts to be shielded.<br />
|-<br />
| lookupCenter || <br />
* 0,0.5,0<br />
* 1,0,0<br />
|| Optional (default is 0,0,0). Specifies the point from which the search is centered. Rays are cast from here; any parts that are struck are shielded, while the rays stop when the part's own colliders are hit.<br />
|-<br />
|<br />
* nodeOuterForeID<br />
* nodeOuterAftID<br />
* nodeInnerForeID<br />
* nodeInnerAftID<br />
|| <br />
* top<br />
* bottom<br />
* top2<br />
* bottom2<br />
|| Optional. For hollow cargo bay parts without end walls (e.g. [[Mk2 Cargo Bay CRG-04]]), node IDs are given to determine where the cargo bay ends.<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleCargoBay<br />
DeployModuleIndex = 1<br />
closedPosition = 1<br />
lookupRadius = 1<br />
<br />
nodeOuterForeID = top<br />
nodeOuterAftID = bottom<br />
nodeInnerForeID = top2<br />
nodeInnerAftID = bottom2<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleCommand ===<br />
Applies Command to vessels<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| minimumCrew || <br />
* 0<br />
* 1<br />
* 2<br />
|| Specifies the minimum number of crew needed to operate this module. <br />
|-<br />
| RESOURCE ||<br />
{|class="wikitable"<br />
|-<br />
| name || ElectricCharge || This is the name of that resource<br />
|-<br />
| rate || 15.0 || and the rate in units/second of resource consumed<br />
|}<br />
|| If this Module requires a resource<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleCommand<br />
minimumCrew = 1<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleControlSurface ===<br />
This module gives the part the ability to respond to inputs, generally used for aerodynamic parts to expose more or less effective surface to lift and braking forces in atmospheres.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| dragCoeff || * 0.5 || <br />
this value overrides the maximum_drag value<br />
|-<br />
| deflectionLiftCoeff || * 0.7 || specifies the Coefficient of lift for the part<br />
|-<br />
| ctrlSurfaceRange || * 20 || specifies the degrees of operation for the part<br />
|-<br />
| ctrlSurfaceArea || * 0.95 || specifies how much of the part affects lift<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleControlSurface<br />
dragCoeff = 0.5<br />
deflectionLiftCoeff = 0.7<br />
ctrlSurfaceRange = 20<br />
ctrlSurfaceArea = 0.95<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleDataTransmitter ===<br />
This module specifies that the part acts as a transmitter of data, typically an antenna of some sort, for broadcasting science data back to the KSC.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| packetInterval || <br />
* 0.18<br />
* 0.4 <br />
* 0.3 <br />
|| Mits per second <br />
|-<br />
| packetSize || <br />
* 2<br />
|| Mits per packet<br />
|-<br />
| packetResourceCost || <br />
* 20<br />
* 10<br />
* 12.5 <br />
|| Resource per packet<br />
|-<br />
| requiredResource || <br />
* ElectricCharge <br />
|| Required resource (usually ElectricCharge)<br />
|-<br />
| DeployFxModules || <br />
* 0 <br />
|| Deployment <br />
|-<br />
| ProgressFxModules || <br />
* 1 <br />
|| Animations that play while transmitting<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleDataTransmitter<br />
<br />
packetInterval = 0.18<br />
packetSize = 2<br />
<br />
packetResourceCost = 20.0<br />
requiredResource = ElectricCharge<br />
<br />
DeployFxModules = 0<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleDecouple ===<br />
ModuleDecouple is a slightly upgraded version of ModuleAnchoredDecoupler, and may replace it in the future. Allows for decouplers that separate from both parts to which it is attached.<br />
{|class="wikitable"<br />
! variable !! sample !! definition<br />
|-<br />
| isOmniDecoupler || <br />
* true<br />
* '''false''' <br />
|| Specifies whether this decoupler separates on both ends or not. Defaults to false.<br />
|-<br />
| ejectionForce <br />
|| <br />
* 100 <br />
|| specifies the DeltaV with which the part separates<br />
|-<br />
| explosiveNodeID || <br />
* top<br />
* srf <br />
|| for non-OmniDecouplers, specifics the Node of separation<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleDecouple<br />
ejectionForce = 250<br />
explosiveNodeID = srf<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleDeployableSolarPanel ===<br />
Solar panels cannot deploy without this module. May be possible to use for other modules which unfold. Optionally specifies whether the part will automatically turn to face the sun. This is one place where you can say how a part breaks.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| animationName || <br />
* solarpanels<br />
* solarpanels2<br />
* solarpanels4<br />
* altsolarpanelbase<br />
* bigsolarpanel<br />
|| <br />
unknown for sure. Assumed to refer to an animation describing part transformation from its closed state to its open state. known parameters are:<br />
|-<br />
| sunTracking || <br />
* true<br />
* false<br />
|| Assumed to indicate whether the animation will turn the panel towards the sun.<br />
|-<br />
| raycastTransformName ||<br />
* suncatcher<br />
|| optional. unknown.<br />
|-<br />
| pivotName ||<br />
* suncatcher<br />
|| optional. unknown.<br />
|-<br />
| isBreakable ||<br />
* true<br />
* false<br />
|| Indicates whether the part will break on high-dynamic stress.<br />
|-<br />
| resourceName ||<br />
* ElectricCharge<br />
|| The resource provided by this module. Any resource may be used, including resources not defined.<br />
|-<br />
| chargeRate || <br />
* 10<br />
|| Amount of resource provided per second at 100% output. Positive values only, please.<br />
|-<br />
| powerCurve || || <br />
powerCurve is a special call consisting of subtypes called [key]. Each [key] uses four numbers to define what it will do at a specific distance from a source. In the case of solar panels, where powerCurve is typically used, there are typically 4 [key]s. [powerCurve] defines the rate at which resources are provided relative to the [chargeRate] and distance from the specified source (ie. Kerbol)<br />
* 206000000000 0.00 0 0<br />
* 013599840256 1.00 0 0<br />
* 068773560320 0.50 0 0<br />
* 000000000000 10.0 0 0<br />
|}<br />
|| <br />
<pre>MODULE<br />
{<br />
name = ModuleDeployableSolarPanel<br />
<br />
animationName = solarpanels2<br />
resourceName = ElectricCharge<br />
chargeRate = 2<br />
powerCurve<br />
{<br />
key = 206000000000 0 0 0<br />
key = 13599840256 1 0 0<br />
key = 68773560320 0.5 0 0<br />
key = 0 10 0 0<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleDockingNode ===<br />
A module for docking ports<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| referenceAttachNode || <br />
* top<br />
* bottom<br />
* dockingNode<br />
|| <br />
Specifies the node on the part that is used for the docking port, generally top or bottom<br />
|-<br />
| deployAnimationController || <br />
* 1<br />
* 0<br />
|| Boolean<br />
|-<br />
| nodeType || <br />
* size1<br />
* size2<br />
* size0<br />
|| Specifies the type of node for attachment. When perform docking operations, nodes must have the same value for nodeType in order to dock with one another.<br />
|-<br />
| nodeTransformName || <br />
* dockingNode<br />
* DOCKING<br />
|| unknown<br />
|-<br />
| controlTransformName || <br />
* controlNode <br />
|| apparently only used for docking nodes that have related animations, see dockingPortInline<br />
|-<br />
| undockEjectionForce || <br />
* 0.25<br />
|| Force in d/v applied on undock<br />
|-<br />
| minDistanceToReEngage || <br />
* 3.5<br />
|| Docking Nodes must separate by this many meters before being able to reengage<br />
|-<br />
| acquireForce || <br />
* 3.5<br />
|| magnetic grip, in d/v<br />
|-<br />
| acquireTorque || <br />
* 3.5 <br />
|| rotational magnetic grip, in d/v<br />
|-<br />
| acquireRange || <br />
* 3<br />
|| maximum distance to begin applying magnetic grip<br />
|-<br />
| captureRange || <br />
* 1.5<br />
|| maximum range to begin docking<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleDockingNode<br />
referenceAttachNode = top<br />
nodeType = size2<br />
undockEjectionForce = 0.25<br />
minDistanceToReEngage = 3.5<br />
acquireForce = 3.5<br />
acquireTorque = 3.5<br />
acquireRange = 3.0<br />
captureRange = 1.5 <br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleEngines ===<br />
Everything about your engine, all in one module!<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| thrustVectorTransformName || <br />
* thrustTransform <br />
|| specifies gameObject to be used as point of applied thrust, force is applied in local +Z. standard name is thrustTransform, but it can be anything as long as gameObject in the MU matches thrustVectorTransformName value in module config<br />
|-<br />
| throttleLocked || <br />
* True<br />
* '''False''' <br />
|| Used to create engines without controllable thrust.<br />
|-<br />
| exhaustDamage || <br />
* True<br />
* False <br />
|| assumed to indicate whether the exhaust from this engine will damage other parts.<br />
|-<br />
| ignitionThreshold || <br />
* 0.1 <br />
||minimum required resource(s) for engine to start. If engine has less than specified value in resource(s), it will not start. Think of it as if your car needs at least half full tank to start.<br />
|-<br />
| minThrust || <br />
* 0<br />
* 10<br />
* 100<br />
|| Minimum thrust value. Engines will be considered 'off' at or below this value.<br />
|-<br />
| maxThrust || <br />
* 200<br />
* 215<br />
* 80<br />
|| Just like the name implies, this is the maximum thrust a single unit of this module can produce. In order to create a more powerful engine, set this value higher.<br />
|-<br />
| heatProduction || <br />
*400<br />
*900<br />
|| a measure of the amount of heat energy produced per second. measured in degrees Kerbius (degrees Celsius)<br />
|-<br />
| fxOffset || <br />
* 0,0,0<br />
* 0,0,1<br />
|| 3-dimensional vector coordinates specifying the location of thrust effects<br />
|-<br />
| useEngineResponseTime || <br />
* True<br />
* False <br />
|| <br />
|-<br />
| engineAccelerationSpeed || <br />
* 0.2<br />
* 0.12 <br />
||<br />
|-<br />
| engineDecelerationSpeed || <br />
* 0.35<br />
* 0.21<br />
|| <br />
|-<br />
| allowShutdown || <br />
* '''True'''<br />
* False <br />
|| Specifies engines that cannot be turned off, regardless of whether their thrust can be controlled.<br />
|-<br />
| useVelocityCurve || <br />
* True<br />
* False <br />
|| <br />
|-<br />
| PROPELLANT || {}<br />
|| resource utilized in the operation of this part, generally a fuel or other propellant. Engines may use multiple propellant types.<br />
|-<br />
| name ||<br />
* LiquidFuel<br />
* Oxidizer<br />
|| name of the resource consumed while this part is in operation<br />
|-<br />
| ratio || <br />
* 0.9<br />
* 1.1 <br />
|| rate at which this resource is consumed, per second. Not to be confused with ratio relative to other propellants.<br />
|-<br />
| DrawGauge || <br />
* true<br />
* '''false'''<br />
|| Boolean value that indicates whether or not the 'fuel remaining' indicator in the staging selection is displayed or not.<br />
|-<br />
| atmosphereCurve || {} || specifies variances in operational efficiency<br />
|-<br />
| key || || <br />
uses two values to specify engine efficiency relative to the depth of the atmosphere (based on Kerbin sea-level!) First number indicates the relative pressure (0 = vacuum, 1 Kerbin sea-level), second numer indicates ISP value).<br />
Translates directly to ISP. In order to make a more efficient engine, set the second number of this array higher. <br />
|-<br />
| velocityCurve || {} || <br />
Control the degree of acceleration of an engine at specified speeds. It uses keys to generate a curve of the amount of thrust generated by the engine according to the speed of the craft. First part of the key is speed in m/s and then comes the thrust multiplier ( the effective thrust will be : maxThrust * multiplier). Used stock by jet engines.<br />
|}<br />
<br />
|| <br />
<pre><br />
MODULE<br />
{ <br />
name = ModuleEngines <br />
thrustVectorTransform<br />
Name = thrustTransform <br />
throttleLocked = True <br />
exhaustDamage = True <br />
allowShutdown = False <br />
ignitionThreshold = 0.1 <br />
minThrust = 0 <br />
maxThrust = 18 <br />
heatProduction = 550 <br />
fxOffset = 0, 0, 0.02 <br />
PROPELLANT <br />
{ <br />
name = SolidFuel <br />
ratio = 1.0 <br />
DrawGauge = True <br />
} <br />
atmosphereCurve <br />
{ <br />
key = 0 100 <br />
key = 1 100 <br />
} <br />
}<br />
</pre><br />
|-<br />
|<br />
=== ModuleEnginesFX ===<br />
An (updated?) version of ModuleEngines. Required for and allows implementation of multi-modal engines. <br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| engineID <br />
|| <br />
* LES<br />
* KS25<br />
|| Hidden name of the engine<br />
|-<br />
| runningEffectName <br />
|| <br />
* running_closed <br />
|| state of the engine<br />
|-<br />
| thrustVectorTransformName <br />
|| <br />
* thrustTransform<br />
* obj_gimbal<br />
|| <br />
specifies gameObject to be used as point of applied thrust, force is applied in local +Z. standard name is thrustTransform, but it can be anything as long as gameObject in the MU matches thrustVectorTransformName value in module config<br />
|-<br />
| exhaustDamage ||<br />
* True<br />
* False <br />
|| <br />
Indicates whether the exhaust from this engine will damage other parts.<br />
|-<br />
| throttleLocked || <br />
* True<br />
* False<br />
|| <br />
Assumed to specify that solid Rocket Boosters cannot have their throttle adjusted while in flight.<br />
|-<br />
| ignitionThreshold <br />
|| <br />
* 0.1<br />
* 0.05 <br />
|| minimum required resource(s) for engine to start. If engine has less than specified value in resource(s), it will not start. Think of it as if your car needs at least half full tank to start.<br />
|-<br />
| minThrust <br />
|| <br />
* 0<br />
* 10 <br />
|| <br />
Minimum thrust value. Engines will be considered 'off' at or below this value.<br />
|-<br />
| maxThrust <br />
|| <br />
* 200<br />
* 215 <br />
|| <br />
Just like the name implies, this is the maximum thrust a single unit of this module can produce.<br />
|-<br />
| heatProduction <br />
|| <br />
* 400 <br />
* 600<br />
|| a measure of the amount of heat energy produced per second. measured in degrees Kerbius (degrees Celsius)<br />
|-<br />
| fxOffset <br />
|| <br />
* 0,0,-1<br />
* 0,0,-0.5<br />
|| <br />
3-dimensional vector coordinates specifying the location of thrust effects<br />
|-<br />
| PROPELLANT <br />
|| {}<br />
|| resource utilized in the operation of this part, generally a fuel or other propellant.<br />
|-<br />
| name <br />
|| <br />
* LiquidFuel<br />
* Oxidizer<br />
* XenonGas<br />
|| <br />
name of the resource consumed while this part is in operation<br />
|-<br />
| ratio <br />
|| <br />
* 0.9<br />
* 1.1<br />
|| <br />
rate at which this resource is consumed, per second. Not to be confused with ratio relative to other propellants.<br />
|-<br />
| DrawGauge <br />
|| <br />
* True<br />
* False<br />
|| <br />
Boolean value that indicates whether or not the 'fuel remaining' indicator in the staging selection is displayed or not.<br />
|-<br />
| atmosphereCurve || {} || specifies variances in operational efficiency<br />
|-<br />
| key || <br />
* 0 360<br />
* 0.5 320<br />
* 1 260 <br />
|| <br />
uses two values to specify engine efficiency relative to the depth of the atmosphere (based on Kerbin sea-level!) First number indicates the relative pressure (0 = vacuum, 1 Kerbin sea-level), second numer indicates ISP value).<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleEnginesFX<br />
thrustVectorTransformName = thrustTransform<br />
exhaustDamage = True<br />
ignitionThreshold = 0.1<br />
minThrust = 0<br />
maxThrust = 30<br />
heatProduction = 150<br />
fxOffset = 0, 0, 0.125<br />
PROPELLANT<br />
{<br />
name = LiquidFuel<br />
ratio = 0.9<br />
DrawGauge = True<br />
}<br />
PROPELLANT<br />
{<br />
name = Oxidizer<br />
ratio = 1.1<br />
}<br />
atmosphereCurve<br />
{<br />
key = 0 350<br />
key = 1 300<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleEnviroSensor ===<br />
Environmental sensor definitions. Specifies that this part is one of these types of sensors.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| sensorType ||<br />
* ACC<br />
* PRES<br />
* GRAV<br />
* TEMP<br />
|| Type of experiment / sensor. Not sure of the utility of this definition, could be used in Science modules to determine what type of experiment was conducted. Could be used in contracts for determining contract requirements.<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleEnviroSensor<br />
sensorType = ACC<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleGenerator ===<br />
Generators and Alternators serve must the same purpose, but generators are not linked to the percentage of thrust output of an engine, they simply produce. Some cannot be shut off. A generator may produce any available resource.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| isAlwaysActive ||<br />
* true<br />
* false<br />
|| <br />
specifies whether this module is always active or not. true/false<br />
|-<br />
| OUTPUT_RESOURCE || {} || <br />
|-<br />
| name <br />
|| <br />
* ElectricCharge <br />
* LiquidFuel<br />
* XenonGas<br />
|| <br />
specifies the name of the produced resource. <br />
|-<br />
| rate <br />
|| <br />
* 1<br />
* 5<br />
|| <br />
specifies the rate of resource produced, expressed in units per second.<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleGenerator<br />
isAlwaysActive = true<br />
OUTPUT_RESOURCE<br />
{<br />
name = ElectricCharge<br />
rate = 0.75<br />
} <br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleGimbal ===<br />
Gimballing represents an engine-bells ability to move around in relation to the engine body, provided a degree of ability to steer the vessel. Higher numbers indicate a higher range, but don't set it too high. Strange things will happen. Recommend limiting range to .90 at the absolute maximum.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| gimbalTransformName <br />
|| <br />
* thrustTransform<br />
|| <br />
Uncertain.<br />
|-<br />
| gimbalRange <br />
|| <br />
* .20<br />
* .15<br />
* .10<br />
* .5<br />
|| represents the maximum angle, in degrees, that gimballing is supported. Recommend keeping this number relatively low (under 20 for sure), as setting the number too high can have catastrophic effects on ship design.<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleGimbal<br />
gimbalTransformName = thrustTransform<br />
gimbalRange = 0.5<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleGrappleNode ===<br />
Added in [0.90], specifically for the KASA asteroid capture missions, this part functions much like a dockingNode, however, it does not require a matching docking node on the capture-side. Grapplers can attach to anything (as far as we know).<br />
{|class="wikitable"<br />
! variable !! sample !! definition<br />
|-<br />
| nodeTransformName || <br />
* ArticulatedCap<br />
|| Uncertain. Assumed to relate to animations used.<br />
|-<br />
| deployAnimationController ||<br />
* 1<br />
|| Uncertain. <br />
|-<br />
| nodeType || <br />
* size1<br />
|| Size of the connection. Relates to Docking port sizes. <br />
|-<br />
| captureRange ||<br />
* 0.05<br />
|| Maximum distance between grappler and target at which grappling can occur<br />
|-<br />
| captureMinFwdDot ||<br />
* 0.866<br />
|| Unknown<br />
|-<br />
| captureMaxRvel ||<br />
* 1<br />
|| Maximum speed, relative to target, at which target can be grappled<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleGrappleNode<br />
<br />
nodeTransformName = ArticulatedCap<br />
deployAnimationController = 1 <br />
nodeType = size1<br />
<br />
captureRange = 0.05 <br />
captureMinFwdDot = 0.866<br />
captureMaxRvel = 1<br />
}<br />
</pre><br />
<br />
|-<br />
|<br />
<br />
=== ModuleJettison ===<br />
specifies that pieces of this craft are able to be jettisoned, what they are and how to jettison them<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
<br />
|-<br />
| jettisonName || <br />
* node_fairing_collider<br />
* fairingL<br />
* fairingR<br />
* fairing<br />
|| <br />
Name of the part to be jettisoned<br />
|-<br />
| bottomNodeName <br />
|| <br />
* bottom<br />
||<br />
Name of the node from which the part will be jettisoned<br />
|-<br />
| isFairing || <br />
* True<br />
* False<br />
|| <br />
Specifies whether the ejected part is a fairing. Uncertain as to why this important. May have to do with debris tracking.<br />
|-<br />
| jettisonedObjectMass <br />
|| <br />
* 0.1 <br />
|| <br />
Specifies the mass of the jettisoned object. It is uncertain, yet, if this mass is removed from the total mass of the vehicle. It is also uncertain if, when a fairing is added in vehicle assembly, this mass is added to the parent object.<br />
|-<br />
| jettisonForce <br />
|| <br />
* 1<br />
* 2 <br />
* 5 <br />
|| <br />
DeltaV with which the object is jettisoned from its parent object. Typically very low values, such as 1, 2 or 5<br />
|-<br />
| jettisonDirection <br />
||<br />
* 0 0 1<br />
* 0 1 0<br />
|| <br />
Three-dimensional array which specifies the direction of the jettisonForce relative to the original part, laterally is 0 0 1 and 0 0 -1, for example.<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleJettison<br />
jettisonName = fairing<br />
bottomNodeName = bottom<br />
isFairing = True<br />
jettisonedObjectMass = 0.1<br />
jettisonForce = 5<br />
jettisonDirection = 0 0 1<br />
<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleLandingGear ===<br />
Specifies that the part is a landing gear, implying a wheel, and the traits of that wheel. Hopefully being deprecated in favor of [[Module#ModuleWheel|moduleWheel]] below.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| BrakeTorque || <br />
* 12 <br />
|| Amount of torque applied during breaking<br />
|-<br />
| BrakeSpeed ||<br />
* 3 <br />
|| Reduction in speed over time, expressed in m/s<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleLandingGear<br />
<br />
BrakeTorque = 12<br />
BrakeSpeed = 3<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleLandingLeg ===<br />
Specifies that this part is a landing leg and describes compression and resistance factors for the part.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| animationName || <br />
* Deploy<br />
* newlandingleg<br />
* probeleg<br />
|| specifies the animation to use<br />
|-<br />
| wheelColliderName <br />
|| <br />
* wheelCollider<br />
|| <br />
|-<br />
| suspensionTransformName ||<br />
* Piston<br />
* piston<br />
* leg<br />
||<br />
|-<br />
| orientFootToGround || <br />
* true<br />
* false<br />
|| <br />
|-<br />
| landingFootName || <br />
* foot<br />
|| <br />
|-<br />
| alignFootUp || <br />
* true<br />
* false<br />
|| Aligns to up Axis instead of forward axis if true<br />
|-<br />
| suspensionUpperLimit || <br />
* 0.60 <br />
* 0.47<br />
* 0.65 <br />
|| unknown <br />
|-<br />
| impactTolerance || <br />
* 300<br />
* 450<br />
* 150 <br />
|| specifies the dV in m/s before the part breaks <br />
|-<br />
| suspensionSpring || <br />
* 1.25<br />
* 5<br />
* 1 <br />
|| specifies the maximum degree of compression in the part <br />
|-<br />
| suspensionDamper || <br />
* 1<br />
* 2 <br />
|| Uncertain<br />
|-<br />
| suspensionOffset || <br />
* 0<br />
* 0.02 <br />
|| Uncertain<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
<br />
name = ModuleLandingLeg<br />
animationName = Deploy<br />
wheelColliderName = wheelCollider<br />
suspensionTransformName = Piston<br />
orientFootToGround = true<br />
landingFootName = foot<br />
// Foot is aligned to up Axis instead of forward<br />
alignFootUp = true<br />
suspensionUpperLimit = 0.60<br />
impactTolerance = 300<br />
suspensionSpring = 1.25<br />
suspensionDamper = 1<br />
suspensionOffset = 0, 0.02,0<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleLight ===<br />
Specifies that this part is a light source, and how that light is produced and directed.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| lightName <br />
|| <br />
* spotlight<br />
* landinglight<br />
||<br />
Name of the light source<br />
|-<br />
| useAnimationDim || <br />
* true<br />
* false<br />
|| Uncertain. Assumed to specify an animation to dim the light<br />
|-<br />
| lightBrightenSpeed || <br />
* 2.5<br />
|| When you turn it off, how long it takes to turn off<br />
|-<br />
| lightDimSpeed || <br />
* 2.5<br />
|| Speed at which the light dims<br />
|-<br />
| resourceAmount || <br />
* 0.4 <br />
|| rate of consumption (in units/second) of the needed resource<br />
|-<br />
| animationName || <br />
* LightAnimation<br />
|| <br />
|-<br />
| useResources || <br />
* true <br />
* false<br />
|| <br />
specifies whether this light source requires resources<br />
|-<br />
| useAutoDim || <br />
* true<br />
* false<br />
|| <br />
Sets the autodim<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleLight<br />
lightName = spotlight<br />
useAnimationDim = true<br />
lightBrightenSpeed = 2.5<br />
lightDimSpeed = 2.5<br />
animationName = LightAnimation<br />
resourceAmount = 0.02<br />
useResources = true<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleParachute ===<br />
specifies that this part is a parachute and describes the operational parameters for parachute operations. Includes default settings for opening height and deployment atmospheric conditions.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition <br />
|-<br />
| semiDeployedAnimation || <br />
* semiDeploySmall <br />
|| specifies the animation to use in the semi-deployed state<br />
|-<br />
| fullyDeployedAnimation || <br />
* fullyDeploySmall <br />
|| specifies the animation to use in the fully deployed state<br />
|-<br />
| invertCanopy || <br />
* '''true'''<br />
* false <br />
|| unknown purpose.<br />
|-<br />
| autoCutSpeed || <br />
* 0.5 <br />
|| specifies the speed at which the parachute will be automatically cut, rendering it ineffective.<br />
|-<br />
| capName || <br />
* cap <br />
|| <br />
|-<br />
| canopyName || <br />
* canopy <br />
|| <br />
|-<br />
| stowedDrag || <br />
* 0.22 <br />
|| specifies the drag effect while the parachute is still stowed<br />
|-<br />
| semiDeployedDrag || <br />
* 1 <br />
|| specifies the drag effect while the parachute is in its semi-deployed state<br />
|-<br />
| fullyDeployedDrag || <br />
* 500 <br />
|| specifies the drag effect while the parachute is in its fully deployed state<br />
|-<br />
| minAirPressureToOpen || <br />
* 0.01 <br />
|| specifies the minimum Air pressure (or atmosphere) required for the parachute to enter its semi-deployed state<br />
|-<br />
| deployAltitude || <br />
* 500 <br />
|| configurable, sets the altitude above the planetary collision mesh at which the parachute will enter its fully deployed state<br />
|-<br />
| deploymentSpeed || <br />
* 1 <br />
|| specifies the speed at which the parachute will enter its fully deployed state<br />
|-<br />
| semiDeploymentSpeed ||<br />
* 1 <br />
|| specifies the speed at which the parachute will enter its semi-deployed state<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleParachute<br />
semiDeployedAnimation = semiDeploySmall<br />
fullyDeployedAnimation = fullyDeploySmall<br />
invertCanopy = true<br />
autoCutSpeed = 0.5<br />
capName = cap<br />
canopyName = canopy<br />
stowedDrag = 0.22<br />
semiDeployedDrag = 1<br />
fullyDeployedDrag = 500<br />
minAirPressureToOpen = 0.01<br />
deployAltitude = 500<br />
deploymentSpeed = 1<br />
semiDeploymentSpeed = 1 <br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleRCS ===<br />
Specifies that this is a Reaction Control System part. Uses variable resources to control directionality of the spacecraft. Unlike engines, RCS parts are generally oriented perpendicular to all directions of a spacecraft in order to provide steering, rather than thrust. Typically, monopropellant is decompressively expelled from an RCS port to push the spacecraft in one direction. <br />
Note: ModuleRCS can use either a single resource, or a series of PROPELLANT calls.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
|-<br />
| thrusterTransformName || <br />
* RCSthruster<br />
|| <br />
|-<br />
| thrusterPower || <br />
* 10<br />
* 5<br />
* 20<br />
|| <br />
This is the power that the RCS thrusters provide. To make stronger RCS, use a higher numer<br />
|-<br />
| resourceName -------- interchangeable with PROPELLANT calls || || <br />
The name of the resource used by the RCS thruster, typically MonoPropellant<br />
|-<br />
| resourceFlowMode -- for resourceName only --|| <br />
* STAGE_PRIORITY_FLOW<br />
* STACK_PRIORITY_FLOW<br />
* ALL_VESSEL<br />
* NONE<br />
|| <br />
Specifies the manner in which the resource is requested from the vessel<br />
|-<br />
| PROPELLANT || || <br />
Introduced with the inclusion of the Vernor RCS, it is recommended to use PROPELLANT calls only when using multiple resources. It is expected that older RCS will be updated to the new convention prior to final release.<br />
|-<br />
| name || <br />
* MonoPropellant<br />
* LiquidFuel<br />
* Oxidizer<br />
|| <br />
name of the resource consumed<br />
|-<br />
| ratio || <br />
* 1<br />
* 1.1<br />
* 0.9<br />
|| <br />
ratio of the resource consumed <br />
|-<br />
| resourceFlowMode <br />
|| <br />
* STAGE_PRIORITY_FLOW<br />
* STACK_PRIORITY_FLOW<br />
* ALL_VESSEL<br />
* NONE<br />
|| using the same pull method as a single resource, specifies how to pull the resource from the rest of the vessel<br />
|-<br />
| atmosphereCurve || <br />
* 0 350<br />
* 1 250<br />
|| <br />
Specifies the efficiency of the RCS thruster using 2-part keys<br />
0 specifies the ISP in atmosphere<br />
1 specifies the ISP at Kerbin Sea Level<br />
entries in between specify the ISP at specific percentages of Kerbin Sea Level (e.g: 0.5 = 1/2 Kerbin Atmosphere)<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleRCS<br />
thrusterTransformName = RCSthruster<br />
thrusterPower = 12<br />
resourceName = LiquidFuel<br />
resourceFlowMode = STAGE_PRIORITY_FLOW<br />
PROPELLANT<br />
{<br />
name = LiquidFuel<br />
ratio = 0.9<br />
DrawGauge = True<br />
resourceFlowMode = STAGE_PRIORITY_FLOW<br />
}<br />
PROPELLANT<br />
{<br />
name = Oxidizer<br />
ratio = 1.1<br />
resourceFlowMode = STAGE_PRIORITY_FLOW<br />
}<br />
atmosphereCurve<br />
{<br />
key = 0 260<br />
key = 1 140<br />
}<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleReactionWheel ===<br />
Specifies that this part contains reaction wheels, used to stabilize the directionality of a spacecraft. Typically used for stability, rather than producing change, both are possible. If you're thinking that this does the same thing as RCS, you wouldn't be far off.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| PitchTorque || <br />
* 20 <br />
|| <br />
numerical value, denotes amount of change can be applied to pitch using reaction wheel power<br />
|-<br />
| YawTorque || <br />
* 20<br />
|| <br />
numerical value, denotes amount of change can be applied to yaw using reaction wheel power<br />
|-<br />
| RollTorque || <br />
* 20 <br />
|| <br />
numerical value, denotes amount of change can be applied to roll using reaction wheel power<br />
|-<br />
| RESOURCE || {} || <br />
The resource used by reaction wheels in order to affect the changes they can produce<br />
|-<br />
| name || <br />
* ElectricCharge<br />
|| <br />
name of the relevant resource, typically ElectricCharge<br />
|-<br />
| rate || <br />
*0.45<br />
|| <br />
Rate of consumption, expressed in units/second at full usage.<br />
|}<br />
|<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleReactionWheel<br />
<br />
PitchTorque = 30<br />
YawTorque = 30<br />
RollTorque = 30<br />
<br />
RESOURCE<br />
{<br />
name = ElectricCharge<br />
rate = 0.6<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleResourceIntake ===<br />
Used to create a part that produces a resource based on interaction with the environment.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
|-<br />
| resourceName || <br />
*IntakeAir <br />
|| <br />
defines the type of resource produced by this module. Any resource may be used for this purpose, including those not defined at all<br />
|-<br />
| checkForOxygen ||<br />
* true<br />
* false<br />
|| <br />
An optional method that specifies this module must check to see if oxygen/atmosphere is present whenever attempting to generate the requested resource.<br />
|-<br />
| area || <br />
* 0.004 <br />
|| <br />
area is the amount of space used for determining how much resource to produce. The larger the number, the more of the resource is produced per second.<br />
|-<br />
| intakeSpeed || <br />
* 10<br />
|| <br />
unknown. Assumed to be a minimum m/s measure to determine if this module operates or not.<br />
|-<br />
| intakeTransformName ||<br />
* Intake <br />
||<br />
unknown.<br />
|}<br />
|<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleResourceIntake<br />
resourceName = IntakeAir<br />
checkForOxygen = true<br />
area = 0.006<br />
intakeSpeed = 10<br />
intakeTransformName = Intake <br />
}<br />
</pre><br />
|<br />
|-<br />
|<br />
<br />
=== ModuleSAS ===<br />
Used as a reference to determine whether this part is activated by the SAS function of the interface. ie. when you turn on SAS, turn on this part. NOTE: [0.90] added SASServiceLevel (0-3) <br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| SASServiceLevel ||<br />
* 0<br />
* 1<br />
* 2<br />
* 3<br />
|| defines the required level of building development for each different SAS capabilities (markers on the nav ball)<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleSAS<br />
SASServiceLevel = 1<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleScienceContainer ===<br />
A place to store the results of a science experiment.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| reviewActionName || Flavor Text || for reviewing the data contained in a science container.<br />
|-<br />
| storeActionName || Flavor text || for placing data into a science container.<br />
|-<br />
| collectActionName || Flavor text || for removing data from a science container.<br />
<br />
|-<br />
| evaOnlyStorage || <br />
* True<br />
* False<br />
|| <br />
Specifies whether or not data storage is restricted to EVA activities.<br />
|-<br />
| storageRange || <br />
* 0.5<br />
|| <br />
Distance, expressed in meters, a Kerbal must be within in order to interact with data and this container.<br />
|-<br />
| allowRepeatedSubjects || <br />
* True<br />
* False<br />
|| Uncertain<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleScienceContainer<br />
<br />
reviewActionName = Review Stored Data<br />
storeActionName = Store Experiments<br />
evaOnlyStorage = True<br />
storageRange = 4.0<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleScienceExperiment ===<br />
A place to conduct a science experiment.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| experimentID ||<br />
* atmosphereAnalysis<br />
* mysteryGoo<br />
* crewReport<br />
* seismicScan<br />
* barometerScan<br />
|| Internal name of the experiment being conducted<br />
|-<br />
| experimentActionName || Flavor text || <br />
for contextual menu to describe to the player what the part does when collecting data<br />
|-<br />
| resetActionName || Flavor text || <br />
for contextual menu to describe to the player what the part does when collecting data<br />
|-<br />
| reviewActionName || Flavor text || <br />
for contextual menu to describe to the player what the part does when collecting data<br />
|-<br />
| useStaging ||<br />
* True<br />
* False<br />
|| specifies whether this module can be activated through the normal staging system<br />
|-<br />
| useActionGroups || <br />
* True<br />
* False<br />
|| specifies whether this module can be activated by an Action Group<br />
|-<br />
| hideUIwhenUnavailable || <br />
* True<br />
* False<br />
|| specifies whether this module will show its activation buttons through the contextual menu, even if it is not available<br />
|-<br />
| rerunnable || <br />
* True<br />
* '''False'''<br />
|| specifies whether this experiment can be rerun.<br />
|-<br />
| xmitDataScalar || <br />
* 0.35<br />
|| Uncertain. Presumed to relate to Mits for transmission / recovery<br />
|-<br />
| FxModules || <br />
* 0 <br />
|| Unknown - presumed to relate to animation for the module when activated<br />
|-<br />
| dataIsCollectable || <br />
* True<br />
* False<br />
|| Uncertain. Presumed to indicate whether a Kerbal on EVA can retrieve data from this experiment<br />
|-<br />
| collectActionName || Flavor text || If data is collectible, this is the flavor text for collecting that data<br />
|-<br />
| interactionRange || <br />
* 0.5 <br />
|| The range, expressed in meters, from which a Kerbal on EVA can interact with this module (for example to reset the experiment)<br />
|-<br />
| usageReqMaskInternal || (ExperimentUsageReqs) || How the experiment can be triggered by the parent Vessel.<br />
|-<br />
| usageReqMaskExternal || (ExperimentUsageReqs) || How the experiment can be triggered by EVA Kerbals.<br />
|}<br />
<br />
ExperimentUsageReqs<br />
{|class="wikitable"<br />
|-<br />
! Name !! Value !! Notes<br />
|-<br />
| Never || -1 || Experiment can't be used at all<br />
|-<br />
| Always || 0 || Experiment can always be used<br />
|-<br />
| VesselControl || 1 || Experiment can be used if vessel is (see ExperimentUsageReqs)under control (probe or crew)<br />
|-<br />
| CrewInVessel || 2 || Experiment can only be used if vessel is crewed.<br />
|-<br />
| CrewInPart || 4 || Experiment can only be used if part contains crew.<br />
|-<br />
| ScientistCrew || 8 || Experiment can only be used if crew is scientist.<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleScienceExperiment <br />
<br />
experimentID = atmosphereAnalysis<br />
<br />
experimentActionName = Run Atmosphere Analysis<br />
resetActionName = Discard Data<br />
reviewActionName = Review Data<br />
<br />
useStaging = False <br />
useActionGroups = True<br />
hideUIwhenUnavailable = True <br />
rerunnable = True<br />
<br />
xmitDataScalar = 0.35<br />
<br />
dataIsCollectable = True<br />
collectActionName = Download Data<br />
interactionRange = 1.2<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleScienceLab ===<br />
A place to modify a science experiment prior to transmission in order to gain more research points from it.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
|-<br />
| containerModuleIndex || <br />
* 0 <br />
|| Unkown<br />
|-<br />
| dataTransmissionBoost || <br />
* 1.5<br />
|| Unknown <br />
|-<br />
| crewsRequired || <br />
* 2 <br />
|| Minimum number of Kerbals in the part needed to operate this module<br />
|-<br />
| canResetConnectedModules || <br />
* True<br />
* False<br />
|| Unknown. Presumed to indicate whether modules attached to this part can be reset from this module<br />
|-<br />
| canResetNearbyModules || <br />
* True<br />
* False<br />
|| Presumed to indicate whether modules attached to this vessel can be reset from this module<br />
|-<br />
| interactRange || <br />
* 1.2 <br />
|| Limit of range (in meters) that modules attached to this vessel can be reset. Uncertain.<br />
|-<br />
| REOURCE_PROCESS || {} || <br />
|-<br />
| name || <br />
* ElectricCharge<br />
|| names the resource required, e.g.: ElectricCharge<br />
|-<br />
| amount || <br />
* 10 <br />
|| <br />
specified, numerical, the number of units of the specified resource expended<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleScienceLab<br />
<br />
containerModuleIndex = 0 <br />
dataTransmissionBoost = 1.15 <br />
crewsRequired = 2<br />
<br />
canResetConnectedModules = True<br />
canResetNearbyModules = True<br />
interactionRange = 5<br />
<br />
RESOURCE_PROCESS<br />
{<br />
name = ElectricCharge<br />
amount = 10<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleSteering ===<br />
Specifies that this part is steerable and provides the axis and animation information for steering the part.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| controlAxisType || <br />
* Forward <br />
|| Unsure. May have something to do with directional control<br />
|-<br />
| steeringAxis || <br />
* 0, 0, 1 <br />
|| specifies the 3-dimensional axis of steering control. <br />
|-<br />
| steeringTransformName || <br />
* Steering <br />
|| unknown<br />
|-<br />
| steeringLocked || <br />
* true<br />
* false<br />
|| specifies whether the part's steering starts locked<br />
|-<br />
| steeringCurve || <br />
{|<br />
| <br />
|-<br />
| 0 || 16<br />
|-<br />
| 10 || 9<br />
|-<br />
| 30 || 2<br />
|-<br />
| 100 || 1<br />
|}<br />
|| multi-array of keys, <br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleSteering<br />
controlAxisType = Forward<br />
steeringAxis = 0, 0, 1<br />
steeringTransformName = Steering<br />
steeringLocked = true<br />
steeringCurve<br />
{<br />
key = 0 16<br />
key = 10 9<br />
key = 30 2<br />
key = 100 1<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleTestSubject ===<br />
Used for the contract system, determines atmospheric conditions under which this part may be considered for testing. Also specifies whether the part is able to be tested using the Staging process or must be manually selected and "Perform Test" used to satisfy contract requirements.<br />
{|class="wikitable"<br />
|-<br />
! variable !! example !! definition<br />
|-<br />
| environments || <br />
* 15<br />
* 1<br />
|| <br />
A single numerical value, between 0 (nowhere) and 15 (anywhere), that specifies the atmospheric conditions the part may be tested under. Add numbers together to specify multiple environments<br />
* 0 = nowhere<br />
* 1 = the surface of; srf<br />
* 2 = the ocean of; ocean<br />
* 3 = the surface or ocean of; srf, ocean<br />
* 4 = the atmosphere of; atmo<br />
* 5 = the surface or atmosphere of; srf, atmo<br />
* 6 = the ocean or atmosphere of; ocean, atmo<br />
* 7 = the surface, ocean or atmosphere of; srf, ocean, atmo<br />
* 8 = the space above; space<br />
* 9 = the surface or space above; srf, space<br />
* 10 = the ocean or space of; srf, ocean, space<br />
* 11 = the surface, ocean or space of; srf, ocean, space<br />
* 12 = the space or atmosphere of; atmo, space<br />
* 13 = the surface, space or atmosphere of; srf, atmo, space<br />
* 14 = the ocean, space, or atmosphere of; ocean, atmo, space<br />
* 15 = anywhere; srf, ocean, atmo, space<br />
|-<br />
| useStaging ||<br />
* True<br />
* False <br />
|| specifies whether the part can be tested using the Staging Process<br />
|-<br />
| useEvent ||<br />
* True<br />
* False <br />
|| specifies whether the part can be tested using the "Perform Test" action.<br />
|}<br />
<br />
|| <br />
<pre><br />
MODULE<br />
{ <br />
name = ModuleTestSubject <br />
// nowhere: 0, srf: 1, ocean: 2, atmo: 4, space: 8 <br />
environments = 15 <br />
useStaging = False <br />
useEvent = True<br />
}<br />
</pre><br />
|-<br />
|<br />
<br />
=== ModuleWheel ===<br />
The better version of landingGear, with lots more options for the operation of wheels, including adding power, steering, and damage information.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| hasMotor || <br />
* true<br />
* false<br />
|| specifies whether the wheel has a powered propulsion system <br />
|-<br />
| resourceName ||<br />
* ElectricCharge<br />
|| specifies the resource(s) used by powered propulsion system<br />
|-<br />
| resourceConsumptionRate || <br />
* 1.0<br />
|| specifies the rate of consumption of resources for the powered propulsion system in units/second<br />
|-<br />
| canSteer || <br />
* true<br />
* false<br />
|| specifies whether this wheel is steerable<br />
|-<br />
| controlAxisType || <br />
* Forward <br />
|| If steerable, specifies the axis type <br />
|-<br />
| steeringModeType || <br />
* AutomaticSteer<br />
* TankSteer<br />
|| uncertain: may refer to rack-and-pinion versus Track-type steering<br />
|-<br />
| brakeTorque || <br />
* 300 <br />
|| the dV (in m/s) of torque applied when using the breaks <br />
|-<br />
| brakeSpeed || <br />
* 1.2 <br />
|| the dV (in m/s) that braking will slow the vehicle under optimum conditions <br />
|-<br />
| impactTolerance || <br />
* 2000 <br />
|| dV that this part can withstand before breaking <br />
|-<br />
| overSpeedDamage || <br />
* 60 <br />
|| uncertain. possibly reserved for future use, possible that this is the amount of dV of damage applied to this part whenever it exceeds it's rated speed<br />
|-<br />
| WHEEL || {} || <br />
|-<br />
| wheelName || <br />
* wheel<br />
|| Internal name of the wheel<br />
|-<br />
| wheelColliderName || <br />
* wheelCollider<br />
|| Internal name of the collider mesh for the wheel<br />
|-<br />
| suspensionTransformName || <br />
* suspensionTraverse<br />
|| Animation for suspension usage<br />
|-<br />
| suspensionNeutralPointName || <br />
* suspensionNeutralPoint<br />
|| Animation for the neutral point of the suspension <br />
|-<br />
| damagedObjectName || <br />
* bustedwheel<br />
|| If you break it, you bought, and this is what you'll call it<br />
|-<br />
| rotateX || <br />
* 0<br />
|| <br />
|-<br />
| rotateY || <br />
* 1<br />
|| <br />
|-<br />
| rotateZ || <br />
* 0<br />
|| <br />
|-<br />
| steeringCurve || {} || <br />
keys, 0 16<br />
10 9<br />
30 2<br />
|-<br />
| torqueCurve || {} || <br />
keys<br />
0 250 0 0 <br />
20 100 0 0 <br />
30 14 0 0 <br />
34 0 0 0<br />
<br />
|}<br />
<br />
|| <br />
<pre><br />
MODULE<br />
{<br />
name = ModuleWheel<br />
hasMotor = true<br />
resourceName = ElectricCharge<br />
resourceConsumptionRate = 0.5<br />
canSteer = true<br />
controlAxisType = Forward<br />
steeringModeType = AutomaticSteer<br />
brakeTorque = 180<br />
brakeSpeed = 1.0<br />
impactTolerance = 65<br />
overSpeedDamage = 20<br />
<br />
WHEEL<br />
{<br />
wheelName = wheel<br />
wheelColliderName = wheelCollider<br />
suspensionTransformName = suspensionTraverse<br />
suspensionNeutralPointName = suspensionNeutralPoint<br />
damagedObjectName = bustedwheel<br />
rotateX = 0<br />
rotateY = 1<br />
rotateZ = 0<br />
}<br />
<br />
steeringCurve<br />
{<br />
key = 0 18<br />
key = 15 6<br />
}<br />
<br />
torqueCurve<br />
{<br />
key = 0 170 0 0 <br />
key = 2.5 100 0 0<br />
key = 12 0 0 0<br />
}<br />
<br />
<br />
}</pre><br />
|-<br />
|<br />
<br />
=== MultiModeEngine ===<br />
Specifies that this part is an engine with multiple modes. Added in [0.90], it allows for engines that use different types of resources and provides different flight characteristics depending on which mode it is operating in. This module defines the different modes and passes them to moduleEnginesFX.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| primaryEngineID || <br />
* AirBreathing<br />
* ClosedCycle<br />
|| this is passed to ModuleEnginesFX to determine the properties for this mode<br />
|-<br />
| secondaryEngineID || <br />
* AirBreathing<br />
* ClosedCycle<br />
|| this is passed to ModuleEnginesFX to determine the properties for this mode<br />
|-<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = MultiModeEngine<br />
primaryEngineID = AirBreathing<br />
secondaryEngineID = ClosedCycle<br />
}<br />
<br />
</pre><br />
<br />
<br />
|-<br />
|<br />
<br />
=== RetractableLadder ===<br />
Just like the name implies, this module is attached to parts that are or contain a retractable or collapsible ladder.<br />
{|class="wikitable"<br />
! variable !! example !! definition<br />
|-<br />
| ladderAnimationRootName || <br />
* TelusBay<br />
* Telescopic ladder<br />
|| name of the beginning animation for this module<br />
|-<br />
| ladderColliderName || <br />
* ladderCollider<br />
|| name of the collider mesh for this module<br />
|-<br />
| ladderRetractAnimationName ||<br />
* Retract<br />
|| name of the retraction animation for this module<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = RetractableLadder<br />
<br />
ladderAnimationRootName = TelusBay<br />
ladderColliderName = ladderCollider<br />
ladderRetractAnimationName = Retract<br />
}<br />
</pre><br />
|-<br />
|<br />
|}<br />
<br />
== MODULES FROM MODS ==<br />
Defining a module is a task in and of itself and one that I'm sure has already been covered in other places. Many modules defined by mods are duplicating effects that could be created with stock modules, but for one reason or another, the mod owner has decided to create their own modules (possibly for degree of control, possibly because the stock module didn't quite do everything they needed). In any event, I've looked at some of the Mod modules, and detailed them below. By mod, they are:<br />
<br />
=== Kerbal Assembly System ===<br />
Kerbal Assembly System is most noted for adding the option to grab and move parts using Kerbals. It also allows for storage of certain parts in containers.<br />
<br />
MODULE:NEEDS[KAS]<br />
for the module<br />
<br />
{|<br />
! !!<br />
|-<br />
| <br />
{|class="wikitable"<br />
==== KASModuleContainer ====<br />
Specifies that this part can serve as a container for other parts, and how much storage space the part has. Also included is an interaction distance. Kerbals must be this close or closer to open the container. Lots of sounds.<br />
! variable !! example !! definition<br />
|-<br />
| maxSize || <br />
* 5<br />
* 20 <br />
* 80<br />
|| specifies the size of the container relative to Kerbal Attachment System parts.<br />
|-<br />
| maxOpenDistance || <br />
* 1<br />
* 5<br />
|| Kerbals must be at least this close (in meters) in order to open the container<br />
|-<br />
| sndStorePath || <br />
* KAS/Sounds/hookBayStore<br />
|| sound stuff<br />
|-<br />
| sndOpenPath || <br />
* KAS/Sounds/containerOpen<br />
|| sound stuff for opening the container <br />
|-<br />
| sndClosePath || <br />
* KAS/Sounds/containerClose<br />
|| sound stuff for closing the container<br />
|-<br />
| bipWrongSndPath || <br />
* KAS/Sounds/bipwrong<br />
|| sound stuff<br />
|-<br />
|}<br />
|| <br />
<pre>MODULE<br />
{<br />
name = KASModuleContainer<br />
maxSize = 80<br />
}<br />
</pre><br />
|-<br />
<br />
|<br />
{|class="wikitable"<br />
==== ModuleConnectedLivingSpace ====<br />
! variable !! example !! definition<br />
|-<br />
| passable ||<br />
* true<br />
* false<br />
|| specifies whether Kerbals can commute to parts connected to this part<br />
|-<br />
| passableWhenSurfaceAttached ||<br />
* true<br />
* false<br />
|| can be passed through even when connected to the ground?<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = ModuleConnectedLivingSpace<br />
passable = true<br />
passableWhenSurfaceAttached = true <br />
}<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
==== KASModuleGrab ====<br />
! variable !! example !! definition<br />
|-<br />
| evaPartPos ||<br />
* (0.0, 0.40, -0.40)<br />
* (0.0, 0.0, -0.15)<br />
|| three dimensional array, offset for carrying<br />
|-<br />
| evaPartDir ||<br />
* (0,0,-1)<br />
|| three dimensional array for orientation<br />
|-<br />
| storable ||<br />
* true<br />
* false<br />
|| specifies whether the part can be stored<br />
|-<br />
| storedSize ||<br />
* 20<br />
* 14<br />
|| specifies whether the part can be stored<br />
|-<br />
| attachOnPart ||<br />
* true<br />
* false<br />
|| uncertain<br />
|-<br />
| attachOnEva ||<br />
* true<br />
* false<br />
|| unsure<br />
|-<br />
| attachOnStatic ||<br />
* True<br />
* False<br />
|| unsure<br />
|-<br />
| customGroundPos ||<br />
* True<br />
* False<br />
|| unsure<br />
|-<br />
| attachNodeName ||<br />
* bottom<br />
|| unsure<br />
|-<br />
| dropPartPos ||<br />
* (0.0, -0.2, -0.7)<br />
|| unsure<br />
|-<br />
| dropPartRot ||<br />
* (-10.0, 0.0, 0.0)<br />
|| unsure<br />
|-<br />
| bayType ||<br />
* hookbay<br />
|| unsure<br />
|-<br />
| bayNode ||<br />
* top<br />
|| unsure<br />
|-<br />
| bayRot ||<br />
* (0.0., 0.0, 0.0)<br />
|| something to do with rotation<br />
|-<br />
| attachSendMsgOnly ||<br />
* true<br />
* false<br />
|| unknown<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModuleGrab <br />
evaPartPos = (0.0, 0.40, -0.40) <br />
evaPartDir = (0,0,-1)<br />
storable = true<br />
storedSize = 20<br />
attachOnPart = true<br />
attachOnEva = true<br />
bayType = hookBay<br />
bayNode = top<br />
bayRot = (0.0, 0.0, 0.0)<br />
}<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModulePartBay ====<br />
! variable !! example !! definition<br />
|-<br />
| BAY || {} || <br />
{|class="wikitable"<br />
|-<br />
| attachNode ||<br />
* top<br />
* bottom <br />
|| attachment placement<br />
|-<br />
| type ||<br />
* containerA<br />
* container<br />
* hookBay<br />
||<br />
|-<br />
|}<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModulePartBay<br />
BAY<br />
{<br />
attachNode = top<br />
type = containerA<br />
type = containerB<br />
}<br />
}<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModulePort ====<br />
! variable !! example !! definition<br />
|-<br />
| attachNode ||<br />
* top<br />
|| unsure<br />
|-<br />
| nodeType ||<br />
* kasplug<br />
|| unknown<br />
|-<br />
| breakForce || <br />
* 30<br />
|| unknown<br />
|-<br />
| nodeTransformName ||<br />
* plugNode<br />
|| unknown<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModulePort<br />
attachNode = top<br />
nodeType = kasplug<br />
breakForce = 30<br />
nodeTransformName = plugNode<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModuleAnchor ====<br />
! variable !! example !! definition<br />
This module will set a custom drag value when the part touch the ground.<br />
|-<br />
| groundDrag ||<br />
* 500<br />
|| Drag value of the anchor when it touch the ground<br />
|-<br />
| bounciness ||<br />
* 0<br />
|| Bounciness of the anchor<br />
|-<br />
| dynamicFriction ||<br />
* 0.8<br />
|| Dynamic friction of the anchor when it touch the ground<br />
|-<br />
| staticFriction ||<br />
* 0.8<br />
|| Static friction of the anchor when it touch the ground<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModuleAnchor<br />
groundDrag = 500<br />
bounciness = 0<br />
dynamicFriction = 0.8 <br />
staticFriction = 0.8<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModuleMagnet ====<br />
This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.<br />
! variable !! example !! definition<br />
|-<br />
| breakForce ||<br />
* 10<br />
|| The force that needs to be applied on the magnet joint to break.<br />
|-<br />
| attachToEva ||<br />
* true<br />
* false<br />
|| Disable/enable attraction of eva<br />
|-<br />
| minFwdDot ||<br />
* 0.998<br />
|| Minimum magnet alignement needed to attach (1 is perfectly aligned)<br />
|-<br />
| powerDrain ||<br />
* 4<br />
|| Power consumption when the magnet is used<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModuleMagnet<br />
breakForce = 10<br />
attachToEva = False<br />
minFwdDot = 0.998<br />
powerDrain = 4<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModuleStrut ====<br />
! variable !! example !! definition<br />
|-<br />
| nodeTransform ||<br />
* pipeNode<br />
* strutNode<br />
|| unknown<br />
|-<br />
| type ||<br />
* PipeSize1<br />
* StrutSize1<br />
|| Unkown<br />
|-<br />
| maxLength ||<br />
* 20<br />
* 8<br />
|| unknown<br />
|-<br />
| maxAngle ||<br />
* 100<br />
|| unknown<br />
|-<br />
| breakForce ||<br />
* 10<br />
|| unknown<br />
|-<br />
| allowDock ||<br />
* true<br />
* false<br />
|| unknown<br />
|-<br />
| allowPumpFuel ||<br />
* true<br />
* false<br />
|| unknown<br />
|-<br />
| hasCollider ||<br />
* true<br />
* false<br />
|| unknown<br />
|-<br />
| tubeScale ||<br />
* 0.15<br />
|| unknown<br />
|-<br />
| jointScale ||<br />
* 0.15<br />
|| unknown<br />
|-<br />
| textureTiling ||<br />
* 1<br />
* 4<br />
|| unknown<br />
|-<br />
| tubeSrcType ||<br />
* Joined<br />
* Rounded<br />
|| Unknown<br />
|-<br />
| tubeTgtType ||<br />
* Joined<br />
* Rounded<br />
|| unknown<br />
|-<br />
| evaStrutPos ||<br />
* (0.05, 0.059, -0.21)<br />
|| unknown<br />
|-<br />
| evaStrutRot ||<br />
* (190.0, 0.0, 0.0)<br />
|| unknown<br />
|-<br />
| tubeTexPath ||<br />
* KAS/Textures/pipe<br />
|| unknown<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModuleStrut <br />
nodeTransform = pipeNode<br />
type = PipeSize1 <br />
maxLenght = 20<br />
maxAngle = 100<br />
breakForce = 10<br />
allowDock = true<br />
allowPumpFuel = true<br />
hasCollider = false<br />
tubeScale = 0.15<br />
jointScale = 0.15<br />
textureTiling = 1<br />
tubeSrcType = Joined<br />
tubeTgtType = Joined<br />
evaStrutPos = (0.05, 0.059, -0.21)<br />
evaStrutRot = (190.0, 0.0, 0.0)<br />
tubeTexPath = KAS/Textures/pipe<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModuleGrapplingHook ====<br />
This module will make the part acting like a grappling-hook, any collided part in front of the grapple will be automatically attached if the inpact is strong enough. Only work when attached on a winch.<br />
! variable !! example !! definition<br />
|-<br />
| partBreakForce ||<br />
* 6<br />
|| The force that needs to be applied on the grapple/part joint to break.<br />
|-<br />
| staticBreakForce ||<br />
* 15<br />
|| The force that needs to be applied on the grapple/static joint to break.<br />
|-<br />
| aboveDist ||<br />
* 0.05<br />
|| Distance from the attach point to the center of the part<br />
|-<br />
| forceNeeded ||<br />
* 4<br />
|| Collision force needed to attach the grapple.<br />
|-<br />
| attachToPart ||<br />
* true<br />
* false<br />
|| Disable/enable attachment on parts.<br />
|-<br />
| rayDir ||<br />
* (0,-1,0)<br />
|| Direction of the attach raycast. Attachment will be done only with objects in that direction.<br />
|-<br />
| rayLenght ||<br />
* 0.8<br />
|| Attach ray lenght.<br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModuleGrapplingHook<br />
partBreakForce = 6<br />
staticBreakForce = 15<br />
aboveDist = 0.05<br />
forceNeeded = 4<br />
attachToPart = true<br />
rayDir = (0,-1,0) <br />
rayLenght = 0.8<br />
}<br />
<br />
</pre><br />
|-<br />
|<br />
{|class="wikitable"<br />
<br />
==== KASModuleWinch ====<br />
! variable !! example !! definition<br />
|-<br />
| maxLenght ||<br />
* 50<br />
* 80<br />
|| unknown<br />
|-<br />
| cableSpring ||<br />
* 1000<br />
|| <br />
|-<br />
| cableDamper ||<br />
* 0.1<br />
|| <br />
|-<br />
| cableWidth ||<br />
* 0.04<br />
|| <br />
|-<br />
| motorMaxSpeed ||<br />
* 2<br />
|| <br />
|-<br />
| motorAcceleration ||<br />
* 0.05<br />
|| <br />
|-<br />
| powerDrain ||<br />
* 0.5<br />
* 0.3<br />
|| <br />
|-<br />
| headTransformName ||<br />
* head<br />
|| <br />
|-<br />
| headPortNodeName ||<br />
* portNode<br />
|| <br />
|-<br />
| connectedPortNodeName ||<br />
* bottom<br />
* front<br />
|| <br />
|-<br />
| anchorNodeName ||<br />
* anchorNode<br />
|| <br />
|-<br />
| evaGrabHeadPos ||<br />
* (0.05, 0.01, -0.11)<br />
|| <br />
|-<br />
| evaGrabHeadDir ||<br />
* (0,0,1)<br />
|| <br />
|-<br />
| evaDropHeadPos ||<br />
* (0.05, 0.01, -0.16)<br />
|| <br />
|-<br />
| evaDropHeadRot ||<br />
* (180.0, 0.0, 0.0)<br />
|| <br />
|-<br />
| ejectEnabled ||<br />
* true<br />
* false<br />
|| <br />
|-<br />
| ejectForce ||<br />
* 20<br />
|| <br />
|-<br />
| lockMinDist ||<br />
* 0.12<br />
|| <br />
|-<br />
| lockMinFwdDot ||<br />
* 0.90<br />
|| <br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = KASModuleWinch<br />
maxLenght = 50<br />
cableSpring = 1000<br />
cableDamper = 0.1<br />
cableWidth = 0.04<br />
motorMaxSpeed = 2<br />
motorAcceleration = 0.05<br />
powerDrain = 0.5<br />
headTransformName = head<br />
headPortNodeName = portNode<br />
connectedPortNodeName = bottom<br />
anchorNodeName = anchorNode<br />
evaGrabHeadPos = (0.05, 0.01, -0.11)<br />
evaGrabHeadDir = (0,0,1)<br />
evaDropHeadPos = (0.05, 0.01, -0.16)<br />
evaDropHeadRot = (180.0, 0.0, 0.0)<br />
ejectEnabled = true<br />
ejectForce = 20<br />
lockMinDist = 0.12<br />
lockMinFwdDot = 0.90<br />
}<br />
<br />
</pre><br />
|-<br />
|}<br />
<br />
<br />
<br />
=== Universal Storage ===<br />
Universal Storage. By the by: Excellently documented!<br />
<br />
{|<br />
! !!<br />
|-<br />
| <br />
{|class="wikitable"<br />
==== ModuleAnimator ====<br />
Animation module.<br />
! variable !! example !! definition<br />
|-<br />
| animationName || <br />
* Take 001<br />
|| Name of the animation from the model.<br />
|-<br />
| guiEnableName || <br />
* Wedge Locks Off<br />
|| Part tooltip name to display for deployment<br />
|-<br />
| guiDisableName || <br />
* Wedge Locks Off<br />
|| Part tooltip name to display for retraction<br />
|-<br />
| actionEnableName || <br />
* Wedge Locks Off<br />
|| Action group name for deployment <br />
|-<br />
| actionDisableName || <br />
* Wedge Locks On<br />
|| Action group name for retraction<br />
|-<br />
| animationSpeed || <br />
* 100000<br />
|| Speed of the animation<br />
|-<br />
| oneShot || <br />
* true<br />
* false<br />
|| If the animation can only be played once<br />
|-<br />
| activeEditor || <br />
* true<br />
* false<br />
|| If the part toolitp is visible in the editor<br />
|-<br />
| activeFlight || <br />
* true<br />
* false<br />
|| If the part tooltip is visible in flight<br />
|-<br />
| activeUnfocused || <br />
* true<br />
* false<br />
|| If the part tooltip is visible from EVA<br />
|-<br />
| unfocusedRange || <br />
* 5<br />
|| EVA visible range<br />
|-<br />
|}<br />
|| <br />
<pre><br />
MODULE<br />
{<br />
name = ModuleAnimator<br />
animationName = Take 001<br />
guiEnableName = Wedge Locks Off<br />
guiDisableName = Wedge Locks On<br />
actionEnableName = Wedge Locks Off <br />
actionDisableName = Wedge Locks On <br />
<br />
animationSpeed = 100000<br />
oneShot = false<br />
activeEditor = true<br />
activeFlight = false<br />
activeUnfocused = false<br />
unfocusedRange = 5<br />
}<br />
</pre><br />
|-<br />
<br />
|<br />
{|class="wikitable"<br />
==== REGO_ModuleResourceConverter ====<br />
! variable !! example !! definition<br />
|-<br />
| ConverterName ||<br />
* Water Electrolizer<br />
|| Flavor Text<br />
|-<br />
| StartActioName ||<br />
* Start Water Electrolizer<br />
|| Flavor Text<br />
|-<br />
| StopActioName ||<br />
* Stop Water Electrolizer<br />
|| Flavor Text<br />
|-<br />
| RecipeInputs ||<br />
* ElectricCharge, 14, Water, 0.0000176697<br />
|| <br />
|-<br />
| RecipeOutputs ||<br />
* Hydrogen, 0.0219907427, True, Oxygen, 0.0109953713, False<br />
|| <br />
|-<br />
|}<br />
<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = REGO_ModuleResourceConverter<br />
ConverterName = Water Electrolizer<br />
StartActionName = Start Water Electrolizer<br />
StopActionName = Stop Water Electrolizer<br />
RecipeInputs = ElectricCharge, 14, Water, 0.0000176697<br />
RecipeOutputs = Hydrogen, 0.0219907427, True, Oxygen, 0.0109953713, False<br />
}<br />
</pre><br />
|-<br />
|}<br />
<br />
=== Umbra Space Industries: ExpPack ===<br />
USI is widely known for building an entire add-on family of interconnected and cross-supported parts and extensions. Here we detail mods added by the ExpPack.<br />
<br />
{|<br />
! !!<br />
|-<br />
| <br />
{|class="wikitable"<br />
==== USI_ClearIVA ====<br />
No calls.<br />
|}<br />
||<br />
<pre><br />
MODULE<br />
{<br />
name = USI_ClearIVA<br />
}<br />
</pre><br />
|-<br />
|}<br />
<br />
[[Category:Documentation]][[Category:Modding]]</div>Micha