diff options
author | Ton Roosendaal <ton@blender.org> | 2007-03-26 19:07:38 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2007-03-26 19:07:38 +0400 |
commit | 5c760e481114da07ef2ee364bc305bb7716abe8c (patch) | |
tree | 623d328cfd9383efb051d197e6264af185cf1e37 /source/blender | |
parent | d1315a342d7db1653a7fc3cecb646ab785e08f6e (diff) |
Changed node type definitions to use a dynamic list.
This will allow python or plugin defined nodes to work as well.
(And fixes compile issues with MSVC in yesterdays commit for nodes)
Code provided by Nathan L.
Fixes in his code:
- free_nodesystem() was called too late (after guarded alloc was closed)
- free_nodesystem() was freeing nodes that were not malloced even
- free_nodesystem was using free, not freeN :)
- the typedefs needed to be malloced yes, to allow duplicate nodes like
group but also for dynamic nodes.
Diffstat (limited to 'source/blender')
63 files changed, 254 insertions, 129 deletions
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index 616bca078f5..3da04b21170 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -66,6 +66,7 @@ typedef struct bNodeSocketType { } bNodeSocketType; typedef struct bNodeType { + void *next,*prev; int type; char *name; float width, minwidth, maxwidth; @@ -102,6 +103,7 @@ void ntreeVerifyTypes(struct bNodeTree *ntree); struct bNodeTree *ntreeAddTree(int type); void ntreeInitTypes(struct bNodeTree *ntree); + void ntreeMakeOwnType(struct bNodeTree *ntree); void ntreeFreeTree(struct bNodeTree *ntree); struct bNodeTree *ntreeCopyTree(struct bNodeTree *ntree, int internal_select); @@ -196,7 +198,7 @@ struct ShadeResult; #define SH_NODE_MAT_NEG 4 /* the type definitions array */ -static bNodeType *node_all_shaders[]; +extern struct ListBase node_all_shaders; /* API */ @@ -293,7 +295,7 @@ void set_node_shader_lamp_loop(void (*lamp_loop_func)(struct ShadeInput *, str /* the type definitions array */ -static bNodeType* node_all_composit[]; +extern struct ListBase node_all_composit; /* API */ struct CompBuf; @@ -304,4 +306,7 @@ void ntreeCompositForceHidden(struct bNodeTree *ntree); void free_compbuf(struct CompBuf *cbuf); /* internal...*/ +void init_nodesystem(void); +void free_nodesystem(void); + #endif diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 84e88ee98f3..4ec678e363e 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -66,6 +66,10 @@ /* not very important, but the stack solver likes to know a maximum */ #define MAX_SOCKET 64 +static ListBase empty_list = {NULL, NULL}; +ListBase node_all_composit = {NULL, NULL}; +ListBase node_all_shaders = {NULL, NULL}; + /* ************** Type stuff ********** */ static bNodeType *node_get_type(bNodeTree *ntree, int type, bNodeTree *ngroup) @@ -77,12 +81,12 @@ static bNodeType *node_get_type(bNodeTree *ntree, int type, bNodeTree *ngroup) return NULL; } else { - bNodeType **typedefs= ntree->alltypes; - - while( *typedefs && (*typedefs)->type!=type) - typedefs++; + bNodeType *ntype = ntree->alltypes.first; + for(; ntype; ntype= ntype->next) + if(ntype->type==type) + return ntype; - return *typedefs; + return NULL; } } @@ -95,7 +99,7 @@ void ntreeInitTypes(bNodeTree *ntree) else if(ntree->type==NTREE_COMPOSIT) ntree->alltypes= node_all_composit; else { - ntree->alltypes= NULL; + ntree->alltypes= empty_list; printf("Error: no type definitions for nodes\n"); } @@ -223,10 +227,9 @@ void ntreeVerifyTypes(bNodeTree *ntree) { bNode *node; - /* commented out, in linux a 2nd initialize on a Scene ntree from a lib crashes... */ -/* if((ntree->init & NTREE_TYPE_INIT)==0) */ - ntreeInitTypes(ntree); - + /* if((ntree->init & NTREE_TYPE_INIT)==0) */ + ntreeInitTypes(ntree); + /* check inputs and outputs, and remove or insert them */ for(node= ntree->nodes.first; node; node= node->next) nodeVerifyType(ntree, node); @@ -236,6 +239,7 @@ void ntreeVerifyTypes(bNodeTree *ntree) /* ************** Group stuff ********** */ bNodeType node_group_typeinfo= { + /* next,prev */ NULL, NULL, /* type code */ NODE_GROUP, /* name */ "Group", /* width+range */ 120, 60, 200, @@ -244,7 +248,8 @@ bNodeType node_group_typeinfo= { /* output sock */ NULL, /* storage */ "", /* execfunc */ NULL, - + /* butfunc */ NULL, + /* initfunc */ NULL }; /* tag internal sockets */ @@ -345,7 +350,7 @@ void ntreeMakeOwnType(bNodeTree *ngroup) /* make own type struct */ ngroup->owntype= MEM_mallocN(sizeof(bNodeType), "group type"); - *ngroup->owntype= node_group_typeinfo; + *ngroup->owntype= node_group_typeinfo; /* copy data, for init */ /* input type arrays */ if(totin) { @@ -863,6 +868,8 @@ bNodeTree *ntreeAddTree(int type) { bNodeTree *ntree= MEM_callocN(sizeof(bNodeTree), "new node tree"); ntree->type= type; + ntree->alltypes.first = NULL; + ntree->alltypes.last = NULL; ntreeInitTypes(ntree); return ntree; @@ -2296,3 +2303,122 @@ void ntreeCompositTagGenerators(bNodeTree *ntree) } } +/* ************* node definition init ********** */ + +static bNodeType *is_nodetype_registered(ListBase *typelist, int type) +{ + bNodeType *ntype= typelist->first; + + for(;ntype; ntype= ntype->next ) + if(ntype->type==type) + return ntype; + + return NULL; +} + +/* type can be from a static array, we make copy for duplicate types (like group) */ +void nodeRegisterType(ListBase *typelist, const bNodeType *ntype) +{ + bNodeType *found= is_nodetype_registered(typelist, ntype->type); + + if(found==NULL) { + bNodeType *ntypen= MEM_mallocN(sizeof(bNodeType), "node type"); + *ntypen= *ntype; + BLI_addtail(typelist, ntypen); + } +} + +static void registerCompositNodes(ListBase *ntypelist) +{ + nodeRegisterType(ntypelist, &node_group_typeinfo); + nodeRegisterType(ntypelist, &cmp_node_rlayers); + nodeRegisterType(ntypelist, &cmp_node_image); + nodeRegisterType(ntypelist, &cmp_node_texture); + nodeRegisterType(ntypelist, &cmp_node_value); + nodeRegisterType(ntypelist, &cmp_node_rgb); + nodeRegisterType(ntypelist, &cmp_node_curve_time); + + nodeRegisterType(ntypelist, &cmp_node_composite); + nodeRegisterType(ntypelist, &cmp_node_viewer); + nodeRegisterType(ntypelist, &cmp_node_splitviewer); + nodeRegisterType(ntypelist, &cmp_node_output_file); + + nodeRegisterType(ntypelist, &cmp_node_curve_rgb); + nodeRegisterType(ntypelist, &cmp_node_mix_rgb); + nodeRegisterType(ntypelist, &cmp_node_hue_sat); + nodeRegisterType(ntypelist, &cmp_node_alphaover); + nodeRegisterType(ntypelist, &cmp_node_zcombine); + + nodeRegisterType(ntypelist, &cmp_node_normal); + nodeRegisterType(ntypelist, &cmp_node_curve_vec); + nodeRegisterType(ntypelist, &cmp_node_map_value); + + nodeRegisterType(ntypelist, &cmp_node_filter); + nodeRegisterType(ntypelist, &cmp_node_blur); + nodeRegisterType(ntypelist, &cmp_node_vecblur); + nodeRegisterType(ntypelist, &cmp_node_dilateerode); + nodeRegisterType(ntypelist, &cmp_node_defocus); + + nodeRegisterType(ntypelist, &cmp_node_valtorgb); + nodeRegisterType(ntypelist, &cmp_node_rgbtobw); + nodeRegisterType(ntypelist, &cmp_node_setalpha); + nodeRegisterType(ntypelist, &cmp_node_idmask); + nodeRegisterType(ntypelist, &cmp_node_math); + nodeRegisterType(ntypelist, &cmp_node_seprgba); + nodeRegisterType(ntypelist, &cmp_node_combrgba); + nodeRegisterType(ntypelist, &cmp_node_sephsva); + nodeRegisterType(ntypelist, &cmp_node_combhsva); + nodeRegisterType(ntypelist, &cmp_node_sepyuva); + nodeRegisterType(ntypelist, &cmp_node_combyuva); + nodeRegisterType(ntypelist, &cmp_node_sepycca); + nodeRegisterType(ntypelist, &cmp_node_combycca); + + nodeRegisterType(ntypelist, &cmp_node_diff_matte); + nodeRegisterType(ntypelist, &cmp_node_chroma); + nodeRegisterType(ntypelist, &cmp_node_channel_matte); + nodeRegisterType(ntypelist, &cmp_node_color_spill); + nodeRegisterType(ntypelist, &cmp_node_luma_matte); + + nodeRegisterType(ntypelist, &cmp_node_translate); + nodeRegisterType(ntypelist, &cmp_node_rotate); + nodeRegisterType(ntypelist, &cmp_node_scale); + nodeRegisterType(ntypelist, &cmp_node_flip); + nodeRegisterType(ntypelist, &cmp_node_displace); + nodeRegisterType(ntypelist, &cmp_node_mapuv); +} + +static void registerShaderNodes(ListBase *ntypelist) +{ + nodeRegisterType(ntypelist, &node_group_typeinfo); + nodeRegisterType(ntypelist, &sh_node_output); + nodeRegisterType(ntypelist, &sh_node_mix_rgb); + nodeRegisterType(ntypelist, &sh_node_valtorgb); + nodeRegisterType(ntypelist, &sh_node_rgbtobw); + nodeRegisterType(ntypelist, &sh_node_normal); + nodeRegisterType(ntypelist, &sh_node_geom); + nodeRegisterType(ntypelist, &sh_node_mapping); + nodeRegisterType(ntypelist, &sh_node_curve_vec); + nodeRegisterType(ntypelist, &sh_node_curve_rgb); + nodeRegisterType(ntypelist, &sh_node_math); + nodeRegisterType(ntypelist, &sh_node_vect_math); + nodeRegisterType(ntypelist, &sh_node_squeeze); + nodeRegisterType(ntypelist, &sh_node_camera); + nodeRegisterType(ntypelist, &sh_node_material); + nodeRegisterType(ntypelist, &sh_node_value); + nodeRegisterType(ntypelist, &sh_node_rgb); + nodeRegisterType(ntypelist, &sh_node_texture); +} + +void init_nodesystem(void) +{ + registerCompositNodes(&node_all_composit); + registerShaderNodes(&node_all_shaders); +} + +void free_nodesystem(void) +{ + BLI_freelistN(&node_all_composit); + BLI_freelistN(&node_all_shaders); +} + + diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 27765b2ff34..63ead419766 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -34,7 +34,7 @@ #include "DNA_vec_types.h" #include "DNA_listBase.h" - +struct ListBase; struct SpaceNode; struct bNodeLink; struct bNodeType; @@ -162,10 +162,11 @@ typedef struct bNodeTree { int type, init; /* set init on fileread */ int stacksize; /* amount of elements in stack */ - int cur_index; /* sockets in groups have unique identifiers, adding new sockets always will increase this counter */ - struct bNodeType **alltypes; /* type definitions, set on fileread, no read/write */ + int cur_index; /* sockets in groups have unique identifiers, adding new sockets always + will increase this counter */ + ListBase alltypes; /* type definitions */ struct bNodeType *owntype; /* for groups or dynamic trees, no read/write */ - + /* callbacks */ void (*timecursor)(int nr); void (*stats_draw)(char *str); diff --git a/source/blender/nodes/CMP_node.h b/source/blender/nodes/CMP_node.h index b35c2cba18f..8335538e448 100644 --- a/source/blender/nodes/CMP_node.h +++ b/source/blender/nodes/CMP_node.h @@ -91,67 +91,8 @@ extern bNodeType cmp_node_rotate; extern bNodeType cmp_node_scale; extern bNodeType cmp_node_flip; extern bNodeType cmp_node_displace; -extern bNodeType cmp_node_mapuv; +extern bNodeType cmp_node_mapuv; -static bNodeType* node_all_composit[]= { - &node_group_typeinfo, - - &cmp_node_rlayers, - &cmp_node_image, - &cmp_node_texture, - &cmp_node_value, - &cmp_node_rgb, - &cmp_node_curve_time, - - &cmp_node_composite, - &cmp_node_viewer, - &cmp_node_splitviewer, - &cmp_node_output_file, - - &cmp_node_curve_rgb, - &cmp_node_mix_rgb, - &cmp_node_hue_sat, - &cmp_node_alphaover, - &cmp_node_zcombine, - - &cmp_node_normal, - &cmp_node_curve_vec, - &cmp_node_map_value, - - &cmp_node_filter, - &cmp_node_blur, - &cmp_node_vecblur, - &cmp_node_dilateerode, - &cmp_node_defocus, - - &cmp_node_valtorgb, - &cmp_node_rgbtobw, - &cmp_node_setalpha, - &cmp_node_idmask, - &cmp_node_math, - &cmp_node_seprgba, - &cmp_node_combrgba, - &cmp_node_sephsva, - &cmp_node_combhsva, - &cmp_node_sepyuva, - &cmp_node_combyuva, - &cmp_node_sepycca, - &cmp_node_combycca, - - &cmp_node_diff_matte, - &cmp_node_chroma, - &cmp_node_channel_matte, - &cmp_node_color_spill, - &cmp_node_luma_matte, - - &cmp_node_translate, - &cmp_node_rotate, - &cmp_node_scale, - &cmp_node_flip, - &cmp_node_displace, - &cmp_node_mapuv, +#endif - NULL -}; -#endif diff --git a/source/blender/nodes/SHD_node.h b/source/blender/nodes/SHD_node.h index 9c4a3421e5e..b443a39624b 100644 --- a/source/blender/nodes/SHD_node.h +++ b/source/blender/nodes/SHD_node.h @@ -57,30 +57,6 @@ extern bNodeType sh_node_math; extern bNodeType sh_node_vect_math; extern bNodeType sh_node_squeeze; -static bNodeType* node_all_shaders[]= { - &node_group_typeinfo, - &sh_node_output, - &sh_node_material, - &sh_node_camera, - &sh_node_value, - &sh_node_rgb, - &sh_node_mix_rgb, - &sh_node_valtorgb, - &sh_node_rgbtobw, - &sh_node_texture, - &sh_node_normal, - &sh_node_geom, - &sh_node_mapping, - &sh_node_curve_vec, - &sh_node_curve_rgb, - &sh_node_math, - &sh_node_vect_math, - &sh_node_squeeze, - NULL -}; - - - #endif diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c b/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c index 0ef0f096e89..16ed447921a 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c @@ -108,6 +108,7 @@ static void node_composit_exec_alphaover(void *data, bNode *node, bNodeStack **i } bNodeType cmp_node_alphaover= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_ALPHAOVER, /* name */ "AlphaOver", /* width+range */ 80, 40, 120, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_blur.c b/source/blender/nodes/intern/CMP_nodes/CMP_blur.c index 460f2b6b527..7c081ec5210 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_blur.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_blur.c @@ -617,6 +617,7 @@ static void node_composit_init_blur(bNode* node) } bNodeType cmp_node_blur= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_BLUR, /* name */ "Blur", /* width+range */ 120, 80, 200, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c b/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c index b659ad0bc87..0a833e52e35 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c @@ -190,6 +190,7 @@ static void node_composit_init_channel_matte(bNode *node) } bNodeType cmp_node_channel_matte={ + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_CHANNEL_MATTE, /* name */ "Channel Key", /* width+range */ 200, 80, 250, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c b/source/blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c index 6080d9782b6..e1eb4420066 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c @@ -173,6 +173,7 @@ static void node_composit_init_chroma_matte(bNode *node) }; bNodeType cmp_node_chroma={ + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_CHROMA, /* name */ "Chroma Key", /* width+range */ 200, 80, 300, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_colorSpill.c b/source/blender/nodes/intern/CMP_nodes/CMP_colorSpill.c index 44dd6f8b640..3c2054e400d 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_colorSpill.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_colorSpill.c @@ -126,6 +126,7 @@ static void node_composit_init_color_spill(bNode *node) }; bNodeType cmp_node_color_spill={ + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_COLOR_SPILL, /* name */ "Color Spill", /* width+range */ 140, 80, 200, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_composite.c b/source/blender/nodes/intern/CMP_nodes/CMP_composite.c index fe0491a8734..317715278de 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_composite.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_composite.c @@ -88,6 +88,7 @@ static void node_composit_exec_composite(void *data, bNode *node, bNodeStack **i } bNodeType cmp_node_composite= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_COMPOSITE, /* name */ "Composite", /* width+range */ 80, 60, 200, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_curves.c b/source/blender/nodes/intern/CMP_nodes/CMP_curves.c index a7b81d425aa..7f0310de9aa 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_curves.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_curves.c @@ -59,6 +59,7 @@ static void node_composit_init_curves_time(bNode* node) } bNodeType cmp_node_curve_time= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_TIME, /* name */ "Time", /* width+range */ 140, 100, 320, @@ -98,6 +99,7 @@ static void node_composit_init_curve_vec(bNode* node) }; bNodeType cmp_node_curve_vec= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_CURVE_VEC, /* name */ "Vector Curves", /* width+range */ 200, 140, 320, @@ -180,6 +182,7 @@ static void node_composit_init_curve_rgb(bNode* node) }; bNodeType cmp_node_curve_rgb= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_CURVE_RGB, /* name */ "RGB Curves", /* width+range */ 200, 140, 320, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c b/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c index 2c705acbab1..454f42324fc 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c @@ -806,6 +806,7 @@ static void node_composit_init_defocus(bNode* node) }; bNodeType cmp_node_defocus = { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_DEFOCUS, /* name */ "Defocus", /* width+range */ 150, 120, 200, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_diffMatte.c b/source/blender/nodes/intern/CMP_nodes/CMP_diffMatte.c index d476ac215b5..1af5b943dbc 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_diffMatte.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_diffMatte.c @@ -198,6 +198,7 @@ static void node_composit_init_diff_matte(bNode *node) } bNodeType cmp_node_diff_matte={ + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_DIFF_MATTE, /* name */ "Difference Key", /* width+range */ 200, 80, 250, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_dilate.c b/source/blender/nodes/intern/CMP_nodes/CMP_dilate.c index b4902fe395e..bb79a4c8f0d 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_dilate.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_dilate.c @@ -144,6 +144,7 @@ static void node_composit_exec_dilateerode(void *data, bNode *node, bNodeStack * } bNodeType cmp_node_dilateerode= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_DILATEERODE, /* name */ "Dilate/Erode", /* width+range */ 130, 100, 320, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_displace.c b/source/blender/nodes/intern/CMP_nodes/CMP_displace.c index 760d1107d4c..a87394815a2 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_displace.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_displace.c @@ -145,6 +145,7 @@ static void node_composit_exec_displace(void *data, bNode *node, bNodeStack **in } bNodeType cmp_node_displace= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_DISPLACE, /* name */ "Displace", /* width+range */ 140, 100, 320, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_filter.c b/source/blender/nodes/intern/CMP_nodes/CMP_filter.c index 408420a399c..7f578c56927 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_filter.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_filter.c @@ -215,6 +215,7 @@ static void node_composit_exec_filter(void *data, bNode *node, bNodeStack **in, bNodeType cmp_node_filter= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_FILTER, /* name */ "Filter", /* width+range */ 80, 40, 120, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_flip.c b/source/blender/nodes/intern/CMP_nodes/CMP_flip.c index 119f7542f2c..f44b890148c 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_flip.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_flip.c @@ -86,6 +86,7 @@ static void node_composit_exec_flip(void *data, bNode *node, bNodeStack **in, bN } bNodeType cmp_node_flip= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_FLIP, /* name */ "Flip", /* width+range */ 140, 100, 320, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c b/source/blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c index fc4b0b13561..d4258bdeeb3 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c @@ -102,6 +102,7 @@ static void node_composit_init_hue_sat(bNode* node) } bNodeType cmp_node_hue_sat= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_HUE_SAT, /* name */ "Hue Saturation Value", /* width+range */ 150, 80, 250, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_idMask.c b/source/blender/nodes/intern/CMP_nodes/CMP_idMask.c index 79d11907bd3..d4e6b065ba8 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_idMask.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_idMask.c @@ -85,6 +85,7 @@ static void node_composit_exec_idmask(void *data, bNode *node, bNodeStack **in, bNodeType cmp_node_idmask= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_ID_MASK, /* name */ "ID Mask", /* width+range */ 140, 100, 320, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_image.c b/source/blender/nodes/intern/CMP_nodes/CMP_image.c index b9ae376992d..29845d8835c 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_image.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_image.c @@ -211,6 +211,7 @@ static void node_composit_init_image(bNode* node) } bNodeType cmp_node_image= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_IMAGE, /* name */ "Image", /* width+range */ 120, 80, 300, @@ -328,6 +329,7 @@ static void node_composit_exec_rlayers(void *data, bNode *node, bNodeStack **in, bNodeType cmp_node_rlayers= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_R_LAYERS, /* name */ "Render Layers", /* width+range */ 150, 100, 300, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c b/source/blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c index 0a69f2e9056..d909e47538f 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c @@ -104,6 +104,7 @@ static void node_composit_init_luma_matte(bNode *node) }; bNodeType cmp_node_luma_matte={ + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_LUMA_MATTE, /* name */ "Luminance Key", /* width+range */ 200, 80, 250, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_mapUV.c b/source/blender/nodes/intern/CMP_nodes/CMP_mapUV.c index 172df387dbd..4c7b4402ba7 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_mapUV.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_mapUV.c @@ -130,6 +130,7 @@ static void node_composit_exec_mapuv(void *data, bNode *node, bNodeStack **in, b } bNodeType cmp_node_mapuv= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_MAP_UV, /* name */ "Map UV", /* width+range */ 140, 100, 320, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_mapValue.c b/source/blender/nodes/intern/CMP_nodes/CMP_mapValue.c index 427aa01ab0a..97faa9488d1 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_mapValue.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_mapValue.c @@ -80,6 +80,7 @@ static void node_composit_init_map_value(bNode* node) } bNodeType cmp_node_map_value= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_MAP_VALUE, /* name */ "Map Value", /* width+range */ 100, 60, 150, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_math.c b/source/blender/nodes/intern/CMP_nodes/CMP_math.c index d8bb1cebbaa..7515dff166e 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_math.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_math.c @@ -159,6 +159,7 @@ static void node_composit_exec_math(void *data, bNode *node, bNodeStack **in, bN } bNodeType cmp_node_math= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_MATH, /* name */ "Math", /* width+range */ 120, 110, 160, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_mixrgb.c b/source/blender/nodes/intern/CMP_nodes/CMP_mixrgb.c index 662b8390e18..6a0cd63d1f1 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_mixrgb.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_mixrgb.c @@ -78,6 +78,7 @@ static void node_composit_exec_mix_rgb(void *data, bNode *node, bNodeStack **in, /* custom1 = mix type */ bNodeType cmp_node_mix_rgb= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_MIX_RGB, /* name */ "Mix", /* width+range */ 80, 60, 120, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_normal.c b/source/blender/nodes/intern/CMP_nodes/CMP_normal.c index bf103f34dee..d1b3aa5f37f 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_normal.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_normal.c @@ -78,6 +78,7 @@ static void node_composit_exec_normal(void *data, bNode *node, bNodeStack **in, } bNodeType cmp_node_normal= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_NORMAL, /* name */ "Normal", /* width+range */ 100, 60, 200, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_outputFile.c b/source/blender/nodes/intern/CMP_nodes/CMP_outputFile.c index 0bec7e27211..94b6772cf41 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_outputFile.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_outputFile.c @@ -92,6 +92,7 @@ static void node_composit_init_output_file(bNode *node) }; bNodeType cmp_node_output_file= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_OUTPUT_FILE, /* name */ "File Output", /* width+range */ 140, 80, 300, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c b/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c index f2766d9224c..1c690ef0113 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c @@ -44,6 +44,7 @@ static void node_composit_exec_rgb(void *data, bNode *node, bNodeStack **in, bNo } bNodeType cmp_node_rgb= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_RGB, /* name */ "RGB", /* width+range */ 100, 60, 140, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c b/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c index a3576a01445..c09fe56b28f 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c @@ -133,6 +133,7 @@ static void node_composit_exec_rotate(void *data, bNode *node, bNodeStack **in, } bNodeType cmp_node_rotate= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_ROTATE, /* name */ "Rotate", /* width+range */ 140, 100, 320, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_scale.c b/source/blender/nodes/intern/CMP_nodes/CMP_scale.c index 99f5eb458ce..244a5d0685c 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_scale.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_scale.c @@ -102,6 +102,7 @@ static void node_composit_exec_scale(void *data, bNode *node, bNodeStack **in, b }; bNodeType cmp_node_scale= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_SCALE, /* name */ "Scale", /* width+range */ 140, 100, 320, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c b/source/blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c index b3cf20f5a43..50eedcaabe4 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c @@ -97,6 +97,7 @@ static void node_composit_exec_sephsva(void *data, bNode *node, bNodeStack **in, } bNodeType cmp_node_sephsva= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_SEPHSVA, /* name */ "Separate HSVA", /* width+range */ 80, 40, 140, @@ -168,6 +169,7 @@ static void node_composit_exec_combhsva(void *data, bNode *node, bNodeStack **in } bNodeType cmp_node_combhsva= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_COMBHSVA, /* name */ "Combine HSVA", /* width+range */ 80, 40, 140, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c b/source/blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c index 7a323b503f0..50643cd9c43 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c @@ -75,6 +75,7 @@ static void node_composit_exec_seprgba(void *data, bNode *node, bNodeStack **in, } bNodeType cmp_node_seprgba= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_SEPRGBA, /* name */ "Separate RGBA", /* width+range */ 80, 40, 140, @@ -144,6 +145,7 @@ static void node_composit_exec_combrgba(void *data, bNode *node, bNodeStack **in } bNodeType cmp_node_combrgba= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_COMBRGBA, /* name */ "Combine RGBA", /* width+range */ 80, 40, 140, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c b/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c index 108042a16b8..342a8e44114 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c @@ -96,6 +96,7 @@ static void node_composit_exec_sepycca(void *data, bNode *node, bNodeStack **in, } bNodeType cmp_node_sepycca= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_SEPYCCA, /* name */ "Separate YCbCrA", /* width+range */ 80, 40, 140, @@ -174,6 +175,7 @@ static void node_composit_exec_combycca(void *data, bNode *node, bNodeStack **in } bNodeType cmp_node_combycca= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_COMBYCCA, /* name */ "Combine YCbCrA", /* width+range */ 80, 40, 140, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c b/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c index 48a42d16a94..ec171b63811 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c @@ -97,6 +97,7 @@ static void node_composit_exec_sepyuva(void *data, bNode *node, bNodeStack **in, } bNodeType cmp_node_sepyuva= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_SEPYUVA, /* name */ "Separate YUVA", /* width+range */ 80, 40, 140, @@ -168,6 +169,7 @@ static void node_composit_exec_combyuva(void *data, bNode *node, bNodeStack **in } bNodeType cmp_node_combyuva= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_COMBYUVA, /* name */ "Combine YUVA", /* width+range */ 80, 40, 140, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_setalpha.c b/source/blender/nodes/intern/CMP_nodes/CMP_setalpha.c index ecc3fb99f41..79619dafec5 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_setalpha.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_setalpha.c @@ -71,6 +71,7 @@ static void node_composit_exec_setalpha(void *data, bNode *node, bNodeStack **in } bNodeType cmp_node_setalpha= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_SETALPHA, /* name */ "Set Alpha", /* width+range */ 120, 40, 140, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_splitViewer.c b/source/blender/nodes/intern/CMP_nodes/CMP_splitViewer.c index 3e6142a6534..572ed53b0f7 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_splitViewer.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_splitViewer.c @@ -143,6 +143,7 @@ static void node_composit_init_splitviewer(bNode* node) } bNodeType cmp_node_splitviewer= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_SPLITVIEWER, /* name */ "SplitViewer", /* width+range */ 140, 100, 320, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_texture.c b/source/blender/nodes/intern/CMP_nodes/CMP_texture.c index 551da1e480b..eec7ea379fa 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_texture.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_texture.c @@ -118,6 +118,7 @@ static void node_composit_exec_texture(void *data, bNode *node, bNodeStack **in, } bNodeType cmp_node_texture= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_TEXTURE, /* name */ "Texture", /* width+range */ 120, 80, 240, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_translate.c b/source/blender/nodes/intern/CMP_nodes/CMP_translate.c index 2ea91b603d8..56d5c114eae 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_translate.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_translate.c @@ -57,6 +57,7 @@ static void node_composit_exec_translate(void *data, bNode *node, bNodeStack **i } bNodeType cmp_node_translate= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_TRANSLATE, /* name */ "Translate", /* width+range */ 140, 100, 320, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_valToRgb.c b/source/blender/nodes/intern/CMP_nodes/CMP_valToRgb.c index d30bf42d478..d35c347d0db 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_valToRgb.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_valToRgb.c @@ -81,6 +81,7 @@ static void node_composit_init_valtorgb(bNode* node) } bNodeType cmp_node_valtorgb= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_VALTORGB, /* name */ "ColorRamp", /* width+range */ 240, 200, 300, @@ -134,6 +135,7 @@ static void node_composit_exec_rgbtobw(void *data, bNode *node, bNodeStack **in, } bNodeType cmp_node_rgbtobw= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_RGBTOBW, /* name */ "RGB to BW", /* width+range */ 80, 40, 120, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_value.c b/source/blender/nodes/intern/CMP_nodes/CMP_value.c index 578a07c91ae..8681fce6e1b 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_value.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_value.c @@ -43,6 +43,7 @@ static void node_composit_exec_value(void *data, bNode *node, bNodeStack **in, b } bNodeType cmp_node_value= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_VALUE, /* name */ "Value", /* width+range */ 80, 40, 120, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_vecBlur.c b/source/blender/nodes/intern/CMP_nodes/CMP_vecBlur.c index ebaf4d70915..81dcc080bcc 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_vecBlur.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_vecBlur.c @@ -117,6 +117,7 @@ static void node_composit_init_vecblur(bNode* node) /* custom1: itterations, custom2: maxspeed (0 = nolimit) */ bNodeType cmp_node_vecblur= { + /* next, prev */ NULL, NULL, /* type code */ CMP_NODE_VECBLUR, /* name */ "Vector Blur", /* width+range */ 120, 80, 200, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_viewer.c b/source/blender/nodes/intern/CMP_nodes/CMP_viewer.c index 1a01bb3a6a7..aee1663d4e3 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_viewer.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_viewer.c @@ -125,6 +125,7 @@ static void node_composit_init_viewer(bNode* node) } bNodeType cmp_node_viewer= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_VIEWER, /* name */ "Viewer", /* width+range */ 80, 60, 200, diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_zcombine.c b/source/blender/nodes/intern/CMP_nodes/CMP_zcombine.c index 716f447f3df..bff839cad65 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_zcombine.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_zcombine.c @@ -137,6 +137,7 @@ static void node_composit_exec_zcombine(void *data, bNode *node, bNodeStack **in } bNodeType cmp_node_zcombine= { + /* *next,*prev */ NULL, NULL, /* type code */ CMP_NODE_ZCOMBINE, /* name */ "Z Combine", /* width+range */ 80, 40, 120, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_camera.c b/source/blender/nodes/intern/SHD_nodes/SHD_camera.c index 5134f720b9e..af4ba788f6b 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_camera.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_camera.c @@ -50,6 +50,7 @@ static void node_shader_exec_camera(void *data, bNode *node, bNodeStack **in, bN } bNodeType sh_node_camera= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_CAMERA, /* name */ "Camera Data", /* width+range */ 95, 95, 120, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_curves.c b/source/blender/nodes/intern/SHD_nodes/SHD_curves.c index 39787486004..ec2af791001 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_curves.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_curves.c @@ -57,6 +57,7 @@ static void node_shader_init_curve_vec(bNode* node) } bNodeType sh_node_curve_vec= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_CURVE_VEC, /* name */ "Vector Curves", /* width+range */ 200, 140, 320, @@ -97,6 +98,7 @@ static void node_shader_init_curve_rgb(bNode *node) } bNodeType sh_node_curve_rgb= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_CURVE_RGB, /* name */ "RGB Curves", /* width+range */ 200, 140, 320, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_geom.c b/source/blender/nodes/intern/SHD_nodes/SHD_geom.c index 2be1f0ddfe8..584ceb0dbbd 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_geom.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_geom.c @@ -115,6 +115,7 @@ static void node_shader_init_geometry(bNode *node) /* node type definition */ bNodeType sh_node_geom= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_GEOMETRY, /* name */ "Geometry", /* width+range */ 120, 80, 160, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_mapping.c b/source/blender/nodes/intern/SHD_nodes/SHD_mapping.c index 3a6e89cc0a1..a22159dcf16 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_mapping.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_mapping.c @@ -70,6 +70,7 @@ static void node_shader_init_mapping(bNode *node) } bNodeType sh_node_mapping= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_MAPPING, /* name */ "Mapping", /* width+range */ 240, 160, 320, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_material.c b/source/blender/nodes/intern/SHD_nodes/SHD_material.c index 1d87d294dbe..fdb6c71ba85 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_material.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_material.c @@ -136,6 +136,7 @@ static void node_shader_init_material(bNode* node) bNodeType sh_node_material= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_MATERIAL, /* name */ "Material", /* width+range */ 120, 80, 240, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_math.c b/source/blender/nodes/intern/SHD_nodes/SHD_math.c index 3a08c3b117c..bd2fdb457c0 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_math.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_math.c @@ -178,7 +178,8 @@ bNodeStack **out) } } -bNodeType sh_node_math= { +bNodeType sh_node_math= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_MATH, /* name */ "Math", /* width+range */ 120, 110, 160, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c b/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c index 555a8d27ab9..fb0bf91a508 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c @@ -61,6 +61,7 @@ static void node_shader_exec_mix_rgb(void *data, bNode *node, bNodeStack **in, b } bNodeType sh_node_mix_rgb= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_MIX_RGB, /* name */ "Mix", /* width+range */ 100, 60, 150, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_normal.c b/source/blender/nodes/intern/SHD_nodes/SHD_normal.c index 4433e62cb25..ac9d1707543 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_normal.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_normal.c @@ -58,6 +58,7 @@ static void node_shader_exec_normal(void *data, bNode *node, bNodeStack **in, bN } bNodeType sh_node_normal= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_NORMAL, /* name */ "Normal", /* width+range */ 100, 60, 200, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output.c b/source/blender/nodes/intern/SHD_nodes/SHD_output.c index c53d662fac7..4ed507f4774 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_output.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output.c @@ -63,6 +63,7 @@ static void node_shader_exec_output(void *data, bNode *node, bNodeStack **in, bN } bNodeType sh_node_output= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_OUTPUT, /* name */ "Output", /* width+range */ 80, 60, 200, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c b/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c index 21b6f4640c2..d1c874c151b 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c @@ -43,6 +43,7 @@ static void node_shader_exec_rgb(void *data, bNode *node, bNodeStack **in, bNode } bNodeType sh_node_rgb= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_RGB, /* name */ "RGB", /* width+range */ 100, 60, 140, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c b/source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c index fa9cf3a3de0..f0031113b94 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c @@ -55,6 +55,7 @@ bNodeStack **out) } bNodeType sh_node_squeeze= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_SQUEEZE, /* name */ "Squeeze Value", /* width+range */ 120, 110, 160, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_texture.c b/source/blender/nodes/intern/SHD_nodes/SHD_texture.c index 3da2b5cae71..8ba66d56b3c 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_texture.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_texture.c @@ -111,6 +111,7 @@ static void node_shader_exec_texture(void *data, bNode *node, bNodeStack **in, b } bNodeType sh_node_texture= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_TEXTURE, /* name */ "Texture", /* width+range */ 120, 80, 240, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c b/source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c index 223f8fc4af8..90e8cb28fac 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c @@ -60,6 +60,7 @@ static void node_shader_init_valtorgb(bNode *node) } bNodeType sh_node_valtorgb= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_VALTORGB, /* name */ "ColorRamp", /* width+range */ 240, 200, 300, @@ -93,6 +94,7 @@ static void node_shader_exec_rgbtobw(void *data, bNode *node, bNodeStack **in, b } bNodeType sh_node_rgbtobw= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_RGBTOBW, /* name */ "RGB to BW", /* width+range */ 80, 40, 120, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_value.c b/source/blender/nodes/intern/SHD_nodes/SHD_value.c index aeeda4734b5..9d6f6a34473 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_value.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_value.c @@ -45,6 +45,7 @@ static void node_shader_exec_value(void *data, bNode *node, bNodeStack **in, bNo bNodeType sh_node_value= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_VALUE, /* name */ "Value", /* width+range */ 80, 50, 120, diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c b/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c index 1d1f36b9fa5..17b692fd616 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c @@ -100,6 +100,7 @@ static void node_shader_exec_vect_math(void *data, bNode *node, bNodeStack **in, } bNodeType sh_node_vect_math= { + /* *next,*prev */ NULL, NULL, /* type code */ SH_NODE_VECT_MATH, /* name */ "Vector Math", /* width+range */ 80, 75, 140, diff --git a/source/blender/src/drawnode.c b/source/blender/src/drawnode.c index 7978640039f..7faa4ecc76f 100644 --- a/source/blender/src/drawnode.c +++ b/source/blender/src/drawnode.c @@ -1621,19 +1621,19 @@ static void node_composit_set_butfunc(bNodeType *ntype) void init_node_butfuncs(void) { - bNodeType **typedefs; + bNodeType *ntype; /* shader nodes */ - typedefs= node_all_shaders; /* BKE_node.h */ - while( *typedefs) { - node_shader_set_butfunc(*typedefs); - typedefs++; + ntype= node_all_shaders.first; + while(ntype) { + node_shader_set_butfunc(ntype); + ntype= ntype->next; } /* composit nodes */ - typedefs= node_all_composit; /* BKE_node.h */ - while( *typedefs) { - node_composit_set_butfunc(*typedefs); - typedefs++; + ntype= node_all_composit.first; + while(ntype) { + node_composit_set_butfunc(ntype); + ntype= ntype->next; } } diff --git a/source/blender/src/header_node.c b/source/blender/src/header_node.c index 2697cb0c39b..b9f02cc7bd0 100644 --- a/source/blender/src/header_node.c +++ b/source/blender/src/header_node.c @@ -247,9 +247,12 @@ static void node_make_addmenu(SpaceNode *snode, int nodeclass, uiBlock *block) tot++; } else { - for(typedefs= ntree->alltypes; *typedefs; typedefs++) - if( (*typedefs)->nclass == nodeclass ) + bNodeType *type = ntree->alltypes.first; + while(type) { + if(type->nclass == nodeclass) tot++; + type= type->next; + } } } @@ -270,10 +273,12 @@ static void node_make_addmenu(SpaceNode *snode, int nodeclass, uiBlock *block) } } else { - for(a=0, typedefs= ntree->alltypes; *typedefs; typedefs++) { - if( (*typedefs)->nclass == nodeclass ) { - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, (*typedefs)->name, 0, - yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, (*typedefs)->type, ""); + bNodeType *type; + for(a=0, type= ntree->alltypes.first; type; type=type->next) { + if( type->nclass == nodeclass ) { + printf("node %s\n", type->name); + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, type->name, 0, + yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, type->type, ""); a++; } } diff --git a/source/blender/src/toolbox.c b/source/blender/src/toolbox.c index a200e8d44eb..3143b9652aa 100644 --- a/source/blender/src/toolbox.c +++ b/source/blender/src/toolbox.c @@ -1576,7 +1576,6 @@ static TBitem *node_add_sublevel(ListBase *storage, bNodeTree *ntree, int nodecl { static TBitem _addmenu[]= { { 0, " ", 0, NULL}, { -1, "", 0, NULL}}; Link *link; - bNodeType **typedefs; TBitem *addmenu; int tot= 0, a; @@ -1588,9 +1587,13 @@ static TBitem *node_add_sublevel(ListBase *storage, bNodeTree *ntree, int nodecl tot++; } else { - for(typedefs= ntree->alltypes; *typedefs; typedefs++) - if( (*typedefs)->nclass == nodeclass ) + bNodeType *ntype = ntree->alltypes.first; + while(ntype) { + if(ntype->nclass == nodeclass) { tot++; + } + ntype= ntype->next; + } } } if(tot==0) { @@ -1612,15 +1615,16 @@ static TBitem *node_add_sublevel(ListBase *storage, bNodeTree *ntree, int nodecl } } else { - for(a=0, typedefs= ntree->alltypes; *typedefs; typedefs++) { - if( (*typedefs)->nclass == nodeclass ) { - addmenu[a].name= (*typedefs)->name; - addmenu[a].retval= (*typedefs)->type; + bNodeType *ntype= ntree->alltypes.first; + for(a=0; ntype; ntype= ntype->next) { + if( ntype->nclass == nodeclass ) { + addmenu[a].name= ntype->name; + addmenu[a].retval= ntype->type; a++; } } } - + addmenu[a].icon= -1; /* end signal */ addmenu[a].name= ""; addmenu[a].retval= a; diff --git a/source/blender/src/usiblender.c b/source/blender/src/usiblender.c index b81cba7d1d0..d8106b8d3d6 100644 --- a/source/blender/src/usiblender.c +++ b/source/blender/src/usiblender.c @@ -79,6 +79,7 @@ #include "BKE_global.h" #include "BKE_main.h" #include "BKE_mball.h" +#include "BKE_node.h" #include "BKE_packedFile.h" #include "BKE_utildefines.h" @@ -967,7 +968,9 @@ void exit_usiblender(void) BLI_freelistN(&U.themes); BIF_preview_free_dbase(); - + + free_nodesystem(); + if(totblock!=0) { printf("Error Totblock: %d\n",totblock); MEM_printmemlist(); @@ -986,6 +989,6 @@ void exit_usiblender(void) SYS_DeleteSystem(SYS_GetSystem()); - + exit(G.afbreek==1); } |