Sign in to follow this  
Followers 0
codepoet

[0.90] [Up for adoption] Connected Living Space v1.1.2.0 (27th Feb 2015) Hatches and Highlighting

353 posts in this topic

NOTICE to users: further versions of CLS will be found here.

Current Version 1.1.2.0 can be downloaded from KerbalStuff

You will also need ModuleManager to load the config.

You can access the source code here. If you spot a bug please let me know. Ideally bugs should be raised in Github, but if that is too much to ask then post on this thread or the development thread. More helpful than raising a bug report is to raise a bug report with lots of information about how to reproduce the problem, and with logs files, save files, craft files etc. Even more helpful is to write a fix by forking the code in Github, and then generating a pull request :)

Introduction

This mod identifies areas within a vessel that can be crewed by Kerbals and through which kerbals can pass internally to reach other parts that can be crewed. It is provided to make the concept of connected living spaces easily available to other mod developers and so to provide a single consistent understanding of which pars connect to each other, bringing together both multiple features via plugins and multiple part pack via configurations.

CLS itself has a simple GUI to show the player which parts are connected to which. It also has an optional feature that conforms the stock crew transfer system to CLS's view of internal connectivity.

screenshot125.png

License

80x15.png

ConnectedLivingSpace is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

Update

Version 1.1.2.0 Fixes a bug.

Version 1.1.1.0 makes changes to the way hatches and highlighting work to make is easy to co-operate in these areas with other mods.

Version 1.1.0.0 makes CLS work with KSP 0.90

Version 1.0.11.0 fixes a bug with the stock crew transfer integration

Version 1.0.10.0 fixes a bug and integrates with the stock crew transfer system

Version 1.0.9.0 is to support KSP0.25 and adds more config for various mods.

Version 1.0.8.0 is to support KSP0.24.2 and uses the new stock toolbar. A bug in the VAB/SPS descriptions is fixed too.

Version 1.0.7.0 fixes a bug in the editor when the root part is deleted, and adds config for FASA

Version 1.0.6.0 fixes some problems with the hatches closing themselves across saves, and also allows hatches to be opened for attached rather than docked docking ports.

Version 1.0.5.0 provides a scheme for mods using CLS to "loose bind" to it, which means that they can more easily work without CLS. However if you upgrade to 1.0.5.0 you should update other mods such as Ship manifest that use (or do not use!) it.

Version 1.0.4.1 fixes bugs, allows for shielded docking ports and is the result of a major rework of the code. Hatches in docking ports have been re-written. There is also config for many more mods, and more options for the configs.

Version 1.0.3.0 fixes a few bugs and adds more configs

Version 1.0.1.0 is now available. this version adds closable hatches in docking ports, as well as improvements to the GUI, and configuration for more part packs.

screenshot55.png

Here is a deep space transport vessel docked at an LKO transfer station with 3 crew shuttles also attached.

Mods using CLS

Here is a list of mods that have been released that make use of ConnectedLivingSpace. If you would like to add your mod to this list, send me a PM.

Mods that provide CLS configuration themselves

Mods that CLS provides config files for:

Here is a list of mods that CLS provides configuration files for. If you would like to add your mod to this list, send me a PM.

  • FASA
  • Novapunch
  • B9
  • Home Grown Rockets
  • KSOS
  • LSSC
  • ASET Stack-able inlight lights
  • Kosmos
  • KW Rocketry
  • Porkjet's Habitat Pack
  • 2 different stock configurations.
  • and loads more (I loose count!)

Roadmap

  • Provide configuration for every part pack anyone has ever heard of.
  • improvements to the GUI
  • hooks that can be used by mods such as Porkjet or wetworkshops to change the passability / habitability of parts in flight.

API - of interest to modders using CLS in their own mods.

The API is documented on the development thread.

Edited by diomedea
Added notice about new thread
2 people like this

Share this post


Link to post
Share on other sites

AWW YEAH! this puts so many Ideas for how this could be utilized into my head... could it be... that this singular development could pave the way to... *squeal* Enhanced IVA?!!! THANK YOU SO MUCH!

Share this post


Link to post
Share on other sites

Besides identifying living spaces I don't quite understand what else it does? Does this enable you to move kerbals to different parts of space stations without going EVA?

Share this post


Link to post
Share on other sites
Besides identifying living spaces I don't quite understand what else it does? Does this enable you to move kerbals to different parts of space stations without going EVA?

It is essentially an API (mod that can be used by other mods). Other features such as moving kerbals internally are being worked on by other modders and existing mods are being adapted to use CLS. However they can not be released until CLS has been formally released (which it now has).

For information about features that have been suggested or are being worked on using CLS read the development thread.

Share this post


Link to post
Share on other sites

Nice. Now we wait patiently for someone to make use of the api to make a cool plugin to make kerbals more functional and/or advanced iva stuff like moving them around etc. (An idea just struck me. How about when transferring kerbals around with the ship/crew manifest mods the kerbal(s) can be seen moving through the ship like an xray view? Would be really cool and probably easier than making true advanced iva as you would just load the kerbal in standard eva mode just without physics and move him around inside the ship)

Share this post


Link to post
Share on other sites

Well, now I know what I'll be doing tonight - redesigning my LKO station... and I've only spent 11 launches on it so far :(

Ah well.... I've already had some thoughts on what I could have done better... now I have an excuse to implement them! :D

Share this post


Link to post
Share on other sites
Nice. Now we wait patiently for someone to make use of the api to make a cool plugin to make kerbals more functional and/or advanced iva stuff like moving them around etc.

You will not have to wait for long either. The first mod to make use of CLS has just been released: KerbalHotSeat gives Jeb the fidgets so he keeps changing seat every now and again (obviously within the limitations of the Habitable Space he is in as defined by CLS).

Share this post


Link to post
Share on other sites

Nice mod.

I like it.

It would be nice if users start to share config files from other mods like b9, etc.

Share this post


Link to post
Share on other sites

Downloaded.

Looking at your API now.

Share this post


Link to post
Share on other sites

Here's a config for the FusTek station parts from Sumghai.

Mostly the ai gets them right, but the docking ports and one of the end caps need to be made passable, so...

@PART[KarmonyEndRing*]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}

@PART[IACBM_125m*]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}

@PART[IACBM_25m*]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}

(the wildcards are to cope with the 0.4x devel version as well as the 0.35 release)

Share this post


Link to post
Share on other sites

GWHAAAAA!!! finally a reason for the structure fuselages I always have between docking ports and comm pods!

Quick someone implement this in to the CREW MANIFEST MOD!!!........ha ya realistic crew transfer.....:)

Share this post


Link to post
Share on other sites
GWHAAAAA!!! finally a reason for the structure fuselages I always have between docking ports and comm pods!

Quick someone implement this in to the CREW MANIFEST MOD!!!........ha ya realistic crew transfer.....:)

Papa_Joe is already looking at incorporating it into his Ship Manifest mod, which does crew transfer and more..... can't wait!

Share this post


Link to post
Share on other sites
Here's a config for the FusTek station parts from Sumghai.

Mostly the ai gets them right, but the docking ports and one of the end caps need to be made passable, so...

@PART[KarmonyEndRing*]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}

@PART[IACBM_125m*]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}

@PART[IACBM_25m*]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}

(the wildcards are to cope with the 0.4x devel version as well as the 0.35 release)

That is great, thanks. I will add that to config to the next release.

If anyone else writes a bit of config to get this to work with your favourite parts pack, do please let me know and allow me to ship it wht future versions of CLS.

Share this post


Link to post
Share on other sites

Here is an idea which might save a lot of kerbal lifes in dangerous situations(exploding crafts).

How about an action on a pod, which can be bound to an action group(specifically abort), and it moves all the kerbals from other pods to this pod.

So I imagine it would go something like this:

Your space station is about to collide with debris(or the up coming asteroids in 0.24) and the only chance to survive is to evacuate.

You hit the abort button, all the kerbals are transfered to the escape pods and sepatrons are fired to clear from the station.

Share this post


Link to post
Share on other sites
Here is an idea which might save a lot of kerbal lifes in dangerous situations(exploding crafts).

How about an action on a pod, which can be bound to an action group(specifically abort), and it moves all the kerbals from other pods to this pod.

So I imagine it would go something like this:

Your space station is about to collide with debris(or the up coming asteroids in 0.24) and the only chance to survive is to evacuate.

You hit the abort button, all the kerbals are transfered to the escape pods and sepatrons are fired to clear from the station.

I absolutely love this concept, though I'm not sure that you could ensure that such a module fired and moved the kerbals before the decouplers fired and split your living space into multiple sections. Definitely a great idea for a mod that utilized the CLS API (I just wish I had enough spare time to code it).

-------------------------------

I have a minor bug to report.... or maybe an incompatibility.... or.... well anyway, if you use this with the PorkWorks inflatable habitats, CLS doesn't initially recognize them as living spaces, since they start off with a crew capacity of zero. This is an easy fix (see below for contributed config file), but even then, once they are passable they show as a single space, but when you inflate them the part (correctly) goes from yellow to green in the highlight as the gain crew capacity, but the numeric reported crew capacity in the CLS window does not update unless you switch away and back. Is there any way to get that display to change as well?

--------------------------------

Finally, here are three more contributed configurations for you :)

PorkWorks inflatable habs

@PART[inflato1]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}

@PART[inflato2]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}

@PART[inflatoFlat]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}

SumDum Heavy Industries service module pack

@PART[SDHI_ParaDock_1_ClampOTron]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}
@PART[SDHI_ParaDock_2_IACBM]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}

ASET stackable inline lights (very thin, completely hollow, kinda cool)

@PART[SIL02125mRGB]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}
@PART[SIL0225mRGB*]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}
@PART[SIL02375mRGB]:HAS[!MODULE[ModuleConnectedLivingSpace]]
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
}
}

Edited by Crater

Share this post


Link to post
Share on other sites
I absolutely love this concept, though I'm not sure that you could ensure that such a module fired and moved the kerbals before the decouplers fired and split your living space into multiple sections. Definitely a great idea for a mod that utilized the CLS API (I just wish I had enough spare time to code it).

It is a lovely idea, but beyond the scope of CLS itself. I will have to update the thread that lists all the various ideas people have had for using CLS. You just need to convince your friendly local modder to knock it up!

I have a minor bug to report.... or maybe an incompatibility.... or.... well anyway, if you use this with the PorkWorks inflatable habitats, CLS doesn't initially recognize them as living spaces, since they start off with a crew capacity of zero. This is an easy fix (see below for contributed config file), but even then, once they are passable they show as a single space, but when you inflate them the part (correctly) goes from yellow to green in the highlight as the gain crew capacity, but the numeric reported crew capacity in the CLS window does not update unless you switch away and back. Is there any way to get that display to change as well?

I shyed away from looking into how it worked with porkworks as I knew that ther ewould be some complications. I suspect there will be different opinions about how it should work - should it be passable but uninhabitable when deflated? or completely impassable? Anyow I will gather options, talk to porkjet and come up with a solution.

Finally, here are three more contributed configurations for you :)

You are awesome, keep them coming - thanks.

Boys and Girls, I would commend Crater to you all. You should all strive to be more like him, and send me CLS config for more part packs!

Next release I hope to have added the ability to open/close the hatch in docking ports. Keep an eye on the development thread for more infomation on that.

Edited by codepoet
mentioned about open/close hatches

Share this post


Link to post
Share on other sites

This is extremely cool. Great job codepoet!

Share this post


Link to post
Share on other sites

@codepoet: Maybe you should change the title to include API, so it's clear(er) on what it is. :)

Share this post


Link to post
Share on other sites
Papa_Joe is already looking at incorporating it into his Ship Manifest mod, which does crew transfer and more..... can't wait!

Update.

I've plumbed most of the interface for Living Spaces. Working on the logic and path of kerbals thru the ship from one living space to another. Also working out highlighting and sounds in real time as a kerbal moves thru the ship.

Progress...

Share this post


Link to post
Share on other sites
v.1.0.1.0 has now been released. It adds the concept of closable hatches in the docking ports that can be used to divide a living space into two. This is useful for ensuring that nothing changes prior to undocking (if you are using KerbalHotSeats) and provides option for shaping the social interaction context for future sanity/social mods.

Share this post


Link to post
Share on other sites

v1.0.2.0 released - now built against .net 3.5 runtime

Share this post


Link to post
Share on other sites
v1.0.2.0 released - now built against .net 3.5 runtime

Awesome!

Back to work on CLS integration. :) Once I got past the framework issue, the code pretty much just worked first try.

Coding the fun features now.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0