enum node_type
{
    NodeType_SolidColorProc,
    NodeType_RevolvingDiscs,
    NodeType_VerticalColorFadeProc,
    NodeType_Count,
};

static node_specification_ NodeSpecifications[] = {
{ NodeType_SolidColorProc, {"SolidColorProc", 14}, gsm_StructType_solid_color_data }, 
{ NodeType_RevolvingDiscs, {"RevolvingDiscs", 14}, gsm_StructType_revolving_discs_data }, 
{ NodeType_VerticalColorFadeProc, {"VerticalColorFadeProc", 21}, gsm_StructType_vertical_color_fade_data }, 
};

void CallNodeProc(node_type Type, u8* NodeData)
{
    switch(Type) { 
        case NodeType_SolidColorProc:
        {
            SolidColorProc((solid_color_data*)NodeData);
        } break;
        case NodeType_RevolvingDiscs:
        {
            RevolvingDiscs((revolving_discs_data*)NodeData);
        } break;
        case NodeType_VerticalColorFadeProc:
        {
            VerticalColorFadeProc((vertical_color_fade_data*)NodeData);
        } break;
    }
}

