Jump to content

[1.1.3] Procedural Parts - Parts the way you want 'em - v1.2.5 July 3


OtherBarry

Recommended Posts

Think I worked out the kspapi issue. I removed all mods and started reinstalling one by one until it broke ProcParts. Procfairings was out of date.

I've the same issue, but I don't use procedural fairings. My only mods out of date are contract modifier and recoverall.

Fixed: found an outof date 'kspapiextensions.dll' in tweakscale or tweak everything it was only 40kb and all the others where 120kb so just swapped it.

Edited by Sanguine-Fiend
Link to comment
Share on other sites

I love this mod, and I consider it to be one of the most important ones available for KSP. In my opinion, Procedural Parts' greatest virtue is its ability to eliminate large numbers of parts, decluttering the UI and saving lots of RAM (which is incredibly important with the ~3 GB RAM limit). I have a few suggestions that have occurred to me as I've played. I don't know anything about their technical feasibility, so I apologize if I'm asking the impossible.

First, earlier in the thread someone suggested slanted parts; I'd like to second that suggestion. I'd love to eliminate the various slanted adapters and be able to make custom ones.

Second, a hopefully small and easy one to implement: procedural reaction wheels. Procedural probe cores might be a reasonably simple spinoff from that. Simple cylindrical drone cores with batteries and reaction wheels that scale with size would be great; procedural stock-like polyhedrons might come later.

Third, procedural crew compartments. Let me adjust the size of the module, divide by the volume required per Kerbal, and round down. Not referring to command capsules here, just parts with Kerbal-carrying capacity.

Fourth, and tangentially related to the above, allow repeating of textures in addition to stretching. Maybe have a "repeat texture" slider that defaults to 1; if I increase it to 3, repeat the texture vertically three times instead of stretching it to fill the whole part. Maybe even include "repeat vertical" and "repeat horizontal" sliders. This occurred to me because I felt like the best texture for a procedural crew compartment would be like an airplane fuselage, with a line of windows, but it'd be better for such a texture to repeat rather than stretch, so you get more windows on a longer part.

Finally, and perhaps most important to me, the gap between procedural decouplers and procedural heat shields drives me NUTS. The decoupler only contacts at the very center of the heat shield. I have a few thoughts on how to address this, and hopefully one of them will turn out to be practical.

For the most part, my ideas center around giving decouplers a cylindrical extension upward. This could be hollow (though I know you do not intend to implement parts with holes in them, I don't know if this would "count"), or it could be filled in but the attachment node could be buried inside. Either way, the gap between the decoupler and the heat shield would be filled.

Perhaps procedural decouplers could detect procedural heatshields above them and extend appropriately, or maybe they could have a "heat shield fairing" check box. Maybe they could have an adjustable "fairing height" slider; something like that might even allow procedural decouplers to cover engines that lack their own fairings or whose fairings are smaller than the parts around them.

Maybe this was asked before, but anyhow, I'd pretty much like:

- Mk2 profile procedural things, and maybe other shapes/profiles, like square, octagon, eight sides

- another, more distinguishable default procedural decoupler texture (using Soyuz Green mostly, but made from actual real interstages would be better I guess)

- procedural variation of proc.SRB nozzless (not just 2 variants - surface and vacuum)

- ability to vary proc.SRB thrust over burning time by either adding nozzle-less segments of different burning properties, or - better - varying that programmaticaly, with some UI to set burning curves.

Lets see what the future brings ;)

I am getting the old bug of parts tweakscaled that are attached to procedural parts are spaced out upon craft loading. http://i.imgur.com/SjCSZwP.png I thought this bug was fixed since 1.0? Is this not true?

Can you give me precise reproduction steps? It seems to work for me.

IS this compatible with Far?

Normally yes. However there is a bug causing FAR to not voxelize PParts correctly. Will most probably be fixed in the next release.

Trying to weld these parts, I found that it`s not actually part, but a active module, which is why I unable to weld them.

So, a small suggestion: Could there be any chance to "export" the shaped one into part, or maybe model? Or can I make the model with texture with my hand-editing something? these are primitive shapes so not seems hard to work, though I don`t know anything about it actually.

+ Oh, I found that Blender is freeware(didn`t know), so using it would be a efficient way either, but still "export" thing would be good.

I don't think welding procedural parts is a good idea and I'm actually not much inclined to officially support it in the future. PP is complicated enough already.

1.) guess there is something wrong with the heatshield part. please see here and here.

2.) I can't scale the RCS tank down to small sizes. playing in career and have already unlocked all stock rcs tanks.

1) Not sure what you mean. What exactly is wrong with the heatshield? Can you give me reproduction steps?

2) I will look into the RCS-tank tech restrictions and see what can be improved. At the moment all restrictions get nullified with meta-materials.

I've found a mild graphical bug with small SRB sizes

I think the FX should scale with the thrust setting.

I agree. I'll put it on the list.

Link to comment
Share on other sites

1) Not sure what you mean. What exactly is wrong with the heatshield? Can you give me reproduction steps?

see here. first two screens show the lander with .65m heatshields from deadly reentry as reference. dV in VAB and on the pad are the same. the other two screens show the lander with .65m rescaled procedural heatshields. dV in VAB: 1177, dV on the launchpad: 393. there must be something wrong with the mass calculation in flight-scene or VAB.

Link to comment
Share on other sites

see here. first two screens show the lander with .65m heatshields from deadly reentry as reference. dV in VAB and on the pad are the same. the other two screens show the lander with .65m rescaled procedural heatshields. dV in VAB: 1177, dV on the launchpad: 393. there must be something wrong with the mass calculation in flight-scene or VAB.

I see. Thanks for the report and elaboration. It will be fixed with the next release.

Link to comment
Share on other sites

Alright issue with Pparts and tweakscale.

Place a cylinder tank and an engine under it.

Tweak the engine size

Save craft

Reload and right click or tweak tank diameter. This cause the engine to be separated from the tank and must be re attached to the tank.

Place a non cylinder tank, such as smooth cone, and an engine under

Tweak engine size

Save craft

Reload and the engine will have separated.

Seem the issue is most present on non cylinder parts. However you still get the glitch somewhat following the steps I first listed on cylindrical tanks.

Also would be really awesome if the github had the plugin available and updated when you update your source. This would allow more testers to check new changes before a full update. Thanks!

Link to comment
Share on other sites

Alright issue with Pparts and tweakscale.

Place a cylinder tank and an engine under it.

Tweak the engine size

Save craft

Reload and right click or tweak tank diameter. This cause the engine to be separated from the tank and must be re attached to the tank.

Place a non cylinder tank, such as smooth cone, and an engine under

Tweak engine size

Save craft

Reload and the engine will have separated.

Seem the issue is most present on non cylinder parts. However you still get the glitch somewhat following the steps I first listed on cylindrical tanks.

Also would be really awesome if the github had the plugin available and updated when you update your source. This would allow more testers to check new changes before a full update. Thanks!

Here is the github issue. If someone else encounters the bug and knows how to reproduce it. Please let me know.

Regarding the dev builds in the github repository: I don't think that is a good idea. Dev builds are for developers and developers are able to compile the code themself. Everyone else should not mess around with unstable stuff.

Link to comment
Share on other sites

Humm? Thats weird. I tried to reproduce that (command pod with procedural SRB beneath) and it triggered the the contract immediately after launch. Maybe KSP just glitched out.

This is somehow connected with SRB length. Less then two meters:

k3tdJocm.png

and contract not counted (unless you not add nonprocedural decoupler).

Link to comment
Share on other sites

Click here for a little sneak peek.

What do you think? It's still not perfect. But much better isn't it?

That looks awesome. I love it. I see it has a size tweakable; does that start at the bottom of the piece and grow upward, start at the top and grow down, or center on the piece and grow in both directions?

Link to comment
Share on other sites

Here is the github issue. If someone else encounters the bug and knows how to reproduce it. Please let me know.

Regarding the dev builds in the github repository: I don't think that is a good idea. Dev builds are for developers and developers are able to compile the code themself. Everyone else should not mess around with unstable stuff.

It seems to happen if the tweakscaled part attached to the procedural part has an offset top node.

I m not sure which was which, but eg you have the 1.25m to 3x1.25m adapter and you have the 2.5m to 3x1.25m adapter. Tweakscaling one of them and attaching to a pp produces this behaviour, while the other one wont. The difference is the top node positioning value.

Link to comment
Share on other sites

That looks awesome. I love it. I see it has a size tweakable; does that start at the bottom of the piece and grow upward, start at the top and grow down, or center on the piece and grow in both directions?

It works pretty much like the stock heatshield fairings. They go from the heat shields top to the bottom node. The tweakable is for the thickness of the fairing ring.

Yemo: Thanks, I will do some more tests tomorrow.

edit:

Tested it and seriously, I'm really running out of ideas. For me, the whole TweakScale thing works like a charm. Can you please see if you can reliably reproduce the bug and then tell me exactly what you did? And when I say exactly, I mean literally everything. Explain it like I'm five and have never heard of KSP in my entire life. The whole thing is like a phantom to me. Also: Are you running KSP on linux? 64 bit?

Edited by RadarManFromTheMoon
Link to comment
Share on other sites

Changelog

  • Collider meshes now include the parts end caps (needed for FAR support)
  • Fixed weirdness caused by choosing a part diameter of 0
  • Ore Tank can now jettison its content
  • Fixed a bug that caused heat shields to have wrong mass in flight
  • Procedural heat shields now automatically get a fairing when something gets attached to its bottom.

As always, you can get it from the github repository

Link to comment
Share on other sites

Changelog

  • Collider meshes now include the parts end caps (needed for FAR support)
  • Fixed weirdness caused by choosing a part diameter of 0
  • Ore Tank can now jettison its content
  • Fixed a bug that caused heat shields to have wrong mass in flight
  • Procedural heat shields now automatically get a fairing when something gets attached to its bottom.

As always, you can get it from the github repository

Thank you!

Link to comment
Share on other sites

Changelog

  • Collider meshes now include the parts end caps (needed for FAR support)
  • Fixed weirdness caused by choosing a part diameter of 0
  • Ore Tank can now jettison its content
  • Fixed a bug that caused heat shields to have wrong mass in flight
  • Procedural heat shields now automatically get a fairing when something gets attached to its bottom.

As always, you can get it from the github repository

So it now works with FAR? Awesome!

Also, have you considered a procedural LES tower?

Edited by Thorbane
Link to comment
Share on other sites

Hi, sorry to bother. I have the missing tweaks bug in ProcParts. Going through the thread I can see it's a KSPAPI issue. I downloaded the latest 1.7.4 kspapiextensions.dll and dropped that in hoping it would solve this issue, but no joy. Is there anything else I can do?

http://i.imgur.com/ev3JdYE.jpg

Did you resolve this as I'm getting the same issue?

- - - Updated - - -

The answer just came to me... I replaced all the KSPAPIextension dlls I had in plugin directories with the latest version. The answer maybe to create a symbolic link from all my plugin directories with a KSPAPI to the one in the root gamedata directory.

Link to comment
Share on other sites

My procedural parts are overheating and exploding on takeoff. :( Didn't see anything about this in the last few pages...

First, I was trying to use a procedural battery 2.5m diameter, .125m thick, right under the command pod at the top. As I was about to hit mach, it would overheat and explode. I pulled that out and now the procedural decoupler a little farther down the stack is exploding a bit after I hit mach.

IJpIYyB.jpg

Am I missing something?

Link to comment
Share on other sites

My procedural parts are overheating and exploding on takeoff. :( Didn't see anything about this in the last few pages...

First, I was trying to use a procedural battery 2.5m diameter, .125m thick, right under the command pod at the top. As I was about to hit mach, it would overheat and explode. I pulled that out and now the procedural decoupler a little farther down the stack is exploding a bit after I hit mach.

http://i.imgur.com/IJpIYyB.jpg

Am I missing something?

Your using DR. This is common with low mass items in DR. there really isn't anything you can do except put it all in a fairing. Gotta protect those small mass parts from that hot airstream.

Link to comment
Share on other sites

I have no idea what's going on with these boosters, but it's not good.

WVOdABEh.png

This occurs whenever I reload this craft with this size booster. 2.250m Diameter, 10m length, 1.4 MN thrust.

Edited by Thorbane
Link to comment
Share on other sites

Any chance to integrate Interstallar fuel switch? :D HyLox ftw ^^

Just an idea ;)

I don't know. :D Is it just about adding a new resource, or what exactly would be necessary?

I have no idea what's going on with these boosters, but it's not good.

http://i.imgur.com/WVOdABEh.png

This occurs whenever I reload this craft with this size booster. 2.250m Diameter, 10m length, 1.4 MN thrust.

Yep, definitely not good. I've seen this bug a couple of times and it seems to be around a while now but I always failed to reproduce it.

Link to comment
Share on other sites

Regarding IFS, here's what I use:

@PART[procedural*Liquid]:NEEDS[CryoEngines]{
@MODULE[TankContentSwitcher]
{
TANK_TYPE_OPTION
{
name = LqdHydrogen
dryDensity = 0.1
costMultiplier = 0.035
// Based on observation that LH2 is 1/20 the cost of LF
RESOURCE
{
name = LqdHydrogen
unitsPerT = 8800
// Based on nertea's 5.5x total of mixed tank
}
}
TANK_TYPE_OPTION
{
name = HydroLox
dryDensity = 0.1
costMultiplier = 0.785
// Based on observation that LH2 is 1/20 the cost of LF and adding the cost mult for oxidizer only
RESOURCE
{
name = LqdHydrogen
unitsPerT = 8000
// Based on nertea's 5x total of mixed tank
}
RESOURCE
{
name = Oxidizer
unitsPerT = 800
// Based on nertea's 1:10 ratio for mixed tank
}
}
}
}

Just put it in some .cfg file and voila.

But I'm having a problem myself. I'm trying to make Procedural HRB (uses SolidFuel+Oxidizer) but I can not override ISP of Procedural SRB, that is, I can change ISP of Procedural SRB with MM patch, but for "my" Procedural HRB this changes ISP also, so ISP for SRB and for HRB are not different. Why?


{
// http://www.spg-corp.com/docs/JPC47_Paper.pdf
name = proceduralTankHRB
module = Part
author = cipherpunks, Yemo, Lord Aurelius
MODEL
{
model = ProceduralParts/Parts/cylinderTank
scale = 1,1,1
}
MODEL
{
model = ProceduralParts/Parts/SRBBell
position = 0.0, -1.25, 0.0
scale = 1,1,1
}
MODEL
{
model = ProceduralParts/Parts/HighRatio
position = 0.0, -1.25, 0.0
scale = 1,1,1
}
MODEL
{
model = ProceduralParts/Parts/LowRatio
position = 0.0, -1.25, 0.0
scale = 1,1,1
}
scale = 1
rescaleFactor = 1
node_stack_top = 0.0, 0.5, 0.0, 0.0, 1.0, 0.0, 1
node_stack_bottom = 0.0, -0.5, 0.0, 0.0, -1.0, 0.0, 1
node_attach = 0.5, 0.0, 0.0, 1.0, 0.0, 0.0, 1
fx_exhaustFlame_yellow = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, running
fx_exhaustSparks_yellow = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, running
fx_smokeTrail_medium = -5.0, 0.0, 0.0, 0.0, 1.0, 0.0, running
sound_vent_medium = engage
sound_rocket_hard = running
sound_vent_soft = disengage
sound_explosion_low = flameout
cost = 0 // 4000
category = Propulsion
TechRequired = basicRocketry
entryCost = 5000
subcategory = 0
title = Procedural HRB
manufacturer = Space Propulsion Group
description = The Hybrid Rocket Booster uses liquid oxidizer in conjunction with solid fuel. This configuration leads to higher a ISP and more importantly to thrust controllability and improved safety. Unfortunately it is also more expensive than the standard SRB.
attachRules = 1,1,1,1,0
mass = 0
dragModelType = default
maximum_drag = 0.3
minimum_drag = 0.3
angularDrag = 2
crashTolerance = 7
breakingForce = 200
breakingTorque = 200
maxTemp = 3600
stagingIcon = SOLID_BOOSTER
MODULE
{
name = ProceduralPart
textureSet = BlueSide
diameterMin = 0.125
MODULE
{
name = ProceduralShapeCylinder
displayName = Cylinder
length = 2.5
diameter = 1.25
}
MODULE
{
name = ProceduralShapeCone
displayName = Cone
coneBottomMode = LimitMin
length = 2.5
topDiameter = 0.625
bottomDiameter = 1.25
}
MODULE
{
name = ProceduralShapePill
displayName = Fillet Cylinder
length = 2.5
diameter = 1.25
fillet = 0.25
}
MODULE
{
name = ProceduralShapeBezierCone
displayName = Smooth Cone
coneBottomMode = LimitMin
selectedShape = Round #1
length = 2.5
topDiameter = 0.625
bottomDiameter = 1.25
}
MODULE
{
name = TankContentSwitcher
useVolume = true
TANK_TYPE_OPTION
{
name = HybridRocket
dryDensity = 0.12 // !! was 0.162; must be 0.125-0.12
costMultiplier = 0.8
RESOURCE
{
name = SolidFuel
unitsPerT = 651.852 // was 405; 333??
}
RESOURCE
{
name = Oxidizer
unitsPerT = 880 // was 495; 567??
}
}
}
MODULE
{
name = ModuleEngines
thrustVectorTransformName = thrustTransform
throttleLocked = False
exhaustDamage = True
ignitionThreshold = 0.1
minThrust = 0
maxThrust = 52
heatProduction = 157
useEngineResponseTime = False
engineAccelerationSpeed = 10.0
engineDecelerationSpeed = 10.0
allowShutdown = True
fxOffset = 0, 0, 0
PROPELLANT
{
name = SolidFuel
ratio = 0.37
DrawGauge = True
}
PROPELLANT
{
name = Oxidizer
ratio = 0.63
}
atmosphereCurve
{
key = 0 304 // decorative only??
key = 1 277
}
}
MODULE
{
name = ProceduralSRB
costMultiplier = 1.0
srbBellName = SRBBell
thrustVectorTransformName = thrustTransform
bottomAttachNodeName = bottom
selectedBellName = SurfaceHRB
thrust = 500
thrust1m = 1500
heatPerThrust = 40
deprecatedThrustScaleFactor = 256
SRB_BELL
{
name = Surface
atmosphereCurve
{
-key
key = 0 304 // was 280; SRB = 269; RL is ~SRB+35
key = 1 277 // was 250; SRB = 242
}
gimbalRange = 0.5
modelName = LowRatioBell
bellChokeDiameter = 0.55
chokeEndRatio = 0.55
}
SRB_BELL
{
name = Vacuum
atmosphereCurve
{
-key
key = 0 343.1 // was 294, can be ~340
key = 1 245
}
gimbalRange = 0.1
modelName = HighRatioBell
bellChokeDiameter = 0.32
chokeEndRatio = 0.32
}
}
MODULE
{
name = ModuleGimbal
gimbalTransformName = SRBBell
gimbalRange = 0.25
}
}

PART:NEEDS[ProceduralParts]

Please help.

Edit: to clarify, in ModuleManager.ConfigCache and in Alt-F12 DB menu I can see that my HRB ISP were applied just fine, but in right click menu and on the launch pad I still see Procedural SRB ISP :-(

Edit 2: for the time being I've worked around that by using this lame MM patch for the "parent" part itself:

@PART[proceduralTankSRB] {  // ProceduralParts Procedural SRB
// HTPB+curative 12% (binder and fuel, 614.9 kg/m3), ammonium perchlorate 68% (oxidizer, 1950 kg/m3), aluminum powder 20% (fuel, 2700 kg/m3) => ~1940 kg/m3; PP SRB has 258.6 SolidFuel per 1940 kg of SolidFuel
@MODULE[ProceduralSRB] {
@thrust1m = 1500 // ASRB-like
%SRB_BELL[SurfaceHRB] {
atmosphereCurve {
key = 0 304 // ASRB = 269; HRB is ~SRB+35
key = 1 277 // ASRB = 242
}
gimbalRange = 0.5
modelName = LowRatioBell
bellChokeDiameter = 0.55
chokeEndRatio = 0.55
}
%SRB_BELL[VacuumHRB] {
atmosphereCurve {
key = 0 343.1 // proper upper-stage SRB is 295.5
key = 1 245
}
gimbalRange = 0.1
modelName = HighRatioBell
bellChokeDiameter = 0.32
chokeEndRatio = 0.32
}
}
}

So for "my" HRB I need to select proper nozzle every time (this way HRB nozzless also selectable for plain SRB, which is rude). But in reality I'd like to find some better solution.

Edited by cipherpunks
clarify
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...