[Bf-blender-cvs] [cc67f8e] gooseberry: Merge branch 'master' into gooseberry

Lukas Tönne noreply at git.blender.org
Tue Dec 30 12:35:20 CET 2014


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[])




More information about the Bf-blender-cvs mailing list