From the SUBCOMPONENT
tutorial:
Any REQUIRE_FILEs or other module requirements for the whole group should be put with the first subcomponent. If such a requirement fails, none of the subcomponents can be installed. In addition, each individual subcomponent can be guarded by its own predicate. If that predicate fails, that particular subcomponent cannot be installed.
The first part of this (in bold) isn't true. The fact the second part *is* true makes the fact the first part *isn't* pretty stupid. Why have individual predicates separately? Evidently, this is the way it functions anyhow.
This, for example, should not be possible:
~SETUP-LIGHTMAPS.TP2~ #1 #0 // Corrected lightmaps for BG TuTu/BGT/Baldur's Gate
~INFINITYANIMATIONS/SETUP-INFINITYANIMATIONS.TP2~ #0 #210 // Cambion/Isair Animation -> All cambions: Beta 4
~INFINITYANIMATIONS/SETUP-INFINITYANIMATIONS.TP2~ #0 #260 // Alu-Fiend/Madae Animation -> All alu-fiends: Beta 4
~INFINITYANIMATIONS/SETUP-INFINITYANIMATIONS.TP2~ #0 #490 // Svirfneblin Animations -> Animations and sounds: Beta 4
The first component of every SUBCOMPONENT of Infinity Animations has a REQUIRE_COMPONENT of the main mod component. Presumably you're able to skip that by picking a SUBCOMPONENT other than the first in a grouping (this will crash your game if the main component is not installed).
Please don't say this can't be fixed without breaking someone's mod. Anyone who coded rationally by the tutorial's explanation would *expect* the mod to fail if the predicates aren't met for the first SUBCOMPONENT.
Quite possibly, this only applies to installing things in batch mode (a la BWP/BWS). But it should work there the same way it does in interactive mode, and apparently the same way it does in batch mode for regular REQUIRE_COMPONENTs without SUBCOMPONENTs.