Commit: b755c3ea9fa82ade59396c4777b6d373768f5530
Author: Julian Eisel
Date:   Fri Aug 19 23:31:57 2016 +0200
Branches: soc-2016-layer_manager
https://developer.blender.org/rBb755c3ea9fa82ade59396c4777b6d373768f5530

Merge branch 'master' into soc-2016-layer_manager

Conflicts:
        source/blender/blenkernel/intern/depsgraph.c
        source/blender/blenkernel/intern/object_dupli.c
        source/blender/blenloader/intern/versioning_270.c
        source/blender/modifiers/intern/MOD_cloth.c
        source/blender/modifiers/intern/MOD_dynamicpaint.c
        source/blender/modifiers/intern/MOD_smoke.c

===================================================================



===================================================================

diff --cc source/blender/blenkernel/intern/effect.c
index e925976,7e6897a..c85cdc5
--- a/source/blender/blenkernel/intern/effect.c
+++ b/source/blender/blenkernel/intern/effect.c
@@@ -203,11 -207,12 +208,11 @@@ static void add_particles_to_effectors(
  
  /* returns ListBase handle with objects taking part in the effecting */
  ListBase *pdInitEffectors(Scene *scene, Object *ob_src, ParticleSystem 
*psys_src,
-                           EffectorWeights *weights, bool precalc)
+                           EffectorWeights *weights, bool for_simulation)
  {
 -      Base *base;
        unsigned int layer= ob_src->lay;
        ListBase *effectors = NULL;
 -      
 +
        if (weights->group) {
                GroupObject *go;
                
@@@ -226,11 -231,10 +231,11 @@@
                }
        }
        else {
 -              for (base = scene->base.first; base; base= base->next) {
 +              BKE_BASES_ITER_START(scene, base)
 +              {
                        if ( (base->lay & layer) ) {
                                if ( base->object->pd && 
base->object->pd->forcefield )
-                                       add_object_to_effectors(&effectors, 
scene, weights, base->object, ob_src);
+                                       add_object_to_effectors(&effectors, 
scene, weights, base->object, ob_src, for_simulation);
  
                                if ( base->object->particlesystem.first ) {
                                        ParticleSystem *psys= 
base->object->particlesystem.first;
@@@ -240,10 -244,9 +245,10 @@@
                                }
                        }
                }
 +              BKE_BASES_ITER_END;
        }
        
-       if (precalc)
+       if (for_simulation)
                pdPrecalculateEffectors(effectors);
        
        return effectors;
diff --cc source/blender/blenkernel/intern/object_dupli.c
index 642dfff,14cc5ec..a9c9a4c
--- a/source/blender/blenkernel/intern/object_dupli.c
+++ b/source/blender/blenkernel/intern/object_dupli.c
@@@ -237,8 -240,9 +241,9 @@@ static void make_child_duplis(const Dup
        }
        else {
                unsigned int lay = ctx->scene->lay;
+               int baseid = 0;
 -              Base *base;
 -              for (base = ctx->scene->base.first; base; base = base->next, 
baseid++) {
 +              BKE_BASES_ITER_START(ctx->scene, base)
 +              {
                        Object *ob = base->object;
  
                        if ((base->lay & lay) && ob != obedit && is_child(ob, 
parent)) {
@@@ -246,10 -253,9 +254,11 @@@
                                if (ob->type != OB_MBALL)
                                        ob->flag |= OB_DONE;  /* doesnt render 
*/
  
-                               make_child_duplis_cb(ctx, userdata, ob);
+                               make_child_duplis_cb(&pctx, userdata, ob);
                        }
++                      baseid++;
                }
 +              BKE_BASES_ITER_END;
        }
  }
  
diff --cc source/blender/blenloader/intern/versioning_270.c
index 27e0714,f6ac42c..af455e2
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@@ -1323,21 -1342,41 +1344,59 @@@ void blo_do_versions_270(FileData *fd, 
                /* ------- end of grease pencil initialization --------------- 
*/
        }
  
+       {
+               if (!DNA_struct_elem_find(fd->filesdna, "MovieTrackingTrack", 
"float", "weight_stab")) {
+                       MovieClip *clip;
+                       for (clip = main->movieclip.first; clip; clip = 
clip->id.next) {
+                               MovieTracking *tracking = &clip->tracking;
+                               MovieTrackingObject *tracking_object;
+                               for (tracking_object = tracking->objects.first;
+                                    tracking_object != NULL;
+                                    tracking_object = tracking_object->next)
+                               {
+                                       ListBase *tracksbase = 
BKE_tracking_object_get_tracks(tracking, tracking_object);
+                                       MovieTrackingTrack *track;
+                                       for (track = tracksbase->first;
+                                            track != NULL;
+                                            track = track->next)
+                                       {
+                                               track->weight_stab = 
track->weight;
+                                       }
+                               }
+                       }
+               }
+ 
+               if (!DNA_struct_elem_find(fd->filesdna, 
"MovieTrackingStabilization", "int", "tot_rot_track")) {
+                       MovieClip *clip;
+                       for (clip = main->movieclip.first; clip != NULL; clip = 
clip->id.next) {
+                               if (clip->tracking.stabilization.rot_track) {
+                                       
migrate_single_rot_stabilization_track_settings(&clip->tracking.stabilization);
+                                       if 
(!clip->tracking.stabilization.scale) {
+                                               /* ensure init.
+                                                * Was previously used for 
autoscale only,
+                                                * now used always (as "target 
scale") */
+                                               
clip->tracking.stabilization.scale = 1.0f;
+                                       }
+                               }
+                       }
+               }
+       }
++
 +      /* Convert to new layer system */
 +      if (!MAIN_VERSION_ATLEAST(main, 277, 4)) {
 +              if (!DNA_struct_elem_find(fd->filesdna, "Scene", "LayerTree", 
"*object_layers")) {
 +                      for (Scene *sce = main->scene.first; sce; sce = 
sce->id.next) {
 +                              sce->object_layers = BKE_objectlayer_tree_new();
 +
 +                              
BKE_objectlayer_base_entries_reserve(sce->object_layers->active_layer, 
BLI_listbase_count(&sce->base));
 +                              /* For now, simply create a new layer and move 
all objects into it */
 +                              for (Base *base = sce->base.first, *base_next; 
base; base = base_next) {
 +                                      base_next = base->next;
 +                                      BKE_objectlayer_base_assign_ex(base, 
sce->object_layers->active_layer, true, false);
 +                                      base->prev = base->next = NULL;
 +                              }
 +                              BLI_listbase_clear(&sce->base);
 +                      }
 +              }
 +      }
  }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to