MajorMagee
SOH-CM-2022
Yes, they're in there, but these descriptive headers were removed as part of the alphabetic sorting process as they no longer were connected to anything meaningful. Something similar happened to the connections between FX entries and the individual Particle Effect lines that they use.
At first I was bothered that this might hurt maintainability because you have to hunt down where the components pieces of an effect reside in the list versus them already all being in once section. Then I realized that since everything is alphabetical you can find them quicker than before because you don't have to guess where they might be in the list. For some entries it's the same difference, but for others that reuse existing effect components from other effects, or ones that inadvertently reused names creating conflicts or unexpected results, it actually simplifies the maintenance issues quite a bit.
In the end the most useful thing about alphabetical sorting was that it placed all of the different lines for the same effect next to each other as we tried to merge all of the different versions of the effect files. This made it easy to test each one and then set the best one as the default, while preserving the other ones for reuse if desired. It also makes it easier to test and repair an effect line that was being called by a specific aircraft of weapon system xml.
The challenge in the future will be if developer teams choose to keep setting up new effects in the old format. To keep things simple they will ask the user to drop blocks of new lines in that are out of order, and may or may not include inappropriate references to what's in the rest of the list.
My recommendation would be that in the future any new code be structured using a contiguous naming system, and then the block can be inserted in just one place. For example:
<FW_190A_AIRCRAFT_EFFECTS/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component1/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component1_Sub1/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component1_Sub2/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component1_Sub3/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component2/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component3/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT2/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT2_Component1/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT2_Component2/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT2_Component3/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT3/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT3_Component1/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT3_Component2/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT3_Component3/>
<FW_190A_DAMAGE_EFFECTS/>
<FW_190A_DAMAGE_EFFECTS_EFFECT1/>
<FW_190A_DAMAGE_EFFECTS_EFFECT1_component1/>
<FW_190A_DAMAGE_EFFECTS_EFFECT2/>
<FW_190A_DAMAGE_EFFECTS_EFFECT2_component1/>
<FW_190A_DAMAGE_EFFECTS_EFFECT3/>
<FW_190A_DAMAGE_EFFECTS_EFFECT3_component1/>
<FW_190A_DX9_EFFECTS/>
<FW_190A_DX9_EFFECTS_EFFECT1/>
<FW_190A_DX9_EFFECTS_EFFECT2/>
<FW_190A_DX9_EFFECTS_EFFECT3/>
<FW_190A_WEAPON_EFFECTS/>
<FW_190A_WEAPON_EFFECTS_EFFECT1/>
<FW_190A_WEAPON_EFFECTS_EFFECT2/>
<FW_190A_WEAPON_EFFECTS_EFFECT3/>
Certainly it will take some foresight to do this in a way that works for both readability and maintainability, but it does let us continue to add to the master effects file without devolving back to the mixed up effect structures we've had to contend with in the past.
At first I was bothered that this might hurt maintainability because you have to hunt down where the components pieces of an effect reside in the list versus them already all being in once section. Then I realized that since everything is alphabetical you can find them quicker than before because you don't have to guess where they might be in the list. For some entries it's the same difference, but for others that reuse existing effect components from other effects, or ones that inadvertently reused names creating conflicts or unexpected results, it actually simplifies the maintenance issues quite a bit.
In the end the most useful thing about alphabetical sorting was that it placed all of the different lines for the same effect next to each other as we tried to merge all of the different versions of the effect files. This made it easy to test each one and then set the best one as the default, while preserving the other ones for reuse if desired. It also makes it easier to test and repair an effect line that was being called by a specific aircraft of weapon system xml.
The challenge in the future will be if developer teams choose to keep setting up new effects in the old format. To keep things simple they will ask the user to drop blocks of new lines in that are out of order, and may or may not include inappropriate references to what's in the rest of the list.
My recommendation would be that in the future any new code be structured using a contiguous naming system, and then the block can be inserted in just one place. For example:
<FW_190A_AIRCRAFT_EFFECTS/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component1/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component1_Sub1/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component1_Sub2/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component1_Sub3/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component2/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT1_Component3/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT2/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT2_Component1/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT2_Component2/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT2_Component3/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT3/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT3_Component1/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT3_Component2/>
<FW_190A_AIRCRAFT_EFFECTS_EFFECT3_Component3/>
<FW_190A_DAMAGE_EFFECTS/>
<FW_190A_DAMAGE_EFFECTS_EFFECT1/>
<FW_190A_DAMAGE_EFFECTS_EFFECT1_component1/>
<FW_190A_DAMAGE_EFFECTS_EFFECT2/>
<FW_190A_DAMAGE_EFFECTS_EFFECT2_component1/>
<FW_190A_DAMAGE_EFFECTS_EFFECT3/>
<FW_190A_DAMAGE_EFFECTS_EFFECT3_component1/>
<FW_190A_DX9_EFFECTS/>
<FW_190A_DX9_EFFECTS_EFFECT1/>
<FW_190A_DX9_EFFECTS_EFFECT2/>
<FW_190A_DX9_EFFECTS_EFFECT3/>
<FW_190A_WEAPON_EFFECTS/>
<FW_190A_WEAPON_EFFECTS_EFFECT1/>
<FW_190A_WEAPON_EFFECTS_EFFECT2/>
<FW_190A_WEAPON_EFFECTS_EFFECT3/>
Certainly it will take some foresight to do this in a way that works for both readability and maintainability, but it does let us continue to add to the master effects file without devolving back to the mixed up effect structures we've had to contend with in the past.