Jump to content

[1.12.x] Konstruction! Weldable ports, servos, cranes, and magnets!


RoverDude

Recommended Posts

12 hours ago, DoktorKrogg said:

Just FYI: we'll likely be deprecating the construction ports in a future update and just using module manager to add the functionality they provide to the stock docking ports.

How will this work with multi-weld? All stock docking ports that are currently docked will weld?

It would be really nice to be able to individually disable welding on ports to allow for simultaneous welds without including all ports (which I do now by using only some weldable ports on a craft).

Link to comment
Share on other sites

33 minutes ago, münambulist said:

How will this work with multi-weld? All stock docking ports that are currently docked will weld?

It would be really nice to be able to individually disable welding on ports to allow for simultaneous welds without including all ports (which I do now by using only some weldable ports on a craft).

Likely it's going to need a code change for that to work in a non-sketchy way.

Link to comment
Share on other sites

39 minutes ago, RoverDude said:

Likely it's going to need a code change for that to work in a non-sketchy way.

A possible suggestion would making the weld functionality a toggleable option on the port that can be changed in flight. That way you can just toggle those ports that are to be included in a multi-weld. 

Link to comment
Share on other sites

  • 2 weeks later...
36 minutes ago, Tacombel said:

Which parts give a bonus to kis construction? 

I already checked the salamander, that gives a 4 bonus. Four times the weight? 

And, is Eva construction also bonused? 

Thx. 

EVA Construction only in the next release.  KIS/KAS is being deprecated.

Link to comment
Share on other sites

Just now, heli said:

can it be that the PAL Crane does not work? get no connection.
Or do I have to pay attention to something else? enable targeting should be enough right?

*should* work, but those parts are due for some fiddling.

Link to comment
Share on other sites

@RoverDude just a quick question (is that ever true? LOL) is there a specific reason that the Construction Port[0,1,2]  configs have

category =      

instead of

category = Coupling


 If its a bug,  I can put it on your bug list if you say to do so, but I am hesitant to clutter things up with a relatively minor issue that I can fix by editing the file myself.  Or is it "working as designed"?

I know you and @DoktorKrogg coming up with a revamp of the ConstructionPorts that will do away with the part files, which will make these simply MM configs (reuse the Squad base part & art) so in that revamp process maybe you could consider adding that to the config, just a thought.

Edited by Murdabenne
clarification
Link to comment
Share on other sites

1 minute ago, Murdabenne said:

@RoverDude just a quick question (is that ever true? LOL) is there a specific reason that the Construction Port[0,1,2]  configs have "category =      " instead of "category = Coupling" in their config files?

The construction ports are being deprecated. Removing the category from the config prevents them from showing up in the VAB/SPH while still allowing the parts to remain in-game without breaking existing vessels. The functionality they provided has been grafted onto the stock docking ports instead.

Link to comment
Share on other sites

15 minutes ago, DoktorKrogg said:

The construction ports are being deprecated. Removing the category from the config prevents them from showing up in the VAB/SPH while still allowing the parts to remain in-game without breaking existing vessels. The functionality they provided has been grafted onto the stock docking ports instead.

OK thanks, I though it might have something to do with the revamp and deprecation.  This is not a "hurry up" request, I am just curious how the revamp is going (I hope it goes well), and if you have any horizon in mind for a release. 

A suggestion - make the new part ConstructionPort_0 vs ConstructionPort0, or even "KonstructionPort0", that way you can leave the old parts in game for a while.

I'll watch here for new posts regarding test candidates.  I intend to test these parts once you have a beta or RC.  It seems like fairly trivial testing scenarios - either they dock+undock+"weld" (and disappear from the craft linking the two parts directly), or they do not.  And most of that functionality would come from the stock ports excepting the weld function modules - MM part script should handle it well.  Failures would seem to be pretty obvious, but I will also deeper inspect the .sfs file and manually walk the craft parts tree to make sure the proper modules have removed themselves and the linkage references and geometry are correct.

Thanks for the response.

Edited by Murdabenne
clarification
Link to comment
Share on other sites

21 minutes ago, Murdabenne said:

A suggestion - make the new part ConstructionPort_0 vs ConstructionPort0, or even "KonstructionPort0", that way you can leave the old parts in game for a while.

Not sure what you're suggesting in terms of a new part. There won't be new parts. There will only be stock docking ports. We also won't remove the old ports for a while yet. They'll just be "hidden" from the VAB/SPH.

26 minutes ago, Murdabenne said:

I'll watch here for new posts regarding test candidates.  I intend to test these parts once you have a beta or RC.

There is actually already a pre-release available for Constellation that includes a bunch of the new stuff we've been working on. Also, we have a USI Discord server now with an announcements channel where we post links to things like pre-releases. Easier to just post once there instead of trying to remember to make posts in every USI forum thread. ^_^ So join us on the Discord if you'd like to get notifications about pre-releases. https://discord.gg/FNBwUXRgX8

Link to comment
Share on other sites

29 minutes ago, DoktorKrogg said:

Not sure what you're suggesting in terms of a new part. There won't be new parts. There will only be stock docking ports. We also won't remove the old ports for a while yet. They'll just be "hidden" from the VAB/SPH.

Oh?  I thought you were making a MM addition to leverage all the original functionality, artwork and config of the stock part, and then add yours as a clone + functionality.  That way the Construction Ports show up different from the stock ports, something like this:
 

+PART[dockingPort3]:Final
{
  @name = KonstructionPort0
  @title = #autoLOC_XXXXXXXX //#autoLOC_XXXXXXXX = Clamp-O-Tron Construction Port Jr. (need translation stuff)
  @description =  #autoLOC_XXXXXXXX //#autoLOC_XXXXXXXX = Variants of the popular Clamp-O-Tron Docking Ports that can be compressed for construction, and can angle snap.
  @manufacturer =  #autoLOC_XXXXXXXX //#autoLOC_XXXXXXXX = USI - Construction Division
  // inherits all the rest of the usual settings these from Clamp-O-Tron Docking Port Jr (dockingport3)
  // @category = Coupling
  // @entryCost = 7800
  // @cost = 800
  
  ... etc
  
  MODULE
  {
		name = ModuleWeldablePort
		portSnap = false
  }
}

Are you saying you're simply adding the module to the regular ports, so all stock ports become Konstruction ports?  I don't think that is a good move, especially since there are some times where you do not want the ports to ever become welded, meaning you need stock ports, and therefore the Konstruction ones need to be differentiated.

Or am I misunderstanding?

Link to comment
Share on other sites

7 minutes ago, Murdabenne said:

Are you saying you're simply adding the module to the regular ports, so all stock ports become Konstruction ports?

Yep.

8 minutes ago, Murdabenne said:

I don't think that is a good move, especially since there are some times where you do not want the ports to ever become welded, meaning you need stock ports, and therefore the Konstruction ones need to be differentiated.

It was suggested a few posts back to add a toggle function to disable welding on a port-by-port basis. That would likely solve the issue you mentioned and keep us from having to duplicate the stock docking ports. 

Link to comment
Share on other sites

1 hour ago, DoktorKrogg said:

Yep.

It was suggested a few posts back to add a toggle function to disable welding on a port-by-port basis. That would likely solve the issue you mentioned and keep us from having to duplicate the stock docking ports. 

Actually I don't see the harm in having them as a separate part, that way it operates the same way it does now (except as a MM copy of the stock port), its not broken so why "fix" it? Is there a reason behind this I am unaware of?

I and some others would prefer it the current way to keep things appearing and functioning as they always have, and also to avoid the delay and inevitable complexities that will happen if you have to modify each and every docking port in the game, and also consider them when welding.  A common failure would be hitting weld when a supply ship is docked to the current station you are expanding via a Construction Port, because its docking port will disappear and now it becomes a permanent addition to the station - and eliminates the station's primary docking port by welding a ship in its place (and welding all the possible docked parts on that ship as well in a cascading error).  I can imagine the error reports and complaints this would generate.

I have a feeling individually determining which ports will weld and which do not will add complexity and require some rework of the welding functions with more intrusion into the stock parts and more complex (non-trivial) tree parse of the entire ship structure to see which port is welding and which is not... and by doing so, introduce possible sources for more bugs and possible functionality clash with any other mod that may use/alter docking port functionality. 

This "separate function for separate parts" method has the advantage of maintaining current stock + USI function, instead of forcing stock ports to behave like a welding port even when you do not want it to. Re-use Squad assets via something like the MM script I posted to eliminate the need to for Konstruction to maintain separate part .dds and .mu assets, and give the user individual Construction Ports the way it functions now as separate parts.

I believe the better way is: Adding this functionality to separate parts as done originally, preserving stock as stock,  and using a MM +PART script (or the equivalent) thereby reducing the possibility of conflict and error against stock parts expected behavior.  Yes, I am asking you and @RoverDudeto reconsider that design decision.

Maybe make an option for installing them as individual parts and leaving Stock untouched, versus an "all ports are a Construction Port" approach.  This is possible by delivering 2 different .cfg files, and requiring one of the two to be used.  CKAN has a pretty straightforward method for setting a dependency that can do that automatically, I think @HebaruSan can explain it better than I can. 

Thats my soapbox. I simply do not understand why you want to alter the stock parts instead of supplying a MM'd version for Construction. Its a better design.

But please reconsider the blanket approach that eliminates pure stock docking ports.  I think there is a better way and that the proposed design is defective in several scenarios.

Edited by Murdabenne
Link to comment
Share on other sites

19 hours ago, Murdabenne said:

Actually I don't see the harm in having them as a separate part, that way it operates the same way it does now (except as a MM copy of the stock port), its not broken so why "fix" it? Is there a reason behind this I am unaware of?

I and some others would prefer it the current way to keep things appearing and functioning as they always have, and also to avoid the delay and inevitable complexities that will happen if you have to modify each and every docking port in the game, and also consider them when welding.  A common failure would be hitting weld when a supply ship is docked to the current station you are expanding via a Construction Port, because its docking port will disappear and now it becomes a permanent addition to the station - and eliminates the station's primary docking port by welding a ship in its place (and welding all the possible docked parts on that ship as well in a cascading error).  I can imagine the error reports and complaints this would generate.

I have a feeling individually determining which ports will weld and which do not will add complexity and require some rework of the welding functions with more intrusion into the stock parts and more complex (non-trivial) tree parse of the entire ship structure to see which port is welding and which is not... and by doing so, introduce possible sources for more bugs and possible functionality clash with any other mod that may use/alter docking port functionality. 

This "separate function for separate parts" method has the advantage of maintaining current stock + USI function, instead of forcing stock ports to behave like a welding port even when you do not want it to. Re-use Squad assets via something like the MM script I posted to eliminate the need to for Konstruction to maintain separate part .dds and .mu assets, and give the user individual Construction Ports the way it functions now as separate parts.

I believe the better way is: Adding this functionality to separate parts as done originally, preserving stock as stock,  and using a MM +PART script (or the equivalent) thereby reducing the possibility of conflict and error against stock parts expected behavior.  Yes, I am asking you and @RoverDudeto reconsider that design decision.

Maybe make an option for installing them as individual parts and leaving Stock untouched, versus an "all ports are a Construction Port" approach.  This is possible by delivering 2 different .cfg files, and requiring one of the two to be used.  CKAN has a pretty straightforward method for setting a dependency that can do that automatically, I think @HebaruSan can explain it better than I can. 

Thats my soapbox. I simply do not understand why you want to alter the stock parts instead of supplying a MM'd version for Construction. Its a better design.

But please reconsider the blanket approach that eliminates pure stock docking ports.  I think there is a better way and that the proposed design is defective in several scenarios.

If I am understanding correctly, the proposed approach does not eliminate or force anything - it simply adds a button to docking ports that says something like 'enable constructo-mode' (or some vaguely similar kind of functionality with better verbiage). If you don't want to enable constructo-mode, you can... just... not click on that feature. If you don't click on it, presumably the stock docking ports work just like stock docking ports normally do.

Or perhaps I have misunderstood, that is frequently the case.

EDIT: In any case, I do agree with the idea that one could accidentally press such a button. Assuming that's actually how it will/would work, a "Are you sure you want to weld this stuff?" dialog box seems prudent.

Edited by AccidentalDisassembly
Link to comment
Share on other sites

OK so what you're saying is the part window menu will have an added "allow weld ON/OFF" toggle per part, but it will still be triggered vessel wide?  Or will it be an individual pair basis for welds?  Now I think I understand the intent and how it will work.  And that is the answer to the parts issue - its simply a module, so that solves the "missing part" problem when someone uninstalls USI (although why would they? LOL ).  And if it can be triggered in adjacent pairs ("weld ports" button on t he popup like the staging/activate buttons), then you have all the individual control as a bonus, solving the problems with welding the whole vessel.  By focusing on part I missed the entire functionality argument, D'OH!


zivxHE1.gif

Now that I "get it", the "weld per pair" seems to be the best approach. My improved thinking now: If you have multiple parts that need welding you may need to click a few times more to weld them individually, and code-wise I can see where it simplifies code, and better yet it eliminates the need to walk the entire vessel looking for weldable nodes.  That's  a lot safer and simpler,  although admittedly not as Kerbal as hitting the whole ship and watching it shimmy its way into unity :D

Link to comment
Share on other sites

On 6/7/2020 at 5:39 PM, Tabris said:

@Smurfalot,

i think the issue is probably parent = 0, which i think means that the docking port is the ROOT part of the craft that you are attaching to the station.

you can't weld a root part because from memory the welding is more than graphical, it deletes the docking ports and directly attaches the parts on either side of the docking ports.

 

the way to fix it is the launch a new module where the docking port isn't ROOT or use KAS(Kerbal Attachment System) to detach the part and re-attach it.

I ran into this just now, except that I rechecked what I launched, and NEITHER of the ports were root at launch.  So is there any alternative way other than relaunching the entire thing? I made sure I had rerooted the entire ship to the control point (command pod) when I saved just prior to queuing it for launch.

ADD: I reloaded to prior to my launch, DELETED the part off the station, re-added them.  It still fails after I get into orbit.  And now I cannot dock with the one construction port at the aft end.  My tug, using a normal port, can dock just fine with another tug, and with a lateral (normal) port on this station, but the Construction Port refuses to dock.  I even rebuilt the station using the normal ports, cheated them into orbit, and tried docking, and it worked fine as long as there was not a Construction Port there.  I tried changing snap, angle, force, F5-F9, resetting the acquire, and even pushing the ports together and slowly rotating. I've never had these just completely refuse to function.  I even tried uninstalling and reinstalling vi CKAN.  Is there something I missed? Is there a way to edit the save file to force this functionality to work, some code surgery I can do to fix this?  Its getting very frustrating. :/

This has got to be something I missed and not a bug; anyone have any clues or links?

Edited by Murdabenne
more data.
Link to comment
Share on other sites

  • 3 weeks later...

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