Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorLukas Toenne <lukas.toenne@googlemail.com>2011-02-08 12:14:18 +0300
committerLukas Toenne <lukas.toenne@googlemail.com>2011-02-08 12:14:18 +0300
commit37f55ec1947be503e8452e81b4ebc48be3d3d540 (patch)
treeb261d5387e383e33cfcc801be914ada7cc1937bb /source
parent803c7fb4d49b51de750751a5707ebc57c653b959 (diff)
Group node type info is now also initialized with helper functions.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/BKE_node.h3
-rw-r--r--source/blender/blenkernel/intern/node.c37
2 files changed, 18 insertions, 22 deletions
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index ad16480bdb8..32bf3d6e716 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -223,8 +223,7 @@ void node_type_gpu(struct bNodeType *ntype, int (*gpufunc)(struct GPUMaterial
#define NODE_GROUP_MENU 1000
#define NODE_DYNAMIC_MENU 4000
-extern bNodeType node_group_typeinfo;
-
+void register_node_type_group(ListBase *lb);
/* ************** SHADER NODES *************** */
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index cbb0ef7b854..16ea9856733 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -265,22 +265,16 @@ 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,
- /* class+opts */ NODE_CLASS_GROUP, NODE_OPTIONS,
- /* input sock */ NULL,
- /* output sock */ NULL,
- /* storage */ "",
- /* execfunc */ NULL,
- /* butfunc */ NULL,
- /* initfunc */ NULL,
- /* freestoragefunc */ NULL,
- /* copystoragefunc */ NULL,
- /* id */ NULL
-};
+/* XXX group typeinfo struct is used directly in ntreeMakeOwnType, needs cleanup */
+static bNodeType ntype_group;
+
+void register_node_type_group(ListBase *lb)
+{
+ node_type_base(&ntype_group, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS, NULL, NULL);
+ node_type_size(&ntype_group, 120, 60, 200);
+
+ nodeRegisterType(lb, &ntype_group);
+}
/* tag internal sockets */
static void group_tag_internal_sockets(bNodeTree *ngroup)
@@ -380,7 +374,7 @@ void ntreeMakeOwnType(bNodeTree *ngroup)
/* make own type struct */
ngroup->owntype= MEM_callocN(sizeof(bNodeType), "group type");
- *ngroup->owntype= node_group_typeinfo; /* copy data, for init */
+ *ngroup->owntype= ntype_group; /* copy data, for init */
/* input type arrays */
if(totin) {
@@ -3322,7 +3316,8 @@ void nodeRegisterType(ListBase *typelist, const bNodeType *ntype)
static void registerCompositNodes(ListBase *ntypelist)
{
- nodeRegisterType(ntypelist, &node_group_typeinfo);
+ register_node_type_group(ntypelist);
+
register_node_type_cmp_rlayers(ntypelist);
register_node_type_cmp_image(ntypelist);
register_node_type_cmp_texture(ntypelist);
@@ -3397,7 +3392,8 @@ static void registerCompositNodes(ListBase *ntypelist)
static void registerShaderNodes(ListBase *ntypelist)
{
- nodeRegisterType(ntypelist, &node_group_typeinfo);
+ register_node_type_group(ntypelist);
+
register_node_type_sh_output(ntypelist);
register_node_type_sh_mix_rgb(ntypelist);
register_node_type_sh_valtorgb(ntypelist);
@@ -3425,7 +3421,8 @@ static void registerShaderNodes(ListBase *ntypelist)
static void registerTextureNodes(ListBase *ntypelist)
{
- nodeRegisterType(ntypelist, &node_group_typeinfo);
+ register_node_type_group(ntypelist);
+
register_node_type_tex_math(ntypelist);
register_node_type_tex_mix_rgb(ntypelist);
register_node_type_tex_valtorgb(ntypelist);