[Bf-blender-cvs] [0fdbda2] wiggly-widgets: Merge branch 'master' into wiggly-widgets

Julian Eisel noreply at git.blender.org
Sat Feb 6 21:23:50 CET 2016


Commit: 0fdbda2cfa8e582cd9ae520f70759d8abe90a6d5
Author: Julian Eisel
Date:   Sat Feb 6 21:18:49 2016 +0100
Branches: wiggly-widgets
https://developer.blender.org/rB0fdbda2cfa8e582cd9ae520f70759d8abe90a6d5

Merge branch 'master' into wiggly-widgets

Conflicts:
	source/blender/blenloader/intern/readfile.c
	source/blender/blenloader/intern/versioning_270.c
	source/blender/editors/include/ED_transform.h
	source/blender/editors/interface/resources.c
	source/blender/editors/space_sequencer/sequencer_draw.c
	source/blender/editors/transform/transform_manipulator.c
	source/blender/gpu/intern/gpu_buffers.c

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



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

diff --cc source/blender/blenloader/intern/readfile.c
index 558f7d9,2935b11..e072c41
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -3205,28 -3214,23 +3215,29 @@@ static void lib_link_pose(FileData *fd
  		
  		/* sync proxy active bone */
  		if (pose->proxy_act_bone[0]) {
- 			Bone *bone = BKE_armature_find_bone_name(arm, pose->proxy_act_bone);
- 			if (bone)
+ 			Bone *bone = BLI_ghash_lookup(bone_hash, pose->proxy_act_bone);
+ 			if (bone) {
  				arm->act_bone = bone;
+ 			}
  		}
  	}
- 	
- 	for (pchan = pose->chanbase.first; pchan; pchan=pchan->next) {
+ 
+ 	for (bPoseChannel *pchan = pose->chanbase.first; pchan; pchan = pchan->next) {
  		lib_link_constraints(fd, (ID *)ob, &pchan->constraints);
- 		
- 		/* hurms... loop in a loop, but yah... later... (ton) */
- 		pchan->bone = BKE_armature_find_bone_name(arm, pchan->name);
  
+ 		pchan->bone = BLI_ghash_lookup(bone_hash, pchan->name);
+ 		
 +		pchan->fmap_object = newlibadr_us(fd, arm->id.lib, pchan->fmap_object);
 +		if (pchan->fmap_object) {
 +			/* fix fmap pointer now that we've got updated fmap_object */
 +			pchan->fmap = fmap_find_name(pchan->fmap_object, pchan->fmap->name);
 +		}
 +
  		pchan->custom = newlibadr_us(fd, arm->id.lib, pchan->custom);
- 		if (pchan->bone == NULL)
- 			rebuild= 1;
- 		else if (ob->id.lib==NULL && arm->id.lib) {
+ 		if (UNLIKELY(pchan->bone == NULL)) {
+ 			rebuild = true;
+ 		}
+ 		else if ((ob->id.lib == NULL) && arm->id.lib) {
  			/* local pose selection copied to armature, bit hackish */
  			pchan->bone->flag &= ~BONE_SELECTED;
  			pchan->bone->flag |= pchan->selectflag;
diff --cc source/blender/blenloader/intern/versioning_270.c
index f436dd9,1ce9bca..c909b40
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@@ -1051,43 -1051,10 +1051,49 @@@ void blo_do_versions_270(FileData *fd, 
  		}
  	}
  
+ 	if (!MAIN_VERSION_ATLEAST(main, 276, 7)) {
+ 		Scene *scene;
+ 		for (scene = main->scene.first; scene != NULL; scene = scene->id.next) {
+ 			scene->r.bake.pass_filter = R_BAKE_PASS_FILTER_ALL;
+ 		}
+ 	}
 +
 +	{
 +		if (!DNA_struct_elem_find(fd->filesdna, "SpaceNode", "float", "backdrop_zoom")) {
 +			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, "SpaceIpo", "float", "backdrop_zoom")) {
 +			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_IPO) {
 +							SpaceIpo *sipo = (SpaceIpo *)sl;
 +							sipo->backdrop_zoom = 1.0f;
 +							sipo->backdrop_opacity = 0.7f;
 +						}
 +					}
 +				}
 +			}
 +		}
 +	}
  }
diff --cc source/blender/editors/include/ED_transform.h
index 555fb49,db8085a..b175f7f
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@@ -114,9 -109,7 +114,10 @@@ struct ScrArea
  struct Base;
  struct Scene;
  struct Object;
 +struct wmWidget;
 +struct wmWidgetGroup;
 +struct wmWidgetGroupType;
+ struct wmOperator;
  
  /* UNUSED */
  // int BIF_snappingSupported(struct Object *obedit);
diff --cc source/blender/editors/interface/resources.c
index 94c36a8,c23df5c..7d5abef
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@@ -2676,15 -2678,37 +2676,46 @@@ void init_userdef_do_versions(void
  		}
  	}
  
- 	if (!USER_VERSION_ATLEAST(276, 4)) {
+ 	if (!USER_VERSION_ATLEAST(276, 8)) {
+ 		bTheme *btheme;
+ 		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+ 			rgba_char_args_set(btheme->tui.wcol_progress.item, 128, 128, 128, 255);
+ 		}
+ 	}
+ 
+ 	if (!USER_VERSION_ATLEAST(276, 10)) {
+ 		bTheme *btheme;
+ 		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+ 			/* 3dView Keyframe Indicators */
+ 			rgba_char_args_set(btheme->tv3d.time_keyframe, 0xDD, 0xD7, 0x00, 1.0);
+ 			rgba_char_args_set(btheme->tv3d.time_gp_keyframe, 0xB5, 0xE6, 0x1D, 1.0);
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * Include next version bump.
+ 	 *
+ 	 * (keep this block even if it becomes empty).
+ 	 */
+ 	{
+ 		bTheme *btheme;
+ 		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+ 			if (memcmp(btheme->tui.wcol_list_item.item, btheme->tui.wcol_list_item.text_sel, sizeof(char) * 3) == 0) {
+ 				copy_v4_v4_char(btheme->tui.wcol_list_item.item, btheme->tui.wcol_text.item);
+ 				copy_v4_v4_char(btheme->tui.wcol_list_item.text_sel, btheme->tui.wcol_text.text_sel);
+ 			}
+ 		}
+ 	}
+ 
++	if (!USER_VERSION_ATLEAST(276, 11)) {
 +		bTheme *btheme;
 +		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
 +			rgba_char_args_set_fl(btheme->tui.xaxis, 1.0f, 0.27f, 0.27f, 1.0f); /* red */
 +			rgba_char_args_set_fl(btheme->tui.yaxis, 0.27f, 1.0f, 0.27f, 1.0f); /* green */
 +			rgba_char_args_set_fl(btheme->tui.zaxis, 0.27f, 0.27f, 1.0f, 1.0f); /* blue */
 +		}
 +	}
 +
  	if (U.pixelsize == 0.0f)
  		U.pixelsize = 1.0f;
  	
diff --cc source/blender/editors/space_sequencer/sequencer_draw.c
index 63b41d6,5793c8e..e5cd00f
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@@ -1218,8 -1219,8 +1219,8 @@@ void draw_image_seq(const bContext *C, 
  		}
  	}
  
 -	if (!draw_backdrop) {
 +	if (!draw_overdrop) {
- 		sequencer_draw_background(sseq, v2d, viewrect);
+ 		sequencer_draw_background(sseq, v2d, viewrect, draw_overlay);
  	}
  
  	if (scope) {
diff --cc source/blender/editors/transform/transform_manipulator.c
index cb7ee14,0f2af58..c3b2628
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@@ -1216,44 -1583,216 +1216,45 @@@ void WIDGETGROUP_manipulator_create(con
  				}
  				break;
  		}
 -	}
 -
 -	/* restore */
 -
 -	gluDeleteQuadric(qobj);
 -	glLoadMatrixf(rv3d->viewmat);
 -
 -	if (v3d->zbuf) glEnable(GL_DEPTH_TEST);
 -
 -}
 -
 -
 -/* ********************************************* */
  
 -/* main call, does calc centers & orientation too */
 -static int drawflags = 0xFFFF;       // only for the calls below, belongs in scene...?
 -
 -void BIF_draw_manipulator(const bContext *C)
 -{
 -	ScrArea *sa = CTX_wm_area(C);
 -	ARegion *ar = CTX_wm_region(C);
 -	Scene *scene = CTX_data_scene(C);
 -	View3D *v3d = sa->spacedata.first;
 -	RegionView3D *rv3d = ar->regiondata;
 -	int totsel;
 -
 -	const bool is_picksel = false;
 -
 -	if (!(v3d->twflag & V3D_USE_MANIPULATOR)) return;
 -
 -	if ((v3d->twtype & (V3D_MANIP_TRANSLATE | V3D_MANIP_ROTATE | V3D_MANIP_SCALE)) == 0) return;
 -
 -	{
 -		v3d->twflag &= ~V3D_DRAW_MANIPULATOR;
 -
 -		totsel = calc_manipulator_stats(C);
 -		if (totsel == 0) return;
 -
 -		v3d->twflag |= V3D_DRAW_MANIPULATOR;
 -
 -		/* now we can define center */
 -		switch (v3d->around) {
 -			case V3D_AROUND_CENTER_BOUNDS:
 -			case V3D_AROUND_ACTIVE:
 -			{
 -				bGPdata *gpd = CTX_data_gpencil_data(C);
 -				Object *ob = OBACT;
 -
 -				if (((v3d->around == V3D_AROUND_ACTIVE) && (scene->obedit == NULL)) &&
 -				    ((gpd == NULL) || !(gpd->flag & GP_DATA_STROKE_EDITMODE)) &&
 -				    (!(ob->mode & OB_MODE_POSE)))
 -				{
 -					copy_v3_v3(rv3d->twmat[3], ob->obmat[3]);
 -				}
 -				else {
 -					mid_v3_v3v3(rv3d->twmat[3], scene->twmin, scene->twmax);
 -				}
 +		switch (axis_type) {
 +			case MAN_AXES_TRANSLATE:
 +				ptr = WM_widget_set_operator(axis, "TRANSFORM_OT_translate");
  				break;
 -			}
 -			case V3D_AROUND_LOCAL_ORIGINS:
 -			case V3D_AROUND_CENTER_MEAN:
 -				copy_v3_v3(rv3d->twmat[3], scene->twcent);
 +			case MAN_AXES_ROTATE:
 +				ptr = WM_widget_set_operator(axis, "TRANSFORM_OT_rotate");
  				break;
 -			case V3D_AROUND_CURSOR:
 -				copy_v3_v3(rv3d->twmat[3], ED_view3d_cursor3d_get(scene, v3d));
 +			case MAN_AXES_SCALE:
 +				ptr = WM_widget_set_operator(axis, "TRANSFORM_OT_resize");
  				break;
  		}
 -
 -		mul_mat3_m4_fl(rv3d->twmat, ED_view3d_pixel_size(rv3d, rv3d->twmat[3]) * U.tw_size);
 +		RNA_boolean_set_array(ptr, "constraint_axis", constraint_axis);
 +		RNA_boolean_set(ptr, "release_confirm", 1);
  	}
 +	MAN_ITER_AXES_END;
  
 -	/* when looking through a selected camera, the manipulator can be at the
 -	 * exact same position as the view, skip so we don't break selection */
 -	if (fabsf(mat4_to_scale(rv3d->twmat)) < 1e-7f)
 -		return;
 -
 -	test_manipulator_axis(C);
 -	drawflags = rv3d->twdrawflag;    /* set in calc_manipulator_stats */
 -
 -	if (v3d->twflag & V3D_DRAW_MANIPULATOR) {
 -
 -		glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 -		glEnable(GL_BLEND);
 -		if (v3d->twtype & V3D_MANIP_ROTATE) {
 -
 -			if (G.debug_value == 3) {
 -				if (G.moving & (G_TRANSFORM_OBJ | G_TRANSFORM_EDIT))
 -					draw_manipulator_rotate_cyl(v3d, rv3d, drawflags, v3d->twtype, MAN_MOVECOL, true, is_picksel);
 -				else
 -					draw_manipulator_rotate_cyl(v3d, rv3d, drawflags, v3d->twtype, MAN_RGB, false, is_picksel);
 -			}
 -			else {
 -				draw_manipulator_rotate(v3d, rv3d, drawflags, v3d->twtype, false, is_picksel);
 -			}
 -		}
 -		if (v3d->twtype & V3D_MANIP_SCALE) {
 -			draw_manipulator_scale(v3d, rv3d, drawflags, v3d->twtype, MAN_RGB, false, is_picksel);
 -		}
 -		if (v3d->twtype & V3D_MANIP_TRANSLATE) {
 -			draw_manipulator_translate(v3d, rv3d, drawflags, v3d->twtype, MAN_RGB, false, is_picksel);
 -		}
 -
 -		glDisable(GL_BLEND);
 -	}
 +	MEM_freeN(man);
  }
  
 -static int manipulator_selectbuf(ScrArea *sa, ARegion *ar, const int mval[2], float hotspot)
 +int WIDGETGROUP_manipulator_poll(const struct bContext *C, struct wmWidgetGroupType *UNUSED(wgrouptype))
  {
 -	View3D *v3d = sa->spacedata.first;
 -	RegionVie

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list