Jump to content

Ioncross SRB Manager Plugin


yongedevil

Recommended Posts

Ioncross SRB Manager Plugin

version: 1.1

last tested with Kerbal v0.22

ModuleManager by: ialdabaoth (ModuleManager forum thread)

Space Port Link

The Ioncross SRB Manager Plugin adds an interface to the editor (VAB/SPH) allowing the fuel load and burn time of the RT-10 and BACC solid rockets to be adjusted. The interface is brought up with in Action Group editor mode and either an RT-10 or BACC part is selected.

Updates

1.1 Update:

This is a small update that fixes a bug that was causing spent SRBs to be refilled upon loading. The KW ModuleManager configuration has also been updated for KW v2.5.4.

About the Mod

Overview:

This mod is heavily inspired by Module Fuel Systems by ialdabaoth. It essentially does for solid fuel rockets what Module Fuel Systems dose for liquid fuel tanks.

By adjusting the burn time and fuel loads on SRB their thrust can be tweaked to better match what is needed by a rocket during it's flight, making the SRB easier to work with when designing a rocket. Rather than trying to tweak liquid stages to so their timing works around solid boosters, the solid boosters can be made to deliver what is needed.

The setting range if very generous because one goal was to have the default values fit into the valid range while also allowing the SRBs to be made a lot heavier than the default. The default values have the SRBs massing about the same as an equivalent size of liquid tanks, which seamed very light for solid fuel. This led to a high upper bound for the fuel quantity and very wide range of values.

Admittedly testing of the burn time was done with a 15% increase to the ISP values active as well. The ISP boost was removed for the release to allow the parts to continue to be used as they were designed by Squad, but the ranges for the burn time were left. Just was with the fuel quantity this resulted in wide range of valid values with the upper range being above what is really a useful level for the rockets.

Installation

Normal Installation:

Copy the contents of KerbalInstallForlder into Kerbal. If you have Kerbal on Steam this will be:

<steam dir>\steamapps\common\Kerbal Space Program\

Supported Mods:

This mod comes packaged with several ModuleManager configuration files. These files add the Ioncross SRB Manager to the parts from popular mods. There is no effect from having config files for mods you don't have installed. The mods and versions for each file is as follows:

[table=width: 650, class: grid, align: left"]

[tr]

[td]Config file[/td]

[td]Mod[/td]

[/tr]

[tr]

[td]ModuleManager_KWRocketry.cfg[/td]

[td]KW Rocketry [v2.5.4]

[/td]

[/tr]

[tr]

[td]ModuleManager_NovaPunch.cfg[/td]

[td]NovaPunch Remix Pack [2.03][/td]

[/tr]

[/table]

Manually Adding SRB Fuel Manager to Parts:

This mod makes use of ialdabaoth's excellent ModuleManager plugin to modify default parts. Changes to stock parts are defined in ModuleManager_Squad.cfg located in GameData\IoncrossSRBManager\. This can be extended to modify parts from other mods fairly easily. For details on the ModuleManager syntax see the ModuleManger forum thread

The SRB Fuel Manager can also be added manually to parts. Simply copy the following code into the part.cfg.


MODULE
{
name = IonModuleSRBManager
minBurnTimeAtmo = 40
maxBurnTimeAtmo = 120

FUEL_RESOURCE
{
name = SolidFuel
minAmount = 100
maxAmount = 350
}
}

minBurnTimeAtmo and maxBurnTimeAtmo are the bounds for the rocket's burn time. Shorter burn time produce more thrust.

minAmount and maxAmount are the bounds for the quantity of fuel the part is allowed to hold. More fuel equals more thrust.

The thrust is not bounded directly but is indirectly bounded by the above limits.

Licence

Modified source code, compiled dll, and configuration files may be distributed provided they attribute the original work to me, yongedevil. However, I request you do not simply re-post the original mod as I prefer it control where it is hosted myself.

The ModuleManager dll is by ialdabaoth. See the ModuleManger forum thread for information on it.

Edited by yongedevil
updating last tested with
Link to comment
Share on other sites

NathanKell - I like the idea of keeping as many of these mods separate personally. You can use stretchy tanks and this mod together quite nicely without some sort of combination of the two. I know that doesn't enable dynamic SRB's but this allows the mass to be altered without scaling, making any scaling done mostly aesthetic. The Stretchy Tanks modder does not seem overly enthused about collaborations or expanding outside of the fun things he likes doing with KSP (can't blame him despite his apparent curtness with others who wish him to implement tie-ins). The moment modding KSP becomes too much like work, is the moment we lose support for the mods we love.

yongedevil - fantastic job, thank you very much for this and all of the work you put into it. Neat potential feature you may or may not feel like implementing would be the ability to alter the thrust curve over time similar perhaps to the mechjeb ascent autopilot editor.

Link to comment
Share on other sites

@yongedevil:

I can't say "thank you" enough times to give you a justice! This is the final piece of a puzzle.

And a couple of feature requests if I may:

1. Provide some documentation on how to write config for other parts, not included into the package (I've got some rescaled SRBs since there clearly is shortage of them, and AdvSRB are a bit awkward to get used to since none of dV calculation mods support it).

2. Add ability to modify thrust profile throught burn. Ideally allow customization a-la MJ's ascent profile editor, at minimum allow selection among preset profiles (constant thrust, "hammer" thrust - when there is a big hike in the beginning, and then it mellows out, decreasing thrust - useful for stand-alone first/second stages).

Link to comment
Share on other sites

I'd love to have the height of the SRBs scale with the fuel load too, but I will not be warping or stretching Squad's part models. I also want to keep this mod a simple interface addition without any parts. That kind of means I won't be doing any visual changes with this mod. I've no problem with anyone else picking up the source code and trying their hand it it though.

Having thrust vary by time, or I guess more accurately by the portion of fuel burnt, is something I am interested in doing, but at the moment I have another mod that need more work than this one so I'm not ready to reopen this mod to add new features right now.

And I think Advanced SRB already provides both of those features. I guess it's not 100% working at this point though if delta-v calculations are off, but still might be worth checking out for anyone really wanting a more in depth mod for SRBs.

As for documentation, I'm not really sure what is missing from the readme. There are only the four variables that define the bounds on the burn time and fuel quantities. I can't think of anything else you'd need to know to stick the module on another part. I'm happy to answer any questions you have though.

Link to comment
Share on other sites

I'd love to have the height of the SRBs scale with the fuel load too, but I will not be warping or stretching Squad's part models. I also want to keep this mod a simple interface addition without any parts. That kind of means I won't be doing any visual changes with this mod. I've no problem with anyone else picking up the source code and trying their hand it it though.

Having thrust vary by time, or I guess more accurately by the portion of fuel burnt, is something I am interested in doing, but at the moment I have another mod that need more work than this one so I'm not ready to reopen this mod to add new features right now.

And I think Advanced SRB already provides both of those features. I guess it's not 100% working at this point though if delta-v calculations are off, but still might be worth checking out for anyone really wanting a more in depth mod for SRBs.

As for documentation, I'm not really sure what is missing from the readme. There are only the four variables that define the bounds on the burn time and fuel quantities. I can't think of anything else you'd need to know to stick the module on another part. I'm happy to answer any questions you have though.

I've written a plugin sometime earlier to control boosters' thrust either by time or by percentage of fuel left. I guess it's having similar functions as you are trying to implement ...

This mod is a user of my plugin and BTW it's using fuel percentage curve mode:

http://forum.kerbalspaceprogram.com/showthread.php/49598-o-21-x-Space-Shuttle-Solid-Rocket-Booster-1-1-Replica

And another author has also used the plugin to implement a VTOL autopilot system. (though it has been out-dated)

Actually I wrote that plugin with the initial intention to support adjustable-maximum-thrust-in-editor-and-during-flight capability, which i think is useful for both solid boosters and for liquid engines... Think of Delta IV Heavy's core booster, it has less throttle during flight until the two side-mounted boosters are decoupled. Think of some overpowered solid boosters, we can adjust its thrust to make it a medium-thrust long-burn booster which can be handy in some cases.

Just want to inform you. It would be good if you can integrate some functions from that.

Codes available on GitHub... but, uh... I haven't uploaded the latest code changes yet.

https://github.com/HoneyFox/EngineThrustController

Link to comment
Share on other sites

Really Cool mod.Gives new life and Viability to SRBs. I never really found too much use for them simply because of their burn times.

Little tip to those Wishing to use a Combined LRB/SRB Stage.If you're using Mech Jeb,set up the Liquid Rockets first.Then Set your SRB's Burn Time What Mech Jeb says the Stage's Duration in Atmosphere will be.usually,the SRBs will burn out 3-5 seconds before your LRBs,so Fine Tune the SRBs' Burn Time to get them as close as you can!

Link to comment
Share on other sites

sirklick, I really don't want to derail this thread by talking about that here. I don't blame AG for not implementing stuff either. And as to not integrating mods--just because mods play nice with each other doesn't mean you're forced to use all of them together. :)

But for those who do...it's important that they _do_ work together.

Link to comment
Share on other sites

Yongdevil, I'm trying to figure out how (well, _when_) you read a SRB's resources and maxThrust. Is it really on load of KSP? If so, is there any way to modify the data once you've read it?

The mod reads the resources and maxThrust when the part is first placed in the editor. These however, are only used as starting values. Once any change is made IonModuleSRBManager will overwrite the default values on the part, and it overwrites the values again every time the part is loaded from then on. Which come to think of it might mean empty SRB get refilled if you save and then load them.

HoneyFox, your ModuleSRBThrust is pretty much what I had in mind to do for variable thrust. Although I think most of the work I think is going to be in building the UI for controlling the thrust profile.

Link to comment
Share on other sites

yongedevil, I see. So that's why any changes made once the part is placed (i.e. any kind of procedural part) won't be seen by IonModuleSRBManager. (Also, I apologize for misspelling your name before!)

Oh well. This will still be great for standard SRBs though! (And I implemented a key+mouseover way to determine burn time, and thus thrust, on procedural SRBs, so no worries.)

Link to comment
Share on other sites

The mod reads the resources and maxThrust when the part is first placed in the editor. These however, are only used as starting values. Once any change is made IonModuleSRBManager will overwrite the default values on the part, and it overwrites the values again every time the part is loaded from then on. Which come to think of it might mean empty SRB get refilled if you save and then load them.

HoneyFox, your ModuleSRBThrust is pretty much what I had in mind to do for variable thrust. Although I think most of the work I think is going to be in building the UI for controlling the thrust profile.

Yes, a GUI editor for editing bezier curves in game will be very useful for this. (Also will be useful for another plugin written by me: TweakableParam, in which I am currently using a very primitive GUI to edit FloatCurve in game, too primitive that even I hate to use that... :P)

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