Had trouble finding the code for this, we have a checklist.nas file in $FG_ROOT/Nasal but that's just a shim layer that integrates checklists with the tutorial system, the real code is in $FG_ROOT/gui/dialogs/checklist.xml
https://gitorious.org/fg/fgdata/source/ ... t.xml#L120- Code: Select all
# If there's a complete node, it contains a condition
# that can be checked to ensure the checklist item is
# complete. We display this item in yellow while the
# condition is not met, and green once it is complete.
var condition = item.getNode("condition");
if (condition != nil) {
var vis = t.getNode("visible", 1);
props.copy(condition, vis);
var c = t.getNode("color", 1);
c.getNode("red", 1).setValue(0.2);
c.getNode("green", 1).setValue(1.0);
c.getNode("blue", 1).setValue(0.2);
Based on looking very briefly at the code, I think it was indeed never written with support for multiple conditions in mind, which I also find kinda surprising, because all the SGCondition stuff is actually handled by a props.nas wrapper. Note I really only looked at it for a second, and I was specifically looking for some form of foreach loop, so there's something else/smarter happening somewhere, I may have missed it completely, and may thus be also completely wrong here - will have another look tomorrow...
Anyways, it should be trivial to support this, no matter what the current state is.