Jump to content

[1.0] CrossFeedEnabler v3.3 May 11


NathanKell

Recommended Posts

Ah, I see. But then what if I want to keep a given tank separate for some reason? Like sometimes I have a small tank reserved just for fuel cells or an air-breathing engine or something, that I don't want drained by the main engines.

Link to comment
Share on other sites

Ah, I see. But then what if I want to keep a given tank separate for some reason? Like sometimes I have a small tank reserved just for fuel cells or an air-breathing engine or something, that I don't want drained by the main engines.

Right click on the part, disable flow out of that part.

Link to comment
Share on other sites

I have this installed as part of another mod, but it says it's not compatible with 1.0.2 whenever I fire up KSP. This makes the custom parts in the other mod not work, and I'm also getting some gamebreaking glitches (Kerbin disappears when going to the launch pad and nothing works). Any ideas?

Link to comment
Share on other sites

I have this installed as part of another mod, but it says it's not compatible with 1.0.2 whenever I fire up KSP. This makes the custom parts in the other mod not work, and I'm also getting some gamebreaking glitches (Kerbin disappears when going to the launch pad and nothing works). Any ideas?

It sounds like the other mod needs to be updated to include the latest version of this mod. Version 0.3.3.0 should work with KSP 1.0.2.

Link to comment
Share on other sites

It looks like AddToRadialTanks.cfg needs an update to include the new fuel-containing wings. Until it's been officially updated, you can copy and paste the following entries into a ModuleManager file:


@PART[airlinerMainWing]:FOR[CrossFeedEnabler]
{
%MODULE[ModuleCrossFeed]
{
%name = ModuleCrossFeed
}
}
@PART[wingShuttleDelta]:FOR[CrossFeedEnabler]
{
%MODULE[ModuleCrossFeed]
{
%name = ModuleCrossFeed
}
}
@PART[wingShuttleStrake]:FOR[CrossFeedEnabler]
{
%MODULE[ModuleCrossFeed]
{
%name = ModuleCrossFeed
}
}

Secondly, I noticed the AddToRadialTanks.cfg includes radial RCS tanks. Given that monoprop uses STAGE_PRIORITY_FLOW, which seems to ignore crossfeed, I was wondering: what does adding CFE do?

Edited by Fraz86
Link to comment
Share on other sites

Don't know if this belongs here or is a (known?) MM problem...

When I add crossfeed, it tends to crowd out other properties. So I can either have the crossfeed enabler or modular tanks on a part, but not both. Most insidious, the AirlinerMainWing has lost it's lift. What am I doing wrong?


@PART[airlinerMainWing]:FOR[CrossFeedEnabler]
{
%MODULE
{
%name = ModuleCrossFeed
}
}
@PART[adapterMk3-Size2Slant]:FOR[CrossFeedEnabler]
{
%MODULE
{
%name = ModuleCrossFeed
}
}
@PART[adapterSize2-Size1Slant]:FOR[CrossFeedEnabler]
{
%MODULE
{
%name = ModuleCrossFeed
}
}

When I add this to the MM file in the crossfeed enabler directory, I get crossfeed, but lose modular tanks and lift. If I add it to my own file of house rules, it seems to have no effect (no crossfeed enabler on the part).

Edited by Laie
Link to comment
Share on other sites

What am I doing wrong?

"%MODULE" does not specify which module to overwrite, and it therefore overwrites the first module it finds. Take a look at AddToRadialTanks.cfg, which specifies the module name as follows:

%MODULE[ModuleCrossFeed]
{
%name = ModuleCrossFeed
}

Actually, I believe the "%name = ModuleCrossFeed" inside the brackets is entirely redundant, as the first line creates a module named "ModuleCrossFeed" (if no such module already existed), and then "%name = ModuleCrossFeed" changes the name to "ModuleCrossFeed", which was already its name. Thus, the following should be perfectly sufficient:

@PART[airlinerMainWing]:FOR[CrossFeedEnabler]
{
%MODULE[ModuleCrossFeed] {}
}
@PART[adapterMk3-Size2Slant]:FOR[CrossFeedEnabler]
{
%MODULE[ModuleCrossFeed] {}
}
@PART[adapterSize2-Size1Slant]:FOR[CrossFeedEnabler]
{
%MODULE[ModuleCrossFeed] {}
}

Link to comment
Share on other sites

  • 1 month later...

Is there any way,to prevent fuel crossfeed thru decouples for engines that use "resourceFlowMode = STAGE_PRIORITY_FLOW"

@PART[*]:HAS[@MODULE[ModuleDecouple],!MODULE[ModuleCrossFeed]]:Final
{
MODULE
{
name = ModuleCrossFeed
crossFeedOverride = False
}
}

thank you

Link to comment
Share on other sites

  • 1 month later...

I just installed this mod, and tried it out and it seemed to work (the "Crossfeed Enabled" button was present on tanks) when I removed old fuel lines (using KIS), but after doing that to everything and switching ships a few times I've come back to ships I removed all the fuel lines from and now there's no crossfeed any longer :(

On one of the ships, which has four stock tanks attached to a procedural tank, the procedural tank has "Crossfeed Enabled" but none of the attached tanks does. The other ship just has stock tanks attached to a stock tank and none of them have "Crossfeed Enabled" any longer.

Link to comment
Share on other sites

  • 2 weeks later...

Does the nosecone in question have crossfeed disabled? This has caused issues for other mods in the past and could be causing a problem here...

How often do you radially attach nosecones? Can you even radially attach them?

Link to comment
Share on other sites

Does the nosecone in question have crossfeed disabled? This has caused issues for other mods in the past and could be causing a problem here...

How often do you radially attach nosecones? Can you even radially attach them?

Yes, this particular nosecone, you can attach radially

The exception seem to appear only in VAB. I will investigate further

I'm always getting the following exception

[Exception]: ArgumentNullException: Argument cannot be null. Parameter name: key

Edited by FreeThinker
Link to comment
Share on other sites

When does the exception happen? Is it when you attach the part, when you toggle the crossfeed or does it spam it non-stop? Can you upload an output_log.txt (or look in it as it will hopefully include the call stack to help locate the issue)?

Link to comment
Share on other sites

update: The exception occurs whenever UpdateCrossFeed() is called

update2: it happens inside if (crossFeedOverride)

update3: I narrowed down to the line that is causing the problem:


part.fuelLookupTargets.Add(part.parent);

I'm not sure why it causes an exception, but it does.

Seems that adding the part.Parent is causing some kind of internal exception triggered after it is added, causing some invalid state

I tried replacing referenceId by GetInstanceId(), but it does not have any different effect :(

Btw, why is this done also in the VAB? If I add the if (HighLogic.LoadedSceneIsFlight) it works as it should.

In my experience, part are not fully initialised in the Vab. Some function do not work properly. Perhaps this is one of them.

I suggest placing a "if( HighLogic.LoadedSceneIsFlight)" arround this piece of code.

I created a pull request with the fix

Edited by FreeThinker
Link to comment
Share on other sites

  • 3 weeks later...

Hi!

I have the following add-ons installed:

 Procedural parts

 B9 Aerospace procedural wings

 Procedural Dynamics wings

 Crossfeed enabler

In my plane, the wings (I tried both b9 and PDyn) are connected to a procedural LF tank radially. Two other procedural LF tanks with Nervs stacked to them are connected to the wings.

Ho do I enable the fuel feed from the central tank to the Nervs?

Link to comment
Share on other sites

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