Jump to content

[1.4.*] [2.5.3] (2018-04-06) UbioZur Welding Ltd. Continued


girka2k

Recommended Posts

5 hours ago, BOBBER said:

Upon closer inspection it seems all parts of this mod (station parts expansion) get welded unreliably (parts/nodes missing), Could this problem be cause by using the older MM?

Nope, I think you hit some limitation on the welding algorithm.  Please post the (source) craft so I can see what's happening by welding it myself on my (customised) debug enabled DLL.

About MM, the only really important changes from 3.1.3 to the current 4.1.4 are concurrent patching (i.e., the patching is done while loading models, textures and sound - what really made things slower on my old Mac Potato, believe it or not) and some bug fixes on a directive called :LAST that at 1.7 era was seldom used. Of course you can be unlucky enough to hit some unfixed bug by using a KSP >= 1.8 add'on on 1.7... (and that's the reason I use my own personal fork).

Spoiler

I managed to compile and use MM 4.1.4 down to KSP 1.2.2, by the way. There's nothing on the code really demands the use of C# 4 (two or three language specific changes that really didn't added value to the code, easily rollback them), everything works fine using 3.5 compiler. I failed to understand why in kraken's heaven things are done this way here.

 

Link to comment
Share on other sites

10 hours ago, Monniasza said:

I'll want to have support for ModuleManager 4.1.4 and KSP 1.9.x too.

KSP 1.9 is a matter of implementing welding of variant parts.

About MM, I want a MM which I can support without fixing what's not broken all the time.

There're people playing KSP 1.7.3. Damn, there're people still using 1.3.1. And they cannot get the fixes from the latest official MM due some pretty lame decisions.

Edited by Lisias
post edit
Link to comment
Share on other sites

  • 3 weeks later...

Sorry for the long post; thank you for the help in advance.

I got the continued welding mod from Lisias, with the patched MM 4.1.4.1 and correct dependencies, working correctly on 1.10.1. It achieves its original purpose, and after reloading the game after a weldment, the part is correctly created.

However, I have a question; when is support expected for variants? I am building a full-scale model of the I.S.V. Venture Star, and some parts default to strange variants that are out of my control. I understand that this is a tedious process, and I have some input for you.

YqGtBpB.jpg

This truss section has been keeping me up some nights. Without welding, I get a 300 part Kraken nightmare that Unity crashes my game back into 1999. However, I cannot weld the internal longitudinal truss because it has variants. Having a non-noodle 1km pole would be awesome.

d0DiF01.jpg

I'm not really too worried about welding the habs, but the storage part behind it worries me. It has around 60 storage containers, and the truss sections to connect all of it add up to about 300 parts. Again, I don't know if this is possible due to the incompatibility with variants. 

Bottom line, I'm worried about the long truss sections and the unfortunate fact that they are either SSPX or Near-future construction, whose variants are the base of what is good in those mods. Is it possible to weld this monstrosity, and are variants going to get a much-appreciated compatibility for the part welder? 

Link to comment
Share on other sites

On 9/19/2020 at 3:02 AM, InfoTheGamer said:

However, I have a question; when is support expected for variants?

Soon™ . :)

I'm currently tackling down Variants on TweakScale (including Attachment Points), but the thing is fighting back fiercely (and KSP 1.9 is not making my life easier). But once I manage to make TweakScale understand Variants, doing the same on the Welding Tool will be trivial.

I have a working work around for this however, and it should work on both forks (mine and the oficial one).

Add <ModuleAttribute AttributeName="ModulePartVariants"/> on the <ModulesToIgnore> section of moduleAttributeList file.

Any variant applied will be ignored, of course. But at least you will avoid the Variant Welding Mess for while.

I understand this is far from ideal. But I'm kinda of overwhelmed as there're really few people really maintaining things lately - what renders me insanely task switching to cover up holes everywhere and this is delaying everything I'm doing.

— — POST EDIT — — 

Sadly, I can't pursue implementing new features on the Welding tool anymore. It's nearly 3 years since this post, and I didn't managed to do it, I don't see how things would change now - I still have the same problems I had at that time, things didn't improved as I was expecting it would (how naive I was…).

It's not impossible that I would work on this again sometime in the future - but I wouldn't hold my breath on it.

Sorry.

Edited by Lisias
POST EDIT.
Link to comment
Share on other sites

5 hours ago, Lisias said:

Soon™ . :)

I'm currently tackling down Variants on TweakScale (including Attachment Points), but the thing is fighting back fiercely

I'm wishing you the best of luck. Part welding is the last major hurdle of my I.S.V. project, and I know that patience is a virtue. When it is fixed, will the port to 1.10.1 be fairly seamless, or are you focusing entirely on KSP 1.9 compatibility at the moment?

Link to comment
Share on other sites

5 minutes ago, InfoTheGamer said:

or are you focusing entirely on KSP 1.9 compatibility at the moment?

KSP specifics, if any on this case, will be handled by KSP-Recall. Every single Add'On I lay my dirty claws on is aimed to work on every KSP version still in use. :)

Sometimes I win, some times I loose - but I really try hard.

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

hmmm.. i have ubio welding, and modulemanager 4.1.4, and when i click the button (im in 1.10), nothing happens
Ujwy9Cc.png

im trying to weld this... it should work.. hmm.. i have the latest version of ksp (1.10.1), Ubio Welding, and Modulemanager(4.1.4).

Edited by JcoolTheShipbuilder
Link to comment
Share on other sites

  • 1 month later...
On 10/13/2020 at 11:19 PM, JcoolTheShipbuilder said:

hmmm.. i have ubio welding, and modulemanager 4.1.4, and when i click the button (im in 1.10), nothing happens
Ujwy9Cc.png

im trying to weld this... it should work.. hmm.. i have the latest version of ksp (1.10.1), Ubio Welding, and Modulemanager(4.1.4).

This gets me thinking @Lisias Could this mod make railroad tracks possible? Would be amazing to send a track laying rover to another planet to connect multiple colonies

Link to comment
Share on other sites

2 hours ago, timbrwolf1121 said:

This gets me thinking @Lisias Could this mod make railroad tracks possible? Would be amazing to send a track laying rover to another planet to connect multiple colonies

Probably, but with some reserves.

You shouldn't have anything bigger than the Physics Range, or things start to blow into space in the most unpleasant way.

The problem is that Unity is a game engine, not meant for scientific calculations. So, due performance concerns, Unity uses floats everywhere instead of doubles - and since floating points on computers have a problem with precision as the magnitude raises, sooner than later the Physics Engine can't tell anymore if a part is 1cm or 100cm from another - and this is where everything starts to blow up.

Had Unity adopted doubles, we could have crafts the size of the Kerbol System - but by then the game would be 30% slower on the CPUs of that era for everything - KSP was born on the 32 bits era (as Unity, by the way).

Do you want to hear something ironic? Doubles are faster on  CPUs using X86-64 architectures. But since, on GPUs, floats are way faster than doubles, and since Unity is game centric, I think it's unlikely that Unity would ever refactor the Physics Engine to use doubles.

So we have a hard limit about the size of a physics enabled part on KSP (it's the reason we can't built space elevators with standard parts on KSP, by the way).

What you intent to do should be possible using statics and custom modules for the few moving parts.

Link to comment
Share on other sites

  • 4 weeks later...

Does it work on 1.11? I tried but i didnt even pop up the mod UI after i press the button on the editor

EDIT: Nevermind. I read it on github you need the custom version of the module manager (not the one on ckan)

Edited by KazModah
Link to comment
Share on other sites

  • 1 month later...
On 12/21/2020 at 2:18 PM, KazModah said:

Does it work on 1.11? I tried but i didnt even pop up the mod UI after i press the button on the editor

EDIT: Nevermind. I read it on github you need the custom version of the module manager (not the one on ckan)

where do i find the custom version of the modulemanager?
is it on github?

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
1 hour ago, flart said:

does your version also need that in the PluginData\net.lisias.ksp\UbioWeldingLtd\ ?

Yes. In order to avoid stomping on the mainstream toes, I make every effort to avoid confusion by not using the same places and files when possible.

(and user editable/serviceable data on GameData is a terrible idea anyway).

Link to comment
Share on other sites

  • Is amount of welded parts still influences fps?
     
  • adding a texture of a variant this way doesn't work:
    MODEL
    {
        model = SquadExpansion/MakingHistory/Parts/Structural/Assets/Panel1
        texture = SquadExpansion/MakingHistory/Parts/Structural/Assets/Panels_Dark_D
    }

     
  • Is there manual somewhere about the WeldedMeshSwitch ? 
     
  • Also it would be nice to autofill the name and the title fields from the title of a vessel in the editor:
     
    Spoiler

    sbFW3ub.jpg


     

 

 

 

Edited by flart
Link to comment
Share on other sites

  • 1 month later...
On 9/19/2020 at 4:19 AM, Lisias said:

Soon™ . :)

I'm currently tackling down Variants on TweakScale (including Attachment Points), but the thing is fighting back fiercely (and KSP 1.9 is not making my life easier). But once I manage to make TweakScale understand Variants, doing the same on the Welding Tool will be trivial.

I have a working work around for this however, and it should work on both forks (mine and the oficial one).

Add <ModuleAttribute AttributeName="ModulePartVariants"/> on the <ModulesToIgnore> section of moduleAttributeList file.

Any variant applied will be ignored, of course. But at least you will avoid the Variant Welding Mess for while.

I understand this is far from ideal. But I'm kinda of overwhelmed as there're really few people really maintaining things lately - what renders me insanely task switching to cover up holes everywhere and this is delaying everything I'm doing.

Is this adjustment supposed to fix  welded variants looking buggy, I put it in and .cfg files for welded parts dont have variant lines but in game for example fuel tanks still look like all the variants were meshed over each other and they flicker.

Link to comment
Share on other sites

5 hours ago, Nether said:

Is this adjustment supposed to fix  welded variants looking buggy, I put it in and .cfg files for welded parts dont have variant lines but in game for example fuel tanks still look like all the variants were meshed over each other and they flicker.

I just  gave this a run on 1.11.2, and...  Well, it worked for me. I must have a typo on the XML file or something.

This is how it must look on the file:

<?xml version="1.0" encoding="utf-8"?>
<ModuleAttributeLists xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="KSP-Forum">
  <Vector2CurveModules>
    <!-- Yada yada yada -->
  </Vector2CurveModules>
  <Vector4CurveModules>
    <!-- Yada yada yada -->
  </Vector4CurveModules>
  <SubModules>
    <!-- Yada yada yada -->
  </SubModules>
  <ModulesToIgnore>
    <!-- Yada yada yada -->
    <ModuleAttribute AttributeName="WeldedFlagDecal" />
    <ModuleAttribute AttributeName="ModulePartVariants" />  <!-- ------ HERE!! THIS LINE!!! -->
  </ModulesToIgnore>
  <!-- Yada yada yada -->
</ModuleAttributeLists>

Check if the line emphasised above is inside a <ModulesToIgnore> block, check if it's correctly terminated, or if there's any other problem on it.

Also keep in mind that this stunt just squash all the parts to the default variant, ignoring any current settings on the time of the welding.

Link to comment
Share on other sites

10 hours ago, Lisias said:

I just  gave this a run on 1.11.2, and...  Well, it worked for me. I must have a typo on the XML file or something.

This is how it must look on the file:




<?xml version="1.0" encoding="utf-8"?>
<ModuleAttributeLists xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="KSP-Forum">
  <Vector2CurveModules>
    <!-- Yada yada yada -->
  </Vector2CurveModules>
  <Vector4CurveModules>
    <!-- Yada yada yada -->
  </Vector4CurveModules>
  <SubModules>
    <!-- Yada yada yada -->
  </SubModules>
  <ModulesToIgnore>
    <!-- Yada yada yada -->
    <ModuleAttribute AttributeName="WeldedFlagDecal" />
    <ModuleAttribute AttributeName="ModulePartVariants" />  <!-- ------ HERE!! THIS LINE!!! -->
  </ModulesToIgnore>
  <!-- Yada yada yada -->
</ModuleAttributeLists>

Check if the line emphasised above is inside a <ModulesToIgnore> block, check if it's correctly terminated, or if there's any other problem on it.

Also keep in mind that this stunt just squash all the parts to the default variant, ignoring any current settings on the time of the welding.

I tested it with different parts and it does work with FL-T800 Fuel tank as you said by using  first variant.

Then trying to weld together Rockomax X200-32 Fuel tank and it breaks with flickering meshes. Both should be stock parts, looking at their .cfg files the way they define variants is different for the stock parts.

 

Edit: Opening those part .mu files in blender it seems the one that works only has its base collider and model in the file while the one that breaks has all the variants inside .mu file itself so ignoring variant module makes the game mesh everything inside .mu file which causes it to display all the variants and flicker.

Edited by Nether
Link to comment
Share on other sites

1 hour ago, Nether said:

Edit: Opening those part .mu files in blender it seems the one that works only has its base collider and model in the file while the one that breaks has all the variants inside .mu file itself so ignoring variant module makes the game mesh everything inside .mu file which causes it to display all the variants and flicker.

Now I understand. Yep, you found a serious incompatibility - UbioWeld cannot be used on KSP 1.11.x... :( 

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