[Bf-blender-cvs] [e4bc201] temp_merge_gooseberry_hair: Fixed a couple of small merge errors.

Lukas Tönne noreply at git.blender.org
Mon Jan 19 20:52:20 CET 2015


Commit: e4bc2013ea879571d325e9a27cb2198b3de0e0a8
Author: Lukas Tönne
Date:   Mon Jan 19 20:43:00 2015 +0100
Branches: temp_merge_gooseberry_hair
https://developer.blender.org/rBe4bc2013ea879571d325e9a27cb2198b3de0e0a8

Fixed a couple of small merge errors.

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

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



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

diff --cc source/blender/blenkernel/BKE_blender.h
index 0215bec,8cd4e25..3053c99
--- a/source/blender/blenkernel/BKE_blender.h
+++ b/source/blender/blenkernel/BKE_blender.h
@@@ -41,8 -41,8 +41,8 @@@ extern "C" 
  /* these lines are grep'd, watch out for our not-so-awesome regex
   * and keep comment above the defines.
   * Use STRINGIFY() rather than defining with quotes */
 -#define BLENDER_VERSION         272
 +#define BLENDER_VERSION         273
- #define BLENDER_SUBVERSION      2
+ #define BLENDER_SUBVERSION      3
  /* 262 was the last editmesh release but it has compatibility code for bmesh data */
  #define BLENDER_MINVERSION      270
  #define BLENDER_MINSUBVERSION   5
diff --cc source/blender/blenloader/intern/versioning_270.c
index bde3f0f,b77a6fd..c652f56
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@@ -435,41 -437,60 +435,97 @@@ void blo_do_versions_270(FileData *fd, 
  			}
  		}
  	}
 +
 +	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
 +	}
 +
 +	/* Customizable Safe Areas */
 +	if (!MAIN_VERSION_ATLEAST(main, 273, 2)) {
 +		if (!DNA_struct_elem_find(fd->filesdna, "Scene", "DisplaySafeAreas", "safe_areas")) {
 +			Scene *scene;
 +
 +			for (scene = main->scene.first; scene; scene = scene->id.next) {
 +				copy_v2_fl2(scene->safe_areas.title, 3.5f / 100.0f, 3.5f / 100.0f);
 +				copy_v2_fl2(scene->safe_areas.action, 10.0f / 100.0f, 5.0f / 100.0f);
 +				copy_v2_fl2(scene->safe_areas.title_center, 17.5f / 100.0f, 5.0f / 100.0f);
 +				copy_v2_fl2(scene->safe_areas.action_center, 15.0f / 100.0f, 5.0f / 100.0f);
 +			}
 +		}
 +	}
+ 	
+ 	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 (!DNA_struct_elem_find(fd->filesdna, "ParticleSettings", "float", "clump_noise_size")) {
+ 		ParticleSettings *part;
+ 		for (part = main->particle.first; part; part = part->id.next) {
+ 			part->clump_noise_size = 1.0f;
+ 		}
+ 	}
+ 
+ 	if (!DNA_struct_elem_find(fd->filesdna, "ParticleSettings", "int", "kink_extra_steps")) {
+ 		ParticleSettings *part;
+ 		for (part = main->particle.first; part; part = part->id.next) {
+ 			part->kink_extra_steps = 4;
+ 		}
+ 	}
+ 
+ 	if (!DNA_struct_elem_find(fd->filesdna, "MTex", "float", "kinkampfac")) {
+ 		ParticleSettings *part;
+ 		for (part = main->particle.first; part; part = part->id.next) {
+ 			int a;
+ 			for (a = 0; a < MAX_MTEX; a++) {
+ 				MTex *mtex = part->mtex[a];
+ 				if (mtex) {
+ 					mtex->kinkampfac = 1.0f;
+ 				}
+ 			}
+ 		}
+ 	}
+ 
+ 	if (!MAIN_VERSION_ATLEAST(main, 273, 3)) {
+ 		ParticleSettings *part;
+ 		for (part = main->particle.first; part; part = part->id.next) {
+ 			if (part->clumpcurve)
+ 				part->child_flag |= PART_CHILD_USE_CLUMP_CURVE;
+ 			if (part->roughcurve)
+ 				part->child_flag |= PART_CHILD_USE_ROUGH_CURVE;
+ 		}
+ 	}
  }
diff --cc source/blender/makesdna/DNA_particle_types.h
index dd25a49,0440819..95cb5c8
--- a/source/blender/makesdna/DNA_particle_types.h
+++ b/source/blender/makesdna/DNA_particle_types.h
@@@ -215,6 -218,8 +218,8 @@@ typedef struct ParticleSettings 
  	/* kink */
  	float kink_amp, kink_freq, kink_shape, kink_flat;
  	float kink_amp_clump;
 -	int kink_extra_steps, pad;
++	int kink_extra_steps, pad4;
+ 	float kink_axis_random, kink_amp_random;
  	/* rough */
  	float rough1, rough1_size;
  	float rough2, rough2_size, rough2_thres;
@@@ -246,7 -257,7 +257,7 @@@
  
  	/* modified dm support */
  	short use_modifier_stack;
--	short pad[3];
++	short pad5[3];
  
  } ParticleSettings;
  
diff --cc source/blender/makesrna/intern/rna_modifier.c
index c412fd4,da640c6..e195c0e
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@@ -43,11 -43,8 +43,12 @@@
  #include "BLF_translation.h"
  
  #include "BKE_animsys.h"
 +#include "BKE_data_transfer.h"
 +#include "BKE_DerivedMesh.h"
  #include "BKE_dynamicpaint.h"
+ #include "BKE_effect.h"
 +#include "BKE_mesh_mapping.h"
 +#include "BKE_mesh_remap.h"
  #include "BKE_multires.h"
  #include "BKE_smoke.h" /* For smokeModifier_free & smokeModifier_createType */
  
@@@ -719,299 -605,28 +720,320 @@@ static int rna_LaplacianDeformModifier_
  	return ((lmd->flag & MOD_LAPLACIANDEFORM_BIND) && (lmd->cache_system != 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);
 +		}
 +	}
 +}
 +
+ 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;
+ 		}
+ 	}
+ }
  
 +static void rna_DataTransferModifier_use_data_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 +{
 +	DataTransferModifierData *dtmd = (DataTransferModifierData *)ptr->data;
 +
 +	if (!(dtmd->flags & MOD_DATATRANSFER_USE_VERT)) {
 +		dtmd->data_types &= ~DT_TYPE_VERT_ALL;
 +	}
 +	if (!(dtmd->flags & MOD_DATATRANSFER_USE_EDGE)) {
 +		dtmd->data_types &= ~DT_TYPE_EDGE_ALL;
 +	}
 +	if (!(dtmd->flags & MOD_DATATRANSFER_USE_LOOP)) {
 +		dtmd->data_types &= ~DT_TYPE_LOOP_ALL;
 +	}
 +	if (!(dtmd->flags & MOD_DATATRANSFER_USE_POLY)) {
 +		dtmd->data_types &= ~DT_TYPE_POLY_ALL;
 +	}
 +
 +	rna_Modifier_update(bmain, scene, ptr);
 +}
 +
 +static void rna_DataTransferModifier_data_types_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 +{
 +	DataTransferModifierData *dtmd = (DataTransferModifierData *)ptr->data;
 +	const int item_types = BKE_object_data_transfer_get_dttypes_item_types(dtmd->data_types);
 +
 +	if (item_types & ME_VERT) {
 +		dtmd->flags |= MOD_DATATRANSFER_USE_VERT;
 +	}
 +	if (item_types & ME_EDGE) {
 +		dtmd->flags |= MOD_DATATRANSFER_USE_EDGE;
 +	}
 +	if (item_types & ME_LOOP) {
 +		dtmd->flags |= MOD_DATATRANSFER_USE_LOOP;
 +	}
 +	if (item_types & ME_POLY) {
 +		dtmd->flags |= MOD_DATATRANSFER_USE_POLY;
 +	}
 +
 +	rna_Modifier_update(bmain, scene, ptr);
 +}
 +
 +static EnumPropertyItem *rna_DataTransferModifier_layers_select_src_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free)
 +{
 +	DataTransferModifierData *dtmd = (DataTransferModifierData *)ptr->data;
 +	EnumPropertyItem *item = NULL, tmp_item = {0};
 +	int totitem = 0;
 +
 +	if (!C) {  /* needed for docs and i18n tools */
 +		return DT_layers_select_src_items;
 +	}
 +
 +	/* No active here! */
 +	RNA_enum_items_add_value(&item, &totitem, DT_layers_select_src_items, DT_LAYERS_ALL_SRC);
 +
 +	if (STREQ(RNA_property_identifier(prop), "layers_vgroup_select_src")) {
 +		Object *ob_src = dtmd->ob_source;
 +
 +#if 0  /* XXX Don't think we want this in modifier version... */
 +		if (BKE_object_pose_armature_get(ob_src)) {
 +			RNA_enum_items_add_value(&item, &totitem, DT_layers_select_src_items, DT_LAYERS_VGROUP_SRC_BONE_SELECT);
 +			RNA_enum_items_add_value(&item, &totitem, DT_layers_select_src_items, DT_LAYERS_VGROUP_SRC_BONE_DEFORM);
 +		}
 +#endif
 +
 +		if (ob_src) {
 +			bDeformGroup *dg;
 +			int i;
 +
 +			RNA_enum_item_add_separator(&item, &totitem);
 +
 +			for (i = 0, dg = ob_src->defbase.first; dg; i++, dg = dg->next) {
 +				tmp_item.value = i;
 +				tmp_item.identifier = tmp_item.name = dg->name;
 +				RNA_enum_item_add(&item, &totitem, &tmp_item);
 +			}
 +		}
 +	}
 +	else if (STREQ(RNA_property_identifier(prop), "layers_shapekey_select_src")) {
 +		/* TODO */
 +	}
 +	else if (STREQ(RNA_property_identifier(prop), "layers_uv_select_src")) {
 +		Object *ob_src = dtmd->ob_source;
 +
 +		if (ob_src) {
 +			DerivedMesh *dm_src;
 +			CustomData *pdata;
 +			int num_data, i;
 +
 +			/* XXX Is this OK? */
 +			dm_src = mesh_get_derived_final(dtmd->modifier.scene, ob_src, CD_MASK_BAREMESH | CD_MTE

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list