[Bf-blender-cvs] [a80c7c7] temp_localview_split: Merge branch 'master' into temp_localview_split

Julian Eisel noreply at git.blender.org
Thu Aug 4 05:08:35 CEST 2016


Commit: a80c7c73e38559cd6312ce0c14030f1841f9c49a
Author: Julian Eisel
Date:   Thu Aug 4 05:08:19 2016 +0200
Branches: temp_localview_split
https://developer.blender.org/rBa80c7c73e38559cd6312ce0c14030f1841f9c49a

Merge branch 'master' into temp_localview_split

Conflicts:
	source/blender/blenloader/intern/readfile.c
	source/blender/blenloader/intern/versioning_270.c
	source/blender/editors/screen/screen_context.c
	source/blender/editors/space_view3d/drawmesh.c
	source/blender/editors/space_view3d/space_view3d.c

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



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

diff --cc source/blender/blenloader/intern/readfile.c
index bbcf1c6,52ca852..1049f5a
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -144,9 -144,8 +144,9 @@@
  #include "BKE_sequencer.h"
  #include "BKE_outliner_treehash.h"
  #include "BKE_sound.h"
+ #include "BKE_colortools.h"
 +#include "BKE_utildefines.h"
  
- 
  #include "NOD_common.h"
  #include "NOD_socket.h"
  
diff --cc source/blender/blenloader/intern/versioning_270.c
index 014f8be,c4fec3e..3b3d86b
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@@ -1270,25 -1223,102 +1262,121 @@@ void blo_do_versions_270(FileData *fd, 
  				br->flag |= BRUSH_ACCUMULATE;
  			}
  		}
+ 
+ 		if (!DNA_struct_elem_find(fd->filesdna, "ClothSimSettings", "float", "time_scale")) {
+ 			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->time_scale = 1.0f;
+ 					}
+ 					else if (md->type == eModifierType_ParticleSystem) {
+ 						ParticleSystemModifierData *pmd = (ParticleSystemModifierData *)md;
+ 						if (pmd->psys->clmd) {
+ 							pmd->psys->clmd->sim_parms->time_scale = 1.0f;
+ 						}
+ 					}
+ 				}
+ 			}
+ 		}
+ 	}
+ 
+ 	if (!MAIN_VERSION_ATLEAST(main, 277, 3)) {
+ 		/* ------- init of grease pencil initialization --------------- */
+ 		if (!DNA_struct_elem_find(fd->filesdna, "bGPDstroke", "bGPDpalettecolor", "palcolor")) {
+ 			for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
+ 				ToolSettings *ts = scene->toolsettings;
+ 				/* initialize use position for sculpt brushes */
+ 				ts->gp_sculpt.flag |= GP_BRUSHEDIT_FLAG_APPLY_POSITION;
+ 				/* initialize  selected vertices alpha factor */
+ 				ts->gp_sculpt.alpha = 1.0f;
+ 
+ 				/* new strength sculpt brush */
+ 				if (ts->gp_sculpt.brush[0].size >= 11) {
+ 					GP_BrushEdit_Settings *gset = &ts->gp_sculpt;
+ 					GP_EditBrush_Data *brush;
+ 
+ 					brush = &gset->brush[GP_EDITBRUSH_TYPE_STRENGTH];
+ 					brush->size = 25;
+ 					brush->strength = 0.5f;
+ 					brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF;
+ 				}
+ 			}
+ 			/* create a default grease pencil drawing brushes set */
+ 			if (!BLI_listbase_is_empty(&main->gpencil)) {
+ 				for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
+ 					ToolSettings *ts = scene->toolsettings;
+ 					if (BLI_listbase_is_empty(&ts->gp_brushes)) {
+ 						gpencil_brush_init_presets(ts);
+ 					}
+ 				}
+ 			}
+ 			/* Convert Grease Pencil to new palettes/brushes
+ 			 * Loop all strokes and create the palette and all colors
+ 			 */
+ 			for (bGPdata *gpd = main->gpencil.first; gpd; gpd = gpd->id.next) {
+ 				if (BLI_listbase_is_empty(&gpd->palettes)) {
+ 					/* create palette */
+ 					bGPDpalette *palette = gpencil_palette_addnew(gpd, "GP_Palette", true);
+ 					for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
+ 						/* create color using layer name */
+ 						bGPDpalettecolor *palcolor = gpencil_palettecolor_addnew(palette, gpl->info, true);
+ 						if (palcolor != NULL) {
+ 							/* set color attributes */
+ 							copy_v4_v4(palcolor->color, gpl->color);
+ 							copy_v4_v4(palcolor->fill, gpl->fill);
+ 							palcolor->flag = gpl->flag;
+ 							/* set layer opacity to 1 */
+ 							gpl->opacity = 1.0f;
+ 							/* set tint color */
+ 							ARRAY_SET_ITEMS(gpl->tintcolor, 0.0f, 0.0f, 0.0f, 0.0f);
+ 
+ 							for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) {
+ 								for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) {
+ 									/* set stroke to palette and force recalculation */
+ 									strcpy(gps->colorname, gpl->info);
+ 									gps->palcolor = NULL;
+ 									gps->flag |= GP_STROKE_RECALC_COLOR;
+ 									gps->thickness = gpl->thickness;
+ 									/* set alpha strength to 1 */
+ 									for (int i = 0; i < gps->totpoints; i++) {
+ 										gps->points[i].strength = 1.0f;
+ 									}
+ 
+ 								}
+ 							}
+ 						}
+ 						/* set thickness to 0 (now it is a factor to override stroke thickness) */
+ 						gpl->thickness = 0.0f;
+ 					}
+ 					/* set first color as active */
+ 					if (palette->colors.first)
+ 						gpencil_palettecolor_setactive(palette, palette->colors.first);
+ 				}
+ 			}
+ 		}
+ 		/* ------- end of grease pencil initialization --------------- */
  	}
  
 +	{
 +		if (!DNA_struct_elem_find(fd->filesdna, "View3D", "LocalViewAreaData", "localviewd")) {
 +			for (bScreen *screen = main->screen.first; screen; screen = screen->id.next) {
 +				for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
 +					for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) {
 +						if (sl->spacetype == SPACE_VIEW3D) {
 +							ListBase *lb = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase;
 +							do_version_localview_areadata((View3D *)sl);
 +							for (ARegion *ar = lb->first; ar; ar = ar->next) {
 +								if (ar->regiontype == RGN_TYPE_WINDOW) {
 +									do_version_localview_regiondata(ar->regiondata);
 +								}
 +							}
 +						}
 +					}
 +				}
 +			}
 +		}
 +	}
  }
diff --cc source/blender/editors/screen/screen_context.c
index 1dcd569,5da4a77..c4f19aa
--- a/source/blender/editors/screen/screen_context.c
+++ b/source/blender/editors/screen/screen_context.c
@@@ -131,17 -117,14 +132,17 @@@ int ed_screen_context(const bContext *C
  	}
  	else if (CTX_data_equals(member, "visible_objects") || CTX_data_equals(member, "visible_bases")) {
  		const unsigned int lay = context_layers(sc, scene, sa);
 +		const LocalViewInfo localviews = context_localviews(sc, sa);
- 		int visible_objects = CTX_data_equals(member, "visible_objects");
+ 		const bool visible_objects = CTX_data_equals(member, "visible_objects");
  
  		for (base = scene->base.first; base; base = base->next) {
 -			if (((base->object->restrictflag & OB_RESTRICT_VIEW) == 0) && (base->lay & lay)) {
 -				if (visible_objects)
 -					CTX_data_id_list_add(result, &base->object->id);
 -				else
 -					CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base);
 +			if ((base->object->restrictflag & OB_RESTRICT_VIEW) == 0) {
 +				if (LAYER_AND_LOCALVIEW_CHECK(localviews, base, lay)) {
 +					if (visible_objects)
 +						CTX_data_id_list_add(result, &base->object->id);
 +					else
 +						CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base);
 +				}
  			}
  		}
  		CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION);
@@@ -149,12 -132,11 +150,12 @@@
  	}
  	else if (CTX_data_equals(member, "selectable_objects") || CTX_data_equals(member, "selectable_bases")) {
  		const unsigned int lay = context_layers(sc, scene, sa);
 +		const LocalViewInfo localviews = context_localviews(sc, sa);
- 		int selectable_objects = CTX_data_equals(member, "selectable_objects");
+ 		const bool selectable_objects = CTX_data_equals(member, "selectable_objects");
  
  		for (base = scene->base.first; base; base = base->next) {
 -			if (base->lay & lay) {
 -				if ((base->object->restrictflag & OB_RESTRICT_VIEW) == 0 && (base->object->restrictflag & OB_RESTRICT_SELECT) == 0) {
 +			if ((base->object->restrictflag & (OB_RESTRICT_VIEW | OB_RESTRICT_SELECT)) == 0) {
 +				if (LAYER_AND_LOCALVIEW_CHECK(localviews, base, lay)) {
  					if (selectable_objects)
  						CTX_data_id_list_add(result, &base->object->id);
  					else
@@@ -167,17 -149,14 +168,17 @@@
  	}
  	else if (CTX_data_equals(member, "selected_objects") || CTX_data_equals(member, "selected_bases")) {
  		const unsigned int lay = context_layers(sc, scene, sa);
 +		const LocalViewInfo localviews = context_localviews(sc, sa);
- 		int selected_objects = CTX_data_equals(member, "selected_objects");
+ 		const bool selected_objects = CTX_data_equals(member, "selected_objects");
  
  		for (base = scene->base.first; base; base = base->next) {
 -			if ((base->flag & SELECT) && (base->lay & lay)) {
 -				if (selected_objects)
 -					CTX_data_id_list_add(result, &base->object->id);
 -				else
 -					CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base);
 +			if ((base->flag & SELECT)) {
 +				if (LAYER_AND_LOCALVIEW_CHECK(localviews, base, lay)) {
 +					if (selected_objects)
 +						CTX_data_id_list_add(result, &base->object->id);
 +					else
 +						CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base);
 +				}
  			}
  		}
  		CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION);
@@@ -185,12 -164,11 +186,12 @@@
  	}
  	else if (CTX_data_equals(member, "selected_editable_objects") || CTX_data_equals(member, "selected_editable_bases")) {
  		const unsigned int lay = context_layers(sc, scene, sa);
 +		const LocalViewInfo localviews = context_localviews(sc, sa);
- 		int selected_editable_objects = CTX_data_equals(member, "selected_editable_objects");
+ 		const bool selected_editable_objects = CTX_data_equals(member, "selected_editable_objects");
  
  		for (base = scene->base.first; base; base = base->next) {
 -			if ((base->flag & SELECT) && (base->lay & lay)) {
 -				if ((base->object->restrictflag & OB_RESTRICT_VIEW) == 0) {
 +			if ((base->flag & SELECT) && (base->object->restrictflag & OB_RESTRICT_VIEW) == 0) {
 +				if (LAYER_AND_LOCALVIEW_CHECK(localviews, base, lay)) {
  					if (0 == BKE_object_is_libdata(base->object)) {
  						if (selected_editable_objects)
  							CTX_data_id_list_add(result, &base->object->id);
@@@ -205,19 -183,16 +206,19 @@@
  	}
  	else if (CTX_data_equals(member, "editable_objects") || CTX_data_equals(member, "editable_bases")) {
  		const unsigned int lay = context_layers(sc, scene, sa);
 +		const LocalViewInfo localviews = context_localviews(sc, sa);
- 		int editable_objects = CTX_data_equals(member, "editable_objects");
+ 		const bool editable_objects = CTX_data_equals(member, "editable_objects");
 -		
 +
  		/* Visible + Editable, but not necessarily selected */
  		for (base = scene->base.first; base; base = base->next) {
 -			if (((base->object->restrictflag & OB_RESTRICT_VIEW) == 0) && (base->lay & lay)) {
 -				if (0 == BKE_object_is_libdata(base->object)) {
 -				

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list