Commit: cc67f8e492c2bfc3285289b2204178f10a55e2c9
Author: Lukas Tönne
Date:   Tue Dec 30 12:29:34 2014 +0100
Branches: gooseberry
https://developer.blender.org/rBcc67f8e492c2bfc3285289b2204178f10a55e2c9

Merge branch 'master' into gooseberry

Conflicts:
        source/blender/blenloader/intern/versioning_270.c
        source/blender/makesrna/intern/rna_modifier.c

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



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

diff --cc source/blender/blenloader/intern/versioning_270.c
index f724cd6,e6e4375..5e69654
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@@ -436,53 -435,27 +436,76 @@@ void blo_do_versions_270(FileData *fd, 
                        }
                }
        }
 +      
 +      if (!DNA_struct_elem_find(fd->filesdna, "ClothSimSettings", "float", 
"bending_damping")) {
 +              Object *ob;
 +              ModifierData *md;
 +              for (ob = main->object.first; ob; ob = ob->id.next) {
 +                      for (md = ob->modifiers.first; md; md = md->next) {
 +                              if (md->type == eModifierType_Cloth) {
 +                                      ClothModifierData *clmd = 
(ClothModifierData*) md;
 +                                      clmd->sim_parms->bending_damping = 0.5f;
 +                              }
 +                              else if (md->type == 
eModifierType_ParticleSystem) {
 +                                      ParticleSystemModifierData *pmd = 
(ParticleSystemModifierData*) md;
 +                                      if (pmd->psys->clmd) {
 +                                              
pmd->psys->clmd->sim_parms->bending_damping = 0.5f;
 +                                      }
 +                              }
 +                      }
 +              }
 +      }
 +
 +      if (!MAIN_VERSION_ATLEAST(main, 272, 3)) {
 +              bScreen *sc;
 +              for (sc = main->screen.first; sc; sc = sc->id.next) {
 +                      ScrArea *sa;
 +                      for (sa = sc->areabase.first; sa; sa = sa->next) {
 +                              SpaceLink *sl;
 +                              for (sl = sa->spacedata.first; sl; sl = 
sl->next) {
 +                                      if (sl->spacetype == SPACE_NODE) {
 +                                              SpaceNode *snode = (SpaceNode 
*)sl;
 +                                              snode->backdrop_zoom = 1.0;
 +                                      }
 +                                      if (sl->spacetype == SPACE_SEQ) {
 +                                              SpaceSeq *sseq = (SpaceSeq *)sl;
 +                                              sseq->overdrop_zoom = 1.0;
 +                                      }
 +                                      
 +                              }
 +                      }
 +              }
 +      }
 +              
 +      if (!DNA_struct_elem_find(fd->filesdna, "ParticleSystem", "float", 
"hair_preview_factor")) {
 +              Object *ob;
 +              ParticleSystem *psys;
 +              for (ob = main->object.first; ob; ob = ob->id.next) {
 +                      for(psys = ob->particlesystem.first; psys; psys = 
psys->next)
 +                              psys->hair_preview_factor = 100.0f;
 +              }
 +      }
+ 
+       if (!MAIN_VERSION_ATLEAST(main, 273, 1)) {
+ #define       BRUSH_RAKE (1 << 7)
+ #define BRUSH_RANDOM_ROTATION (1 << 25)
+ 
+               Brush *br;
+ 
+               for (br = main->brush.first; br; br = br->id.next) {
+                       if (br->flag & BRUSH_RAKE) {
+                               br->mtex.brush_angle_mode |= MTEX_ANGLE_RAKE;
+                               br->mask_mtex.brush_angle_mode |= 
MTEX_ANGLE_RAKE;
+                       }
+                       else if (br->flag & BRUSH_RANDOM_ROTATION) {
+                               br->mtex.brush_angle_mode |= MTEX_ANGLE_RANDOM;
+                               br->mask_mtex.brush_angle_mode |= 
MTEX_ANGLE_RANDOM;
+                       }
+                       br->mtex.random_angle = 2.0f * M_PI;
+                       br->mask_mtex.random_angle = 2.0f * M_PI;
+               }
+ 
+ #undef BRUSH_RAKE
+ #undef BRUSH_RANDOM_ROTATION
+       }
  }
diff --cc source/blender/makesrna/intern/rna_modifier.c
index 157b932,cc7c978..2ecebad
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@@ -605,28 -605,40 +606,62 @@@ static int rna_LaplacianDeformModifier_
        return ((lmd->flag & MOD_LAPLACIANDEFORM_BIND) && (lmd->cache_system != 
NULL));
  }
  
 +static int rna_ClothModifier_show_debug_data_get(PointerRNA *ptr)
 +{
 +      ClothModifierData *clmd = (ClothModifierData *)ptr->data;
 +      return clmd->debug_data != NULL;
 +}
 +
 +static void rna_ClothModifier_show_debug_data_set(PointerRNA *ptr, int value)
 +{
 +      ClothModifierData *clmd = (ClothModifierData *)ptr->data;
 +      if (value) {
 +              if (!clmd->debug_data) {
 +                      clmd->debug_data = BKE_sim_debug_data_new();
 +              }
 +      }
 +      else {
 +              if (clmd->debug_data) {
 +                      BKE_sim_debug_data_free(clmd->debug_data);
 +                      clmd->debug_data = NULL;
 +              }
 +      }
 +}
 +
+ /* NOTE: Curve and array modifiers requires curve path to be evaluated,
+  * dependency graph will make sure that curve eval would create such a path,
+  * but if curve was already evaluated we might miss path.
+  *
+  * So what we do here is: if path was not calculated for target curve we
+  * tag it for update.
+  */
+ 
+ static void rna_CurveModifier_dependency_update(Main *bmain, Scene *scene, 
PointerRNA *ptr)
+ {
+       CurveModifierData *cmd = (CurveModifierData *)ptr->data;
+       rna_Modifier_update(bmain, scene, ptr);
+       DAG_relations_tag_update(bmain);
+       if (cmd->object != NULL) {
+               Curve *curve = cmd->object->data;
+               if ((curve->flag & CU_PATH) == 0) {
+                       DAG_id_tag_update(&curve->id, OB_RECALC_DATA);
+               }
+       }
+ }
+ 
+ static void rna_ArrayModifier_dependency_update(Main *bmain, Scene *scene, 
PointerRNA *ptr)
+ {
+       ArrayModifierData *amd = (ArrayModifierData *)ptr->data;
+       rna_Modifier_update(bmain, scene, ptr);
+       DAG_relations_tag_update(bmain);
+       if (amd->curve_ob != NULL) {
+               Curve *curve = amd->curve_ob->data;
+               if ((curve->flag & CU_PATH) == 0) {
+                       DAG_id_tag_update(&curve->id, OB_RECALC_DATA);
+               }
+       }
+ }
+ 
  #else
  
  static PropertyRNA *rna_def_property_subdivision_common(StructRNA *srna, 
const char type[])

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

Reply via email to