[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28594] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28583 :28593

Campbell Barton ideasman42 at gmail.com
Wed May 5 17:49:38 CEST 2010


Revision: 28594
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28594
Author:   campbellbarton
Date:     2010-05-05 17:49:37 +0200 (Wed, 05 May 2010)

Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28583:28593

Modified Paths:
--------------
    branches/render25/release/scripts/ui/properties_object.py
    branches/render25/source/blender/blenkernel/intern/implicit.c
    branches/render25/source/blender/blenkernel/intern/subsurf_ccg.c
    branches/render25/source/blender/blenloader/intern/readfile.c
    branches/render25/source/blender/editors/animation/anim_markers.c
    branches/render25/source/blender/editors/object/object_add.c
    branches/render25/source/blender/editors/object/object_constraint.c
    branches/render25/source/blender/editors/object/object_group.c
    branches/render25/source/blender/editors/object/object_intern.h
    branches/render25/source/blender/editors/object/object_ops.c
    branches/render25/source/blender/editors/object/object_relations.c
    branches/render25/source/blender/editors/space_logic/logic_ops.c
    branches/render25/source/blender/editors/space_logic/logic_window.c
    branches/render25/source/blender/editors/space_nla/nla_edit.c
    branches/render25/source/blender/editors/transform/transform_constraints.c
    branches/render25/source/blender/makesdna/DNA_object_types.h
    branches/render25/source/blender/makesdna/DNA_space_types.h
    branches/render25/source/blender/makesrna/RNA_enum_types.h
    branches/render25/source/blender/makesrna/intern/rna_actuator.c
    branches/render25/source/blender/makesrna/intern/rna_object.c
    branches/render25/source/blender/makesrna/intern/rna_sensor.c
    branches/render25/source/blender/makesrna/intern/rna_space.c
    branches/render25/source/blender/python/generic/blf_api.c
    branches/render25/source/blender/windowmanager/intern/wm_operators.c
    branches/render25/source/gameengine/Ketsji/KX_PythonInit.cpp
    branches/render25/source/gameengine/Ketsji/KX_PythonInit.h

Modified: branches/render25/release/scripts/ui/properties_object.py
===================================================================
--- branches/render25/release/scripts/ui/properties_object.py	2010-05-05 15:41:38 UTC (rev 28593)
+++ branches/render25/release/scripts/ui/properties_object.py	2010-05-05 15:49:37 UTC (rev 28594)
@@ -153,13 +153,11 @@
         ob = context.object
         wide_ui = context.region.width > narrowui
 
-        if wide_ui:
-            split = layout.split()
-            split.operator_menu_enum("object.group_add", "group")
-            split.label()
-        else:
-            layout.operator_menu_enum("object.group_add", "group")
+        split = layout.split(percentage=0.8, align=True)
+        split.operator("object.group_link", text="Link to Group")
+        split.operator("object.group_add", text="", icon='ZOOMIN')
 
+        # XXX, this is bad practice, yes, I wrote it :( - campbell
         index = 0
         value = str(tuple(context.scene.cursor_location))
         for group in bpy.data.groups:

Modified: branches/render25/source/blender/blenkernel/intern/implicit.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/implicit.c	2010-05-05 15:41:38 UTC (rev 28593)
+++ branches/render25/source/blender/blenkernel/intern/implicit.c	2010-05-05 15:49:37 UTC (rev 28594)
@@ -1816,7 +1816,9 @@
 	float dt = clmd->sim_parms->timescale / clmd->sim_parms->stepsPerFrame, spf = (float)clmd->sim_parms->stepsPerFrame / clmd->sim_parms->timescale;
 	Implicit_Data *id = cloth->implicit;
 	int result = 0;
-	
+if(spf == 0.0f) {
+    printf("WHEE\n");
+}
 	if(clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_GOAL) /* do goal stuff */
 	{
 		for(i = 0; i < numverts; i++)
@@ -1869,7 +1871,7 @@
 			{	
 				VECCOPY(verts[i].txold, verts[i].tx);
 				VECCOPY(verts[i].tx, id->Xnew[i]);
-				
+
 				/*apply goal forces*/
 				if((clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_GOAL) &&
 				   !(verts [i].flags & CLOTH_VERT_FLAG_PINNED))

Modified: branches/render25/source/blender/blenkernel/intern/subsurf_ccg.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/subsurf_ccg.c	2010-05-05 15:41:38 UTC (rev 28593)
+++ branches/render25/source/blender/blenkernel/intern/subsurf_ccg.c	2010-05-05 15:49:37 UTC (rev 28594)
@@ -844,6 +844,7 @@
 		for(x = 1; x < edgeSize - 1; x++, i++) {
 			vd= ccgSubSurf_getEdgeData(ss, e, x);
 			copy_v3_v3(mvert[i].co, vd->co);
+			/* XXX, This gives errors with -fpe, the normals dont seem to be unit length - campbell */
 			normal_float_to_short_v3(mvert[i].no, vd->no);
 		}
 	}

Modified: branches/render25/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/render25/source/blender/blenloader/intern/readfile.c	2010-05-05 15:41:38 UTC (rev 28593)
+++ branches/render25/source/blender/blenloader/intern/readfile.c	2010-05-05 15:49:37 UTC (rev 28594)
@@ -12162,7 +12162,9 @@
 	/* which one do we need? */
 	mainl = blo_find_main(*fd, &(*fd)->mainlist, dir, G.sce);
 	
-	mainl->versionfile= (*fd)->fileversion;	/* needed for do_version */
+	/* needed for do_version */
+	mainl->versionfile= (*fd)->fileversion;
+	read_file_version(*fd, mainl);
 	
 	return mainl;
 }

Modified: branches/render25/source/blender/editors/animation/anim_markers.c
===================================================================
--- branches/render25/source/blender/editors/animation/anim_markers.c	2010-05-05 15:41:38 UTC (rev 28593)
+++ branches/render25/source/blender/editors/animation/anim_markers.c	2010-05-05 15:49:37 UTC (rev 28594)
@@ -1069,7 +1069,7 @@
 static int ed_marker_make_links_scene_exec(bContext *C, wmOperator *op)
 {
 	ListBase *markers= context_get_markers(C);
-	Scene *scene_to= BLI_findlink(&CTX_data_main(C)->scene, RNA_enum_get(op->ptr, "type"));
+	Scene *scene_to= BLI_findlink(&CTX_data_main(C)->scene, RNA_enum_get(op->ptr, "scene"));
 	TimeMarker *marker, *marker_new;
 
 	if(scene_to==NULL) {
@@ -1110,7 +1110,7 @@
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 
 	/* properties */
-	prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, 0, "Type", "");
+	prop= RNA_def_enum(ot->srna, "scene", DummyRNA_NULL_items, 0, "Scene", "");
 	RNA_def_enum_funcs(prop, RNA_scene_itemf);
 
 }

Modified: branches/render25/source/blender/editors/object/object_add.c
===================================================================
--- branches/render25/source/blender/editors/object/object_add.c	2010-05-05 15:41:38 UTC (rev 28593)
+++ branches/render25/source/blender/editors/object/object_add.c	2010-05-05 15:49:37 UTC (rev 28594)
@@ -850,7 +850,7 @@
 
 static int group_instance_add_exec(bContext *C, wmOperator *op)
 {
-	Group *group= BLI_findlink(&CTX_data_main(C)->group, RNA_enum_get(op->ptr, "type"));
+	Group *group= BLI_findlink(&CTX_data_main(C)->group, RNA_enum_get(op->ptr, "group"));
 
 	int enter_editmode;
 	unsigned int layer;
@@ -895,7 +895,7 @@
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 
 	/* properties */
-	prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, 0, "Type", "");
+	prop= RNA_def_enum(ot->srna, "group", DummyRNA_NULL_items, 0, "Group", "");
 	RNA_def_enum_funcs(prop, RNA_group_itemf);
 	ot->prop= prop;
 	ED_object_add_generic_props(ot, FALSE);

Modified: branches/render25/source/blender/editors/object/object_constraint.c
===================================================================
--- branches/render25/source/blender/editors/object/object_constraint.c	2010-05-05 15:41:38 UTC (rev 28593)
+++ branches/render25/source/blender/editors/object/object_constraint.c	2010-05-05 15:49:37 UTC (rev 28594)
@@ -527,8 +527,12 @@
 {
 	Object *ob = ED_object_active_context(C);
 	bConstraint *con = edit_constraint_property_get(C, op, ob, CONSTRAINT_TYPE_STRETCHTO);
-	bStretchToConstraint *data= (bStretchToConstraint *)con->data;
-
+	bStretchToConstraint *data= (con) ? (bStretchToConstraint *)con->data : NULL;
+	
+	/* despite 3 layers of checks, we may still not be able to find a constraint */
+	if (data == NULL)
+		return OPERATOR_CANCELLED;
+	
 	/* just set original length to 0.0, which will cause a reset on next recalc */
 	data->orglength = 0.0f;
 	ED_object_constraint_update(ob);
@@ -566,8 +570,12 @@
 {
 	Object *ob = ED_object_active_context(C);
 	bConstraint *con = edit_constraint_property_get(C, op, ob, CONSTRAINT_TYPE_DISTLIMIT);
-	bDistLimitConstraint *data= (bDistLimitConstraint *)con->data;
+	bDistLimitConstraint *data= (con) ? (bDistLimitConstraint *)con->data : NULL;
 	
+	/* despite 3 layers of checks, we may still not be able to find a constraint */
+	if (data == NULL)
+		return OPERATOR_CANCELLED;
+	
 	/* just set original length to 0.0, which will cause a reset on next recalc */
 	data->dist = 0.0f;
 	ED_object_constraint_update(ob);
@@ -601,22 +609,19 @@
 }
 
 /* ------------- Child-Of Constraint ------------------ */
-#if 0 // unused
-static int childof_poll(bContext *C)
-{
-	PointerRNA ptr= CTX_data_pointer_get_type(C, "constraint", &RNA_ChildOfConstraint);
-	return (ptr.id.data && ptr.data);
-}
-#endif
 /* ChildOf Constraint - set inverse callback */
 static int childof_set_inverse_exec (bContext *C, wmOperator *op)
 {
 	Scene *scene= CTX_data_scene(C);
 	Object *ob = ED_object_active_context(C);
 	bConstraint *con = edit_constraint_property_get(C, op, ob, CONSTRAINT_TYPE_CHILDOF);
-	bChildOfConstraint *data= (bChildOfConstraint *)con->data;
+	bChildOfConstraint *data= (con) ? (bChildOfConstraint *)con->data : NULL;
 	bPoseChannel *pchan= NULL;
-
+	
+	/* despite 3 layers of checks, we may still not be able to find a constraint */
+	if (data == NULL)
+		return OPERATOR_CANCELLED;
+	
 	/* try to find a pose channel */
 	// TODO: get from context instead?
 	if (ob && ob->pose)
@@ -694,7 +699,7 @@
 {
 	Object *ob = ED_object_active_context(C);
 	bConstraint *con = edit_constraint_property_get(C, op, ob, CONSTRAINT_TYPE_CHILDOF);
-	bChildOfConstraint *data= (bChildOfConstraint *)con->data;
+	bChildOfConstraint *data= (con) ? (bChildOfConstraint *)con->data : NULL;
 	
 	/* simply clear the matrix */
 	unit_m4(data->invmat);

Modified: branches/render25/source/blender/editors/object/object_group.c
===================================================================
--- branches/render25/source/blender/editors/object/object_group.c	2010-05-05 15:41:38 UTC (rev 28593)
+++ branches/render25/source/blender/editors/object/object_group.c	2010-05-05 15:49:37 UTC (rev 28594)
@@ -52,6 +52,7 @@
 
 #include "RNA_access.h"
 #include "RNA_define.h"
+#include "RNA_enum_types.h"
 
 #include "object_intern.h"
 
@@ -224,84 +225,71 @@
 
 static int group_add_exec(bContext *C, wmOperator *op)
 {
-	Main *bmain= CTX_data_main(C);
 	Scene *scene= CTX_data_scene(C);
 	Object *ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
-	Base *base;
 	Group *group;
-	int value= RNA_enum_get(op->ptr, "group");
 
-	if(!ob)
+	if(ob == NULL)
 		return OPERATOR_CANCELLED;
-	
-	base= object_in_scene(ob, scene);
-	if(!base)
-		return OPERATOR_CANCELLED;
-	
-	if(value == -1)
-		group= add_group( "Group" );
-	else
-		group= BLI_findlink(&bmain->group, value);
 
-	if(group) {
-		add_to_group(group, ob, scene, NULL); /* base will be used if found */
-	}
+    group= add_group("Group");
+    add_to_group(group, ob, scene, NULL);
 
 	WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
-	
+
 	return OPERATOR_FINISHED;
 }
 
-static EnumPropertyItem group_items[]= {
-	{-1, "ADD_NEW", 0, "Add New Group", ""},
-	{0, NULL, 0, NULL, NULL}};
-
-static EnumPropertyItem *group_itemf(bContext *C, PointerRNA *ptr, int *free)
-{	
-	Main *bmain= CTX_data_main(C);
-	Group *group;
-	EnumPropertyItem tmp = {0, "", 0, "", ""};
-	EnumPropertyItem *item= NULL;
-	int a, totitem= 0;
+void OBJECT_OT_group_add(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Add to Group";
+	ot->idname= "OBJECT_OT_group_add";
+	ot->description = "Add an object to a new group";
 	
-	RNA_enum_items_add_value(&item, &totitem, group_items, -1);
+	/* api callbacks */
+	ot->exec= group_add_exec;
 
-	if (bmain) {
-		if(bmain->group.first)
-			RNA_enum_item_add_separator(&item, &totitem);
+	/* flags */
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
 
-		for(a=0, group=bmain->group.first; group; group=group->id.next, a++) {
-			tmp.value= a;
-			tmp.identifier= group->id.name+2;
-			tmp.name= group->id.name+2;
-			RNA_enum_item_add(&item, &totitem, &tmp);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list