Jump to content

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


Papa_Joe

Recommended Posts

Hey All, I'm still around.

I've released an update to ShipManifest, so now I can focus on CLS.

I've noted the discussions of late and am formulating a plan. I have much work already done that has been discussed several pages back, that I will include in the current discussion.

Be back in a bit with a proposed change log for the next release.

Finally, the current CLS works fine in KSP 1.0.5.

Have some rep - 'cos you're awesome.

Link to comment
Share on other sites

Okay,

Below is a response to some of the items since I've been gone. I'll post the proposed change log soon after this.

Back in july I was impementing Custom CLS parts in the VAB/SPH. This is an excerpt from that discussion.

Okay, I've taken another pass and here is the resultant MM config:




@PART
[*]:HAS[!MODULE[ModuleConnectedLivingSpace],!MODULE[ModuleEngines*],~category[Engine],~category[FuelTank],~category[Propulsion],~stagingIcon[],~name[K?S_*],#node_stack_top
[*],#node_stack_bottom
[*],~bulkheadProfiles[size0*],#bulkheadProfiles[size*]]:Final
{
MODULE
{
name = ModuleConnectedLivingSpace
passable = false
}
}


I added node stack top to further limit the scope.

With this, almost all nose cones are excluded. I'm inclined to err on the side of fewer parts than more, and this seems to provide a good list of candidates for changing passable states.

Further, I've added an option to enable or disable this feature, leaving it disabled by default so that existing behavior is preserved. If you enable/disable the Passability customization feature, a game restart is required, as the RMB info for each part is loaded when the parts are loaded at startup.

Once enabled you can enable passable on certain parts and alter surface passable states on any parts with passable enabled.

So, the planned behavior is this:

1. Customization is off by default. This emulates the existing behavior of CLS prior to the new version.

1a. If a part is passable, you can change the passable and surface passable states via a tweakable on the part during assembly of your vessel (new Behavior).

1b. if a part is Non passable by default, no info is show in the Tool selector on RMB

1c. If a part is Non passable by default, the part does not contain any CLS module, unless the part had an existing CLS MM config (existing behavior).

2. If customization is ON, then non passable info is now shown in the Tool Selector on RMB. (new Behavior)

2a. Non passable parts included in the default part MM config filter now contain a CLS module and passable is off by default. (changing the part's persistence, but no change to part's original behavior)

2b. Included non passable parts can now be enabled, allowing passabllity through the part. (new Behavior)

2c. parts that have passable ON, can have the surface passable state change vis tweakable (same as 1a, above)

Finally, with the addition of another option, it made sense to include a options window and remove the options from the main CLS window, making for a cleaner appearance, I also now save the CLS window position, so it will be remembered between scenes and games.

I'm disabling CLS passability on them by default, so there is no change to the original behavior of the part. This only introduces the "opportunity" for the user to enable CLS on a part they choose, and ONLY for the vessel they are constructing. So it is by design a benign change. So, in the end, the only thing we have been discussing with the filter is how big a net to cast on parts that we will allow the user to alter to allow crew movement.

If a mod author later includes a config for a part that "was" captured under this filter, that will override this modification, as this runs after all other MM configs are run, and does not alter any previous modifications.

Finally, I've been wondering if I need to return any details at all on part that is not passable. If I don't, then the only indication that a part can be altered would be when they open the tweakables. I'm bouncing back and forth on that, as on one hand I see value in knowing what part can possibly be altered, and on the other hand, wanting to avoid any "confusion".

At the moment, I'm thinking since I only show 1-2 lines max for a disabled (passable= false) part, that the former is preferred over the latter choice.

These images show how it looks in the editor:

RMB clicked image in VAB for part in selector:

XrzI1yE.png

Tweakable on part in VAB:

1k9umxt.png

This has been implemented and is pretty much ready.

Now for the items discussed in my absence...

I asked on add-on development but it might be a better idea to put a request here since cls is brilliant must have mod.

It would be super if cls had a feature sort of "next available space". Like in a large moon base I land a craft with 7crew and I need either to enter the closest hatch and transfer crew or move them to the following hatch and enter there until there's no more space on the part.

Cool if we could get them all in through the same hatch and when that specific part was full they would be transferred automatic to the next available crew space!

Great job for picking up on cls!

This is a feature beyond the scope of CLS, since CLS does not actually perform transfers. However, it is an interesting feature and might be better suited to ShipManifest. Do you use that mod? If so, then you might mention it there as a possible feature.

Added support for the KIS containers wich are accessible from the inside via ModManager. Created a "CLSKIS.cfg" in ..\Game\ConnectedLivingSpace\Plugins containig the following lines *link to pastebin*

I will add this to the next release and credit you.

Is there anyway to combine CLS with Ubi Welding mod, in order to Weld/Merge IN-flight parts together using the colour selection CLS got? If it works, it would lower the part count for stations in orbit, and when docking a new module onto the station, CLS select them open gates etc, and the station "model" is updated. And same goes in reverse, first close gates / CLS deselect, and then its 2 vanilla docked parts and then undock?

Just spitting ideas, on the of chance nobody thought about it

Interesting. This is most definitely beyond the scope of CLS. However that is an interesting Idea for a new mod, or for inclusion in ubi weld. You want the configuration to change "in-flight"?. it also sounds like you want it smart, meaning that it "figures out" the passability based on existing nodes for the space vs the individual parts.... interesting...

Finally,

Several posts have been to add configs for various parts. Thanks so mch for those and I'll be sure to include those as well in the next update.

As I said, I'll be posting a proposed change log for the next release soon.

Edited by Papa_Joe
Link to comment
Share on other sites

1. Customization is off by default. This emulates the existing behavior of CLS prior to the new version.

1a. If a part is passable, you can change the passable and surface passable states via a tweakable on the part during assembly of your vessel (new Behavior).

1b. if a part is Non passable by default, no info is show in the Tool selector on RMB

1c. If a part is Non passable by default, the part does not contain any CLS module, unless the part had an existing CLS MM config (existing behavior).

I am strongly opposed to the new behavior described in 1a. Allowing players to enable surface passability at will largely negates one of the primary features of CLS - the restriction of passability to specific nodes. Surface passability should be restricted to combinations of parts that were plausibly engineered to be attached in this manner (e.g., a BZ-52 Radial Attachment Point attached to a Structural Fuselage). Most parts should only ever be passable at the specific points where they were engineered to be passable (i.e., nodes where a hatch appears to be present on the part model).

I also dislike RMB clutter and unnecessary customizability/tweakables in general. I hope that CLS can remain a simple, low-profile mod that operates almost invisibly in the background.

On the positive side, I do really like the new (much more readable) format for CLS info in the VAB part selector.

Edited by Fraz86
Link to comment
Share on other sites

I am strongly opposed to the new behavior described in 1a. Allowing players to enable surface passability at will largely negates one of the primary features of CLS - the restriction of passability to specific nodes. Surface passability should be a rarity, restricted to very specific combinations of parts (e.g., a BZ-52 Radial Attachment Point attached to a Structural Fuselage). Most parts should only ever be passable at the specific points where they were engineered to be passable (i.e., nodes where a hatch appears to be present on the part model).

I also dislike RMB clutter and unnecessary customizability/tweakables in general. I hope that CLS can remain a simple, low-profile mod that operates almost invisibly in the background.

On the positive side, I do really like the new (much more readable) CLS info in the VAB part selector.

I disagree on all counts I have wanted this update since I read about it. Modders may have a vision of what passibility they want, but this is a single player game and those who want what they want will get it regardless of what modders want. This just makes it easier than having to do it in configs. So big thanks to Papa for this update :D

Link to comment
Share on other sites

I disagree on all counts I have wanted this update since I read about it. Modders may have a vision of what passibility they want, but this is a single player game and those who want what they want will get it regardless of what modders want. This just makes it easier than having to do it in configs. So big thanks to Papa for this update :D

You can have whatever passability you want simply by not installing CLS. The central function of CLS is to introduce restrictions on passability - I don't really understand the purpose of installing the mod if you also want the freedom to negate those restrictions ad lib.

But to each his own - I'm not opposed to Papa_Joe adding a "customization mode" config option for those who want it. I just want to keep "cheats" and superfluous user-interface elements out of the default mode. Basically, if Papa_Joe just removes the new behavior described in "1a" from the default (costumization OFF) behavior, I'll be perfectly happy. Players like you could still turn on customization mode and customize anything you want.

Link to comment
Share on other sites

I think this is a debate that has been had right from the first couple of pages of the first CLS WIP thread when it was being developed - balancing "realism" with playability and providing options for player choice. I was always an advocate of the idea that the modder who produced the part in question should be the one to make decisions about what they intended to be passable. However players are the ones who have to play the game, and if they want to play it differently, then perhaps they should be able to.

I don't suppose there is a perfect solution - everyone wants kerbal "their way". There are things I would like to be different about the base game and loads of other mods, but that does not mean that is what everyone else wants.

Link to comment
Share on other sites

[quote name='codepoet']I think this is a debate that has been had right from the first couple of pages of the first CLS WIP thread when it was being developed - balancing "realism" with playability and providing options for player choice.[/QUOTE]
Indeed, [URL="http://forum.kerbalspaceprogram.com/threads/68617-WIP-Connected-Living-Space-API-for-connected-habs-%28new-download-9-June-14%29?p=962248&viewfull=1#post962248"]I was part of the debate from the beginning[/URL].

I understand that there will always be differences of opinion regarding the balance between "realism" and player choice, such as which parts ought to have passableWhenSurfaceAttached or surfaceAttachmentsPassable. Fortunately, anyone who feels strongly about it can simply make their own ModuleManager config.

However, the proposed change in "1a" goes far beyond merely shifting the balance - it enables passableWhenSurfaceAttached and surfaceAttachmentsPassable for ALL parts (through a tweakable). With that change, we really ought to make all nodes passable as well (why would all surface attachments be passable but only some nodes?), and - frankly - we might as well just not have any restrictions on passability at all (as in stock behavior).

Furthermore, this change effectively removes the ability to create your own rules for surface passability using a custom ModuleManager config, because the tweakable will always be there in the VAB, which means it would not be possible for me to recreate the restrictions I prefer. Edited by Fraz86
Link to comment
Share on other sites

Wow,

Interesting debate.

I certainly understand both sides. I considered both sides when implementing this addition.

From a realism point of view it is NOT desirable. Agreed. This is why i have the behavior turned off by default. You have original CLS behaior. No changes.

However, as everyone knows, I'm a firm believer in choice. and not EVERYONE is a realism or "purist" if you will. Agreed. I therefore believe this feature opens some possibilities for more interesting game play.

For those that are casual players, many will NOT have CLS installed and the conversation is moot. for those "casual" players that do use CLS, this provided new options for game play.

Nuff said. use the new feature or don't . CLS is designed to allow you your choice of game play.
Link to comment
Share on other sites

[quote name='Papa_Joe']not EVERYONE is a realism or "purist" if you will[/QUOTE]
For the record, I absolutely do not consider myself a realism purist. My priority is good gameplay and immersiveness. I oppose the change not because it is unrealistic, but due to concern that it directly undermines the purpose of CLS.

[quote name='Papa_Joe']This is why i have the behavior turned off by default. You have original CLS behaior. No changes.[/QUOTE]
Perhaps I need some clarification. I understand that customization is OFF by default. However, your previous post indicates (in item "1a") that - even with customization OFF - the surface passability of a part will be tweakable in the VAB. I interpreted this to mean that any part could be "tweaked" to allow surface passability, even in the default mode. Maybe I misunderstood? Maybe it's only tweakable for parts that allow surface passability in the first place?

P.S. - Papa_Joe, I certainly don't mean you any offense. I know you're just doing what you can to make as many players happy as possible, and I'm sure the final product will be excellent, as always.
Link to comment
Share on other sites

[quote name='Fraz86']For the record, I absolutely do not consider myself a realism purist. My priority is good gameplay and immersiveness. I oppose the change not because it is unrealistic, but due to concern that it directly undermines the purpose of CLS.


Perhaps I need some clarification. I understand that customization is OFF by default. However, your previous post indicates (in item "1a") that - even with customization OFF - the surface passability of a part will be tweakable in the VAB. I interpreted this to mean that any part could be "tweaked" to allow surface passability, even in the default mode. Maybe I misunderstood? Maybe it's only tweakable for parts that allow surface passability in the first place?

P.S. - Papa_Joe, I certainly don't mean you any offense. I know you're just doing what you can to make as many players happy as possible, and I'm sure the final product will be excellent, as always.[/QUOTE]

No offense taken. A good debate always results in better understanding and often a better solution in the end.

To your first point. I appreciate your goals and desires. However, if you look at the interface of CLS, there is an override switch, that disable CLS completely. Why include this? Because "someone" will need it for some reason, and because I can.

I never use it, but I do know it is there. It directly undermines the reason for CLS. In the end, it didn't hurt to put it there.

TO the second point and implied concern, The feature will off by default. this means that no parts will be altered by CLS other than by what is already defined in the various configs. When the feature is turned on, parts will be "given the ablility" to be make passable. The filter is fairly limited, and exclude almost all obviously impassable parts, tho not perfect (nothing is of course as it can be subjective). So, with it off, you get exactly the behaviour you had before the feature was added, and the tooltips will only show for those parts with configs. with the feature turned on, those parts added by the filter will have a passable flag in the VAB/SPH and in the tooltip display with RMB.

So you really do get both worlds. Leave the option off and nothing has changed. turn on the feature and you can now 'tailor" your living spaces in the vab/SPH.
Link to comment
Share on other sites

So, to make sure I understand: in the default mode, for parts that are passable but do not have surfaceAttachmentsPassable (i.e., most passable parts), there will NOT be a tooltip to turn on passable surface attachments?
Link to comment
Share on other sites

[quote name='Fraz86']So, to make sure I understand: in the default mode, for parts that are passable but do not have surfaceAttachmentsPassable (i.e., most passable parts), there will NOT be a tooltip to turn on passable surface attachments?[/QUOTE]

Correct. all "customization" features added will be disabled by default. CLS will behave as before, until you enable customization. Only then will there appear the ability to alter the cls configuration of a part.
Link to comment
Share on other sites

[quote name='Papa_Joe']Correct. all "customization" features added will be disabled by default. CLS will behave as before, until you enable customization. Only then will there appear the ability to alter the cls configuration of a part.[/QUOTE]
I see, glad to hear it! Thanks for the clarification. My confusion arose from the bolded section below:

[quote name='Papa_Joe']1. Customization is off by default. This emulates the existing behavior of CLS prior to the new version.
[B]1a. If a part is passable, you can change the passable and surface passable states via a tweakable on the part during assembly of your vessel (new Behavior). [/B]
1b. if a part is Non passable by default, no info is show in the Tool selector on RMB
1c. If a part is Non passable by default, the part does not contain any CLS module, unless the part had an existing CLS MM config (existing behavior).[/QUOTE]
Link to comment
Share on other sites

[quote name='Fraz86']I see, glad to hear it! Thanks for the clarification. My confusion arose from the bolded section below:[/QUOTE]

Ah. I can see where your confusion was. I will be more clear when separating out a new feature in the future.

Onward. I've managed to get the code to a stable point, option window is working, and the Customization feature I think is pretty cool for those that find themselves in need of that one part's passability to get the design to fly.

I will describe this new feature in detail when I release. I will also update the Wiki to help as well.

I've also managed to resolve my git hub issues and have the latest code pushed to git. I'm now packaging the additional configs that have been recently shared.

Expect a release tonight (CST US). Edited by Papa_Joe
Link to comment
Share on other sites

Version 1.2.0.0 is released.

Change Log:
release v1.2.0.0
* Added Editor-based tweakables to allow passability customization of a part during vessel construction. Off by default. (Original CLS behavior)
* Added option to enable / disable parts not originally passable.
* Expand and reformat parameter info in the RMB of the editor part description dialog.
* Added options window and moved options out of CLS window.
* Fixed bug with turning off Blizzy toolbar icon in Editor.


Also added the new configs provided by you fine users.

Finally, the new feature for CLS is Customizable Part configs.

This feature is off by default and can be enable from the options window.

when enabled and KSP restarted, many additional parts become candidates for passability. They are NOT enabled automatically, they only become available from the VAB/SPH to changed to passable if desired.

These changes are effective ONLY on the vessel these parts are attached to. These changes DO NOT change the base part's configuration. THe chagnes are persisted when the vessel is saved or launched,

play with it and let me know what you think.
Link to comment
Share on other sites

Thanks for the update!

It looks like there are still some [B][URL="https://github.com/codepoetpbowden/ConnectedLivingSpace/pulls"]pull requests[/URL][/B] for mod support that are unanswered. (This includes my additions to the HGR config that codepoetbowden has had on the plate for [B][URL="https://github.com/codepoetpbowden/ConnectedLivingSpace/issues/22"]over a year[/URL][/B].)
Link to comment
Share on other sites

I don't know if it's this mod or something else, but I can't board a rescued Kerbal. I've got a Mk1 Inline Cockpit with a Mk1 Crew Cabin. I put my pilot in the cabin, then EVA my rescue Kerbal. The problem is, as soon as the rescue grabs on, the cockpit thinks he's inside. I IVA on that Kerbal, and I'm looking at him through the canopy.

I set CLS to Allow Crew Unrestricted Transfers in the VAB before launch, and set both the cockpit and the cabin to CLS Passble, CLS Surface Attachable, and CLS Attachable Surface all to yes.

Any suggestions?

Edit:
I transferred the pilot to the crew module, then transferred the rescue from the cockpit (he was still outside) to the cabin, then the pilot back to the cockpit. This managed to duplicate the rescue Kerbal so that I now have 2 of him.

[IMG]http://postimg.org/image/s57w052wz/[/IMG]
[IMG]http://postimg.org/image/442afb7un/[/IMG] Edited by CompB
Link to comment
Share on other sites

[quote name='Kerbas_ad_astra']Thanks for the update!

It looks like there are still some [B][URL="https://github.com/codepoetpbowden/ConnectedLivingSpace/pulls"]pull requests[/URL][/B] for mod support that are unanswered. (This includes my additions to the HGR config that codepoetbowden has had on the plate for [B][URL="https://github.com/codepoetpbowden/ConnectedLivingSpace/issues/22"]over a year[/URL][/B].)[/QUOTE]

When I took over support of CLS, there were pull requests for certain parts. in some, there were questions regarding realism and playability. I do not recall if these applied to you, but If a pull request was open for awhile and codepoet had not acted on it, I chose to "leave it be". I will contact codepoet regarding the outstanding pull requests and determine if any action is needed.

Thanks!
Link to comment
Share on other sites

[quote name='Papa_Joe']When I took over support of CLS, there were pull requests for certain parts. in some, there were questions regarding realism and playability. I do not recall if these applied to you, but If a pull request was open for awhile and codepoet had not acted on it, I chose to "leave it be". I will contact codepoet regarding the outstanding pull requests and determine if any action is needed.

Thanks![/QUOTE]

Don't feel restricted by me - if Papa-Joe thinks that the pull is good, then I hope he will pull it.
If I remember, something were not pulled immediately because I suggested that the contributor ask the mod developed if they would like to support CLS natively. But if that has not happened then bu all means ship the configs with CLS itself.
Link to comment
Share on other sites

[quote name='codepoet']Don't feel restricted by me - if Papa-Joe thinks that the pull is good, then I hope he will pull it.
If I remember, something were not pulled immediately because I suggested that the contributor ask the mod developed if they would like to support CLS natively. But if that has not happened then bu all means ship the configs with CLS itself.[/QUOTE]

There you go. I'll look em over and do what needs doing
Link to comment
Share on other sites

I just tested out the new version of CLS, and I'm confused by what I found. Customization appears to be on by default. All parts with CLS modules have tweakables for Passable, Surface Attachable, and Attachable Surface. This includes some parts that aren't even supposed to be passable at all, such as reaction wheels. I also could not find any option to disable customization mode. Clicking the CLS toolbar button only presents two options: "Allow Crew Unrestricted Transfers" and "Use Blizzy's Toolbar instead of Stock."

I tried deleting the entire CLS folder and cls_settings.dat, installing a fresh download of v1.2.0.0, and creating a new game file, but the same issues recurred. Any suggestions?
Link to comment
Share on other sites

On 11/24/2015, 9:18:59, Fraz86 said:

I just tested out the new version of CLS, and I'm confused by what I found. Customization appears to be on by default. All parts with CLS modules have tweakables for Passable, Surface Attachable, and Attachable Surface. This includes some parts that aren't even supposed to be passable at all, such as reaction wheels. I also could not find any option to disable customization mode. Clicking the CLS toolbar button only presents two options: "Allow Crew Unrestricted Transfers" and "Use Blizzy's Toolbar instead of Stock."

I tried deleting the entire CLS folder and cls_settings.dat, installing a fresh download of v1.2.0.0, and creating a new game file, but the same issues recurred. Any suggestions?

Interesting.   It sounds like something is missing.   Let me check my release and my code... there should be a new window that is activated by an options button at the top of the cls window (after you click the stock or blizzy toolbar button)

if it looks wrong, then I have a blown distribution.   I'm going back to check my release now.

Old:

687474703a2f2f692e696d6775722e636f6d2f70

New:  

Q42SikH.png

 

Update:   I do indeed have a blown distribution.  Somehow, the distribution folder was not properly updated (operator error).   This is the reason I went with automated build and release for SM.  Codepoet had it on CLS, but I'd removed it to save time back when I took over.

Well, with multiple mods being supported, doing it the "old" way is just stupid.   I'll be automating the build/release now :P

I'll update soon with correct dll build.

Edited by Papa_Joe
Link to comment
Share on other sites

Ok, Automation implemented.   that is so much nicer... whew.

Having issues with git again.   trying to get latest code changes up but not liking me.

I'll release the latest version to Kerbalstuff, and get it on Git as soon as i can.

Link to comment
Share on other sites

1.2.0.1 released on KerbalStuff

release v1.2.0.1

  • Add build deploy automation to project.
  • Correct deploy error resulting in incorrect dll build being released.

release v1.2.0.0

  • Added Editor-based tweakables to allow passability customization of a part during vessel construction. Off by default. (Original CLS behavior)
  • Added option to enable / disable parts not originally passable.
  • Expand and reformat parameter info in the RMB of the editor part description dialog.
  • Added options window and moved options out of CLS window.
  • Fixed bug with turning off Blizzy toolbar icon in Editor.

 

Hope this works better!

 

Also NOTE:  with the release of 1.2.0.0. the plugin folder structure changed.  if you are manually installing be sure to delete the previous installation

 

Finally, I will go back and look over the other pending cls configs.   I will then update and release a point update for those that want the new configs.

Edited by Papa_Joe
Link to comment
Share on other sites

I am sorry that you had some build and packaging problems. I had a little packaging script that I used to use, but it never got into github, so it did not occur to me that you did not have it, Anyway it sounds like you I found your own solution, so we are all sorted for the future.

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