[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41036] branches/cycles/source/blender: Cycles: fix nodes gone missing after new/ old shading node compatibility changes.
Brecht Van Lommel
brechtvanlommel at pandora.be
Sat Oct 15 18:20:42 CEST 2011
Revision: 41036
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41036
Author: blendix
Date: 2011-10-15 16:20:41 +0000 (Sat, 15 Oct 2011)
Log Message:
-----------
Cycles: fix nodes gone missing after new/old shading node compatibility changes.
Modified Paths:
--------------
branches/cycles/source/blender/blenkernel/intern/node.c
branches/cycles/source/blender/editors/interface/interface_node.c
branches/cycles/source/blender/editors/space_node/node_header.c
branches/cycles/source/blender/nodes/shader/nodes/node_shader_valToRgb.c
Modified: branches/cycles/source/blender/blenkernel/intern/node.c
===================================================================
--- branches/cycles/source/blender/blenkernel/intern/node.c 2011-10-15 14:47:37 UTC (rev 41035)
+++ branches/cycles/source/blender/blenkernel/intern/node.c 2011-10-15 16:20:41 UTC (rev 41036)
@@ -1924,6 +1924,9 @@
register_node_type_sh_tex_marble(ntypelist);
register_node_type_sh_tex_clouds(ntypelist);
register_node_type_sh_tex_wood(ntypelist);
+ register_node_type_sh_tex_stucci(ntypelist);
+ register_node_type_sh_tex_noise(ntypelist);
+ register_node_type_sh_tex_distnoise(ntypelist);
register_node_type_sh_tex_musgrave(ntypelist);
}
Modified: branches/cycles/source/blender/editors/interface/interface_node.c
===================================================================
--- branches/cycles/source/blender/editors/interface/interface_node.c 2011-10-15 14:47:37 UTC (rev 41035)
+++ branches/cycles/source/blender/editors/interface/interface_node.c 2011-10-15 16:20:41 UTC (rev 41036)
@@ -344,7 +344,7 @@
char name[UI_MAX_NAME_STR];
int i, j, num = 0;
- if(!(ntype->compatibility & compatibility))
+ if(compatibility && !(ntype->compatibility & compatibility))
continue;
if(ntype->nclass != nclass)
@@ -403,12 +403,14 @@
uiLayout *split, *column;
NodeLinkArg *arg = (NodeLinkArg*)but->func_argN;
bNodeSocket *sock = arg->sock;
- int compatibility;
+ int compatibility= 0;
- if(scene_use_new_shading_nodes(scene))
- compatibility= NODE_NEW_SHADING;
- else
- compatibility= NODE_OLD_SHADING;
+ if(arg->ntree->type == NTREE_SHADER) {
+ if(scene_use_new_shading_nodes(scene))
+ compatibility= NODE_NEW_SHADING;
+ else
+ compatibility= NODE_OLD_SHADING;
+ }
uiBlockSetCurLayout(block, layout);
split= uiLayoutSplit(layout, 0, 0);
Modified: branches/cycles/source/blender/editors/space_node/node_header.c
===================================================================
--- branches/cycles/source/blender/editors/space_node/node_header.c 2011-10-15 14:47:37 UTC (rev 41035)
+++ branches/cycles/source/blender/editors/space_node/node_header.c 2011-10-15 16:20:41 UTC (rev 41036)
@@ -175,7 +175,7 @@
SpaceNode *snode= CTX_wm_space_node(C);
bNodeTree *ntree;
int nodeclass= GET_INT_FROM_POINTER(arg_nodeclass);
- int event, compatibility;
+ int event, compatibility= 0;
ntree = snode->nodetree;
@@ -184,10 +184,12 @@
return;
}
- if(scene_use_new_shading_nodes(scene))
- compatibility= NODE_NEW_SHADING;
- else
- compatibility= NODE_OLD_SHADING;
+ if(ntree->type == NTREE_SHADER) {
+ if(scene_use_new_shading_nodes(scene))
+ compatibility= NODE_NEW_SHADING;
+ else
+ compatibility= NODE_OLD_SHADING;
+ }
if (nodeclass==NODE_CLASS_GROUP) {
bNodeTree *ngroup;
@@ -219,8 +221,9 @@
uiLayoutSetFunc(layout, do_node_add_static, NULL);
for (ntype=ntreeGetType(ntree->type)->node_types.first; ntype; ntype=ntype->next) {
- if(ntype->nclass==nodeclass && ntype->name && (ntype->compatibility&compatibility))
- uiItemV(layout, ntype->name, 0, ntype->type);
+ if (ntype->nclass==nodeclass && ntype->name)
+ if (!compatibility || (ntype->compatibility & compatibility))
+ uiItemV(layout, ntype->name, 0, ntype->type);
}
}
}
Modified: branches/cycles/source/blender/nodes/shader/nodes/node_shader_valToRgb.c
===================================================================
--- branches/cycles/source/blender/nodes/shader/nodes/node_shader_valToRgb.c 2011-10-15 14:47:37 UTC (rev 41035)
+++ branches/cycles/source/blender/nodes/shader/nodes/node_shader_valToRgb.c 2011-10-15 16:20:41 UTC (rev 41036)
@@ -119,7 +119,7 @@
static bNodeType ntype;
node_type_base(&ntype, SH_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0);
- node_type_compatibility(&ntype, NODE_OLD_SHADING);
+ node_type_compatibility(&ntype, NODE_OLD_SHADING|NODE_NEW_SHADING);
node_type_socket_templates(&ntype, sh_node_rgbtobw_in, sh_node_rgbtobw_out);
node_type_size(&ntype, 80, 40, 120);
node_type_exec(&ntype, node_shader_exec_rgbtobw);
More information about the Bf-blender-cvs
mailing list