[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11607] branches/2-44-stable/blender/ source/blender: branches/2-44-stable
Diego Borghetti (Plumiferos)
bdiego at gmail.com
Wed Aug 15 06:32:40 CEST 2007
Revision: 11607
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11607
Author: bdiego
Date: 2007-08-15 06:32:40 +0200 (Wed, 15 Aug 2007)
Log Message:
-----------
branches/2-44-stable
Merge from trunk:
revision 11549
revision 11558
revision 11570
revision 11573
revision 11576
revision 11580
revision 11585
revision 11589
Revision Links:
--------------
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11549
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11558
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11570
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11573
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11576
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11580
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11585
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11589
Modified Paths:
--------------
branches/2-44-stable/blender/source/blender/include/BSE_node.h
branches/2-44-stable/blender/source/blender/src/drawview.c
branches/2-44-stable/blender/source/blender/src/editarmature.c
branches/2-44-stable/blender/source/blender/src/editnode.c
branches/2-44-stable/blender/source/blender/src/editscreen.c
branches/2-44-stable/blender/source/blender/src/header_info.c
branches/2-44-stable/blender/source/blender/src/multires.c
branches/2-44-stable/blender/source/blender/src/outliner.c
branches/2-44-stable/blender/source/blender/src/space.c
Modified: branches/2-44-stable/blender/source/blender/include/BSE_node.h
===================================================================
--- branches/2-44-stable/blender/source/blender/include/BSE_node.h 2007-08-15 00:48:33 UTC (rev 11606)
+++ branches/2-44-stable/blender/source/blender/include/BSE_node.h 2007-08-15 04:32:40 UTC (rev 11607)
@@ -71,6 +71,7 @@
void snode_make_group_editable(struct SpaceNode *snode, struct bNode *gnode);
void node_hide(struct SpaceNode *snode);
void node_read_renderlayers(struct SpaceNode *snode);
+void clear_scene_in_nodes(struct Scene *sce);
void node_transform_ext(int mode, int unused);
void node_shader_default(struct Material *ma);
Modified: branches/2-44-stable/blender/source/blender/src/drawview.c
===================================================================
--- branches/2-44-stable/blender/source/blender/src/drawview.c 2007-08-15 00:48:33 UTC (rev 11606)
+++ branches/2-44-stable/blender/source/blender/src/drawview.c 2007-08-15 04:32:40 UTC (rev 11607)
@@ -2223,10 +2223,14 @@
uiDefIDPoinBut(block, test_obpoin_but, ID_OB, B_OBJECTPANELPARENT, "Par:", 160, 180, 140, 20, &ob->parent, "Parent Object");
if((ob->parent) && (ob->partype == PARBONE)) {
if (G.f & G_SCULPTMODE)
- uiDefBut(block, TEX, B_OBJECTPANELPARENT, "ParBone:", 310, 180, 140, 20, ob->parsubstr, 0.0, 32.0, 0, 0, "");
+ uiDefBut(block, TEX, B_OBJECTPANELPARENT, "ParBone:", 310, 180, 140, 20, ob->parsubstr, 0, 30, 0, 0, "");
else
- uiDefBut(block, TEX, B_OBJECTPANELPARENT, "ParBone:", 160, 160, 140, 20, ob->parsubstr, 0.0, 32.0, 0, 0, "");
+ uiDefBut(block, TEX, B_OBJECTPANELPARENT, "ParBone:", 160, 160, 140, 20, ob->parsubstr, 0, 30, 0, 0, "");
}
+ else {
+ strcpy(ob->parsubstr, "");
+ }
+ uiBlockEndAlign(block);
}
lim= 10000.0f*MAX2(1.0, G.vd->grid);
@@ -2912,7 +2916,6 @@
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glPushMatrix();
glTranslatef(pd->origloc[0], pd->origloc[1], 0);
Modified: branches/2-44-stable/blender/source/blender/src/editarmature.c
===================================================================
--- branches/2-44-stable/blender/source/blender/src/editarmature.c 2007-08-15 00:48:33 UTC (rev 11606)
+++ branches/2-44-stable/blender/source/blender/src/editarmature.c 2007-08-15 04:32:40 UTC (rev 11607)
@@ -343,12 +343,17 @@
ListBase list;
EditBone *ebone;
bArmature *arm;
-
+ float scale; /* store the scale of the matrix here to use on envelopes */
arm = get_armature(ob);
- if (!arm)
+ if (!arm) {
return;
-
+ } else {
+ float tmp[3] = {1.0, 1.0, 1.0};
+ Mat3MulVecfl(mat, tmp);
+ scale = (fabs(tmp[0]) + fabs(tmp[1]) + fabs(tmp[2])) / 3.0f;
+ }
+
/* Put the armature into editmode */
list.first= list.last = NULL;
make_boneList(&list, &arm->bonebase, NULL);
@@ -357,6 +362,10 @@
for (ebone = list.first; ebone; ebone=ebone->next){
Mat3MulVecfl(mat, ebone->head);
Mat3MulVecfl(mat, ebone->tail);
+
+ ebone->rad_head *= scale;
+ ebone->rad_tail *= scale;
+ ebone->dist *= scale;
}
/* Turn the list into an armature */
Modified: branches/2-44-stable/blender/source/blender/src/editnode.c
===================================================================
--- branches/2-44-stable/blender/source/blender/src/editnode.c 2007-08-15 00:48:33 UTC (rev 11606)
+++ branches/2-44-stable/blender/source/blender/src/editnode.c 2007-08-15 04:32:40 UTC (rev 11607)
@@ -1909,6 +1909,33 @@
snode_handle_recalc(snode);
}
+/* called from header_info, when deleting a scene
+ * goes over all scenes other than the input, checks if they have
+ * render layer nodes referencing the to-be-deleted scene, and
+ * resets them to NULL. */
+void clear_scene_in_nodes(Scene *sce)
+{
+ Scene *sce1;
+ bNode *node;
+
+ sce1= G.main->scene.first;
+ while(sce1) {
+ if(sce1!=sce) {
+ if (sce1->nodetree) {
+ for(node= sce1->nodetree->nodes.first; node; node= node->next) {
+ if(node->type==CMP_NODE_R_LAYERS) {
+ Scene *nodesce= (Scene *)node->id;
+
+ if (nodesce==sce) node->id = NULL;
+ }
+ }
+ }
+ }
+ sce1= sce1->id.next;
+ }
+}
+
+
/* gets active viewer user */
struct ImageUser *ntree_get_active_iuser(bNodeTree *ntree)
{
Modified: branches/2-44-stable/blender/source/blender/src/editscreen.c
===================================================================
--- branches/2-44-stable/blender/source/blender/src/editscreen.c 2007-08-15 00:48:33 UTC (rev 11606)
+++ branches/2-44-stable/blender/source/blender/src/editscreen.c 2007-08-15 04:32:40 UTC (rev 11607)
@@ -3111,7 +3111,7 @@
}
}
- if (first || mval[0]!=mvalo[0] || mval[1]!=mvalo[1]) {
+ if (first || (dir=='v' && mval[0]!=mvalo[0]) || (dir=='h' && mval[1]!=mvalo[1])) {
if (!first) {
scrarea_draw_splitpoint(sa, dir, fac);
}
@@ -3387,7 +3387,7 @@
{
ScrVert *v1;
ScrArea *sa;
- short mvalo[2];
+ short mvalo[2], mval_prev=-1;
short edge_start, edge_end, edge_position;
short bigger, smaller, headery, areaminy;
int delta, doit;
@@ -3476,13 +3476,18 @@
short mval[2];
getmouseco_sc(mval);
-
- draw_front_xor_dirdist_line(dir, edge_position+delta, edge_start, edge_end);
+ if ((dir=='h' && mval_prev != mval[1]) || (dir=='v' && mval_prev != mval[0])) {
+ /* update the previous val with this one for comparison next loop */
+ if (dir=='h') mval_prev = mval[1];
+ else mval_prev = mval[0];
+
+ draw_front_xor_dirdist_line(dir, edge_position+delta, edge_start, edge_end);
- delta= (dir=='h')?(mval[1]-mvalo[1]):(mval[0]-mvalo[0]);
- delta= CLAMPIS(delta, -smaller, bigger);
- draw_front_xor_dirdist_line(dir, edge_position+delta, edge_start, edge_end);
- bglFlush();
+ delta= (dir=='h')?(mval[1]-mvalo[1]):(mval[0]-mvalo[0]);
+ delta= CLAMPIS(delta, -smaller, bigger);
+ draw_front_xor_dirdist_line(dir, edge_position+delta, edge_start, edge_end);
+ bglFlush();
+ }
}
else if (event==LEFTMOUSE) {
doit= 1;
Modified: branches/2-44-stable/blender/source/blender/src/header_info.c
===================================================================
--- branches/2-44-stable/blender/source/blender/src/header_info.c 2007-08-15 00:48:33 UTC (rev 11606)
+++ branches/2-44-stable/blender/source/blender/src/header_info.c 2007-08-15 04:32:40 UTC (rev 11607)
@@ -106,6 +106,7 @@
#include "BSE_editipo.h"
#include "BSE_filesel.h"
#include "BSE_headerbuttons.h"
+#include "BSE_node.h"
#include "BSE_sequence.h"
#include "BSE_edit.h"
@@ -496,6 +497,9 @@
/* check all sequences */
clear_scene_in_allseqs(G.scene);
+ /* check render layer nodes in other scenes */
+ clear_scene_in_nodes(G.scene);
+
/* al screens */
sc= G.main->screen.first;
while(sc) {
Modified: branches/2-44-stable/blender/source/blender/src/multires.c
===================================================================
--- branches/2-44-stable/blender/source/blender/src/multires.c 2007-08-15 00:48:33 UTC (rev 11606)
+++ branches/2-44-stable/blender/source/blender/src/multires.c 2007-08-15 04:32:40 UTC (rev 11607)
@@ -842,13 +842,20 @@
{
int i,j, curf, cure;
Mesh *me= me_v;
- MultiresLevel *lvl= MEM_callocN(sizeof(MultiresLevel), "multireslevel");
+ MultiresLevel *lvl= NULL;
MultiApplyData data;
multires_check_state();
+ if(CustomData_number_of_layers(G.obedit ? &G.editMesh->fdata : &me->fdata, CD_MCOL) > 1) {
+ int ret= okee("Adding a level will delete all but the active vertex color layer, proceed?");
+ if(!ret)
+ return;
+ }
+
waitcursor(1);
+ lvl= MEM_callocN(sizeof(MultiresLevel), "multireslevel");
if(me->pv) sculptmode_pmv_off(me);
check_colors(me);
Modified: branches/2-44-stable/blender/source/blender/src/outliner.c
===================================================================
--- branches/2-44-stable/blender/source/blender/src/outliner.c 2007-08-15 00:48:33 UTC (rev 11606)
+++ branches/2-44-stable/blender/source/blender/src/outliner.c 2007-08-15 04:32:40 UTC (rev 11607)
@@ -2208,7 +2208,8 @@
}
}
else {
- if (name) error("Not found: %s", name);
+ /* no tree-element found */
+ error("Not found: %s", name);
}
}
Modified: branches/2-44-stable/blender/source/blender/src/space.c
===================================================================
--- branches/2-44-stable/blender/source/blender/src/space.c 2007-08-15 00:48:33 UTC (rev 11606)
+++ branches/2-44-stable/blender/source/blender/src/space.c 2007-08-15 04:32:40 UTC (rev 11607)
@@ -903,22 +903,31 @@
void join_menu(void)
{
Object *ob= OBACT;
- if (ob && !G.obedit) {
- if(ob->type == OB_MESH) {
- if(okee("Join selected meshes")==0) return;
- join_mesh();
- } else if(ob->type == OB_CURVE) {
- if(okee("Join selected curves")==0) return;
- join_curve(OB_CURVE);
- } else if(ob->type == OB_SURF) {
- if(okee("Join selected NURBS")==0) return;
- join_curve(OB_SURF);
- } else if(ob->type == OB_ARMATURE) {
- /* Make sure the user wants to continue*/
- if(okee("Join selected armatures")==0) return;
- join_armature ();
- }
+ if (G.obedit) {
+ error("This data does not support joining in editmode");
+ return;
}
+ if (!ob) {
+ error("Can't join unless there is an active object");
+ return;
+ }
+
+ if(ob->type == OB_MESH) {
+ if(okee("Join selected meshes")==0) return;
+ join_mesh();
+ } else if(ob->type == OB_CURVE) {
+ if(okee("Join selected curves")==0) return;
+ join_curve(OB_CURVE);
+ } else if(ob->type == OB_SURF) {
+ if(okee("Join selected NURBS")==0) return;
+ join_curve(OB_SURF);
+ } else if(ob->type == OB_ARMATURE) {
+ /* Make sure the user wants to continue*/
+ if(okee("Join selected armatures")==0) return;
+ join_armature ();
+ } else {
+ error("This object type doesn't support joining");
+ }
}
static unsigned short convert_for_nonumpad(unsigned short event)
@@ -1960,8 +1969,12 @@
if( ob ) {
join_menu();
}
- else if ((G.obedit) && ELEM(G.obedit->type, OB_CURVE, OB_SURF))
+ else if ((G.obedit) && ELEM(G.obedit->type, OB_CURVE, OB_SURF)) {
addsegment_nurb();
+ } else {
+ error("Can't join unless there is an active object");
+ }
+
}
else if(G.obedit) {
if(G.obedit->type==OB_MESH) {
More information about the Bf-blender-cvs
mailing list