Skip to content
Joseph Korinek edited this page May 22, 2015 · 19 revisions

Home || Prev || Next

Section 1 General Information
Section 3 Module Manager Configuration


CLS API

Connected Living Space provides an API (Application Programming Interface) that allows for an optional connection to the CLS program libraries. This interface allows the modder to provide support for CLS and not require that CLS be installed, if the player chooses not to.

The API introduces the concept of Living spaces. A living space is a group of parts that are all connected in a way that would allow a kerbal to travel between them without needing to go EVA. The ISS is an example of a vessel with a large living space... there are several parts connected together, but you do not need to go EVA to travel to the different sections of the ISS.

It also introduces the concept of a Hatch. By default, KSP provides for a docking port, allowing you to dock vessels together. However, it does not account for the hatch that must be opened to allow travel between one docked vessel to another.

These concepts hopefully provide mod makers with some new possibilities in adding an immersive dimension to the KSP experience, and open to door to many possibilities for interesting things to happen.

CLS is separated into 2 .dlls (Dynamic Link Libraries).

  • CLSInterfaces.dll contains the interfaces to the core library classes needed to interact with CLS.
  • ConnectedLivingSpace.dll is the core library and is used by CLS to perform all work.

Module Manager and CLS

In addition to the code above, CLS uses Module Manager, an addon that allows adding to a part's configuration, to add a module named ModuleConnectedLivingSpace, that provides CLS with information on whether or not a part can contain crew, or is internally passble by a crew member. By adding these modules using Module Manager configuration files to a mod developer's part, the part is then recognized by CLS and CLS can then determine whether or not a kerbal can reside or pass through a given part.

Even without the module manager config file, CLS will attempt to determine if a part is habitable or passable based on existing information in the part.cfg file. Often it can properly determine what is needed and add the cls module. Sometimes it cannot. To ensure the best possible compatiblity with mod parts, it is incumbent on the mod developer to provide config files so they can determine the habitability or passability they intend for their parts.

Adding configs for Mods not currently supported

Some mods have been around for awhile, and the mod authers are gone or simply do not desire or have the time to create CLS configs. CLS provides configs for a large number of mods, and more are being added all the time.

If you as a user desire to have a certain mod be compatible with CLS, you can submit the mod's name, or better yet, you can use section 3, Module Manager Configuration to create your own. If you create your own, it would be wonderful if you share your work with the community. We can add your configs to CLS or link to a location of your choice in the Original Post of the forum thread.

Clone this wiki locally