SSTU - Shadow Space Technologies Unlimited

SSTU - Shadow Space Technologies Unlimited

98.5k Downloads

Modular tanks + engines: both fairings appear

blowfishpro opened this issue ยท 5 comments

commented

Steps to reproduce

  • Place a modular tank, upper stage or regular
  • Switch the mount to something that has a fairing by deafult (e.g. S-IVb)
  • Place an engine under the tank
  • Place any stack-mount part under the engine

Observed

  • Fairings are created on both the tank and the engine

Desired

  • I'm pretty sure that previously, the engine's fairing would be disabled in this situation.
commented

Fixed in 1.2 update. Lower fairings from tanks have been removed. Interstage node still exists for use with ISDC/IPA/stock fairings.

commented

Indeed, apparently that code got lost when I converted to the new engine-cluster code (3-4 months back?).

Really despise special casing stuff like this, but not sure of any 'proper' way to solve the issue; so will likely have some special code in the engine module where it will disable its own fairing if it detects a part attached to its top node that has a fairing module present with the node set to bottom.

commented

ModularEngineCluster will now check the part above it to see if it has a fairing module that uses the 'bottom' node; if the part is not null and the part has a fairing that is spawned on the bottom node, the MEC fairing will be completely force-disabled (e.g. zero UI or interaction).

commented

Unfortunately this solution causes problems in that the MEC fairings can then -never- be used when mounted below an MFT/etc; which is not the desired outcome.

Going to leave this with both fairings enabled for now as I cannot think of a reliable solution given the inconsistencies in stock loading sequences, lack of reliable ordering for part-modules, and lack of reliable ordering for vessel updates/event handling between different parts. The user can still manually disable one or both fairings as they see fit.

Essentially I need to know if

  • A: the part above the engine has a fairing that skips a part, and
  • B: That fairing is not force-disabled via mount type selection.

However in order for this to work properly the engine module must check for enabled status -after- the tank has been initialized and updated its mount selection and its own fairing status. Will need to come up with a more robust solution for this that does not result in useless engine fairings.

Will leave this open for a bit to see if I can think of a non-interfering solution.

commented

Makes sense to me. This issue is more of a minor annoyance anyway, nothing game-breaking.