diff options
Diffstat (limited to 'source/blender/blenloader/intern/writefile.c')
-rw-r--r-- | source/blender/blenloader/intern/writefile.c | 57 |
1 files changed, 28 insertions, 29 deletions
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index afdaf7c626b..ad1999c0bc7 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -1001,38 +1001,37 @@ static void write_nodetree(WriteData *wd, bNodeTree *ntree) if (node->storage) { /* could be handlerized at some point, now only 1 exception still */ - if (ntree->type==NTREE_SHADER) { - if (ELEM(node->type, SH_NODE_CURVE_VEC, SH_NODE_CURVE_RGB)) { - write_curvemapping(wd, node->storage); - } - else if (node->type==SH_NODE_SCRIPT) { - NodeShaderScript *nss = (NodeShaderScript *)node->storage; - if (nss->bytecode) - writedata(wd, DATA, strlen(nss->bytecode)+1, nss->bytecode); - writestruct_id(wd, DATA, node->typeinfo->storagename, 1, node->storage); - } - else if (node->type==SH_NODE_OPENVDB) { - NodeShaderOpenVDB *vdb = (NodeShaderOpenVDB *)node->storage; - writelist(wd, DATA, OpenVDBGridInfo, &vdb->grid_info); - writestruct_id(wd, DATA, node->typeinfo->storagename, 1, node->storage); - } - else - writestruct_id(wd, DATA, node->typeinfo->storagename, 1, node->storage); + if ((ntree->type == NTREE_SHADER) && + ELEM(node->type, SH_NODE_CURVE_VEC, SH_NODE_CURVE_RGB)) + { + write_curvemapping(wd, node->storage); } - else if (ntree->type==NTREE_COMPOSIT) { - if (ELEM(node->type, CMP_NODE_TIME, CMP_NODE_CURVE_VEC, CMP_NODE_CURVE_RGB, CMP_NODE_HUECORRECT)) - write_curvemapping(wd, node->storage); - else if (node->type==CMP_NODE_MOVIEDISTORTION) { - /* pass */ + else if (ntree->type == NTREE_SHADER && + (node->type == SH_NODE_SCRIPT)) + { + NodeShaderScript *nss = (NodeShaderScript *)node->storage; + if (nss->bytecode) { + writedata(wd, DATA, strlen(nss->bytecode) + 1, nss->bytecode); } - else - writestruct_id(wd, DATA, node->typeinfo->storagename, 1, node->storage); + writestruct_id(wd, DATA, node->typeinfo->storagename, 1, node->storage); } - else if (ntree->type==NTREE_TEXTURE) { - if (node->type==TEX_NODE_CURVE_RGB || node->type==TEX_NODE_CURVE_TIME) - write_curvemapping(wd, node->storage); - else - writestruct_id(wd, DATA, node->typeinfo->storagename, 1, node->storage); + else if ((ntree->type == NTREE_COMPOSIT) && + ELEM(node->type, CMP_NODE_TIME, CMP_NODE_CURVE_VEC, CMP_NODE_CURVE_RGB, CMP_NODE_HUECORRECT)) + { + write_curvemapping(wd, node->storage); + } + else if ((ntree->type == NTREE_TEXTURE) && + (node->type == TEX_NODE_CURVE_RGB || node->type == TEX_NODE_CURVE_TIME)) + { + write_curvemapping(wd, node->storage); + } + else if ((ntree->type == NTREE_COMPOSIT) && + (node->type == CMP_NODE_MOVIEDISTORTION)) + { + /* pass */ + } + else { + writestruct_id(wd, DATA, node->typeinfo->storagename, 1, node->storage); } } |