Jump to content

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


Papa_Joe

Recommended Posts

51 minutes ago, DStaal said:

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.

 

so what sould happen with:

 

@PART[*,!module[ModuleConnectedLivingSpace]]:[NEEDS[ConnectedLivingSpace]:FINAL
{
	MODULE
	{
		name = ModuleConnectedLivingSpace
	}
}

 

this would add the module to every part, thus enabling the clickies, but leaving all parts defaulted to passable = false?

 

would this be a bad idea?  does this add overhead to the game to process all these modules for parts that do not really need it?

 

 

 

EDIT:

 

Also what is up with this?  the habitation ring has CLS on it from a MM patch I made, yet it does not show up on the CLS control panel thing.  did I do the MM patch incorrectly?

@PART[SXTRotatingMk2Ring]:Needs[ConnectedLivingSpace]
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

 

KSP_x64%202017-05-24%2011-37-05-78.jpg

Edited by Bit Fiddler
Link to comment
Share on other sites

I am finding so many parts that should be passable, but the mod makers do not support CLS.  I am spending hours tracking down Part names to add to my growing CLS mm patch file.   every time I find another I am so tempted to do that patch I mentioned above.   and to this end I have a suggestion.

 

If having this module on parts causes overhead for the game and just adding it to every part would be bad.  then i suggest a new tactic.

 

make all unknown parts default to have the module on them, but all pasability set to false false.  Once it is in the editor on a craft i am making i can open the CLS control panel, or use tweakables etc to set the passability up and then save the craft file.  once the craft is loaded into a live game, if a part does not have atleast 1 passability tag set true then remove the module from the part at that time.  thus preventing any overhead the game engine may have, yet negating the need to constantly track down parts every time I find one in the editor that will not allow passage.

 

just thinking aloud here as i have no idea what it would take to do all this..  i just know i am frustrated trying to get all my parts to play nice with CLS.

Edited by Bit Fiddler
Link to comment
Share on other sites

10 hours ago, Bit Fiddler said:

 

so what sould happen with:

 


@PART[*,!module[ModuleConnectedLivingSpace]]:[NEEDS[ConnectedLivingSpace]:FINAL
{
	MODULE
	{
		name = ModuleConnectedLivingSpace
	}
}

 

this would add the module to every part, thus enabling the clickies, but leaving all parts defaulted to passable = false?

 

would this be a bad idea?  does this add overhead to the game to process all these modules for parts that do not really need it?

 

 

 

EDIT:

 

Also what is up with this?  the habitation ring has CLS on it from a MM patch I made, yet it does not show up on the CLS control panel thing.  did I do the MM patch incorrectly?


@PART[SXTRotatingMk2Ring]:Needs[ConnectedLivingSpace]
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

 

KSP_x64%202017-05-24%2011-37-05-78.jpg

On the first: I'd probably add a line saying 'passable = false', just to be sure the module is fully initialized.  (I personally have about twenty personal CLS patches - although some of them have been incorporated upsteam by now, as I do tend to submit them to the authors.)

On the second: Not that there are *two* connected spaces in the list on the right: The two buttons the width of the UI window.  I'm guessing there's something in between the the Orca and the habitat that isn't CLS enabled - so therefore it's not part of the same connected space.  (It should be visible in the other connected space.)

Link to comment
Share on other sites

oh yes i found that part causing the split in the living space...  once i realized what the CLS control panel was telling me i found yet another part that had to be patched...  that 2.5M probe core between the Orca and the Habitation ring.  just one more of my headaches.  trying to get a manned mission out on long term deployment.  and with all of the "realisim" mods i have running it is critical my CLS be set up correctly.   so i am constantly finding parts that do not have proper CLS support and having to track them down in my mod list to create a MM patch.  lol and with basically every part mod ever made in my gamedata it can be a real pain to figure out which mod it is from, and then find the part.cfg and get the name for MM to patch.

 

so as i said i am ever so tempted to just run that "Change them all" patch and be done with it.

 

@DStaal but if you would be willing to share your CLS patches.  i am sure i have all those parts in my install as well.   as i said, basically  i load every part mod i come across.

Edited by Bit Fiddler
Link to comment
Share on other sites

24 minutes ago, Bit Fiddler said:

oh yes i found that part causing the split in the living space...  once i realized what the CLS control panel was telling me i found yet another part that had to be patched...  that 2.5M probe core between the Orca and the Habitation ring.  just one more of my headaches.  trying to get a manned mission out on long term deployment.  and with all of the "realisim" mods i have running it is critical my CLS be set up correctly.   so i am constantly finding parts that do not have proper CLS support and having to track them down in my mod list to create a MM patch.  lol and with basically every part mod ever made in my gamedata it can be a real pain to figure out which mod it is from, and then find the part.cfg and get the name for MM to patch.

 

so as i said i am ever so tempted to just run that "Change them all" patch and be done with it.

 

@DStaal but if you would be willing to share your CLS patches.  i am sure i have all those parts in my install as well.   as i said, basically  i load every part mod i come across.

Here you go: https://github.com/DanStaal/KSP-Configs/tree/master/CLS

But I can tell you and I have very different philosophies on CLS support - I'd assume the picoport and the 2.5m probe core are impassable and design around that, for instance.  To me if you're just going to make everything passable, why bother installing it?

Link to comment
Share on other sites

Well the pico port was not my post.... 

 

but the way i look at it is this... there is no reason why a 2.5m probe core is not passable.   there is nothing in the 2.5m variety that is not in the .625m variety other than a bigger gyro, and more battery storage.  however the gyro can be a hollow ring, all you need is mass on the rim of the wheel.   and in fact any mass you have in the center of the wheel is detrimental to the performace of a gyro.  so the gyro really takes up next to no room in a probe core, just the very outer edge of the diameter.  that leaves the battery storage and that just does not need 2.5m diameter by .5 meter or so in height.    so yes a 2.5 meter probe core should be passable.

Link to comment
Share on other sites

1 minute ago, Bit Fiddler said:

Well the pico port was not my post.... 

 

but the way i look at it is this... there is no reason why a 2.5m probe core is not passable.   there is nothing in the 2.5m variety that is not in the .625m variety other than a bigger gyro, and more battery storage.  however the gyro can be a hollow ring, all you need is mass on the rim of the wheel.   and in fact any mass you have in the center of the wheel is detrimental to the performace of a gyro.  so the gyro really takes up next to no room in a probe core, just the very outer edge of the diameter.  that leaves the battery storage and that just does not need 2.5m diameter by .5 meter or so in height.    so yes a 2.5 meter probe core should be passable.

And I have at least one mod that includes a passable one.  (Or optionally passable at least: NFC.)  But if it wasn't designed that way, why should it be?  Sure it *could* be designed that way - but a lot of things are easier to make if they aren't designed for that, and there's no reason why the designers had to build it that way.  (And: It would be *safer* to not design a crew tube through a spinning gyro...)

For this type of situation I use a radial probe core - it's an extra bit of computer, which makes sense to me.

But anyway, as I said: Different philosophies.  I tend to be fairly conservative about which parts should be passable - and depending on how I'm feeling about it I may even write in full restrictions.  (The 'BuffaloCLSHack.cfg' is an exception: It's easy to accidentally build a Buffalo rover that's attached through the frame instead of through the main body, so I made the frame passable just so I don't have to worry about which attach nodes are being used.)

Link to comment
Share on other sites

On 5/22/2017 at 11:18 PM, 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?

Sorry for the late response, but there is such a switch.  open the CLS window and select options.  there you will find a switch.  check "Enable Optional Passable Parts".

This setting requires a game restart, as Module Manager needs to reload the parts at startup for it to take effect.

Then, you can go into the Editor, and many more parts will have a CLS description in the right click information window in the Part picker.  Once you select a part to add to your vessel, you can use the tweakable for that part to adjust the passability characteristics.  Note, that it does not make every part passable, (makes no sense for engines for example, I think)

Hope that helps.

 

In other news, now that Module Manager has been updated, I'm working on the next release of CLS.  It is already working in 1.3, so I'm looking at localization.  Not too many words to CLS, so should not take long.

Edited by Papa_Joe
Link to comment
Share on other sites

yes I checked that and restarted but still missing many parts that I feel should be passable.  like the probe core mentioned above...  it Is not that there are "MANY" parts I guess, but that it takes so much effort to track down what the part is named so I can make a MM patch for it that really makes it bothersome.  I have had to track down about 5 parts on this latest long term mission ship I am making.  and each track down and MM patch takes an hour or so.      not a big deal just frustrating.   but yes engines, 90% of the fuel tanks, struts, ANY part smaller than a Kerbal could feasibly fit in, etc.  all not passable.  it is just those random parts now and then that a mod adds that have no config for CLS that keep causing me headaches.

Link to comment
Share on other sites

7 minutes ago, Bit Fiddler said:

yes I checked that and restarted but still missing many parts that I feel should be passable.  like the probe core mentioned above...  it Is not that there are "MANY" parts I guess, but that it takes so much effort to track down what the part is named so I can make a MM patch for it that really makes it bothersome.  I have had to track down about 5 parts on this latest long term mission ship I am making.  and each track down and MM patch takes an hour or so.      not a big deal just frustrating.   but yes engines, 90% of the fuel tanks, struts, ANY part smaller than a Kerbal could feasibly fit in, etc.  all not passable.  it is just those random parts now and then that a mod adds that have no config for CLS that keep causing me headaches.

You can take a look at the MM config I built for that purpose.  You may be able to tweak the filter to meet your needs.  It is a bit advanced, but if you are comfortable with configs, it is not too bad.

File in question is:  CLSDefaultPart.cfg  it has a filter algorithm you can play with.

Also, with all the effort you are putting into these parts you feel are passable, If you pass me the configs in Git as a feature request, I can include them in CLS with proper credit to you.  Up to you, they are your configs.

Edited by Papa_Joe
Link to comment
Share on other sites

9 hours ago, Bit Fiddler said:

yes I checked that and restarted but still missing many parts that I feel should be passable.  like the probe core mentioned above...  it Is not that there are "MANY" parts I guess, but that it takes so much effort to track down what the part is named so I can make a MM patch for it that really makes it bothersome.  I have had to track down about 5 parts on this latest long term mission ship I am making.  and each track down and MM patch takes an hour or so.      not a big deal just frustrating.   but yes engines, 90% of the fuel tanks, struts, ANY part smaller than a Kerbal could feasibly fit in, etc.  all not passable.  it is just those random parts now and then that a mod adds that have no config for CLS that keep causing me headaches.

What OS are you on?  It takes me less than a minute to track down a part usually, but mostly that's since I'm a sysadmin and know the tools.  Depending on the OS, I may be able to show you a better way to do this.

Link to comment
Share on other sites

win 10.   the problem I have is I am running over 400 mods.  all the usual gameplay stuff and then every part mod i can find that is listed as compatible with 1.2.2.    so not only do i need to track down the actual part the game takes around 20 to 30 min. to start each time i need to test a change.

 

but if you have any ideas on how to make this go faster let me know.

Link to comment
Share on other sites

New release:

release v 1.2.5.0
* New: Refactored to support KSP 1.3
* New: Implemented Localization system.  Now it is possible to translate CLS into other languages. English included to start.
* New: Revised Crew and part display window for spaces.  now takes less real estate, and is more intuitive.
* New: Revised Space selection buttons to make it easier to tell which space is selected. Now buttons toggle to allow deselection of a space.

Note this is NOT backwards compatible.  Localization prevents use in KSP 1.2.2

 

Enjoy! 

Link to comment
Share on other sites

11 hours ago, Bit Fiddler said:

win 10.   the problem I have is I am running over 400 mods.  all the usual gameplay stuff and then every part mod i can find that is listed as compatible with 1.2.2.    so not only do i need to track down the actual part the game takes around 20 to 30 min. to start each time i need to test a change.

 

but if you have any ideas on how to make this go faster let me know.

Nothing on the restart - though I don't often do dedicated restarts for CLS patches.  For the search - I haven't done much in Win 10 myself (or Windows in general), but a program like this: https://www.mythicsoft.com/agentransack will help with the search.  (Again, I haven't used that one specifically, but the general concept is to find a search program that allows recursively searching entire folders, and that was the first I found for Windows.)  Set up a search on all your GameData folders, and then search for the part title as you see it in-game.

Then I usually just copy over a working patch I've already written and edit the part name. :wink: 

Link to comment
Share on other sites

well windows does that natively no need for a new program.  that is how I do it now, however the problem is the .cfg file name is not always named similar to the part in game..  so it becomes a game of digital hide and seek.

Link to comment
Share on other sites

19 minutes ago, Bit Fiddler said:

the .cfg file name is not always named similar to the part in game..  so it becomes a game of digital hide and seek.

When you know what the part(s) you want is, and just need to find the corresponding cfg files, this may help

X:\wherever\your_ksp_install\GameData>findstr /S /C:"Passenger Module" *.cfg

This example, for instance, finds the stock Mk3 cabin -- it is actually defined alongside other Mk3 parts in FuelTank\mk3Fuselage\ rather than in Utility as one might expect.

If you're running 1.3 and the part in question has been localized, then you'd run a first search to obtain the localization string ID , then search for that to find the part definition cfg file which uses it.

 

Edited by cakepie
Link to comment
Share on other sites

@Papa_Joe I'm looking at building CLS compatibility into my mod AirlockPlus.
If I understand the CLS code correctly, looks like it is currently only capable of reasoning about the active vessel while in flight mode.
Correspondingly, the CLSInterfaces API only supports fetching the active vessel.

I need to obtain CLS data for a different vessel, so changes will be needed on CLS side to support my needs.
I already have a rough idea of what's required:

  • Move CLSAddon.RebuildCLSVessel() -- both of them -- functionality to CLSVessel.BuildCLSVessel(), as static that returns a CLSVessel
  • Update CLSAddon function calls accordingly
  • Expose BuildCLSVessel() to ICLSVessel API

This should allow me to pass any vessel (not just the active vessel) to CLS API and obtain a CLS representation that I can query and react accordingly.

If this looks sound to you -- and with your permission -- I shall proceed to implement and submit a PR.
Let me know.

Link to comment
Share on other sites

57 minutes ago, cakepie said:

@Papa_Joe I'm looking at building CLS compatibility into my mod AirlockPlus.
If I understand the CLS code correctly, looks like it is currently only capable of reasoning about the active vessel while in flight mode.
Correspondingly, the CLSInterfaces API only supports fetching the active vessel.

I need to obtain CLS data for a different vessel, so changes will be needed on CLS side to support my needs.
I already have a rough idea of what's required:

  • Move CLSAddon.RebuildCLSVessel() -- both of them -- functionality to CLSVessel.BuildCLSVessel(), as static that returns a CLSVessel
  • Update CLSAddon function calls accordingly
  • Expose BuildCLSVessel() to ICLSVessel API

This should allow me to pass any vessel (not just the active vessel) to CLS API and obtain a CLS representation that I can query and react accordingly.

If this looks sound to you -- and with your permission -- I shall proceed to implement and submit a PR.
Let me know.

@cakepie, sounds great!  However, CLS does also support reconciling spaces in Editor as well.  That said, the idea of doing it on vessel data provided instead of just the active vessel makes sense.

If you do a PR, please place it against the Develop Branch, so I can merge into that branch.  That is my working branch.

I look forward to seeing the PR!

Note:  I just added support for Recoupler (thanks @Booots!), so I'll push that up to the Develop Branch in the next few minutes.  I will be doing another release very soon with Recoupler support added.

Update:  Code on develop branch is now current.

Edited by Papa_Joe
Mention Recoupler integration
Link to comment
Share on other sites

On 5/24/2017 at 7:58 AM, Bit Fiddler said:

oh yes i found that part causing the split in the living space...  once i realized what the CLS control panel was telling me i found yet another part that had to be patched...  that 2.5M probe core between the Orca and the Habitation ring.  just one more of my headaches.  trying to get a manned mission out on long term deployment.  and with all of the "realisim" mods i have running it is critical my CLS be set up correctly.   so i am constantly finding parts that do not have proper CLS support and having to track them down in my mod list to create a MM patch.  lol and with basically every part mod ever made in my gamedata it can be a real pain to figure out which mod it is from, and then find the part.cfg and get the name for MM to patch.

 

so as i said i am ever so tempted to just run that "Change them all" patch and be done with it.

 

@DStaal but if you would be willing to share your CLS patches.  i am sure i have all those parts in my install as well.   as i said, basically  i load every part mod i come across.

I find this idea of adding modules to all parts and "just letting the player decide"  an intriguing thought.  While the realism purists would chafe a this, I can certainly see the need for those that like to customise their parts better.  This recent conversation certainly bears that out.  I could add this global addition to all parts as a switchable feature.  turn it on and you can tweak anything (and it do mean anything :) ).  turn it off and it reverts back to original behavior.  Of course I would leave it off by default.

Thoughts?

Edited by Papa_Joe
Link to comment
Share on other sites

and if nothing is set to passable remove the module from the part at load time if this will save processor cycles. as many parts would never get them set.  like engines, trusses, most fuel tanks etc.

 

Edited by Bit Fiddler
Link to comment
Share on other sites

2 minutes ago, Bit Fiddler said:

and if nothing is set to passable remove the module from the part at load time if this will save processor cycles. as many parts would never get them set.  like engines, trusses, most fuel tanks etc.

 

If you don't set the part to true, then the vessel created will not include the module.  I believe that is how I have it now, but I will verify.  Current behavior expectations with customizable parts is that it is vessel specific.  Meaning not all vessels get the module regardless, only when you enable passability and then save the vessel.  At least that was the plan.  I will investigate this further to verify and make it so if it is not true...

Link to comment
Share on other sites

in reality the percentage of parts that I add CLS passable to is a very small percentage.   mostly just parts that are big hollow things, or some part that was aesthetically placed and the function of this part was not intended.  as I may place some part just to add a bit of flair to the craft and the "function" of that part is meaningless.  like for instance I have in the past made the "engine pre-cooler" passable to make them the arms on some rotating station thing.  as they have some sort of detailing on them that is more interesting than the plain blank cylinder of a normal hull or fuel tank etc.    but the odds of ever making an engine or truss passable is basically 0%. 

 

thus if having the module attached to a part during flight scene is going to add overhead to the game engine, it would be best to remove the module from any part that does not have any passability set true when you save the craft to the persistent file.

 

 

Link to comment
Share on other sites

1 minute ago, Bit Fiddler said:

in reality the percentage of parts that I add CLS passable to is a very small percentage.   mostly just parts that are big hollow things, or some part that was aesthetically placed and the function of this part was not intended.  as I may place some part just to add a bit of flair to the craft and the "function" of that part is meaningless.  like for instance I have in the past made the "engine pre-cooler" passable to make them the arms on some rotating station thing.  as they have some sort of detailing on them that is more interesting than the plain blank cylinder of a normal hull or fuel tank etc.    but the odds of ever making an engine or truss passable is basically 0%. 

 

thus if having the module attached to a part during flight scene is going to add overhead to the game engine, it would be best to remove the module from any part that does not have any passability set true when you save the craft to the persistent file.

 

 

Believe it or not, I had someone wishing they could have passability with an engine.   I mean you do have a fairing covering it, right? :)   I agree though, I had this conversation a while back.  If you look back through the thread, when I discussed adding the customization feature, there was quite the discussion on what to include in the part selection algorithm.

Link to comment
Share on other sites

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...