[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