Jump to content

[1.3] Kerbal Joint Reinforcement v3.3.3 7/24/17


ferram4

Recommended Posts

Tired of rockets collapsing when physics initializes, but it would be fine if physics didn't start with a jerk?

Irritated launch clamps can twist your rocket apart when physics starts for no apparent reason?

Need more joint stiffness because you're playing Real Solar System and the stock joints just don't cut it?

Then you need KERBAL JOINT REINFORCEMENT!

Lessen the effects of physics glitches and get back to designing rockets to handle flight, not to handle the forces applied when the game loads.

EXCITING FEATURES!

  • Physics Easing
    • Slowly dials up external forces (gravity, centrifugal, coriolis) when on the surface of a planet, reducing the initial stress during loading
    • All parts and joints are strengthened heavily during physics loading (coming off of rails) to prevent Kraken attacks on ships
  • Launch Clamp Easing
    • Prevents launch clamps from shifting on load, which could destroy the vehicle on the pad
  • Increase stiffness and strengths of connections
    • Larger parts will have stiffer connections to balance their larger masses / sizes
    • Sequential parts in a stack will be connected with a stiff, but weak connection to add even more stiffness and counteract wobble
  • Stiffen interstage connections
    • Parts connected to a decoupler will be connected to each other, reducing flex at the connection to reasonable levels
  • Stiffen launch clamp connections
    • Less vehicle movement on vessel initialization
    • Warning: may cause spontaneous rocket disintegration if rocket is too large and over-constrained (far too many launch clamps; their connections will fight each other and give rise to phantom forces)
  • Option to make connections fail at lower forces to maintain difficulty in launching

 

More documentation and changelog available in the README file.

Download v3.3.3 from SpaceDock!

Source code at GitHub

Licensed under GNU GPL v3

 

 

Changelog:

 

 
v3.3.3  
	Features  
	--Recompile against KSP 1.3, ensure CompatChecker compatibility with 1.3  

v3.3.2  
	Bugfixes
	--Fix multijoints breaking IR joints and any other exempted parts from moving  

v3.3.1  
	Bugfixes  
	--Fix a critical bug involving unphysical forces applied to vessels on load / unload of other vessels and SOI switches  

v3.3.0  
	Features  
	--Recompile to fix for KSP 1.2  
	--Update method of handling multi-part-joints to ensure compatibility with Konstruction mod  
	--Removal of old symmetry-based multi-part stabilization due to ineffectiveness in all situations to reduce overhead  
	--Implementation of new vessel-part-tree leaf-based stabilization for greater stability on space stations and other convoluted shapes  

v3.2.0
	Features  
	--Recompile to ensure KSP 1.1.3 compatibility  
	--Change multi-part-joint system to stabilize space stations and similar vehicles with very large masses connected by very flexy parts  

v3.1.7  
	Features  
	--Recompile to ensure KSP 1.1.2 compatibility, especially within CompatibilityChecker utility  

v3.1.6  
	Features  
	--Update to ensure KSP 1.1.1 compatibility  
	--Minor optimization in joint setups  
	--Remove B9 pWings from stiffening exemption, as it is unnecessary  

v3.1.5  
	Features  
	--Updated to be compatible with KSP 1.1  
	--Very minor efficiency improvements in physics easing and stiffening of joints  
	--Fully exempt EVAs from all KJR effects  
	--Update config parameters to function with stock fixing of never-breakable joints bug  

v3.1.4  
Misc  
--Fixed issue with .version file and compatible KSP versions

v3.1.3
Features
--Update for KSP 1.0

v3.1.2
Features  
--Added code to slightly stiffen connections between symmetrically-connected parts attached to a central part; should reduce some physics weirdness

BugFixes  
--Fixed issue where undocking was impossible.

v3.1.1
BugFixes  
--Fixed a serious lock-to-worldspace issue involving multipart joints and physicsless parts

v3.1  
Features  
--Set multipart joints to account for large mass ratios in choosing which parts to join  
--Set Decoupler Stiffenning to require the connection of immediate decoupler children to stiffen things even further

BugFixes  
--Fixed a decoupling issues with multipart joints  
--Fixed multipart joint lock-to-worldspace issues  
--Fixed some issues on loading very large, heavy parts

v3.0.1
 BugFixes
--Fix some issues involving multipart joints
--More null checking for situations that shouldn't happen, but might

v3.0
Features  
--MultiPart joints: weak, but stiff connections along a stack that will add even more stiffness without making the connection cheatingly strong  
--Proper, guaranteed application of stiffened properties, regardless of stock joint parameters  
--Updated default config values for greater sanity  
--Refactoring of code for sanity

BugFixes
--Longstanding issue with radially-attached parts that were larger than their parent are now fixed  
--Many NREs from bad events or bad states now avoided

v2.4.5
Features
--KSP 0.90 compatibility
--Include some extra checks to prevent errors from occurring

v2.4.4
Features
--KSP 0.25 compatibility  
--Update CompatibilityChecker  
--Shutdown functionality if CompatibilityChecker returns warnings

v2.4.3
--0.24.2 compatibility

v2.4.2
--0.24.1 compatibility

v2.4.1
Bugfixes:
--Included JsonFx.dll, which is required by ModStats
--Relabeled ModStatistics.dll to allow simple overwriting for ModStats updates
--Fixed buttons being added to toolbar after each flight

v2.4
Features
--Ensured compatibility with KSP v0.24

v2.3
Features
--Updated attach node reinforcement to use properties closer to stock joint performance, but stiffer.
--Decoupler and clamp stiffening increased in strength for use in Real Solar System
--Removed unused config values

v2.2
Features
--Updated to function with KSP ARM Patch (KSP 0.23.5)
--Removed inertia tensor fix, as it is now stock
--Main stiffening / strengthening is now disabled by default due to stock joint improvements
--Decoupler stiffening is now disabled by default due to stock joint improvements

Bugfixes:
--Vessels can no longer become permanently indestructible

v2.1
Features
--Reduced extent of decoupler stiffening joint creation; this should reduce physics overhead
--Code refactoring for additional performance gains
--Removed physics easing effect on inertia tensors; was unnecessary and added more overhead
--Workaround for the stock "Launch Clamps shift on the pad and overstress your ship" bug that is particularly noticeable with RSS
--Clamp connections are stiffer; now allowed by above workaround

Bugfixes
--KAS struts no longer break on load


v2.0
Features
--Full release of proper inertia tensors!  Massive parts will feel more massive.
--Full release of greater physics easing!  Landed and pre-launch crafts will have gravitational, centrifugal and coriolis forces slowly added to them, reducing the initial physics jerk tremendously
--Launch clamps are now much stiffer when connected to more-massive-than-stock mod parts
--Tightened up default joint settings more
--Decoupler Stiffening Extension will now extend one part further if it's final part is much less massive than its parent / child part
--Added Majiir's CompatibilityChecker; this will simply warn the user if they are not using a compatible version of KSP

Bugfixes
--Fixed an issue where joints were not strengthened during the physics easing


v2.0x2
Features
--Added more elaborate physics easing; joints are given wide range to flex that are then tightened up and gravitational + rotating ref frame forces are cancelled out to allow internal joint stresses to be resolved prior to loading the rocket
--Tightened up the default joint settings a lot

Bugfixes
--Fixed an issue where non-zero angular limits would force parts to be oriented in the wrong direction.


v2.0x1
Features
--Fixed part inertia tensors; heavy, large objects should now "feel" more massive and their connections should behave better.  Thanks to a.g. for finding this one.
--Launch Clamps are slightly stiffer
--Removed improper stiffening for stretchy tanks that was added in v1.7; given the ability to stretch stretchy tanks, this shouldn't be necessary

Bugfixes
--Fixed an issue where non-zero angular limits would force parts to be oriented in the wrong direction.

v1.7
Features
--Added ability to calculate connection area based on volume instead of connection area; intended to handle very, very large vehicles that the standard settings cannot
--Some more tweaks to the default joint parameters to stiffen things
--Extra stiffening for stretchy tanks; a better solution is in the works, but this should help for RSS

Bugfixes
--Fixed an issue where decoupling could lead to extra stiffening joints being deleted from non-staged decouplers during decoupling / partial crashing

v1.6
Features
--BreakStrengthPerUnitArea will not override large breakForces; this is intended for building things using I-beams and structural elements

Bugfixes
--Fixed decoupler-dockingport combination parts from causing strange disassembly when undocking

v1.5
Features
--Updated to KSP 0.23
--Joint breaking strength can now be set to be dependent on connection area, so large part connections can have realistically large strength; on by default
--Vessels are further strengthened for the first 30 physics frames after coming off rails or loading; this helps prevent jitters during intialization from breaking things apart

Bugfixes:
--Fixed launch clamps not being clamped to the ground after staging
--Fixed an issue where the Kraken would throw launchpads at craft in orbit

v1.4.2
Bugfixes
--Fixed an issue that would allow more wobble to exist than it should have
--General tweaks to reduce wobbling further

v1.4.1
Bugfixes
--Fixed an issue where maximum joint forces were calculated incorrectly
--Fixed an issue where docking could cause exceptions to be thrown and cause lag

v1.4
Features
--Changed calculation of surface-attached connection area to be more accurate

Bugfixes
--Fixed an issue where lots of wobble would occur between stack-attached parts of very different sizes

v1.3
Features
--Better solution for failure to apply decoupler ejection forces
--Will not apply stiffening to parts below a given mass; mass can be changed in config
--Properly updates on docking

Bugfixes
--Fixed a serious issue where launch clamps would lock the ship to the surface

v1.2
Features
--Workaround for stock KSP bug where struts would prevent decoupler ejection forces from being applied

Tweaks
--Reduced default maxForceFactors to be more reasonable levels

BugFixes
--Fixed serious issue where struts would not properly disconnect
--Fixed serious issue where decouplers would not function properly


v1.1
Features
--Stiffness of joint no longer erroneously dependent on breakForce / breakTorque
--Decoupler stiffening function made more comprehensive

BugFixes
--Fixed an issue where radial decouplers would not be affected by by further decoupler stiffening
--Fixed an issue where decoupler further stiffening would cause Nulls to be thrown when attached to physics-disabled parts
--Fixed an issue where procedural fairings would be locked to the rocket
--Fixed an issue where Infernal Robotics parts would not function
--Temporary stopgap measure: stiffening not applied to pWings to prevent ultra-flexy wings

Known Issues
--Decouplers create no detach force with extra decoupler stiffening enabled
    Same issues as strut attachment bug

v1.0
Release

 

FAQ

I still think that win64 is disabled, fix this!

This isn't a question, but win64 is no longer locked based on the apparent stability that I've noticed in testing.  It will be relocked if and only if it proves to be crashtastic just as before and the support workload grows to the levels they were at previously.  Currently I do not anticipate the need to relock on win64 at any time in the future.

Edited by ferram4
Link to comment
Share on other sites

Whats the catch?

Is interstage support still necessary or can you literally just go tank->engine->decoupler->tank ?

I don't want my rockets to be made too strong, if you know what I mean.

Link to comment
Share on other sites

You can literally just go tank->engine->decoupler->tank. There is no reason that you should have to add extra struts between connected engines when the interstage fairing and structure is right there, purely intended to support the stage above it.

You can go into the config.xml and universally weaken all connections to add more difficulty if you like; details in the readme.

Link to comment
Share on other sites

[*]Option to stiffen launch clamp connections

  • Less vehicle movement on vessel initialization
  • Warning: may cause spontaneous rocket disintegration if rocket is too large and over-constrained (far too many launch clamps; their connections will fight each other and give rise to phantom forces)

I imagine rockets will need far fewer launch clamps than we're used to, right? Like, only two or three at the base of a giganto-normous heavy lifter?

Link to comment
Share on other sites

nice. how bout radial mounted SRBs? are the radial decouplers strong enough with this? or do you still need struts? because when you strut radial mounted things, the decoupler force seems to become zero... and you need to mount sepratons... and there goes the partcount...

Link to comment
Share on other sites

@White Owl: I'd still go with the same number, it's just that The Lurch at physics initialization is greatly reduced; depending on the rocket you might be better off with fewer clamps, since every launch clamp is exerting a force on the rocket and for very large rockets with lots of clamps the constraints can end up at odds with one another.

@Umlüx: Most SRBs seem fine without struts, with the exception of the big Thor SRBs from KW Rocketry, which still don't like it, but they're massive. And before you ask, you should probably use struts with similarly large liquid boosters as well.

@Spanier: Procedural fairings already has stiffening in them of the same method used for the decoupler and launch clamp stiffening. KJR will stiffen a connection between any two parts that have been connected in any way though.

Edited by ferram4
Some clarifications
Link to comment
Share on other sites

You can literally just go tank->engine->decoupler->tank. There is no reason that you should have to add extra struts between connected engines when the interstage fairing and structure is right there, purely intended to support the stage above it.

You can go into the config.xml and universally weaken all connections to add more difficulty if you like; details in the readme.

Oh I was referring to a case with no interstage fairing, if the fairings are still needed for proper support then I'm all in :D

Even so, the fact that the option exists in a config -> great modding!

Link to comment
Share on other sites

Eh... it doesn't check for the interstage fairing. It just assumes it's there, since about 99% of the parts that exist already take care of it. Depending on how the math for works out for the engine though, it might make the connection much weaker. I'll make sure that happens for future releases though.

Link to comment
Share on other sites

It should stiffen them equally. To be honest, I haven't tested it myself (I've been more focused on massive launch vehicles, not massive interplanetary vessels), but I don't see why it wouldn't work properly.

Link to comment
Share on other sites

It should stiffen them equally. To be honest, I haven't tested it myself (I've been more focused on massive launch vehicles, not massive interplanetary vessels), but I don't see why it wouldn't work properly.

Alright, I'm in the process of building a very large couple hundred ton interplanetary ship that uses several sets of MDP connections, I'll let you know how it works. Oh, by the way... THANK YOU!!! :D I've been looking for something like this for a while.

Update: So, preliminary testing, where I had RCS enabled on a 10 ton part assembly, and was using it to swing an 80 ton part assembly about madly resulted in no visible deformation of the multi-docking port node. Sorry I can't get more technical than that, Bob accidentally jettisoned the material stress analyzer when he decided to "go outside for a stroll."

Edited by Yaivenov
Link to comment
Share on other sites

First: Wonderful idea and concept. One of the most annoying things in KSP tackled by the guy who already brought us the indispensable FAR mod.

Will give it a whirl (especially curious about how it affects some of my more delicate planes/SSTOs) and then return with feedback :) .

Link to comment
Share on other sites

I was looking forward to using this, but apparently, it also affects joints it shouldn't, namely, joints within Damned/Infernal Robotics parts. With the plugin installed, they lose most of their range of movement, which makes them useless, once I remove the plugin, the normal range of movement is restored.

Could they be considered a special case somehow?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...