Modular tanks + engines: both fairings appear
blowfishpro opened this issue ยท 5 comments
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.
Fixed in 1.2 update. Lower fairings from tanks have been removed. Interstage node still exists for use with ISDC/IPA/stock fairings.
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.
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).
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.