[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18844] branches/blender2.5/blender/source /blender: Started converting over the sculpt header menu to the new system.
Revision: 18844 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18844 Author: nicholasbishop Date: 2009-02-07 04:21:28 +0100 (Sat, 07 Feb 2009) Log Message: --- Started converting over the sculpt header menu to the new system. Added operator and menu items for brush curve presets. Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c 2009-02-07 01:27:46 UTC (rev 18843) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c 2009-02-07 03:21:28 UTC (rev 18844) @@ -242,10 +242,18 @@ if(cm->curve) MEM_freeN(cm->curve); + if(preset == BRUSH_PRESET_SHARP) + cm->totpoint= 3; + if(preset == BRUSH_PRESET_SMOOTH) + cm->totpoint= 6; + if(preset == BRUSH_PRESET_MAX) + cm->totpoint= 2; + + + cm->curve= MEM_callocN(cm->totpoint*sizeof(CurveMapPoint), "curve points"); + cm->flag &= ~CUMA_EXTEND_EXTRAPOLATE; + if(preset == BRUSH_PRESET_SHARP) { - cm->curve= MEM_callocN(3*sizeof(CurveMapPoint), "curve points"); - cm->flag &= ~CUMA_EXTEND_EXTRAPOLATE; - cm->totpoint= 3; cm->curve[0].x= 0; cm->curve[0].y= 1; cm->curve[1].x= 0.33; @@ -254,10 +262,24 @@ cm->curve[2].y= 0; } else if(preset == BRUSH_PRESET_SMOOTH) { - // XXX: todo + cm->curve[0].x= 0; + cm->curve[0].y= 1; + cm->curve[1].x= 0.1; + cm->curve[1].y= 0.97553; + cm->curve[2].x= 0.3; + cm->curve[2].y= 0.79389; + cm->curve[3].x= 0.9; + cm->curve[3].y= 0.02447; + cm->curve[4].x= 0.7; + cm->curve[4].y= 0.20611; + cm->curve[5].x= 1; + cm->curve[5].y= 0; } else if(preset == BRUSH_PRESET_MAX) { - // XXX: todo + cm->curve[0].x= 0; + cm->curve[0].y= 1; + cm->curve[1].x= 1; + cm->curve[1].y= 1; } curvemapping_changed(b->curve, 0); Modified: branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c === --- branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c 2009-02-07 01:27:46 UTC (rev 18843) +++ branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c 2009-02-07 03:21:28 UTC (rev 18844) @@ -1232,6 +1232,31 @@ } } +static int sculpt_brush_curve_preset_exec(bContext *C, wmOperator *op) +{ + brush_curve_preset(CTX_data_scene(C)->toolsettings->sculpt->brush, RNA_enum_get(op->ptr, "mode")); + return OPERATOR_FINISHED; +} + +static void SCULPT_OT_brush_curve_preset(wmOperatorType *ot) +{ + static EnumPropertyItem prop_mode_items[] = { + {BRUSH_PRESET_SHARP, "SHARP", "Sharp Curve", ""}, + {BRUSH_PRESET_SMOOTH, "SMOOTH", "Smooth Curve", ""}, + {BRUSH_PRESET_MAX, "MAX", "Max Curve", ""}, + {0, NULL, NULL, NULL}}; + + ot->name= "Preset"; + ot->idname= "SCULPT_OT_brush_curve_preset"; + + ot->exec= sculpt_brush_curve_preset_exec; + ot->poll= sculpt_poll; + + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + RNA_def_enum(ot->srna, "mode", prop_mode_items, BRUSH_PRESET_SHARP, "Mode", ""); +} + / Radial control / static int sculpt_radial_control_invoke(bContext *C, wmOperator *op, wmEvent *event) { @@ -1696,6 +1721,7 @@ WM_operatortype_append(SCULPT_OT_radial_control); WM_operatortype_append(SCULPT_OT_brush_stroke); WM_operatortype_append(SCULPT_OT_sculptmode_toggle); + WM_operatortype_append(SCULPT_OT_brush_curve_preset); } void sculpt(Sculpt *sd) Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c === --- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c 2009-02-07 01:27:46 UTC (rev 18843) +++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c 2009-02-07 03:21:28 UTC (rev 18844) @@ -44,9 +44,12 @@ #include "DNA_view3d_types.h" #include "DNA_windowmanager_types.h" +#include "RNA_access.h" + #include "MEM_guardedalloc.h" #include "BKE_action.h" +#include "BKE_brush.h" #include "BKE_context.h" #include "BKE_curve.h" #include "
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18843] branches/blender2.5/blender/source /blender: 2.5: UV Editor, more operators.
Revision: 18843 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18843 Author: blendix Date: 2009-02-07 02:27:46 +0100 (Sat, 07 Feb 2009) Log Message: --- 2.5: UV Editor, more operators. Border Select Circle Select Pin Select Pinned Unwrap Minimize Stretch Pack Islands Average Islands Scale Snap Cursor Snap Selection Modified Paths: -- branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h branches/blender2.5/blender/source/blender/editors/include/ED_screen.h branches/blender2.5/blender/source/blender/editors/include/UI_interface.h branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c branches/blender2.5/blender/source/blender/editors/space_image/image_header.c branches/blender2.5/blender/source/blender/editors/space_image/space_image.c branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c branches/blender2.5/blender/source/blender/editors/transform/transform.c branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_intern.h branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_ops.c branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c branches/blender2.5/blender/source/blender/windowmanager/WM_types.h Modified: branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h === --- branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h 2009-02-06 21:18:36 UTC (rev 18842) +++ branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h 2009-02-07 01:27:46 UTC (rev 18843) @@ -112,6 +112,8 @@ void EM_select_edge(struct EditEdge *eed, int sel); void EM_select_face(struct EditFace *efa, int sel); void EM_select_face_fgon(struct EditMesh *em, struct EditFace *efa, int val); +void EM_select_swap(struct EditMesh *em); +void EM_toggle_select_all(struct EditMesh *em); void EM_selectmode_flush(struct EditMesh *em); void EM_deselect_flush(struct EditMesh *em); void EM_selectmode_set(struct EditMesh *em); Modified: branches/blender2.5/blender/source/blender/editors/include/ED_screen.h === --- branches/blender2.5/blender/source/blender/editors/include/ED_screen.h 2009-02-06 21:18:36 UTC (rev 18842) +++ branches/blender2.5/blender/source/blender/editors/include/ED_screen.h 2009-02-07 01:27:46 UTC (rev 18843) @@ -114,6 +114,7 @@ intED_operator_editarmature(struct bContext *C); intED_operator_editcurve(struct bContext *C); intED_operator_uvedit(struct bContext *C); +intED_operator_uvmap(struct bContext *C); intED_operator_posemode(struct bContext *C); Modified: branches/blender2.5/blender/source/blender/editors/include/UI_interface.h === --- branches/blender2.5/blender/source/blender/editors/include/UI_interface.h 2009-02-06 21:18:36 UTC (rev 18842) +++ branches/blender2.5/blender/source/blender/editors/include/UI_interface.h 2009-02-07 01:27:46 UTC (rev 18843) @@ -212,7 +212,7 @@ void uiMenuItemVal(uiMenuItem *head, const char *name, int icon, int argval); void uiMenuItemEnumO(uiMenuItem *head, int icon, char *opname, char *propname, int value); -void uiMenuItemBooleanO(uiMenuItem *head, int icon, char *opname, char *propname, int value); +void uiMenuItemBooleanO(uiMenuItem *head, const char *name, int icon, char *opname, char *propname, int value); void uiMenuItemsEnumO(uiMenuItem *head, char *opname, char *propname); void uiMenuItemIntO(uiMenuItem *head, const char *name, int icon, char *opname, char *propname, int value); void uiMenuItemFloatO(uiMenuItem *head, const char *name, int icon, char *opname, char *propname, float value); Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c === --- branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c 2009-02-06 21:18:36 UTC (rev 18842) +++ branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c 2009-02-07 01:27:46 UTC (rev 18843) @@ -2035,9 +2035,9 @@ } /* single operator item with property */ -void uiMenuItemBooleanO(uiMenuItem *head, int icon, char *opname, char *propname, int value) +void uiMenuItemBooleanO(uiMenuItem *head, const char *name, int icon, char *opname, char *propname, int value) { - uiMenuItem *item= ui_menu_add_item(head, "", icon, 0); + uiMenuItem *item= ui_menu_add_item(
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18842] branches/blender2.5/blender/ projectfiles_vc9/blender: 2.5 MSVC9 projectfiles
Revision: 18842 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18842 Author: elubie Date: 2009-02-06 22:18:36 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5 MSVC9 projectfiles update for renaming space_ipo -> space_graph Modified Paths: -- branches/blender2.5/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj branches/blender2.5/blender/projectfiles_vc9/blender/makesrna/RNA_makesrna.vcproj branches/blender2.5/blender/projectfiles_vc9/blender/makesrna/RNA_rna.vcproj Modified: branches/blender2.5/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj === --- branches/blender2.5/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj 2009-02-06 19:58:15 UTC (rev 18841) +++ branches/blender2.5/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj 2009-02-06 21:18:36 UTC (rev 18842) @@ -383,6 +383,10 @@ > + + @@ -564,34 +568,34 @@ @@ -1083,6 +1087,10 @@ > + + Modified: branches/blender2.5/blender/projectfiles_vc9/blender/makesrna/RNA_makesrna.vcproj === --- branches/blender2.5/blender/projectfiles_vc9/blender/makesrna/RNA_makesrna.vcproj 2009-02-06 19:58:15 UTC (rev 18841) +++ branches/blender2.5/blender/projectfiles_vc9/blender/makesrna/RNA_makesrna.vcproj 2009-02-06 21:18:36 UTC (rev 18842) @@ -653,10 +653,6 @@ > - - Modified: branches/blender2.5/blender/projectfiles_vc9/blender/makesrna/RNA_rna.vcproj === --- branches/blender2.5/blender/projectfiles_vc9/blender/makesrna/RNA_rna.vcproj 2009-02-06 19:58:15 UTC (rev 18841) +++ branches/blender2.5/blender/projectfiles_vc9/blender/makesrna/RNA_rna.vcproj 2009-02-06 21:18:36 UTC (rev 18842) @@ -223,10 +223,6 @@ > - - ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18841] branches/blender2.5/blender/source /blender/windowmanager/intern/wm.c: 2.5: fix triple buffer memory leak on exit.
Revision: 18841 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18841 Author: blendix Date: 2009-02-06 20:58:15 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5: fix triple buffer memory leak on exit. Modified Paths: -- branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c === --- branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c 2009-02-06 19:21:24 UTC (rev 18840) +++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c 2009-02-06 19:58:15 UTC (rev 18841) @@ -150,6 +150,7 @@ while((win= wm->windows.first)) { BLI_remlink(&wm->windows, win); + wm_draw_window_clear(win); wm_window_free(C, win); } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18840] trunk/blender/source: Fix for bug #18228: OpenGL specular did not get the correct view
Revision: 18840 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18840 Author: blendix Date: 2009-02-06 20:21:24 +0100 (Fri, 06 Feb 2009) Log Message: --- Fix for bug #18228: OpenGL specular did not get the correct view vector in perspective mode. This is default OpenGL behavior, but by now this optimization is really insignificant. Works in both the 3d view and game engine. Modified Paths: -- trunk/blender/source/blender/gpu/GPU_draw.h trunk/blender/source/blender/gpu/intern/gpu_draw.c trunk/blender/source/blender/include/BSE_view.h trunk/blender/source/blender/src/drawmesh.c trunk/blender/source/blender/src/view.c trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.h trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.h trunk/blender/source/gameengine/Rasterizer/RAS_IRasterizer.h trunk/blender/source/gameengine/Rasterizer/RAS_IRenderTools.h trunk/blender/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h Modified: trunk/blender/source/blender/gpu/GPU_draw.h === --- trunk/blender/source/blender/gpu/GPU_draw.h 2009-02-06 18:38:10 UTC (rev 18839) +++ trunk/blender/source/blender/gpu/GPU_draw.h 2009-02-06 19:21:24 UTC (rev 18840) @@ -82,7 +82,7 @@ int GPU_default_lights(void); int GPU_scene_object_lights(struct Scene *scene, struct Object *ob, - int lay, float viewmat[][4]); + int lay, float viewmat[][4], int ortho); /* Text render * - based on moving uv coordinates */ Modified: trunk/blender/source/blender/gpu/intern/gpu_draw.c === --- trunk/blender/source/blender/gpu/intern/gpu_draw.c 2009-02-06 18:38:10 UTC (rev 18839) +++ trunk/blender/source/blender/gpu/intern/gpu_draw.c 2009-02-06 19:21:24 UTC (rev 18840) @@ -993,6 +993,8 @@ U.light[2].spec[3]= 1.0; } + glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_FALSE); + glLightfv(GL_LIGHT0, GL_POSITION, U.light[0].vec); glLightfv(GL_LIGHT0, GL_DIFFUSE, U.light[0].col); glLightfv(GL_LIGHT0, GL_SPECULAR, U.light[0].spec); @@ -1030,7 +1032,7 @@ return count; } -int GPU_scene_object_lights(Scene *scene, Object *ob, int lay, float viewmat[][4]) +int GPU_scene_object_lights(Scene *scene, Object *ob, int lay, float viewmat[][4], int ortho) { Base *base; Lamp *la; @@ -1041,6 +1043,10 @@ for(count=0; count<8; count++) glDisable(GL_LIGHT0+count); + /* view direction for specular is not compute correct by default in +* opengl, so we set the settings ourselfs */ + glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, (ortho)? GL_FALSE: GL_TRUE); + count= 0; for(base=scene->base.first; base; base=base->next) { @@ -1127,9 +1133,6 @@ GPU_default_lights(); - /* no local viewer, looks ugly in ortho mode */ - /* glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, &one); */ - glDepthFunc(GL_LEQUAL); /* scaling matrices */ glEnable(GL_NORMALIZE); Modified: trunk/blender/source/blender/include/BSE_view.h === --- trunk/blender/source/blender/include/BSE_view.h 2009-02-06 18:38:10 UTC (rev 18839) +++ trunk/blender/source/blender/include/BSE_view.h 2009-02-06 19:21:24 UTC (rev 18840) @@ -82,6 +82,7 @@ void view_zoom_mouseloc(float dfac, short *mouseloc); int view_mouse_depth( float mouse_worldloc[3], short mval[2], int dist); +int get_view3d_ortho(struct View3D *v3d); int get_view3d_viewplane(int winxi, int winyi, rctf *viewplane, float *clipsta, float *clipend, float *pixsize); void setwinmatrixview3d(int winx, int winy, struct rctf *rect); Modified: trunk/blender/source/blender/src/drawmesh.c === --- trunk/blender/source/blender/src/drawmesh.c 2009-02-06 18:38:10 UTC (rev 18839) +++ trunk/blender/source/blender/src/drawmesh.c 2009-02-06 19:21:24 UTC (rev 18840) @@ -75,6 +75,7 @@ #include "BDR_drawmesh.h" #include "BSE_drawview.h" +#include "BSE_view.h" #include "GPU_extensions.h" #include "GPU_draw.h" @@ -351,9 +352,10 @@ solidtex= 1; Gtexdraw.islit= -1; } - else + else { /* draw with lights in the scene otherwise */ - Gtexdraw.islit= GPU_scene_object_lights(G.scene, ob, G.vd->lay, G.vd->viewmat); +
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18839] branches/blender2.5/blender/source /blender/editors/space_node: 2.5
Revision: 18839 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18839 Author: ton Date: 2009-02-06 19:38:10 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5 - Corner node 'size' widget works again - Proper preview events added on linking nodes Modified Paths: -- branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c branches/blender2.5/blender/source/blender/editors/space_node/node_state.c Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c === --- branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c 2009-02-06 18:09:35 UTC (rev 18838) +++ branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c 2009-02-06 18:38:10 UTC (rev 18839) @@ -189,18 +189,34 @@ /* * */ -#if 0 +/* also checks for edited groups */ +bNode *editnode_get_active(bNodeTree *ntree) +{ + bNode *node; + + /* check for edited group */ + for(node= ntree->nodes.first; node; node= node->next) + if(node->flag & NODE_GROUP_EDIT) + break; + if(node) + return nodeGetActive((bNodeTree *)node->id); + else + return nodeGetActive(ntree); +} -// XXX snode_handle_recalc will go away */ -static void snode_handle_recalc(SpaceNode *snode) +static void snode_handle_recalc(bContext *C, SpaceNode *snode) { - if(snode->treetype==NTREE_TEXTURE) { - ntreeTexUpdatePreviews(snode->nodetree); + if(snode->treetype==NTREE_SHADER) + WM_event_add_notifier(C, NC_MATERIAL|ND_NODES, snode->id); + else if(snode->treetype==NTREE_COMPOSIT) + WM_event_add_notifier(C, NC_SCENE|ND_NODES, snode->id); + else if(snode->treetype==NTREE_TEXTURE) { + // ntreeTexUpdatePreviews(snode->nodetree); // XXX BIF_preview_changed(ID_TE); } } - +#if 0 static int image_detect_file_sequence(int *start_p, int *frames_p, char *str) { SpaceFile *sfile; @@ -297,8 +313,7 @@ BKE_image_signal(ima, node->storage, IMA_SIGNAL_RELOAD); NodeTagChanged(snode->edittree, node); - // XXX snode_handle_recalc(snode); - // allqueue(REDRAWNODE, 0); + // XXX snode_handle_recalc(C, snode); } } @@ -1034,86 +1049,108 @@ } #endif; +/* ** size widget operator */ -/* releases on event, only 1 node */ -void scale_node(SpaceNode *snode, bNode *node) +typedef struct NodeSizeWidget { + float mxstart; + float oldwidth; +} NodeSizeWidget; + +static int node_size_widget_modal(bContext *C, wmOperator *op, wmEvent *event) { - float mxstart, mystart, mx, my, oldwidth; - int cont=1, cancel=0; - short mval[2], mvalo[2]; + SpaceNode *snode= (SpaceNode*)CTX_wm_space_data(C); + ARegion *ar= CTX_wm_region(C); + bNode *node= editnode_get_active(snode->edittree); + NodeSizeWidget *nsw= op->customdata; + float mx, my; - // XXX - mval[0] = mvalo[0] = 0; - mval[1] = mvalo[1] = 1; - mxstart = 0.0f; - mystart = 0.0f; - mx= 0.0f; - my= 0.0f; - - /* store old */ - if(node->flag & NODE_HIDDEN) - oldwidth= node->miniwidth; - else - oldwidth= node->width; - -/* XXX getmouseco_areawin(mvalo); - areamouseco_to_ipoco(G.v2d, mvalo, &mxstart, &mystart);*/ - - while(cont) { - - // XXX getmouseco_areawin(mval); - if(mval[0]!=mvalo[0] || mval[1]!=mvalo[1]) { + switch (event->type) { + case MOUSEMOVE: - // XXX areamouseco_to_ipoco(G.v2d, mval, &mx, &my); - mvalo[0]= mval[0]; - mvalo[1]= mval[1]; + UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin, +&mx, &my); if(node->flag & NODE_HIDDEN) { - node->miniwidth= oldwidth + mx-mxstart; + node->miniwidth= nsw->oldwidth + mx - nsw->mxstart; CLAMP(node->miniwidth, 0.0f, 100.0f); } else { - node->width= oldwidth + mx-mxstart; + node->width= nsw->oldwidth + mx - nsw->mxstart
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18838] trunk/blender/source/blender: Added Scale, fixed bugs incl.
Revision: 18838 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18838 Author: kakbarnf Date: 2009-02-06 19:09:35 +0100 (Fri, 06 Feb 2009) Log Message: --- Added Scale, fixed bugs incl. patch #18037 Modified Paths: -- trunk/blender/source/blender/blenkernel/BKE_node.h trunk/blender/source/blender/blenkernel/intern/node.c trunk/blender/source/blender/nodes/TEX_node.h trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_compose.c trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_math.c trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_translate.c Added Paths: --- trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_scale.c Modified: trunk/blender/source/blender/blenkernel/BKE_node.h === --- trunk/blender/source/blender/blenkernel/BKE_node.h 2009-02-06 17:32:57 UTC (rev 18837) +++ trunk/blender/source/blender/blenkernel/BKE_node.h 2009-02-06 18:09:35 UTC (rev 18838) @@ -406,6 +406,7 @@ #define TEX_NODE_COMPOSE119 #define TEX_NODE_DECOMPOSE 120 #define TEX_NODE_VALTONOR 121 +#define TEX_NODE_SCALE 122 /* 201-299 reserved. Use like this: TEX_NODE_PROC + TEX_CLOUDS, etc */ #define TEX_NODE_PROC 200 Modified: trunk/blender/source/blender/blenkernel/intern/node.c === --- trunk/blender/source/blender/blenkernel/intern/node.c 2009-02-06 17:32:57 UTC (rev 18837) +++ trunk/blender/source/blender/blenkernel/intern/node.c 2009-02-06 18:09:35 UTC (rev 18838) @@ -2902,6 +2902,7 @@ nodeRegisterType(ntypelist, &tex_node_rotate); nodeRegisterType(ntypelist, &tex_node_translate); + nodeRegisterType(ntypelist, &tex_node_scale); nodeRegisterType(ntypelist, &tex_node_proc_voronoi); nodeRegisterType(ntypelist, &tex_node_proc_blend); Modified: trunk/blender/source/blender/nodes/TEX_node.h === --- trunk/blender/source/blender/nodes/TEX_node.h 2009-02-06 17:32:57 UTC (rev 18837) +++ trunk/blender/source/blender/nodes/TEX_node.h 2009-02-06 18:09:35 UTC (rev 18838) @@ -58,6 +58,7 @@ extern bNodeType tex_node_rotate; extern bNodeType tex_node_translate; +extern bNodeType tex_node_scale; extern bNodeType tex_node_compose; extern bNodeType tex_node_decompose; Modified: trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_compose.c === --- trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_compose.c 2009-02-06 17:32:57 UTC (rev 18837) +++ trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_compose.c 2009-02-06 18:09:35 UTC (rev 18838) @@ -53,19 +53,19 @@ } bNodeType tex_node_compose= { - /* *next,*prev */ NULL, NULL, - /* type code */ TEX_NODE_COMPOSE, - /* name*/ "Compose RGBA", - /* width+range */ 100, 60, 150, - /* class+opts */ NODE_CLASS_OP_COLOR, 0, - /* input sock */ inputs, - /* output sock */ outputs, - /* storage */ "", - /* execfunc*/ exec, - /* butfunc */ NULL, - /* initfunc*/ NULL, - /* freestoragefunc */ NULL, - /* copystoragefunc */ NULL, - /* id */ NULL + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_COMPOSE, + /* name*/ "Compose RGBA", + /* width+range */ 100, 60, 150, + /* class+opts */ NODE_CLASS_OP_COLOR, 0, + /* input sock */ inputs, + /* output sock */ outputs, + /* storage */ "", + /* execfunc*/ exec, + /* butfunc */ NULL, + /* initfunc*/ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL }; Modified: trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c === --- trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c 2009-02-06 17:32:57 UTC (rev 18837) +++ trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c 2009-02-06 18:09:35 UTC (rev 18838) @@ -30,14 +30,14 @@ #include static bNodeSocketType inputs[]= { - { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, { -1, 0, "" } }; static bNodeSocketType outputs[]= { - { SOCK_VALUE, 1, "Red", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f }, - { SOCK_VALUE, 1, "Green", 0.0f, 0.0f, 0.0f, 0.0f,
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18837] branches/blender2.5/blender/source /blender/blenkernel/intern/ipo.c: Finish Material, Sound and World adr conversion sections.
Revision: 18837 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18837 Author: harkyman Date: 2009-02-06 18:32:57 +0100 (Fri, 06 Feb 2009) Log Message: --- Finish Material, Sound and World adr conversion sections. Moving on to particle adr codes, but I have to wrap particle dna first. Ugh. Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c 2009-02-06 16:51:09 UTC (rev 18836) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c 2009-02-06 17:32:57 UTC (rev 18837) @@ -536,44 +536,53 @@ case MA_REF: return "diffuse_reflection"; + case MA_EMIT: + return "emit"; + + case MA_AMB: + return "ambient"; + + case MA_SPEC: + return "specularity"; + + case MA_HARD: + return "specular_hardness"; + case MA_SPTR: + return "specular_opacity"; + + case MA_IOR: + return "ior"; + + case MA_HASIZE: + return "halo.size"; + + case MA_TRANSLU: + return "translucency"; + + case MA_RAYM: + return "raytrace_mirror.reflect"; + + case MA_FRESMIR: + return "raytrace_mirror.fresnel"; + + case MA_FRESMIRI: + return "raytrace_mirror.fresnel_fac"; + + case MA_FRESTRA: + return "raytrace_transparency.fresnel"; + + case MA_FRESTRAI: + return "raytrace_transparency.fresnel_fac"; + + case MA_ADD: + return "halo.add"; + default: /* for now, we assume that the others were MTex channels */ return mtex_adrcodes_to_paths(adrcode, array_index); } - return NULL; - -#if 0 - case MA_EMIT: - poin= &(ma->emit); break; - case MA_AMB: - poin= &(ma->amb); break; - case MA_SPEC: - poin= &(ma->spec); break; - case MA_HARD: - poin= &(ma->har); *type= IPO_SHORT; break; - case MA_SPTR: - poin= &(ma->spectra); break; - case MA_IOR: - poin= &(ma->ang); break; - case MA_HASIZE: - poin= &(ma->hasize); break; - case MA_TRANSLU: - poin= &(ma->translucency); break; - case MA_RAYM: - poin= &(ma->ray_mirror); break; - case MA_FRESMIR: - poin= &(ma->fresnel_mir); break; - case MA_FRESMIRI: - poin= &(ma->fresnel_mir_i); break; - case MA_FRESTRA: - poin= &(ma->fresnel_tra); break; - case MA_FRESTRAI: - poin= &(ma->fresnel_tra_i); break; - case MA_ADD: - poin= &(ma->add); break; -#endif - + return NULL; } /* Camera Types */ @@ -657,6 +666,83 @@ return NULL; } +/* Sound Types */ +static char *sound_adrcodes_to_paths (int adrcode, int *array_index) +{ + /* set array index like this in-case nothing sets it correctly */ + *array_index= 0; + + /* result depends on adrcode */ + switch (adrcode) { + + case SND_VOLUME: + return "volume"; + case SND_PITCH: + return "pitch"; + /* XXX Joshua -- I had wrapped panning in rna, but someone commented out, calling it "unused" */ + /* case SND_PANNING: + return "panning"; */ + case SND_ATTEN: + return "attenuation"; + } + + /* unrecognised adrcode, or not-yet-handled ones! */ + return NULL; +} + +/* World Types */ +static char *world_adrcodes_to_paths (int adrcode, int *array_index) +{ + /* set array index like this in-case nothing sets it correctly */ + *array_index= 0; + + /* result depends on adrcode */ + switch (adrcode) { + case WO_HOR_R: + *array_index= 0; return "horizon_color"; + case WO_HOR_G: + *array_index= 1; return "horizon_color"; + case WO_HOR_B: + *array_index= 2; return "horizon_color"; + case WO_ZEN_R: + *array_index= 0; return "zenith_color"; + case WO_ZEN_G: + *array_index= 1; return "zenith_color"; +
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18836] branches/blender2.5/blender/source /blender: 2.5: Enable triple buffer drawing by default (if it doesn't work
Revision: 18836 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18836 Author: blendix Date: 2009-02-06 17:51:09 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5: Enable triple buffer drawing by default (if it doesn't work or flickers, kick me). Also removed proxy texture test since it does not seem to be implemented well by all drivers. Modified Paths: -- branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h branches/blender2.5/blender/source/blender/windowmanager/intern/wm_draw.c Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h === --- branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h 2009-02-06 16:40:14 UTC (rev 18835) +++ branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h 2009-02-06 16:51:09 UTC (rev 18836) @@ -327,8 +327,8 @@ #define USER_VRML_TWOSIDED 4 /* wm draw method */ -#define USER_DRAW_OVERLAP 0 -#define USER_DRAW_TRIPLE 1 +#define USER_DRAW_TRIPLE 0 +#define USER_DRAW_OVERLAP 1 #define USER_DRAW_FULL 2 /* tw_flag (transform widget) */ Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_draw.c === --- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_draw.c 2009-02-06 16:40:14 UTC (rev 18835) +++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_draw.c 2009-02-06 16:51:09 UTC (rev 18836) @@ -365,7 +365,7 @@ static int wm_triple_gen_textures(wmWindow *win, wmDrawTriple *triple) { - GLint width; + GLint maxsize; int x, y; /* compute texture sizes */ @@ -402,16 +402,13 @@ for(y=0; yny; y++) { for(x=0; xnx; x++) { - /* disabled, does not seems to work well everywhere */ /* proxy texture is only guaranteed to test for the cases that * there is only one texture in use, which may not be the case */ - glBindTexture(triple->target, triple->bind[x + y*triple->nx]); - glTexImage2D(GL_PROXY_TEXTURE_2D, 0, GL_RGB8, triple->x[x], triple->y[y], 0, GL_RGB, GL_UNSIGNED_BYTE, NULL); - glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width); + glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxsize); - if(width == 0) { + if(triple->x[x] > maxsize || triple->y[y] > maxsize) { glBindTexture(triple->target, 0); - printf("WM: failed to allocate texture for triple buffer drawing (GL_PROXY_TEXTURE_2D).\n"); + printf("WM: failed to allocate texture for triple buffer drawing (texture too large for graphics card).\n"); return 0; } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18835] branches/blender2.5/blender/source /blender/editors: 2.5: ID datablock button back, previously known as std_libbuttons.
Revision: 18835 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18835 Author: blendix Date: 2009-02-06 17:40:14 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5: ID datablock button back, previously known as std_libbuttons. The way this worked in 2.4x wasn't really clean, with events going all over the place and using dubious variables such as G.but->lockpoin or G.sima->menunr. It works as follows now, for example: xco= uiDefIDPoinButs(block, CTX_data_main(C), NULL, (ID**)&sima->image, ID_IM, &sima->pin, xco, yco, sima_idpoin_handle, UI_ID_BROWSE|UI_ID_RENAME|UI_ID_ADD_NEW|UI_ID_OPEN|UI_ID_DELETE|UI_ID_ALONE|UI_ID_PIN); The last two parameters are a callback function, and a list of events or functionalities that are supported. The callback function will then get the ID pointer + event to handle. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/include/UI_interface.h branches/blender2.5/blender/source/blender/editors/interface/interface.c branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c branches/blender2.5/blender/source/blender/editors/interface/interface_intern.h branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c branches/blender2.5/blender/source/blender/editors/space_image/image_header.c branches/blender2.5/blender/source/blender/editors/space_image/space_image.c branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c Modified: branches/blender2.5/blender/source/blender/editors/include/UI_interface.h === --- branches/blender2.5/blender/source/blender/editors/include/UI_interface.h 2009-02-06 16:38:53 UTC (rev 18834) +++ branches/blender2.5/blender/source/blender/editors/include/UI_interface.h 2009-02-06 16:40:14 UTC (rev 18835) @@ -33,6 +33,7 @@ /* Struct Declarations */ struct ID; +struct Main; struct ListBase; struct ARegion; struct wmWindow; @@ -395,10 +396,25 @@ * - PickerButtons: buttons like the color picker (for code sharing). * - AutoButR: RNA property button with type automatically defined. */ -typedef void (*uiIDPoinFuncFP)(struct bContext *C, char *str, struct ID **idpp); +#define UI_ID_RENAME 1 +#define UI_ID_BROWSE 2 +#define UI_ID_ADD_NEW 4 +#define UI_ID_OPEN 8 +#define UI_ID_ALONE16 +#define UI_ID_DELETE 32 +#define UI_ID_LOCAL64 +#define UI_ID_AUTO_NAME128 +#define UI_ID_FAKE_USER256 +#define UI_ID_PIN 512 +#define UI_ID_BROWSE_RENDER1024 +#define UI_ID_FULL (UI_ID_RENAME|UI_ID_BROWSE|UI_ID_ADD_NEW|UI_ID_OPEN|UI_ID_ALONE|UI_ID_DELETE|UI_ID_LOCAL) -uiBut *uiDefIDPoinBut(struct uiBlock *block, uiIDPoinFuncFP func, short blocktype, int retval, char *str, +typedef void (*uiIDPoinFuncFP)(struct bContext *C, char *str, struct ID **idpp); +typedef void (*uiIDPoinFunc)(struct bContext *C, struct ID *id, int event); + +uiBut *uiDefIDPoinBut(uiBlock *block, uiIDPoinFuncFP func, short blocktype, int retval, char *str, short x1, short y1, short x2, short y2, void *idpp, char *tip); +int uiDefIDPoinButs(uiBlock *block, struct Main *main, struct ID *parid, struct ID **id_p, int id_code, short *pin_p, int x, int y, uiIDPoinFunc func, int events); uiBut *uiDefPulldownBut(uiBlock *block, uiBlockCreateFunc func, void *arg, char *str, short x1, short y1, short x2, short y2, char *tip); uiBut *uiDefMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, char *str, short x1, short y1, short x2, short y2, char *tip); @@ -434,9 +450,12 @@ * uiButSetCompleteFunc is for tab completion. * * uiBlockSetFunc and uiButSetFunc are callbacks run when a button is used, - * in case events, operators or RNA are not sufficient to handle the button. */ + * in case events, operators or RNA are not sufficient to handle the button. + * + * uiButSetNFunc will free the argument with MEM_freeN. */ typedef void (*uiButHandleFunc)(struct bContext *C, void *arg1, void *arg2); +typedef void (*uiButHandleNFunc)(struct bContext *C, void *argN, void *arg2); typedef void (*uiButCompleteFunc)(struct bContext *C, char *str, void *arg); typedef void (*uiBlockHandleFunc)(struct bContext *C, void *arg, int event); @@ -445,6 +464,7 @@ void uiBlockSetFunc (uiBlock *block,uiButHandleFunc func, void *arg1, void *arg2); void uiButSetFunc(uiBut *but,uiButHandleFunc func, void *arg1, void *arg2); +void uiButSetNFunc (uiBut *but,uiButHandleNFunc func, void *argN, void *arg2); void uiButSetCompleteFunc(uiBut *but,uiButCompleteFunc func, void *arg); Modified: branches/blender2.5/b
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18834] trunk/blender/intern/SoundSystem/ openal/SND_OpenALDevice.cpp: [#18257] Workaround for bug in freealut 1.1.0
Revision: 18834 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18834 Author: campbellbarton Date: 2009-02-06 17:38:53 +0100 (Fri, 06 Feb 2009) Log Message: --- [#18257] Workaround for bug in freealut 1.1.0 by J?\195?\182rg M?\195?\188ller (nexyon) Since this area is not maintained, I can only say it works on my system (linux/32bit) And nexyon assured me he checked over this patch well. Blender using the deprecated function is not great, but nexyon's bugfix would not be available until the next version of freealut so better to work around it by using the new function. Please test game sounds play back on win32 and Mac, in cases that it worked in the first place. Modified Paths: -- trunk/blender/intern/SoundSystem/openal/SND_OpenALDevice.cpp Modified: trunk/blender/intern/SoundSystem/openal/SND_OpenALDevice.cpp === --- trunk/blender/intern/SoundSystem/openal/SND_OpenALDevice.cpp 2009-02-06 16:34:05 UTC (rev 18833) +++ trunk/blender/intern/SoundSystem/openal/SND_OpenALDevice.cpp 2009-02-06 16:38:53 UTC (rev 18834) @@ -235,7 +235,8 @@ if (m_context) { #ifdef AL_VERSION_1_1 - alcMakeContextCurrent((ALCcontext*)m_context); + alcMakeContextCurrent((ALCcontext*)m_context); + alutInitWithoutContext(NULL, NULL); /* in this case we dont want alut to initialize the context, see above */ #else alcMakeContextCurrent(m_context); #endif @@ -380,7 +381,10 @@ #else if (m_device) alcCloseDevice((ALCdevice*) m_device); +#ifdef AL_VERSION_1_1 + alutExit(); #endif +#endif } @@ -437,7 +441,9 @@ alutLoadWAVMemory((char*)memlocation, &sampleformat, &data, &numberofsamples, &samplerate); // openal_2.12 #else #ifdef AL_VERSION_1_1 - alutLoadWAVMemory((ALbyte*)memlocation, &sampleformat, &data, &numberofsamples, &samplerate, &loop);// openal_2.14+ + float frequency = 0.0f; + data = alutLoadMemoryFromFileImage(memlocation, size, &sampleformat, &numberofsamples, &frequency); + samplerate = (int)frequency; #else alutLoadWAVMemory((signed char*)memlocation, &sampleformat, &data, &numberofsamples, &samplerate, &loop);// openal_2.14+ @@ -480,7 +486,11 @@ } /* and free the original stuff (copy was made in openal) */ +#if defined(OUDE_OPENAL) || defined (__APPLE__) || !defined(AL_VERSION_1_1) alutUnloadWAV(sampleformat, data, numberofsamples, samplerate); +#else + free(data); +#endif } } else ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18833] branches/blender2.5/blender/source /blender: 2.5
Revision: 18833 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18833 Author: ton Date: 2009-02-06 17:34:05 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5 Node editor: - Linking sockets back. - Removed obsolete code - Add node gives correct pointers for Render stuff Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h branches/blender2.5/blender/source/blender/blenkernel/intern/node.c branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c branches/blender2.5/blender/source/blender/editors/space_node/node_header.c branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c branches/blender2.5/blender/source/blender/editors/space_node/node_select.c branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h === --- branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h 2009-02-06 16:31:18 UTC (rev 18832) +++ branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h 2009-02-06 16:34:05 UTC (rev 18833) @@ -52,9 +52,6 @@ struct GPUNode; struct GPUNodeStack; -#define SOCK_IN1 -#define SOCK_OUT 2 - /* ** NODE TYPE DEFINITIONS * */ typedef struct bNodeSocketType { Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/node.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 2009-02-06 16:31:18 UTC (rev 18832) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 2009-02-06 16:34:05 UTC (rev 18833) @@ -1124,7 +1124,8 @@ /* check for copying links */ for(link= ntree->links.first; link; link= link->next) { - if(link->fromnode->new_node && link->tonode->new_node) { + if(link->fromnode==NULL || link->tonode==NULL); + else if(link->fromnode->new_node && link->tonode->new_node) { nlink= nodeAddLink(newtree, link->fromnode->new_node, NULL, link->tonode->new_node, NULL); /* sockets were copied in order */ for(a=0, sock= link->fromnode->outputs.first; sock; sock= sock->next, a++) { @@ -2269,8 +2270,10 @@ /* is sock in use? */ else if(sock->link) { bNodeLink *link= sock->link; + /* this is the test for a cyclic case */ - if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) { + if(link->fromnode==NULL || link->tonode==NULL); + else if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) { if(link->fromnode->need_exec) { node->need_exec= 1; break; Modified: branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c === --- branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c 2009-02-06 16:31:18 UTC (rev 18832) +++ branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c 2009-02-06 16:34:05 UTC (rev 18833) @@ -2562,17 +2562,12 @@ void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link) { float vec[4][3]; - float mx=0.0f, my=0.0f; int do_shaded= 1, th_col1= TH_WIRE, th_col2= TH_WIRE; if(link->fromnode==NULL && link->tonode==NULL) return; - /* XXX fix -> notifier thingymajiggle this is dragging link */ if(link->fromnode==NULL || link->tonode==NULL) { - // short mval[2]; - // XXX getmouseco_areawin(mval); - // XXX areamouseco_to_ipoco(v2d, mval, &mx, &my); UI_ThemeColor(TH_WIRE); do_shaded= 0; } @@ -2611,16 +2606,16 @@ vec[0][1]= link->fromsock->locy; } else { - vec[0][0]= mx; - vec[0][1]= my; + vec[0][0]= snode->mx; + vec[0][1]= snode->my; } if(link->tonode) { vec[3][0]= link->tosock->locx; vec[3][1]= link->tosock->locy; } else { - vec[3][0]= mx; - vec[3][1]= my; + vec[3][0]= snode->mx; + vec[3][1]= snode->my;
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18832] branches/blender2.5/blender/source /blender/editors/interface/view2d_ops.c: 2.5
Revision: 18832 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18832 Author: ton Date: 2009-02-06 17:31:18 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5 View2D bug: zooming failed in node editor due to check for wrong variable (keepzoom instead of keepofs :) Modified Paths: -- branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c Modified: branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c === --- branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c 2009-02-06 14:03:29 UTC (rev 18831) +++ branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c 2009-02-06 16:31:18 UTC (rev 18832) @@ -488,11 +488,11 @@ dy= (v2d->cur.ymax - v2d->cur.ymin) * (float)RNA_float_get(op->ptr, "zoomfacy"); /* only move view on an axis if change is allowed */ - if ((v2d->keepzoom & V2D_LOCKOFS_X)==0) { + if ((v2d->keepofs & V2D_LOCKOFS_X)==0) { v2d->cur.xmin += dx; v2d->cur.xmax -= dx; } - if ((v2d->keepzoom & V2D_LOCKOFS_Y)==0) { + if ((v2d->keepofs & V2D_LOCKOFS_Y)==0) { v2d->cur.ymin += dy; v2d->cur.ymax -= dy; } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18831] trunk/blender/source/blender/ python/api2_2x/sceneSequence.c: 2.4x Sequencer Python API
Revision: 18831 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18831 Author: campbellbarton Date: 2009-02-06 15:03:29 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.4x Sequencer Python API - add metastrips now possible - access to speed options - access to wipe options - added seq.startDisp seq.endDisp seq.update() Modified Paths: -- trunk/blender/source/blender/python/api2_2x/sceneSequence.c Modified: trunk/blender/source/blender/python/api2_2x/sceneSequence.c === --- trunk/blender/source/blender/python/api2_2x/sceneSequence.c 2009-02-06 13:07:02 UTC (rev 18830) +++ trunk/blender/source/blender/python/api2_2x/sceneSequence.c 2009-02-06 14:03:29 UTC (rev 18831) @@ -54,7 +54,8 @@ #include "IMB_imbuf_types.h" // RFS: IB_rect #include "IMB_imbuf.h" // RFS: IMB_anim_get_duration -enum seq_consts { +enum seq_consts +{ EXPP_SEQ_ATTR_TYPE = 0, EXPP_SEQ_ATTR_CHAN, EXPP_SEQ_ATTR_LENGTH, @@ -62,10 +63,26 @@ EXPP_SEQ_ATTR_STARTOFS, EXPP_SEQ_ATTR_ENDOFS, EXPP_SEQ_ATTR_STARTSTILL, - EXPP_SEQ_ATTR_ENDSTILL + EXPP_SEQ_ATTR_ENDSTILL, + EXPP_SEQ_ATTR_STARTDISP, + EXPP_SEQ_ATTR_ENDDISP }; +enum seq_effect_consts +{ + /* speed */ + EXPP_SEQ_ATTR_EFFECT_GLOBAL_SPEED, + EXPP_SEQ_ATTR_EFFECT_IPO_IS_VELOCITY, + EXPP_SEQ_ATTR_EFFECT_FRAME_BLENDING, + EXPP_SEQ_ATTR_EFFECT_NORMALIZE_IPO_0_1, + /* wipe */ + EXPP_SEQ_ATTR_EFFECT_ANGLE, + EXPP_SEQ_ATTR_EFFECT_BLUR, + EXPP_SEQ_ATTR_EFFECT_WIPE_IN +}; + + /*/ /* Python API function prototypes for the Blender module. */ /*/ @@ -84,141 +101,200 @@ /*/ /* Python BPy_Sequence methods table: */ /*/ -static PyObject *Sequence_copy( BPy_Sequence * self ); -static PyObject *Sequence_new( BPy_Sequence * self, PyObject * args ); -static PyObject *Sequence_remove( BPy_Sequence * self, PyObject * args ); -static PyObject *Sequence_rebuildProxy( BPy_Sequence * self ); +static PyObject *Sequence_copy(BPy_Sequence * self); +static PyObject *Sequence_update(BPy_Sequence * self); +static PyObject *Sequence_new(BPy_Sequence * self, PyObject * args); +static PyObject *Sequence_remove(BPy_Sequence * self, PyObject * args); +static PyObject *Sequence_rebuildProxy(BPy_Sequence * self); -static PyObject *SceneSeq_new( BPy_SceneSeq * self, PyObject * args ); -static PyObject *SceneSeq_remove( BPy_SceneSeq * self, PyObject * args ); -static void intern_pos_update(Sequence * seq); +static PyObject *SceneSeq_new(BPy_SceneSeq * self, PyObject * args); +static PyObject *SceneSeq_remove(BPy_SceneSeq * self, PyObject * args); +static void intern_pos_update(Sequence * seq); static PyMethodDef BPy_Sequence_methods[] = { /* name, method, flags, doc */ - {"new", ( PyCFunction ) Sequence_new, METH_VARARGS, -"(data) - Return a new sequence."}, - {"remove", ( PyCFunction ) Sequence_remove, METH_VARARGS, -"(data) - Remove a strip."}, - {"__copy__", ( PyCFunction ) Sequence_copy, METH_NOARGS, -"() - Return a copy of the sequence containing the same objects."}, - {"copy", ( PyCFunction ) Sequence_copy, METH_NOARGS, -"() - Return a copy of the sequence containing the same objects."}, - {"rebuildProxy", ( PyCFunction ) Sequence_rebuildProxy, METH_VARARGS, -"() - Rebuild the active strip's Proxy."}, + {"new", (PyCFunction) Sequence_new, METH_VARARGS, + "(data) - Return a new sequence."}, + {"remove", (PyCFunction) Sequence_remove, METH_VARARGS, + "(data) - Remove a strip."}, + {"__copy__", (PyCFunction) Sequence_copy, METH_NOARGS, + "() - Return a copy of the sequence containing the same objects."}, + {"copy", (PyCFunction) Sequence_copy, METH_NOARGS, + "() - Return a copy of the sequence containing the same objects."}, + {"update", (PyCFunction) Sequence_update, METH_NOARGS, + "() - Force and update of the sequence strip"}, + {"rebuildProxy", (PyCFunction) Sequence_rebuildProxy, METH_VARARGS, + "() - Rebuild the active strip's Proxy."}, {NULL, NULL, 0, NULL} }; static PyMethodDef BPy_SceneSeq_methods[] = { /* name, method, flags, doc */ - {"new", ( PyCFunction ) SceneSeq_new, METH_VARARGS, -"(data) - Return a new sequence."}, - {"remove", ( PyCFunction ) SceneSeq_remove, METH_VARARGS, -"(data) - Remove a strip."}, + {"new", (
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18830] branches/blender2.5/blender/source /blender/editors/space_node: 2.5
Revision: 18830 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18830 Author: ton Date: 2009-02-06 14:07:02 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5 Compo node fixes: - adding new composite in scene crashed, wrong pointers passed on to addnode function - scene render-layer node now gets default scene ID pointer, which can be viewed/edited with menu in node - on using headerbuttons in node window, display refreshes now Modified Paths: -- branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c branches/blender2.5/blender/source/blender/editors/space_node/node_header.c Modified: branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c === --- branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c 2009-02-06 12:33:15 UTC (rev 18829) +++ branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c 2009-02-06 13:07:02 UTC (rev 18830) @@ -1051,10 +1051,8 @@ node->id= NULL; } sce= BLI_findlink(&G.main->scene, node->menunr-1); - if(sce!=CTX_data_scene(C)) { - node->id= &sce->id; - id_us_plus(node->id); - } + node->id= &sce->id; + id_us_plus(node->id); set_render_layers_title(C, node, NULL); nodeSetActive(ntree, node); Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c === --- branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c 2009-02-06 12:33:15 UTC (rev 18829) +++ branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c 2009-02-06 13:07:02 UTC (rev 18830) @@ -510,11 +510,13 @@ sce->nodetree= ntreeAddTree(NTREE_COMPOSIT); - out= nodeAddNodeType(sce->nodetree, CMP_NODE_COMPOSITE, NULL, &sce->id); + out= nodeAddNodeType(sce->nodetree, CMP_NODE_COMPOSITE, NULL, NULL); out->locx= 300.0f; out->locy= 400.0f; + out->id= &sce->id; - in= nodeAddNodeType(sce->nodetree, CMP_NODE_R_LAYERS, NULL, &sce->id); + in= nodeAddNodeType(sce->nodetree, CMP_NODE_R_LAYERS, NULL, NULL); in->locx= 10.0f; in->locy= 400.0f; + in->id= &sce->id; nodeSetActive(sce->nodetree, in); /* links from color to color */ Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_header.c === --- branches/blender2.5/blender/source/blender/editors/space_node/node_header.c 2009-02-06 12:33:15 UTC (rev 18829) +++ branches/blender2.5/blender/source/blender/editors/space_node/node_header.c 2009-02-06 13:07:02 UTC (rev 18830) @@ -648,14 +648,17 @@ static void do_node_buttons(bContext *C, void *arg, int event) { - // NODE_FIX_ME : instead of using "current material/texture/scene" a la old buttons/G.scene - // have a panel from which enumerates textures, materials and scenes. + // NODE_FIX_ME : instead of using "current material/texture/scene", node editor can also pin context? + // note: scene context better not gets overridden, that'll clash too much (ton) SpaceNode *snode= (SpaceNode*)CTX_wm_space_data(C); Scene *scene= CTX_data_scene(C); Material *ma; Tex *tx; switch(event) { + case B_REDR: + ED_area_tag_redraw(CTX_wm_area(C)); + break; case B_NODE_USEMAT: ma= (Material *)snode->id; if(ma) { @@ -663,21 +666,17 @@ node_shader_default(ma); snode_set_context(snode, scene); } - /* BIF_preview_changed(ID_MA); - allqueue(REDRAWNODE, 0); - allqueue(REDRAWBUTSSHADING, 0); - allqueue(REDRAWIPO, 0);*/ } + ED_area_tag_redraw(CTX_wm_area(C)); break; case B_NODE_USESCENE: if(scene->use_nodes) { if(scene->nodetree==NULL) node_composit_default(scene); - // addqueue(curarea->win, UI_BUT_EVENT, B_NODE_TREE_EXEC); } snode_set_context(snode, scene); - // allqueue(REDRAWNODE, 0); + ED_area_tag_redraw(CTX_wm_area(C));
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18829] branches/blender2.5/blender/source /blender/windowmanager/intern/wm_files.c: 2.5
Revision: 18829 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18829 Author: ton Date: 2009-02-06 13:33:15 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5 Bugfix for Bugfix for 2.5 - Bugfix #18251! - the call to GPU_default_lights has to be done after windows opened, in case you have no .b.blend saved it crashed - further this function is only called on .B.blend reading, so it's correct to reset the lighting to user-def. Modified Paths: -- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c === --- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c 2009-02-06 11:11:42 UTC (rev 18828) +++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c 2009-02-06 12:33:15 UTC (rev 18829) @@ -572,12 +572,6 @@ success = BKE_read_file(C, tstr, NULL, NULL); } else { success = BKE_read_file_from_memory(C, datatoc_B_blend, datatoc_B_blend_size, NULL, NULL); - - /* When loading factory settings, the reset solid OpenGL lights need to be applied. */ - U.light[0].flag=0; - U.light[1].flag=0; - U.light[2].flag=0; - GPU_default_lights(); } /* match the read WM with current WM */ @@ -588,6 +582,12 @@ init_userdef_themes(); + /* When loading factory settings, the reset solid OpenGL lights need to be applied. */ + U.light[0].flag=0; + U.light[1].flag=0; + U.light[2].flag=0; + GPU_default_lights(); + /* XXX */ G.save_over = 0;// start with save preference untitled.blend G.fileflags &= ~G_FILE_AUTOPLAY;/* disable autoplay in .B.blend... */ ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18828] branches/blender2.5/blender/source /blender/windowmanager/intern/wm_files.c: 2.5
Revision: 18828 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18828 Author: ton Date: 2009-02-06 12:11:42 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5 Bugfix: on reading multiple pre-2.5 files, the keymaps were generated again, causing items to be added double. Modified Paths: -- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c === --- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c 2009-02-06 10:52:10 UTC (rev 18827) +++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c 2009-02-06 11:11:42 UTC (rev 18828) @@ -428,8 +428,8 @@ 2- no current wm, but read wm: that's OK, do nothing 3- current wm, but not in file: try match screen names 4- current wm, and wm in file: try match ghostwin +*/ -*/ static void wm_window_match_do(bContext *C, ListBase *oldwmlist) { wmWindowManager *oldwm, *wm; @@ -444,13 +444,11 @@ else { /* cases 3 and 4 */ - /* we've read file without wm... */ + /* we've read file without wm..., keep current one entirely alive */ if(G.main->wm.first==NULL) { /* match oldwm to new dbase, only old files */ for(wm= oldwmlist->first; wm; wm= wm->id.next) { - /* ensure making new keymaps and set space types */ - wm->initialized= 0; for(win= wm->windows.first; win; win= win->next) { /* all windows get active screen from file */ @@ -464,6 +462,9 @@ /* XXX still solve, case where multiple windows open */ G.main->wm= *oldwmlist; + + /* screens were read from file! */ + ED_screens_initialize(G.main->wm.first); } else { /* what if old was 3, and loaded 1? */ ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18827] branches/blender2.5/blender/source /blender/editors/armature/editarmature.c: Fixed typos in previous commit
Revision: 18827 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18827 Author: aligorith Date: 2009-02-06 11:52:10 +0100 (Fri, 06 Feb 2009) Log Message: --- Fixed typos in previous commit Modified Paths: -- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c Modified: branches/blender2.5/blender/source/blender/editors/armature/editarmature.c === --- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-02-06 10:48:00 UTC (rev 18826) +++ branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-02-06 10:52:10 UTC (rev 18827) @@ -1957,7 +1957,7 @@ void ARMATURE_OT_calculate_roll(wmOperatorType *ot) { /* identifiers */ - ot->name= "Align Bones"; + ot->name= "Recalculate Roll"; ot->idname= "ARMATURE_OT_calculate_roll"; /* api callbacks */ @@ -2065,14 +2065,14 @@ BLI_addtail(arm->edbo, bone); bone->flag |= BONE_TIPSEL; - bone->weight= 1.0F; - bone->dist= 0.25F; - bone->xwidth= 0.1; - bone->zwidth= 0.1; - bone->ease1= 1.0; - bone->ease2= 1.0; - bone->rad_head= 0.10; - bone->rad_tail= 0.05; + bone->weight= 1.0f; + bone->dist= 0.25f; + bone->xwidth= 0.1f; + bone->zwidth= 0.1f; + bone->ease1= 1.0f; + bone->ease2= 1.0f; + bone->rad_head= 0.10f; + bone->rad_tail= 0.05f; bone->segments= 1; bone->layer= arm->layer; ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18826] branches/blender2.5/blender/source /blender/editors: 2.5 - Armatures Code
Revision: 18826 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18826 Author: aligorith Date: 2009-02-06 11:48:00 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5 - Armatures Code * Brought back recalculate bone roll (Ctrl N). This should be quite a straightforward example of a cleaned-up + ported armature tool. * Cleaned up a few warnings Modified Paths: -- branches/blender2.5/blender/source/blender/editors/armature/armature_intern.h branches/blender2.5/blender/source/blender/editors/armature/armature_ops.c branches/blender2.5/blender/source/blender/editors/armature/editarmature.c branches/blender2.5/blender/source/blender/editors/armature/poseobject.c branches/blender2.5/blender/source/blender/editors/include/ED_armature.h branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c Modified: branches/blender2.5/blender/source/blender/editors/armature/armature_intern.h === --- branches/blender2.5/blender/source/blender/editors/armature/armature_intern.h 2009-02-06 10:04:44 UTC (rev 18825) +++ branches/blender2.5/blender/source/blender/editors/armature/armature_intern.h 2009-02-06 10:48:00 UTC (rev 18826) @@ -33,9 +33,9 @@ /* editarmature.c */ void armature_bone_rename(Object *ob, char *oldnamep, char *newnamep); -EditBone *armature_bone_get_mirrored(ListBase *edbo, EditBone *ebo); // XXX this is needed for populating the context iterators void ARMATURE_OT_align_bones(struct wmOperatorType *ot); +void ARMATURE_OT_calculate_roll(struct wmOperatorType *ot); void POSE_OT_hide(struct wmOperatorType *ot); void POSE_OT_reveil(struct wmOperatorType *ot); Modified: branches/blender2.5/blender/source/blender/editors/armature/armature_ops.c === --- branches/blender2.5/blender/source/blender/editors/armature/armature_ops.c 2009-02-06 10:04:44 UTC (rev 18825) +++ branches/blender2.5/blender/source/blender/editors/armature/armature_ops.c 2009-02-06 10:48:00 UTC (rev 18826) @@ -85,7 +85,7 @@ printf("\tActive Bone \n"); { EditBone *ebone= CTX_data_active_bone(C); - if (ebone) printf("\t\tEditBone '%s' \n"); + if (ebone) printf("\t\tEditBone '%s' \n", ebone->name); else printf("\t\t \n"); } @@ -108,6 +108,7 @@ void ED_operatortypes_armature(void) { WM_operatortype_append(ARMATURE_OT_align_bones); + WM_operatortype_append(ARMATURE_OT_calculate_roll); WM_operatortype_append(POSE_OT_hide); WM_operatortype_append(POSE_OT_reveil); @@ -129,6 +130,8 @@ /* only set in editmode armature, by space_view3d listener */ // WM_keymap_add_item(keymap, "ARMATURE_OT_hide", HKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "ARMATURE_OT_align_bones", AKEY, KM_PRESS, KM_CTRL|KM_ALT, 0); + WM_keymap_add_item(keymap, "ARMATURE_OT_calculate_roll", NKEY, KM_PRESS, KM_CTRL, 0); + WM_keymap_add_item(keymap, "ARMATURE_OT_test", TKEY, KM_PRESS, 0, 0); // XXX temp test for context iterators... to be removed /* Pose */ Modified: branches/blender2.5/blender/source/blender/editors/armature/editarmature.c === --- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-02-06 10:04:44 UTC (rev 18825) +++ branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-02-06 10:48:00 UTC (rev 18826) @@ -1556,7 +1556,7 @@ } /* context: editmode armature */ -EditBone *armature_bone_get_mirrored(ListBase *edbo, EditBone *ebo) +EditBone *ED_armature_bone_get_mirrored(ListBase *edbo, EditBone *ebo) { EditBone *eboflip= NULL; char name[32]; @@ -1592,7 +1592,7 @@ for (curBone=arm->edbo->first; curBone; curBone=curBone->next) { if (arm->layer & curBone->layer) { if (curBone->flag & BONE_SELECTED) { - next = armature_bone_get_mirrored(arm->edbo, curBone); + next = ED_armature_bone_get_mirrored(arm->edbo, curBone); if (next) next->flag |= BONE_SELECTED; } @@ -1656,10 +1656,10 @@ } /* toggle==0: deselect -toggle==1: swap (based on test) -toggle==2: only active tag -toggle==3: swap (no test) -*/ + * toggle==1: swap (based on test) + * toggle==2: only active tag + * toggle==3: swap (no test) + */ void deselectall_armature(Object *obedit, int toggle, int doundo) { bArmature *arm= obedit->data; @@ -1916,20 +1916,22 @@ } } -/* Sets the roll value of sele
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18825] branches/blender2.5/blender/source /blender/editors/armature/editarmature.c: 2.5
Revision: 18825 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18825 Author: aligorith Date: 2009-02-06 11:04:44 +0100 (Fri, 06 Feb 2009) Log Message: --- 2.5 Converted all countall() calls in armature code to armature_sync_selection() Modified Paths: -- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c Modified: branches/blender2.5/blender/source/blender/editors/armature/editarmature.c === --- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-02-06 01:39:55 UTC (rev 18824) +++ branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-02-06 10:04:44 UTC (rev 18825) @@ -103,24 +103,23 @@ static void error_libdata() {} static void BIF_undo_push() {} static void adduplicate() {} -static void countall() {} /* * XXX *** */ /* tools on Editmode Armature */ /* Sync selection to parent for connected children */ -// XXX this is really buggy code! do not use this for now - Aligorith, 6Feb2009 static void armature_sync_selection(ListBase *edbo) { EditBone *ebo; for (ebo=edbo->first; ebo; ebo= ebo->next) { - if ((ebo->flag & BONE_CONNECTED) && ebo->parent){ + if ((ebo->flag & BONE_CONNECTED) && (ebo->parent)) { if (ebo->parent->flag & BONE_TIPSEL) ebo->flag |= BONE_ROOTSEL; else ebo->flag &= ~BONE_ROOTSEL; } + if ((ebo->flag & BONE_TIPSEL) && (ebo->flag & BONE_ROOTSEL)) ebo->flag |= BONE_SELECTED; else @@ -1040,8 +1039,6 @@ /* recalc/redraw + cleanup */ waitcursor(0); - - countall(); // flush! BIF_undo_push("Separate Armature"); } @@ -1249,7 +1246,7 @@ } } - countall(); // flushes selection! + armature_sync_selection(arm->edbo); if (direction==BONE_SELECT_PARENT) BIF_undo_push("Select edit bone parent"); @@ -1382,7 +1379,8 @@ selectconnected_posebonechildren (ob, curBone); } - countall(); // flushes selection! + // XXX this only counted the number of pose channels selected + //countall(); // flushes selection! BIF_undo_push("Select connected"); @@ -1446,7 +1444,7 @@ } - countall(); // flushes selection! + armature_sync_selection(arm->edbo); BIF_undo_push("Select connected"); @@ -1652,7 +1650,7 @@ } - countall(); // flushes selection! + armature_sync_selection(arm->edbo); BIF_undo_push("Delete bone(s)"); } @@ -1709,7 +1707,7 @@ } } - countall(); // flushes selection! + armature_sync_selection(arm->edbo); if (doundo) { if (sel==1) BIF_undo_push("Select All"); else BIF_undo_push("Deselect All"); @@ -2125,7 +2123,7 @@ /* no primitive support yet */ add_primitive_bone(scene, v3d, rv3d, newob); - countall(); // flushes selection! + //armature_sync_selection(arm->edbo); // XXX which armature? if ((newob) && !(U.flag & USER_ADD_EDITMODE)) { ED_armature_from_edit(scene, obedit); @@ -2213,7 +2211,7 @@ } - countall(); + armature_sync_selection(arm->edbo); BIF_undo_push("Add Bone"); } @@ -2304,7 +2302,7 @@ EditBone*curBone; EditBone*firstDup=NULL; /* The beginning of the duplicated bones in the edbo list */ - countall(); // flushes selection! + armature_sync_selection(arm->edbo); // XXX why is this needed? /* Select mirrored bones */ if (arm->flag & ARM_MIRROR_EDIT) { @@ -2820,7 +2818,7 @@ } /* undo + updates */ - countall(); + armature_sync_selection(arm->edbo); BIF_undo_push("Merge Bones"); } @@ -2842,7 +2840,7 @@ } } } - countall(); + armature_sync_selection(arm->edbo); BIF_undo_push("Hide Bones"); } @@ -2862,7 +2860,7 @@ } } } - countall(); + armature_sync_selection(arm->edbo); BIF_undo_push("Hide Unselected Bones"); } @@ -2880,7 +2878,7 @@ } } } - countall(); + armature_sync_selection(arm->edbo); BIF_undo_push("Reveal Bones"); } @@ -3026,7 +3024,7 @@ } } - countall(); /* checks selection */ + armature_sync_selection(arm->edb