[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56869] tags/blender-2.67a-release/blender : svn merge ^/trunk/blender -c56857 -c56863 -c56865 -c56868

Campbell Barton ideasman42 at gmail.com
Fri May 17 09:00:22 CEST 2013


Revision: 56869
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56869
Author:   campbellbarton
Date:     2013-05-17 07:00:21 +0000 (Fri, 17 May 2013)
Log Message:
-----------
svn merge ^/trunk/blender -c56857 -c56863 -c56865 -c56868

Modified Paths:
--------------
    tags/blender-2.67a-release/blender/release/scripts/startup/bl_ui/properties_game.py
    tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/node.c
    tags/blender-2.67a-release/blender/source/blender/editors/include/ED_mesh.h
    tags/blender-2.67a-release/blender/source/blender/editors/mesh/editmesh_loopcut.c
    tags/blender-2.67a-release/blender/source/blender/editors/transform/transform_ops.c
    tags/blender-2.67a-release/blender/source/blender/makesdna/DNA_node_types.h
    tags/blender-2.67a-release/blender/source/blender/makesrna/intern/rna_scene.c

Property Changed:
----------------
    tags/blender-2.67a-release/blender/


Property changes on: tags/blender-2.67a-release/blender
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573
/trunk/blender:56529-56532,56534,56537-56539,56572,56577,56581,56601,56605-56606,56620,56639,56643,56647-56648,56650-56651,56653-56654,56661-56663,56668,56670-56674,56676,56678-56680,56682,56688-56689,56698,56700,56707,56711,56735,56745,56747-56749,56755-56756,56759-56760,56763,56766-56767,56773,56778,56783-56785,56790-56791,56793,56800,56806-56807,56809,56815-56816,56820,56823,56826,56828,56830,56833-56834,56836,56839,56851
   + /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573
/trunk/blender:56529-56532,56534,56537-56539,56572,56577,56581,56601,56605-56606,56620,56639,56643,56647-56648,56650-56651,56653-56654,56661-56663,56668,56670-56674,56676,56678-56680,56682,56688-56689,56698,56700,56707,56711,56735,56745,56747-56749,56755-56756,56759-56760,56763,56766-56767,56773,56778,56783-56785,56790-56791,56793,56800,56806-56807,56809,56815-56816,56820,56823,56826,56828,56830,56833-56834,56836,56839,56851,56857,56863,56865,56868

Modified: tags/blender-2.67a-release/blender/release/scripts/startup/bl_ui/properties_game.py
===================================================================
--- tags/blender-2.67a-release/blender/release/scripts/startup/bl_ui/properties_game.py	2013-05-17 00:39:37 UTC (rev 56868)
+++ tags/blender-2.67a-release/blender/release/scripts/startup/bl_ui/properties_game.py	2013-05-17 07:00:21 UTC (rev 56869)
@@ -619,11 +619,9 @@
 
         gs = context.scene.game_settings
 
-        layout.prop(gs, "physics_engine")
+        layout.prop(gs, "physics_engine", text="Engine")
         if gs.physics_engine != 'NONE':
-            col = layout.column()
-            col.prop(gs, "physics_gravity", text="Gravity")
-            col.prop(gs, "occlusion_culling_resolution", text="Culling Resolution")
+            layout.prop(gs, "physics_gravity", text="Gravity")
 
             split = layout.split()
 
@@ -645,6 +643,12 @@
             sub.prop(gs, "deactivation_angular_threshold", text="Angular Threshold")
             sub = col.row()
             sub.prop(gs, "deactivation_time", text="Time")
+            
+            col = layout.column()
+            col.prop(gs, "use_occlusion_culling", text="Occlusion Culling")
+            sub = col.column()
+            sub.active = gs.use_occlusion_culling
+            sub.prop(gs, "occlusion_culling_resolution", text="Resolution")
 
         else:
             split = layout.split()

Modified: tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/node.c	2013-05-17 00:39:37 UTC (rev 56868)
+++ tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/node.c	2013-05-17 07:00:21 UTC (rev 56869)
@@ -2278,30 +2278,41 @@
 	return node;
 }
 
-/* two active flags, ID nodes have special flag for buttons display */
-bNode *nodeGetActiveID(bNodeTree *ntree, short idtype)
+static bNode *node_get_active_id_recursive(bNodeInstanceKey active_key, bNodeInstanceKey parent_key, bNodeTree *ntree, short idtype)
 {
-	bNode *node, *tnode;
-	
-	if (ntree == NULL) return NULL;
-
-	for (node = ntree->nodes.first; node; node = node->next)
-		if (node->id && GS(node->id->name) == idtype)
-			if (node->flag & NODE_ACTIVE_ID)
-				return node;
-	
-	/* no node with active ID in this tree, look inside groups */
-	for (node = ntree->nodes.first; node; node = node->next) {
-		if (node->type == NODE_GROUP) {
-			tnode = nodeGetActiveID((bNodeTree *)node->id, idtype);
-			if (tnode)
-				return tnode;
+	if (parent_key.value == active_key.value) {
+		bNode *node;
+		for (node = ntree->nodes.first; node; node = node->next)
+			if (node->id && GS(node->id->name) == idtype)
+				if (node->flag & NODE_ACTIVE_ID)
+					return node;
+	}
+	else {
+		bNode *node, *tnode;
+		/* no node with active ID in this tree, look inside groups */
+		for (node = ntree->nodes.first; node; node = node->next) {
+			if (node->type == NODE_GROUP) {
+				bNodeTree *group = (bNodeTree *)node->id;
+				bNodeInstanceKey group_key = BKE_node_instance_key(parent_key, ntree, node);
+				tnode = node_get_active_id_recursive(active_key, group_key, group, idtype);
+				if (tnode)
+					return tnode;
+			}
 		}
 	}
 	
 	return NULL;
 }
 
+/* two active flags, ID nodes have special flag for buttons display */
+bNode *nodeGetActiveID(bNodeTree *ntree, short idtype)
+{
+	if (ntree)
+		return node_get_active_id_recursive(ntree->active_viewer_key, NODE_INSTANCE_KEY_BASE, ntree, idtype);
+	else
+		return NULL;
+}
+
 bool nodeSetActiveID(bNodeTree *ntree, short idtype, ID *id)
 {
 	bNode *node;

Modified: tags/blender-2.67a-release/blender/source/blender/editors/include/ED_mesh.h
===================================================================
--- tags/blender-2.67a-release/blender/source/blender/editors/include/ED_mesh.h	2013-05-17 00:39:37 UTC (rev 56868)
+++ tags/blender-2.67a-release/blender/source/blender/editors/include/ED_mesh.h	2013-05-17 07:00:21 UTC (rev 56869)
@@ -308,6 +308,8 @@
 #define ED_MESH_PICK_DEFAULT_VERT_SIZE 50
 #define ED_MESH_PICK_DEFAULT_FACE_SIZE 3
 
+#define USE_LOOPSLIDE_HACK
+
 #ifdef __cplusplus
 }
 #endif

Modified: tags/blender-2.67a-release/blender/source/blender/editors/mesh/editmesh_loopcut.c
===================================================================
--- tags/blender-2.67a-release/blender/source/blender/editors/mesh/editmesh_loopcut.c	2013-05-17 00:39:37 UTC (rev 56868)
+++ tags/blender-2.67a-release/blender/source/blender/editors/mesh/editmesh_loopcut.c	2013-05-17 07:00:21 UTC (rev 56869)
@@ -443,6 +443,21 @@
 		loopcut_update_edge(lcd, e, 0);
 	}
 
+#ifdef USE_LOOPSLIDE_HACK
+	/* for use in macro so we can restore, HACK */
+	{
+		Scene *scene = CTX_data_scene(C);
+		ToolSettings *settings = scene->toolsettings;
+		int mesh_select_mode[3] = {
+		    (settings->selectmode & SCE_SELECT_VERTEX) != 0,
+		    (settings->selectmode & SCE_SELECT_EDGE)   != 0,
+		    (settings->selectmode & SCE_SELECT_FACE)   != 0,
+		};
+
+		RNA_boolean_set_array(op->ptr, "mesh_select_mode_init", mesh_select_mode);
+	}
+#endif
+
 	if (is_interactive) {
 		ScrArea *sa = CTX_wm_area(C);
 		ED_area_headerprint(sa, IFACE_("Select a ring to be cut, use mouse-wheel or page-up/down for number of cuts, "
@@ -652,4 +667,9 @@
 
 	prop = RNA_def_int(ot->srna, "edge_index", -1, -1, INT_MAX, "Number of Cuts", "", 0, INT_MAX);
 	RNA_def_property_flag(prop, PROP_HIDDEN);
+
+#ifdef USE_LOOPSLIDE_HACK
+	prop = RNA_def_boolean_array(ot->srna, "mesh_select_mode_init", 3, NULL, "", "");
+	RNA_def_property_flag(prop, PROP_HIDDEN);
+#endif
 }

Modified: tags/blender-2.67a-release/blender/source/blender/editors/transform/transform_ops.c
===================================================================
--- tags/blender-2.67a-release/blender/source/blender/editors/transform/transform_ops.c	2013-05-17 00:39:37 UTC (rev 56868)
+++ tags/blender-2.67a-release/blender/source/blender/editors/transform/transform_ops.c	2013-05-17 07:00:21 UTC (rev 56869)
@@ -50,6 +50,7 @@
 #include "UI_resources.h"
 
 #include "ED_screen.h"
+#include "ED_mesh.h"
 
 #include "transform.h"
 
@@ -292,8 +293,48 @@
 	RNA_def_boolean(ot->srna, "overwrite", 0, "Overwrite previous", "Overwrite previously created orientation with same name");
 }
 
+
+#ifdef USE_LOOPSLIDE_HACK
+/**
+ * Special hack for MESH_OT_loopcut_slide so we get back to the selection mode
+ */
+static void transformops_loopsel_hack(bContext *C, wmOperator *op)
+{
+	if (op->type->idname == OP_EDGE_SLIDE) {
+		if (op->opm && op->opm->opm && op->opm->opm->prev) {
+			wmOperator *op_prev = op->opm->opm->prev;
+			Scene *scene = CTX_data_scene(C);
+			int mesh_select_mode[3];
+			PropertyRNA *prop = RNA_struct_find_property(op_prev->ptr, "mesh_select_mode_init");
+
+			if (RNA_property_is_set(op_prev->ptr, prop)) {
+				ToolSettings *ts = scene->toolsettings;
+				short selectmode_orig;
+
+				RNA_property_boolean_get_array(op_prev->ptr, prop, mesh_select_mode);
+				selectmode_orig = ((mesh_select_mode[0] ? SCE_SELECT_VERTEX : 0) |
+				                   (mesh_select_mode[1] ? SCE_SELECT_EDGE   : 0) |
+				                   (mesh_select_mode[2] ? SCE_SELECT_FACE   : 0));
+
+				/* still switch if we were originally in face select mode */
+				if ((ts->selectmode != selectmode_orig) && (selectmode_orig != SCE_SELECT_FACE)) {
+					BMEditMesh *em = BKE_editmesh_from_object(scene->obedit);
+					em->selectmode = ts->selectmode = selectmode_orig;
+					EDBM_selectmode_set(em);
+				}
+			}
+		}
+	}
+}
+#endif  /* USE_LOOPSLIDE_HACK */
+
+
 static void transformops_exit(bContext *C, wmOperator *op)
 {
+#ifdef USE_LOOPSLIDE_HACK
+	transformops_loopsel_hack(C, op);
+#endif
+
 	saveTransform(C, op->customdata, op);
 	MEM_freeN(op->customdata);
 	op->customdata = NULL;

Modified: tags/blender-2.67a-release/blender/source/blender/makesdna/DNA_node_types.h
===================================================================

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list