Commit: 41cc366010e1d4b7b225e7c65df5a947bd5cbf70 Author: Lukas Tönne Date: Tue Jul 19 10:53:34 2016 +0200 Branches: object_nodes https://developer.blender.org/rB41cc366010e1d4b7b225e7c65df5a947bd5cbf70
Merge branch 'master' into object_nodes =================================================================== =================================================================== diff --cc source/blender/blenkernel/BKE_particle.h index aef7526,b22facd..dd7068c --- a/source/blender/blenkernel/BKE_particle.h +++ b/source/blender/blenkernel/BKE_particle.h @@@ -328,13 -328,13 +329,13 @@@ void BKE_particlesettings_make_local(st void psys_reset(struct ParticleSystem *psys, int mode); - void psys_find_parents(struct ParticleSimulationData *sim); + void psys_find_parents(struct ParticleSimulationData *sim, const bool use_render_params); - void psys_cache_paths(struct ParticleSimulationData *sim, float cfra); - void psys_cache_edit_paths(struct Scene *scene, struct Object *ob, struct PTCacheEdit *edit, float cfra); - void psys_cache_child_paths(struct ParticleSimulationData *sim, float cfra, int editupdate); + void psys_cache_paths(struct ParticleSimulationData *sim, float cfra, const bool use_render_params); + void psys_cache_edit_paths(struct Scene *scene, struct Object *ob, struct PTCacheEdit *edit, float cfra, const bool use_render_params); + void psys_cache_child_paths(struct ParticleSimulationData *sim, float cfra, const bool editupdate, const bool use_render_params); -int do_guides(struct ParticleSettings *part, struct ListBase *effectors, ParticleKey *state, int pa_num, float time); -void precalc_guides(struct ParticleSimulationData *sim, struct ListBase *effectors); +int do_guides(struct ParticleSettings *part, struct EffectorContext *effectors, ParticleKey *state, int pa_num, float time); +void precalc_guides(struct ParticleSimulationData *sim, struct EffectorContext *effectors); float psys_get_timestep(struct ParticleSimulationData *sim); float psys_get_child_time(struct ParticleSystem *psys, struct ChildParticle *cpa, float cfra, float *birthtime, float *dietime); float psys_get_child_size(struct ParticleSystem *psys, struct ChildParticle *cpa, float cfra, float *pa_time); diff --cc source/blender/blenloader/intern/writefile.c index 45f4e59,ba783e0..379e52c --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@@ -887,62 -971,91 +971,86 @@@ static void write_nodetree(WriteData *w bNode *node; bNodeSocket *sock; bNodeLink *link; - + /* for link_list() speed, we write per list */ - - if (ntree->adt) write_animdata(wd, ntree->adt); - + + if (ntree->adt) { + write_animdata(wd, ntree->adt); + } + for (node = ntree->nodes.first; node; node = node->next) { - writestruct(wd, DATA, "bNode", 1, node); + writestruct(wd, DATA, bNode, 1, node); - if (node->prop) + if (node->prop) { IDP_WriteProperty(node->prop, wd); + } - for (sock= node->inputs.first; sock; sock= sock->next) + for (sock = node->inputs.first; sock; sock = sock->next) { write_node_socket(wd, ntree, node, sock); - for (sock= node->outputs.first; sock; sock= sock->next) + } + for (sock = node->outputs.first; sock; sock = sock->next) { write_node_socket(wd, ntree, node, sock); - - for (link = node->internal_links.first; link; link = link->next) - writestruct(wd, DATA, "bNodeLink", 1, link); + } + + for (link = node->internal_links.first; link; link = link->next) { + writestruct(wd, DATA, bNodeLink, 1, link); + } + if (node->storage) { /* could be handlerized at some point, now only 1 exception still */ - if (ntree->type==NTREE_SHADER && (node->type==SH_NODE_CURVE_VEC || node->type==SH_NODE_CURVE_RGB)) + 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_SHADER && node->type==SH_NODE_SCRIPT) { + } + 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); - writestruct(wd, DATA, node->typeinfo->storagename, 1, 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 (ntree->type==NTREE_COMPOSIT && ELEM(node->type, CMP_NODE_TIME, CMP_NODE_CURVE_VEC, CMP_NODE_CURVE_RGB, CMP_NODE_HUECORRECT)) + 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_COMPOSIT && node->type==CMP_NODE_MOVIEDISTORTION) { + } - 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(wd, DATA, node->typeinfo->storagename, 1, node->storage); + else { + writestruct_id(wd, DATA, node->typeinfo->storagename, 1, node->storage); + } } - - if (node->type==CMP_NODE_OUTPUT_FILE) { + + if (node->type == CMP_NODE_OUTPUT_FILE) { /* inputs have own storage data */ - for (sock = node->inputs.first; sock; sock = sock->next) - writestruct(wd, DATA, "NodeImageMultiFileSocket", 1, sock->storage); + for (sock = node->inputs.first; sock; sock = sock->next) { + writestruct(wd, DATA, NodeImageMultiFileSocket, 1, sock->storage); + } } - if (node->type==CMP_NODE_IMAGE) { + if (node->type == CMP_NODE_IMAGE) { /* write extra socket info */ - for (sock = node->outputs.first; sock; sock = sock->next) - writestruct(wd, DATA, "NodeImageLayer", 1, sock->storage); + for (sock = node->outputs.first; sock; sock = sock->next) { + writestruct(wd, DATA, NodeImageLayer, 1, sock->storage); + } } } - - for (link= ntree->links.first; link; link= link->next) - writestruct(wd, DATA, "bNodeLink", 1, link); - - for (sock = ntree->inputs.first; sock; sock = sock->next) + + for (link = ntree->links.first; link; link = link->next) { + writestruct(wd, DATA, bNodeLink, 1, link); + } + + for (sock = ntree->inputs.first; sock; sock = sock->next) { write_node_socket_interface(wd, ntree, sock); - for (sock = ntree->outputs.first; sock; sock = sock->next) + } + for (sock = ntree->outputs.first; sock; sock = sock->next) { write_node_socket_interface(wd, ntree, sock); + } } /** diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index c383cae,a397b48..9c0f88a --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@@ -331,18 -296,19 +331,19 @@@ void DepsgraphNodeBuilder::build_scene( for (Base *base = (Base *)scene->base.first; base; base = base->next) { Object *ob = base->object; + /* object itself */ - build_object(scene, base, ob); ++ build_object(bmain, scene, base, ob); + /* object that this is a proxy for */ // XXX: the way that proxies work needs to be completely reviewed! if (ob->proxy) { ob->proxy->proxy_from = ob; - build_object(scene, base, ob->proxy); ++ build_object(bmain, scene, base, ob->proxy); } - /* object itself */ - build_object(bmain, scene, base, ob); - /* Object dupligroup. */ if (ob->dup_group) { - build_group(scene, base, ob->dup_group); + build_group(bmain, scene, base, ob->dup_group); } } diff --cc source/blender/modifiers/intern/MOD_weightvgmix.c index 6df9de8,170fbbe..ef988b9 --- a/source/blender/modifiers/intern/MOD_weightvgmix.c +++ b/source/blender/modifiers/intern/MOD_weightvgmix.c @@@ -220,10 -220,12 +220,12 @@@ static void updateDepsgraph(ModifierDat { WeightVGMixModifierData *wmd = (WeightVGMixModifierData *) md; if (wmd->mask_tex_map_obj != NULL && wmd->mask_tex_mapping == MOD_DISP_MAP_OBJECT) { - DEG_add_object_relation(node, wmd->mask_tex_map_obj, DEG_OB_COMP_TRANSFORM, "WeightVGMix Modifier"); - DEG_add_object_relation(node, wmd->mask_tex_map_obj, DEG_OB_COMP_GEOMETRY, "WeightVGMix Modifier"); + DEG_add_object_relation(node, wmd->mask_tex_map_obj, DEG_COMPONENT_TRANSFORM, "WeightVGMix Modifier"); ++ DEG_add_object_relation(node, wmd->mask_tex_map_obj, DEG_COMPONENT_GEOMETRY, "WeightVGMix Modifier"); } if (wmd->mask_tex_mapping == MOD_DISP_MAP_GLOBAL) { - DEG_add_object_relation(node, ob, DEG_OB_COMP_TRANSFORM, "WeightVGMix Modifier"); - DEG_add_object_relation(node, ob, DEG_OB_COMP_GEOMETRY, "WeightVGMix Modifier"); + DEG_add_object_relation(node, ob, DEG_COMPONENT_TRANSFORM, "WeightVGMix Modifier"); ++ DEG_add_object_relation(node, ob, DEG_COMPONENT_GEOMETRY, "WeightVGMix Modifier"); } } diff --cc source/blender/modifiers/intern/MOD_weightvgproximity.c index 71ac5a7,af59f11..aeb01d3 --- a/source/blender/modifiers/intern/MOD_weightvgproximity.c +++ b/source/blender/modifiers/intern/MOD_weightvgproximity.c @@@ -377,13 -377,16 +377,16 @@@ static void updateDepsgraph(ModifierDat { WeightVGProximityModifierData *wmd = (WeightVGProximityModifierData *)md; if (wmd->proximity_ob_target != NULL) { - DEG_add_object_relation(node, wmd->proximity_ob_target, DEG_OB_COMP_TRANSFORM, "WeightVGProximity Modifier"); - DEG_add_object_relation(node, wmd->proximity_ob_target, DEG_OB_COMP_GEOMETRY, "WeightVGProximity Modifier"); + DEG_add_object_relation(node, wmd->proximity_ob_target, DEG_COMPONENT_TRANSFORM, "WeightVGProximity Modifier"); ++ DEG_add_object_relation(node, wmd->proximity_ob_target, DEG_COMPONENT_GEOMETRY, "WeightVGProximity Modifier"); } if (wmd->mask_tex_map_obj != NULL && wmd->mask_tex_mapping == MOD_DISP_MAP_OBJECT) { - DEG_add_object_relation(node, wmd->mask_tex_map_obj, DEG_OB_COMP_TRANSFORM, "WeightVGProximity Modifier"); - DEG_add_object_relation(node, wmd->mask_tex_map_obj, DEG_OB_COMP_GEOMETRY, "WeightVGProximity Modifier"); + DEG_add_object_relation(node, wmd->mask_tex_map_obj, DEG_COMPONENT_TRANSFORM, "WeightVGProximity Modifier"); ++ DEG_add_object_relation(node, wmd->mask_tex_map_obj, DEG_COMPONENT_GEOMETRY, "Weight @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs