Jump to content

[1.12.x] Connected Living Space v2.0.2.0 (12 Feb 2022)


Papa_Joe

Recommended Posts

New Release.

release v 1.2.4.0
* New:  Refactored to support KSP 1.2.2.
* New:  Completely refactored method used to Add hatches to vessels.  Now utilizes a module manager config, eliminating prefab manipulation in game.
* New:  Code refactored to improve performance and garbage collection.
* Fixed: Some parts containing ModuleDockingNode without a referenceNodeName would be rendered impassable in some nodes.
* Fixed: NRE generated during Vessel load. The addition of a female kerbal broke the CLS Module attachment code when a vessel is loaded at Flight. 
         (This was a old undetected bug, that may explain some parts not showing as passble)
* Fixed: Spammed Index out of range error during space changes while CLS Window is opened.

 

NOTE:  as with all releases, there may be issues, and possible issues with existing saves that previously had CLS in place.  Be sure to back up your game save if you had CLS previously installed on the game save from KSP 1.1.3.

 

Thanks again for your patience!  Enjoy!

Link to comment
Share on other sites

Why are the stack bi, tri and quad couplers impassible? They look plenty big enough for a kerbal to squeeze through. And they don't hold anything.

[edit] Anyway, I'll make mine passable.

Edited by taniwha
Link to comment
Share on other sites

Well, that was, in the end, an easy fix. It's not worth the effort to create a PR, so here's the patch:

diff --git a/plugins/ConnectedLivingSpace/CLSVessel.cs b/plugins/ConnectedLivingSpace/CLSVessel.cs
index e191dbd..ddca827 100644
--- a/plugins/ConnectedLivingSpace/CLSVessel.cs
+++ b/plugins/ConnectedLivingSpace/CLSVessel.cs
@@ -255,7 +255,7 @@ namespace ConnectedLivingSpace
       }
 
       // Return that this part and the other part are docked together if they are both considered docked to each other.
-      return (thisDockedToOther && otherDockedToThis);
+      return (thisDockedToOther || otherDockedToThis);
     }
 
     private bool IsDockedDockingPortPassable(Part thisPart, Part otherPart)

I'm not 100% certain, but I suspect otherDockedToThis will always be false.

[edit] Er, make that "I suspect the that it's always the parent part that matches the child part". ie, if "this" is the parent, then the above holds. Anyway, I suspect one will always be false.

Edited by taniwha
Link to comment
Share on other sites

1 hour ago, taniwha said:

Well, that was, in the end, an easy fix. It's not worth the effort to create a PR, so here's the patch:


diff --git a/plugins/ConnectedLivingSpace/CLSVessel.cs b/plugins/ConnectedLivingSpace/CLSVessel.cs
index e191dbd..ddca827 100644
--- a/plugins/ConnectedLivingSpace/CLSVessel.cs
+++ b/plugins/ConnectedLivingSpace/CLSVessel.cs
@@ -255,7 +255,7 @@ namespace ConnectedLivingSpace
       }
 
       // Return that this part and the other part are docked together if they are both considered docked to each other.
-      return (thisDockedToOther && otherDockedToThis);
+      return (thisDockedToOther || otherDockedToThis);
     }
 
     private bool IsDockedDockingPortPassable(Part thisPart, Part otherPart)

I'm not 100% certain, but I suspect otherDockedToThis will always be false.

[edit] Er, make that "I suspect the that it's always the parent part that matches the child part". ie, if "this" is the parent, then the above holds. Anyway, I suspect one will always be false.

Thanks!   I'll take a look.

Link to comment
Share on other sites

8 hours ago, taniwha said:

Why are the stack bi, tri and quad couplers impassible? They look plenty big enough for a kerbal to squeeze through. And they don't hold anything.

[edit] Anyway, I'll make mine passable.

There was quite the discussion on what parts should or shouldn't be included in the passable list back when the passable list was being created.   in the end, I think @codepoet chose to exclude these parts.  It is possible that the CLSStockFreedomAddon.txt may contain these parts as passable.  I have not looked in a while.

Edit:  I just checked and these parts are indeed included in the Freedom .txt.  change that to .cfg and you have your configs.

 

Also, for those that have noticed, I inadvertently left the CLSDefaultpart.cfg active.  you will find both the cfg and the cfg.txt there.  simply delete the cfg and CLS will behave correctly.  I will correct this in the next release.  (GitHub Issue #78).

Edited by Papa_Joe
Link to comment
Share on other sites

New Release:

release v 1.2.4.1
* Fixed: Some parts were not merging spaces event when hatches were opened. Github Issue #75. Forum Post: http://forum.kerbalspaceprogram.com/index.php?/topic/109972-122-connected-living-space-v1240-30-dec-2016-customize-your-cls-parts/&do=findComment&comment=2906269
* Fixed: CLSDefaultPart.cfg was included in distribution.  There should only be a CLSDefaultPart.cfg.txt file.  Removed.  Github Issue #78.
 

Enjoy!

Link to comment
Share on other sites

3 hours ago, Papa_Joe said:

Edit:  I just checked and these parts are indeed included in the Freedom .txt.  change that to .cfg and you have your configs.

Ah, cool, thanks.

And thank you for the update, too.

[edit]Hmm, just had a look at Freedom, and it's the 2.5m to 2/3/4x1.25m parts that are there, not the 1.25m to 2/3/4x1.25m parts. I might have to set things up for doing PRs after all.

Edited by taniwha
Link to comment
Share on other sites

2 hours ago, taniwha said:

Ah, cool, thanks.

And thank you for the update, too.

[edit]Hmm, just had a look at Freedom, and it's the 2.5m to 2/3/4x1.25m parts that are there, not the 1.25m to 2/3/4x1.25m parts. I might have to set things up for doing PRs after all.

or just pass me the configs and i'll incorporate

 

Link to comment
Share on other sites

  • 3 weeks later...

New version released.

release v 1.2.4.2
* New: Added a custom event to notify mods that the CLS vessel data has been refreshed.
* New: Added a some configs per GitHub issue and PR 79 Thanks Kerbas-ad-Astra!

This preps SM for release.  I'm now using the new custom event in CLS to let SM know when to refresh lists.

Link to comment
Share on other sites

  • 1 month later...

@Papa_Joe, first of I wanna thank you for maintaining this great mod! :)

Second, did you heard about new ReCoupler mod that can simulate loops in tree structure of a craft? So is it possible to make CLS act like ReCoupler in conjunction with ReCoupler? So we can actually build ring-like connected living stations that actually work ?

I'll duplicate this suggestion in ReCoupler's thread, so may be this can be done from their end. :rolleyes:

Edited by ZobrAA
Link to comment
Share on other sites

Just from what I've seen poking around the CLS source and API, it looks like a new method would have to be added to the API to allow the creation of arbitrary connections. Something like CLS.ConnectSpaces(Part fromPart, Part toPart) (or using their attachNodes) that would essentially link the spaces of the two parts. A corresponding way to unlink them would also probably be required.

Because it looks like CLS checks all the parent->child connections and ReCoupler doesn't make parent->child relationships (because you can't), without an explicit "these two are connected" method, I don't know what I could do on my end.

@Papa_Joe, am I understanding your mod and its API capabilities correctly?

Link to comment
Share on other sites

On 3/4/2017 at 11:53 PM, NemesisBosseret said:

My crew wont transfer.  I get the gui but they do nothing... Ugh lol

Hi, and sorry for the late response.  RL has been kicking my behind of late :). 

First with no additional information besides that it is difficult to know exactly what you are doing, but I will venture a guess.  You have CLS installed and you are attempting a stock game crew transfer.  By default, CLS overrides the Crew transfer system and will not allow transfers if the target part is not "Connected to" the source part by an internal pathway.  If you wish to transfer to such parts you will have to disable the CLS portion via the CLS options menu.  Take a look at the wiki in my Signature link for more details. 

If I'm incorrect, you will need to provide more detail.

On 3/10/2017 at 1:09 AM, ZobrAA said:

@Papa_Joe, first of I wanna thank you for maintaining this great mod! :)

Second, did you heard about new ReCoupler mod that can simulate loops in tree structure of a craft? So is it possible to make CLS act like ReCoupler in conjunction with ReCoupler? So we can actually build ring-like connected living stations that actually work ?

I'll duplicate this suggestion in ReCoupler's thread, so may be this can be done from their end. :rolleyes:

I've not looked at recoupler.  I will go take a look and see what it offers.

Edited by Papa_Joe
Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
On 3/20/2017 at 4:18 PM, NemesisBosseret said:

@Papa_Joe   im guessing that is exactly my issue but cant find the gui to disable it lol i took a break from ksp due to this function

Sorry for the slow reply.  Here is the quick on the feature. in the upper right of the CLS dialog (accessed by clicking on the CLS Icon), there is a small button for options, right next to the close button in the upper right.  This opens an options window.  there is an Option that says "Allow unrestricted crew transfers"  Check that box.  Please note that it will not save, and must be checked each time you start up the game.  If you don't want to restrict your transfers, then you really don't need CLS. :) 

Now another option is to use ShipManifest.  It has some nice features around crew transfers, and works in conjunction with CLS.  May be worth checking out (Shameless plug) :) 

Link to comment
Share on other sites

  • 4 weeks later...

@Papa_Joe Is there anything in CLS which would prevent docking ports from working?

I had two docking ports which weren't docking,even though they were close enough, etc.  For some reason, the magnetism wasn't working.

I'm not sure it's this mod, but I can't find anything else yet.

Log file:  https://www.dropbox.com/s/21qf8tdlggzcs86/CLSlog.zip?dl=0

Also, I noticed that the K2 command pod is getting a warning from CLS about not having a module defined.  Is this something that I need to add to K2 (I'm maintaining it) or will you do this?

Also, note that this isn't the problem because I later restarted the game, and with  2 K2 command pods was able to dock.

The docking was between a probe with a probecore (with full control) and a Mk1 pod

Ignore the nullrefs from JanitorsCloset, I've already fixed and released that, and it shouldn't have any influence on this, it doesn't touch parts.

Link to comment
Share on other sites

52 minutes ago, linuxgurugamer said:

@Papa_Joe Is there anything in CLS which would prevent docking ports from working?

I had two docking ports which weren't docking,even though they were close enough, etc.  For some reason, the magnetism wasn't working.

I'm not sure it's this mod, but I can't find anything else yet.

Log file:  https://www.dropbox.com/s/21qf8tdlggzcs86/CLSlog.zip?dl=0

Also, I noticed that the K2 command pod is getting a warning from CLS about not having a module defined.  Is this something that I need to add to K2 (I'm maintaining it) or will you do this?

Also, note that this isn't the problem because I later restarted the game, and with  2 K2 command pods was able to dock.

The docking was between a probe with a probecore (with full control) and a Mk1 pod

Ignore the nullrefs from JanitorsCloset, I've already fixed and released that, and it shouldn't have any influence on this, it doesn't touch parts.

As far as I know, there is nothing that would affect docking port behavior.  I have also noticed this issue from time to time in 1.2.2 and earlier versions of KSP.  Not sure what it is, as I've not been able to track it down either.  It "seems" to be related to docking ports attached in the SPH/VAB, but that is not consistent.

CLS "attempts" to add the needed configuration to parts when It can figure it out, but best results are to have a MM config for your parts. Since CLS is providing a warning,  I encourage you (and all the mod author/maintainers) to create your own configs, as you know your parts better and can be sure to set the config correctly.  Usually it is simple, but there are times when a part has some "interesting" features. :) 

 

For other folks that may be wondering about 1.2.9 and the upcoming 1.3 release of KSP, I cannot update this mod until @sarbian releases a new version of Module Manager.  As far as I know, he is waiting for 1.3 to release before that will happen.  Please correct me if I'm wrong.

Edited by Papa_Joe
Link to comment
Share on other sites

I am sure I read somewhere that I can change a setting for CLS that will give me tweakables for every part in the SPH/VAB to let me decide at construction time what is passable and what Is not.   Did I dream this, or am I just not able to find this again?

 

I see the tweak buttons on some parts but not on others.  Was this not supposed to be on "every" part?  or does it still need some sort of a module on it before this works?

Link to comment
Share on other sites

Posted this in the PicoPorts thread as well.
Looking to make a config file for CLS and PicoPorts to work together.
 

@PART[PicoPortPlus]:NEEDS[ConnectedLivingSpace]
{
	MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
		passableWhenSurfaceAttached = true
	}
}

The above code doesn't work. Maybe need a FOR: or some other syntax, anyone skilled with module manager know where to point me?

Edited by usulrasolas
For clarity. Meant doesn't but said does. Very confusing...
Link to comment
Share on other sites

21 hours ago, Bit Fiddler said:

I am sure I read somewhere that I can change a setting for CLS that will give me tweakables for every part in the SPH/VAB to let me decide at construction time what is passable and what Is not.   Did I dream this, or am I just not able to find this again?

 

I see the tweak buttons on some parts but not on others.  Was this not supposed to be on "every" part?  or does it still need some sort of a module on it before this works?

It's on every part with a 'ModuleConnectedLivingSpace' module - even if the part has been marked as 'passable = false'.  So you need to add that to the parts.

23 minutes ago, usulrasolas said:

Posted this in the PicoPorts thread as well.
Looking to make a config file for CLS and PicoPorts to work together.
 


@PART[PicoPortPlus]:NEEDS[ConnectedLivingSpace]
{
	MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
		passableWhenSurfaceAttached = true
	}
}

The above code does work. Maybe need a FOR: or some other syntax, anyone skilled with module manager know where to point me?

That looks good to me.  You say it's working, is that a typo?  If it's working, there should be no problem.

Do *not* use FOR, unless you're sure you know what you're doing.  It doesn't mean what you think it does, and mis-use of it is half the issues I have when installing mods.

Link to comment
Share on other sites

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

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

×
×
  • Create New...