Jump to content

[1.7.x] ReCoupler - Monocouple your bicouplers!


Recommended Posts

Ever want to use bi- or tri-couplers but want to recombine the stacks before the next stage? Ever wish you could make circular stations in the VAB without having to spam struts to keep the open end closed?

Here's the answer you've been looking for! ReCoupler works around the Vessel tree by identifying attach nodes that would have been connected but can't without a part having multiple parents or creating a circular structure. Once those nodes are identified, it hides them in the editor so that you don't accidentally connect anything else to that node. Then, in flight, it creates a structural link identical to the ones that normally hold parts together.

 

But wait! There's more! When decoupling (or explosions) happens, it detects if one of the virtual connections would continue holding the vessel together and magically makes that the real connection point as if no funny business had been happening!

They say a picture is worth a thousand words, so here's what it does: http://imgur.com/a/LoTfh (Posting pictures isn't working for me. Just go to the album. It's worth it.)

 

Interested? It's in release! Get it from SpaceDock or GitHub if you want to try it out! Or head over to the release thread:

 

Bugs? Did I say bugs? I meant, er...

Known bugs:

  • Not a bug, necessarily, but it only works for stack attach nodes.

Future plans:

  • Make a decoupler that connects to 2-, 3-, or 4-engine clusters and makes their fairings work with it. Thanks Making History!
  • Possibly working magic to make surface attach nodes work in some circumstances.

My bug list is short enough for a release! :D

Edited by Booots
Link to post
Share on other sites

Trickery indeed! When I saw that the multi-docking port thing worked, I realized similar trickery of having physical joints where no tree connection existed must be possible.

Thanks for your encouragement so far!

Development for today:

  • Fuel crossfeed nominally works across the trickery joints.
  • Better handling of all things in the editor (except the crossfeed display)
    • Nodes reliably disappear and reappear when they're supposed to, even after reverting. (But not undoing, for some reason...)
    • Downside is that it saves my helper PartModule to the .craft file and then throws up warnings in the log on launch because that module isn't in the prefab. I need to figure out how to intercept the save and remove the PartModule in time.
  • Discovered new things to fix (like aero being unaffected by all this)

New beta is on GitHub for anyone interested.

Edited by Booots
Link to post
Share on other sites

I gotta say...this is super clever and impressive to trick the game in this way.  I've grabbed it and thrown it in a testing install.  Will also start doing some testing against other mods (I know it's way early for this but it has to start sometime) as I want to use this in some rather stoopid ways. :sticktongue:

Link to post
Share on other sites

Just a few days ago I found and installed a parts pack for a single giant part because I have a ring station and it suffered from what ReCoupler came to cure. :) I don't need it anymore for the station but something else will come up, and this mod will make waves once it gets a shine from the spotlight.

Link to post
Share on other sites
12 hours ago, rasta013 said:

I want to use this in some rather stoopid ways. :sticktongue:

I am excited to see what stoopid ways you can come up with! Hopefully it can be made to work for the most fun ones. :)

Development for today:

  • Reverting flights no longer breaks.
  • Aero seems to be fooled into believing my connections are real.
    • Hopefully if my connections break or are removed it doesn't break.
  • Undoing in the editor seems to work. I don't know what I did to fix it. Maybe it worked all along? I haven't tested redoing in a while.

The only critical bug before I'm willing to do a pre-release on SpaceDock is the whole staging breaking thing when the switching to being a real attachment node gets triggered. I'm having no luck figuring that one out, though. Any tips will be greatly appreciated.

As always, newest beta and code are on GitHub. Cheers!

Link to post
Share on other sites

Development for today:

  • Fixed the staging issue! I've taken the coupling method that the new KASv1 uses. (@IgorZ, it's public domain so that's cool, right?)
  • Fixed the previous bug in loading that my fix for aero introduced. Now both aero and persistence works.
  • Released a pre-release (pending only any new bug reports and maybe hacking the fuel flow overlay in the editor before becoming a full-on release).

Check out the release on SpaceDock (here)!

Any feedback is appreciated as always. Cheers!

Link to post
Share on other sites
3 hours ago, Booots said:

Fixed the staging issue! I've taken the coupling method that the new KASv1 uses. (@IgorZ, it's public domain so that's cool, right?)

Absolutely! It's the whole point of the public domain license :)

Link to post
Share on other sites

Hm...

This might cause problems with some more complex creations, such as those with a lot of part clipping. 

Well, I'll have to do some trials.

Great concept, though!

Link to post
Share on other sites
7 hours ago, Raptor22 said:

This might cause problems with some more complex creations, such as those with a lot of part clipping. 

Well, I'll have to do some trials.

Great concept, though!

Yeah, if someone does weird clipping with surface attached things that also have stack nodes such that their stack node overlaps with another one, unintended joints may be created. I did limit the relative angles between attach node orientations that it will accept, though. I mostly did that so that it could handle cargo bays, but it should help with this.

If you find anything in your trials, let me know! Thanks!

Link to post
Share on other sites

If only there were a way to select which joints connect, like, you click one node, then click another, using some sort of plugin. If using nodes doesn't work, perhaps just clicking on the parts.

If you decide to do that, perhaps you can use something similar to the welding mod, in the way how it recognizes what parts to join. However, instead of making it all one part, it simply connects the joints.

Who knows. There's bound to be a way to be able to specify which parts to connect. Perhaps have it only work with certain parts (bi-, tri-, and quad-couplers), or have it so that it automatically connects all of them, but you can specify parts in the ship that you don't want connected. Either the blacklist or whitelist approach could work. Blacklist would be the best since it automatically does it, and only needs to be turned off for some complex builds that involve part clipping and rotation and such.

Either way, it's a fantastic concept. It both cuts down on part counts and makes your rockets look sleeker. No more struts (at least less struts)

By the way, I realized that I've been under the impression that it affects almost all parts. Is that the case, or is it only with the couplers and a few others?

My graphics card's cooling fan decided to break, and it got cooked. As a result of that and the unfortunate fact that you can't play KSP on an iPhone, I haven't been able to check and see what the mod's really like.

Link to post
Share on other sites
1 hour ago, linuxgurugamer said:

It's now in CKAN, I just merged the PR

Thanks!

8 minutes ago, Apollo13 said:

Broken for me.  When installed, I cannot decouple from my space stations.  Upon removing, I was able to do so.  What info do you want from me to help you debug?

Thanks for the bug report. I hadn't tested docking/undocking with this. I'll do that when I get home from work. When you say decouple, do you mean undock, or are you using the 'Decouple' option on the docking port? Were the vessels docked when you installed it, or does it also do this when you dock and then try to undock?

I have some ideas on why it might be doing this, and it *should* be a relatively easy fix. Hopefully!

Link to post
Share on other sites

I am using Decouple/Undock on the docking port.  Vessels were docked when I installed Recoupler.  As an experiment, I created a "vessel" in the VAB whereby I coupled two docking ports facing each other.  The decouple worked fine.  Perhaps the problem is that when I installed Recoupler, it has this problem only on vessels that were already docked.

Edited by Apollo13
Link to post
Share on other sites

Quite possibly related: I saw similar behavior in a ship last night.  Launching with docking ports coupled worked fine, and I could decouple - but once I re-docked I couldn't undock again.

Link to post
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...