[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18820] branches/blender2.5/blender/source /blender: 2.5 - Bugfixes for Pose 'Clear' Operators
Revision: 18820 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18820 Author: aligorith Date: 2009-02-05 06:51:21 +0100 (Thu, 05 Feb 2009) Log Message: --- 2.5 - Bugfixes for Pose 'Clear' Operators * Fixed context iterators for PoseChannels. The actual selection test was missing (but layer visibility was getting checked). Also added check for hidden bones here too. * Removed unnecessary defines added by mfoxdogg in BKE_context.h * Removed the old hacks in 'Clear ...' operators for ensuring that object animation (ipos/actions) don't overwrite poses. These are no longer necessary, since normal animation calculation is only done in a separate step on frame-changes now. * Removed the manual checks for layer visibility from 'Clear ...' operators, since that's taken care of by context iterators. Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h branches/blender2.5/blender/source/blender/editors/armature/armature_intern.h branches/blender2.5/blender/source/blender/editors/armature/editarmature.c branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h === --- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2009-02-05 05:13:08 UTC (rev 18819) +++ branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2009-02-05 05:51:21 UTC (rev 18820) @@ -40,8 +40,6 @@ struct ListBase; struct Main; struct Object; -struct Bone; -struct bArmature; struct PointerRNA; struct ReportList; struct Scene; 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-05 05:13:08 UTC (rev 18819) +++ branches/blender2.5/blender/source/blender/editors/armature/armature_intern.h 2009-02-05 05:51:21 UTC (rev 18820) @@ -33,7 +33,7 @@ /* editarmature.c */ void armature_bone_rename(Object *ob, char *oldnamep, char *newnamep); -EditBone *armature_bone_get_mirrored(ListBase *edbo, EditBone *ebo); +EditBone *armature_bone_get_mirrored(ListBase *edbo, EditBone *ebo); // XXX this is needed for populating the context iterators void POSE_OT_hide(struct wmOperatorType *ot); void POSE_OT_reveil(struct wmOperatorType *ot); Modified: branches/blender2.5/blender/source/blender/editors/armature/editarmature.c === --- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-02-05 05:13:08 UTC (rev 18819) +++ branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-02-05 05:51:21 UTC (rev 18820) @@ -4012,32 +4012,27 @@ } } /* * Clear Pose */ + static int pose_clear_scale_exec(bContext *C, wmOperator *op) { Scene *scene = CTX_data_scene(C); Object *ob= CTX_data_active_object(C); - bArmature *arm= ob->data; /* only clear those channels that are not locked */ - CTX_DATA_BEGIN(C, bPoseChannel*, pchan, selected_pchans){ - if (arm->layer & pchan->bone->layer) { - if ((pchan->protectflag & OB_LOCK_SCALEX)==0) - pchan->size[0]= 1.0f; - if ((pchan->protectflag & OB_LOCK_SCALEY)==0) - pchan->size[1]= 1.0f; - if ((pchan->protectflag & OB_LOCK_SCALEZ)==0) - pchan->size[2]= 1.0f; - /* the current values from IPO's may not be zero, so tag as unkeyed */ - pchan->bone->flag |= BONE_UNKEYED; - } + CTX_DATA_BEGIN(C, bPoseChannel*, pchan, selected_pchans) { + if ((pchan->protectflag & OB_LOCK_SCALEX)==0) + pchan->size[0]= 1.0f; + if ((pchan->protectflag & OB_LOCK_SCALEY)==0) + pchan->size[1]= 1.0f; + if ((pchan->protectflag & OB_LOCK_SCALEZ)==0) + pchan->size[2]= 1.0f; + + /* the current values from IPO's may not be zero, so tag as unkeyed */ + //pchan->bone->flag |= BONE_UNKEYED; } CTX_DATA_END; - + DAG_object_flush_update(scene, ob, OB_RECALC_DATA); - /* no update for this object, this will execute the action again */ - /* is weak... like for ipo editing which uses ctime now... */ - where_is_pose (scene, ob); - ob->recalc= 0; /* note, notifier might evolve */ WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob); @@ -4064,28 +4059,22 @@ {
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18819] branches/blender2.5/blender/source /blender: 2.5
Revision: 18819 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18819 Author: mfoxdogg Date: 2009-02-05 06:13:08 +0100 (Thu, 05 Feb 2009) Log Message: --- 2.5 *** -ported clear loc,rot,scale operators to pose mode operators - for some reason when animated and you clear anything, the whole aramture clears. somthing to do with the depsgraph stuff that was directly ported from clear armature() Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 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/object/object_edit.c Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h === --- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2009-02-05 03:28:07 UTC (rev 18818) +++ branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2009-02-05 05:13:08 UTC (rev 18819) @@ -40,6 +40,8 @@ struct ListBase; struct Main; struct Object; +struct Bone; +struct bArmature; struct PointerRNA; struct ReportList; struct Scene; 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-05 03:28:07 UTC (rev 18818) +++ branches/blender2.5/blender/source/blender/editors/armature/armature_intern.h 2009-02-05 05:13:08 UTC (rev 18819) @@ -37,7 +37,9 @@ void POSE_OT_hide(struct wmOperatorType *ot); void POSE_OT_reveil(struct wmOperatorType *ot); +void POSE_OT_rot_clear(struct wmOperatorType *ot); +void POSE_OT_loc_clear(struct wmOperatorType *ot); +void POSE_OT_scale_clear(struct wmOperatorType *ot); - #endif /* ED_ARMATURE_INTERN_H */ 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-05 03:28:07 UTC (rev 18818) +++ branches/blender2.5/blender/source/blender/editors/armature/armature_ops.c 2009-02-05 05:13:08 UTC (rev 18819) @@ -109,6 +109,9 @@ { WM_operatortype_append(POSE_OT_hide); WM_operatortype_append(POSE_OT_reveil); + WM_operatortype_append(POSE_OT_rot_clear); + WM_operatortype_append(POSE_OT_loc_clear); + WM_operatortype_append(POSE_OT_scale_clear); WM_operatortype_append(ARMATURE_OT_test); // XXX temp test for context iterators... to be removed } @@ -133,6 +136,9 @@ kmi= WM_keymap_add_item(keymap, "POSE_OT_hide", HKEY, KM_PRESS, KM_SHIFT, 0); RNA_boolean_set(kmi->ptr, "invert", 1); WM_keymap_add_item(keymap, "POSE_OT_reveil", HKEY, KM_PRESS, KM_ALT, 0); - + /*clear pose*/ + WM_keymap_add_item(keymap, "POSE_OT_rot_clear", RKEY, KM_PRESS, KM_ALT, 0); + WM_keymap_add_item(keymap, "POSE_OT_loc_clear", GKEY, KM_PRESS, KM_ALT, 0); + WM_keymap_add_item(keymap, "POSE_OT_scale_clear", SKEY, KM_PRESS, KM_ALT, 0); } Modified: branches/blender2.5/blender/source/blender/editors/armature/editarmature.c === --- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-02-05 03:28:07 UTC (rev 18818) +++ branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-02-05 05:13:08 UTC (rev 18819) @@ -3483,74 +3483,6 @@ /* * Pose tools * */ -void clear_armature(Scene *scene, Object *ob, char mode) -{ - bPoseChannel *pchan; - bArmature *arm= ob->data; - - /* only clear those channels that are not locked */ - for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { - if (pchan->bone && (pchan->bone->flag & BONE_SELECTED)) { - if (arm->layer & pchan->bone->layer) { - switch (mode) { - case 'r': - if (pchan->protectflag & (OB_LOCK_ROTX|OB_LOCK_ROTY|OB_LOCK_ROTZ)) { - float eul[3], oldeul[3], quat1[4]; - - QUATCOPY(quat1, pchan->quat); - QuatToEul(pchan->quat, oldeul); - eul[0]= eul[1]= eul[2]= 0.0f; -
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18818] branches/blender2.5/blender/source /blender: 2.5 - Context API access for Bones (EditMode and PoseMode)
Revision: 18818 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18818 Author: aligorith Date: 2009-02-05 04:28:07 +0100 (Thu, 05 Feb 2009) Log Message: --- 2.5 - Context API access for Bones (EditMode and PoseMode) * Added selected, selected+editable, and active to access EditBones for Armature Operators to use. These take into account X-Axis Mirror too, so there is really no need to check that sort of thing anymore in tools. * Added a quick testing operator for verifying that these loops filter the data correctly. I've dumped this in armature_ops.c for now. It can be activated using the TKEY hotkey in Armature EditMode only. This should be removed once we have a few more functional tools. * Ported over cleaned up roll-calculation tools from AnimSys2 * Removed a few ugly stubs from posemode code Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h branches/blender2.5/blender/source/blender/blenkernel/intern/context.c 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/space_view3d/space_view3d.c branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h === --- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2009-02-05 01:32:37 UTC (rev 18817) +++ branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2009-02-05 03:28:07 UTC (rev 18818) @@ -51,6 +51,8 @@ struct ToolSettings; struct Image; struct ImBuf; +struct EditBone; +struct bPoseChannel; struct wmWindow; struct wmWindowManager; @@ -81,7 +83,14 @@ CTX_DATA_EDIT_IMAGE, CTX_DATA_EDIT_IMAGE_BUFFER, - CTX_DATA_SELECTED_NODES + CTX_DATA_SELECTED_NODES, + + CTX_DATA_SELECTED_BONES, + CTX_DATA_SELECTED_EDITABLE_BONES, + CTX_DATA_SELECTED_PCHANS, + + CTX_DATA_ACTIVE_BONE, + CTX_DATA_ACTIVE_PCHAN, }; typedef int bContextDataMember; @@ -185,6 +194,13 @@ int CTX_data_selected_nodes(const bContext *C, ListBase *list); +struct EditBone *CTX_data_active_bone(const bContext *C); +int CTX_data_selected_bones(const bContext *C, ListBase *list); +int CTX_data_selected_editable_bones(const bContext *C, ListBase *list); + +struct bPoseChannel *CTX_data_active_pchan(const bContext *C); +int CTX_data_selected_pchans(const bContext *C, ListBase *list); + /* Data Evaluation Context */ float CTX_eval_frame(const bContext *C); Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/context.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/context.c 2009-02-05 01:32:37 UTC (rev 18817) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/context.c 2009-02-05 03:28:07 UTC (rev 18818) @@ -441,6 +441,31 @@ return ctx_data_pointer_get(C, CTX_DATA_EDIT_IMAGE_BUFFER); } +struct EditBone *CTX_data_active_bone(const bContext *C) +{ + return ctx_data_pointer_get(C, CTX_DATA_ACTIVE_BONE); +} + +int CTX_data_selected_bones(const bContext *C, ListBase *list) +{ + return ctx_data_collection_get(C, CTX_DATA_SELECTED_BONES, list); +} + +int CTX_data_selected_editable_bones(const bContext *C, ListBase *list) +{ + return ctx_data_collection_get(C, CTX_DATA_SELECTED_EDITABLE_BONES, list); +} + +struct bPoseChannel *CTX_data_active_pchan(const bContext *C) +{ + return ctx_data_pointer_get(C, CTX_DATA_ACTIVE_PCHAN); +} + +int CTX_data_selected_pchans(const bContext *C, ListBase *list) +{ + return ctx_data_collection_get(C, CTX_DATA_SELECTED_PCHANS, list); +} + /* data evaluation */ float CTX_eval_frame(const bContext *C) 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-05 01:32:37 UTC (rev 18817) +++ branches/blender2.5/blender/source/blender/editors/armature/armature_ops.c 2009-02-05 03:28:07 UTC (rev 18818) @@ -58,7 +58,50 @@ #include "armature_intern.h" +/* ** quick tests **/ +/* XXX This is a quick test operator to print names of all EditBones in context + * that should be removed once tool coding starts... + */ + +static int armature_test_exec (bContext *C, wmOperator *op) +{ + printf("EditMode Armature Test: \n"); + + printf("\tSelected Bones \n"); + CTX_DATA_BEGIN(C, EditB
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18817] branches/blender2.5/blender/source /blender/editors/mesh: flip_editnormals is back, alt+3key
Revision: 18817 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18817 Author: shul Date: 2009-02-05 02:32:37 +0100 (Thu, 05 Feb 2009) Log Message: --- flip_editnormals is back, alt+3key Modified Paths: -- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c === --- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c 2009-02-05 01:12:47 UTC (rev 18816) +++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c 2009-02-05 01:32:37 UTC (rev 18817) @@ -1895,43 +1895,8 @@ } #endif -void flipface(EditMesh *em, EditFace *efa) -{ - if(efa->v4) { - SWAP(EditVert *, efa->v2, efa->v4); - SWAP(EditEdge *, efa->e1, efa->e4); - SWAP(EditEdge *, efa->e2, efa->e3); - EM_data_interp_from_faces(em, efa, NULL, efa, 0, 3, 2, 1); - } - else { - SWAP(EditVert *, efa->v2, efa->v3); - SWAP(EditEdge *, efa->e1, efa->e3); - efa->e2->dir= 1-efa->e2->dir; - EM_data_interp_from_faces(em, efa, NULL, efa, 0, 2, 1, 3); - } - if(efa->v4) CalcNormFloat4(efa->v1->co, efa->v2->co, efa->v3->co, efa->v4->co, efa->n); - else CalcNormFloat(efa->v1->co, efa->v2->co, efa->v3->co, efa->n); -} - -void flip_editnormals(EditMesh *em) -{ - EditFace *efa; - - efa= em->faces.first; - while(efa) { - if( efa->f & SELECT ){ - flipface(em, efa); - } - efa= efa->next; - } - - /* update vertex normals too */ - recalc_editnormals(em); - -} - /* does face centers too */ void recalc_editnormals(EditMesh *em) { Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c === --- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 2009-02-05 01:12:47 UTC (rev 18816) +++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 2009-02-05 01:32:37 UTC (rev 18817) @@ -4731,3 +4731,57 @@ /* props */ RNA_def_float(ot->srna, "percent", 100.0f, 0.0f, 100.0f, "Percent", "DOC_BROKEN", 0.01f, 100.0f); } + +void flipface(EditMesh *em, EditFace *efa) +{ + if(efa->v4) { + SWAP(EditVert *, efa->v2, efa->v4); + SWAP(EditEdge *, efa->e1, efa->e4); + SWAP(EditEdge *, efa->e2, efa->e3); + EM_data_interp_from_faces(em, efa, NULL, efa, 0, 3, 2, 1); + } + else { + SWAP(EditVert *, efa->v2, efa->v3); + SWAP(EditEdge *, efa->e1, efa->e3); + efa->e2->dir= 1-efa->e2->dir; + EM_data_interp_from_faces(em, efa, NULL, efa, 0, 2, 1, 3); + } + + if(efa->v4) CalcNormFloat4(efa->v1->co, efa->v2->co, efa->v3->co, efa->v4->co, efa->n); + else CalcNormFloat(efa->v1->co, efa->v2->co, efa->v3->co, efa->n); +} + + +static int flip_editnormals(bContext *C, wmOperator *op) +{ + Object *obedit= CTX_data_edit_object(C); + EditMesh *em= ((Mesh *)obedit->data)->edit_mesh; + EditFace *efa; + + efa= em->faces.first; + while(efa) { + if( efa->f & SELECT ){ + flipface(em, efa); + } + efa= efa->next; + } + + /* update vertex normals too */ + recalc_editnormals(em); + + return OPERATOR_FINISHED; +} + +void MESH_OT_flip_editnormals(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Flip Normals"; + ot->idname= "MESH_OT_flip_editnormals"; + + /* api callbacks */ + ot->exec= flip_editnormals; + ot->poll= ED_operator_editmesh; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h === --- branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h 2009-02-05 01:12:47 UTC (rev 18816) +++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h 2009-02-05 01:32:37 UTC (rev 18817) @@ -196,6 +196,7 @@ void MESH_OT_mark_seam(struct wmOperatorType *ot); void MESH_OT_mark_sharp(struct wmOperatorType *ot); void MESH_OT_smooth_vertex(struct wmOperatorType *ot); +void MESH_OT_flip_editnormals(struct wmOperatorType *ot); extern EditEdge *findnearestedge(ViewContext *vc,
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18816] branches/blender2.5/blender/source /blender: * Added range function for Multires's level RNA
Revision: 18816 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18816 Author: nicholasbishop Date: 2009-02-05 02:12:47 +0100 (Thu, 05 Feb 2009) Log Message: --- * Added range function for Multires's level RNA * Removed RNA for old multires in Mesh, the old mesh->mr struct should never be used (except for loading old files) * Dealt with sculpt + render (just needed to force multires update) * sculpt memory leaks fixed * Entering editmode now always exits paint modes (previously, only happened if editmode was called from the header button) Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/intern/multires.c branches/blender2.5/blender/source/blender/editors/object/object_edit.c branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c branches/blender2.5/blender/source/blender/makesrna/intern/rna_mesh.c branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/multires.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/multires.c 2009-02-04 22:33:24 UTC (rev 18815) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/multires.c 2009-02-05 01:12:47 UTC (rev 18816) @@ -1204,7 +1204,7 @@ void multires_force_update(Object *ob) { - if(ob->derivedFinal) { + if(ob && ob->derivedFinal) { ob->derivedFinal->needsFree =1; ob->derivedFinal->release(ob->derivedFinal); ob->derivedFinal = NULL; Modified: branches/blender2.5/blender/source/blender/editors/object/object_edit.c === --- branches/blender2.5/blender/source/blender/editors/object/object_edit.c 2009-02-04 22:33:24 UTC (rev 18815) +++ branches/blender2.5/blender/source/blender/editors/object/object_edit.c 2009-02-05 01:12:47 UTC (rev 18816) @@ -3101,6 +3101,8 @@ } if(flag & EM_WAITCURSOR) waitcursor(1); + + ED_view3d_exit_paint_modes(C); if(ob->type==OB_MESH) { Mesh *me= ob->data; Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c === --- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2009-02-04 22:33:24 UTC (rev 18815) +++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2009-02-05 01:12:47 UTC (rev 18816) @@ -45,6 +45,7 @@ #include "BKE_idprop.h" #include "BKE_library.h" #include "BKE_main.h" +#include "BKE_multires.h" #include "BKE_report.h" #include "BKE_screen.h" #include "BKE_utildefines.h" @@ -2028,8 +2029,11 @@ /* handle UI stuff */ WM_cursor_wait(1); + + /* flush multires changes (for sculpt) */ + multires_force_update(CTX_data_active_object(C)); - // get editmode results, sculpt mode results (no set sculptmode in end!) + // get editmode results // store spare // get view3d layer, local layer, make this nice api call to render // store spare Modified: branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c === --- branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c 2009-02-04 22:33:24 UTC (rev 18815) +++ branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c 2009-02-05 01:12:47 UTC (rev 18816) @@ -1083,6 +1083,8 @@ } if(ss->totvert != ss->fmap_size) { + if(ss->fmap) MEM_freeN(ss->fmap); + if(ss->fmap_mem) MEM_freeN(ss->fmap_mem); create_vert_face_map(&ss->fmap, &ss->fmap_mem, ss->mface, ss->totvert, ss->totface); ss->fmap_size = ss->totvert; } @@ -1628,6 +1630,8 @@ ToolSettings *ts = CTX_data_tool_settings(C); if(G.f & G_SCULPTMODE) { + multires_force_update(CTX_data_active_object(C)); + /* Leave sculptmode */ G.f &= ~G_SCULPTMODE; 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-04 22:33:24 UTC (rev 18815) +++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c 2009-02-05 01:12:47 UTC (rev 18816) @@ -140,8 +140,10 @@ else if(G.f & G_WEIGHTPAINT) WM_operator_name_call(C, "VIEW3D_OT_wpaint_toggle", WM_OP_EXEC_REGION_WIN, NUL
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18815] branches/blender2.5/blender/source /blender/windowmanager/intern/wm_files.c: Bugfix for 2.5 - Bugfix #18251
Revision: 18815 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18815 Author: aligorith Date: 2009-02-04 23:33:24 +0100 (Wed, 04 Feb 2009) Log Message: --- Bugfix for 2.5 - Bugfix #18251 The patch was pasted in the wrong place, thus destroying all custom OpenGL solid light setups too. 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-04 21:38:03 UTC (rev 18814) +++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c 2009-02-04 22:33:24 UTC (rev 18815) @@ -571,14 +571,14 @@ 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(); } - /* 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 */ wm_window_match_do(C, &wmbase); wm_check(C); /* opens window(s), checks keymaps */ ___ 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 [18814] branches/etch-a-ton/source/blender : Rename correlation subdividing method into adaptative subdividing method, since that's what it' s trying
Revision: 18814 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18814 Author: theeth Date: 2009-02-04 22:38:03 +0100 (Wed, 04 Feb 2009) Log Message: --- Rename correlation subdividing method into adaptative subdividing method, since that's what it's trying to do and much more understandable from a user's pov. Modified Paths: -- branches/etch-a-ton/source/blender/include/BIF_generate.h branches/etch-a-ton/source/blender/makesdna/DNA_scene_types.h branches/etch-a-ton/source/blender/src/drawview.c branches/etch-a-ton/source/blender/src/editarmature.c branches/etch-a-ton/source/blender/src/editarmature_generate.c branches/etch-a-ton/source/blender/src/editarmature_sketch.c Modified: branches/etch-a-ton/source/blender/include/BIF_generate.h === --- branches/etch-a-ton/source/blender/include/BIF_generate.h 2009-02-04 18:25:41 UTC (rev 18813) +++ branches/etch-a-ton/source/blender/include/BIF_generate.h 2009-02-04 21:38:03 UTC (rev 18814) @@ -34,7 +34,7 @@ int nextFixedSubdivision(struct BArcIterator *iter, int start, int end, float head[3], float p[3]); int nextLengthSubdivision(struct BArcIterator *iter, int start, int end, float head[3], float p[3]); -int nextCorrelationSubdivision(struct BArcIterator *iter, int start, int end, float head[3], float p[3]); +int nextAdaptativeSubdivision(struct BArcIterator *iter, int start, int end, float head[3], float p[3]); struct EditBone * subdivideArcBy(struct bArmature *arm, ListBase *editbones, struct BArcIterator *iter, float invmat[][4], float tmat[][3], NextSubdivisionFunc next_subdividion); Modified: branches/etch-a-ton/source/blender/makesdna/DNA_scene_types.h === --- branches/etch-a-ton/source/blender/makesdna/DNA_scene_types.h 2009-02-04 18:25:41 UTC (rev 18813) +++ branches/etch-a-ton/source/blender/makesdna/DNA_scene_types.h 2009-02-04 21:38:03 UTC (rev 18814) @@ -886,7 +886,7 @@ /* toolsettings->bone_sketching_convert */ #defineSK_CONVERT_CUT_FIXED1 #defineSK_CONVERT_CUT_LENGTH 2 -#defineSK_CONVERT_CUT_CORRELATION 3 +#defineSK_CONVERT_CUT_ADAPTATIVE 3 #defineSK_CONVERT_RETARGET 4 /* toolsettings->skgen_retarget_options */ Modified: branches/etch-a-ton/source/blender/src/drawview.c === --- branches/etch-a-ton/source/blender/src/drawview.c 2009-02-04 18:25:41 UTC (rev 18813) +++ branches/etch-a-ton/source/blender/src/drawview.c 2009-02-04 21:38:03 UTC (rev 18814) @@ -2336,7 +2336,7 @@ uiBlockBeginAlign(block); - uiDefButC(block, MENU, B_REDR, "Subdivision Method%t|Length%x2|Correlation%x3|Fixed%x1|Template%x4", 10,yco,60,19, &G.scene->toolsettings->bone_sketching_convert, 0, 0, 0, 0, subdiv_tooltip[(unsigned char)G.scene->toolsettings->bone_sketching_convert]); + uiDefButC(block, MENU, B_REDR, "Subdivision Method%t|Length%x2|Adaptative%x3|Fixed%x1|Template%x4", 10,yco,60,19, &G.scene->toolsettings->bone_sketching_convert, 0, 0, 0, 0, subdiv_tooltip[(unsigned char)G.scene->toolsettings->bone_sketching_convert]); switch(G.scene->toolsettings->bone_sketching_convert) { @@ -2344,7 +2344,7 @@ uiDefButF(block, NUM, B_REDR, "Lim:", 70, yco, 140, 19, &G.scene->toolsettings->skgen_length_limit,0.1,50.0, 10, 0, "Maximum length of the subdivided bones"); yco -= 20; break; - case SK_CONVERT_CUT_CORRELATION: + case SK_CONVERT_CUT_ADAPTATIVE: uiDefButF(block, NUM, B_REDR, "Thres:", 70, yco, 140, 19, &G.scene->toolsettings->skgen_correlation_limit,0.0, 1.0, 0.01, 0, "Correlation threshold for subdivision"); yco -= 20; break; Modified: branches/etch-a-ton/source/blender/src/editarmature.c === --- branches/etch-a-ton/source/blender/src/editarmature.c 2009-02-04 18:25:41 UTC (rev 18813) +++ branches/etch-a-ton/source/blender/src/editarmature.c 2009-02-04 21:38:03 UTC (rev 18814) @@ -4737,7 +4737,7 @@ initArcIterator(iter, arc, head); - lastBone = subdivideArcBy(arm, &G.edbo, iter, invmat, tmat, nextCorrelationSubdivision); + lastBone = subdivideArcBy(arm, &G.edbo, iter, invmat, tmat, nextAdaptativeSubdivision); } return lastBone; Modified: br
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18813] branches/blender2.5/blender: Fixed CMake for RNA, also removed the aggregate return warning for CMake
Revision: 18813 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18813 Author: nicholasbishop Date: 2009-02-04 19:25:41 +0100 (Wed, 04 Feb 2009) Log Message: --- Fixed CMake for RNA, also removed the aggregate return warning for CMake Modified Paths: -- branches/blender2.5/blender/CMakeLists.txt branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt Modified: branches/blender2.5/blender/CMakeLists.txt === --- branches/blender2.5/blender/CMakeLists.txt 2009-02-04 18:02:50 UTC (rev 18812) +++ branches/blender2.5/blender/CMakeLists.txt 2009-02-04 18:25:41 UTC (rev 18813) @@ -198,7 +198,7 @@ SET(PLATFORM_LINKFLAGS "-pthread") # Better warnings - SET(C_WARNINGS "-Wall -Wno-char-subscripts -Wpointer-arith -Wcast-align -Waggregate-return -Wnested-externs -Wdeclaration-after-statement") + SET(C_WARNINGS "-Wall -Wno-char-subscripts -Wpointer-arith -Wcast-align -Wnested-externs -Wdeclaration-after-statement") INCLUDE_DIRECTORIES(/usr/include /usr/local/include) ENDIF(UNIX) Modified: branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt === --- branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt 2009-02-04 18:02:50 UTC (rev 18812) +++ branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt 2009-02-04 18:25:41 UTC (rev 18813) @@ -39,7 +39,6 @@ rna_group.c rna_ID.c rna_image.c - rna_ipo.c rna_key.c rna_lamp.c rna_lattice.c ___ 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 [18812] branches/blender2.5/blender/source /blender/windowmanager/intern/wm_files.c: 2.5
Revision: 18812 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18812 Author: ton Date: 2009-02-04 19:02:50 +0100 (Wed, 04 Feb 2009) Log Message: --- 2.5 Bugfix #18251 Patch from Konrad Kleine After read-home file (or restore factory settings) the opengl lights have to be reset. 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-04 17:56:31 UTC (rev 18811) +++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c 2009-02-04 18:02:50 UTC (rev 18812) @@ -83,6 +83,8 @@ #include "UI_interface.h" #include "BLF_api.h" +#include "GPU_draw.h" + // XXX #include "BPY_extern.h" #include "WM_api.h" @@ -571,6 +573,12 @@ 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 */ wm_window_match_do(C, &wmbase); wm_check(C); /* opens window(s), checks keymaps */ ___ 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 [18811] trunk/blender/source/blender/src/ usiblender.c: Bugfix #18251
Revision: 18811 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18811 Author: ton Date: 2009-02-04 18:56:31 +0100 (Wed, 04 Feb 2009) Log Message: --- Bugfix #18251 Patch from Konrad Kleine After read-home file (or restore factory settings) the opengl lights have to be reset. Modified Paths: -- trunk/blender/source/blender/src/usiblender.c Modified: trunk/blender/source/blender/src/usiblender.c === --- trunk/blender/source/blender/src/usiblender.c 2009-02-04 17:40:50 UTC (rev 18810) +++ trunk/blender/source/blender/src/usiblender.c 2009-02-04 17:56:31 UTC (rev 18811) @@ -668,6 +668,12 @@ success = BKE_read_file_from_memory(datatoc_B_blend, datatoc_B_blend_size, NULL); /* outliner patch for 2.42 .b.blend */ outliner_242_patch(); + + /* 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(); } BLI_clean(scestr); ___ 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 [18810] branches/blender2.5/blender/source : 2.5
Revision: 18810 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18810 Author: ton Date: 2009-02-04 18:40:50 +0100 (Wed, 04 Feb 2009) Log Message: --- 2.5 Render back! And not only back, even full threaded now. :) Current state is unfinished, but too much fun to not to commit for review and test! WARNING: because render is in a threaded job, it will use data as can be edited in the UI. That'll crash in many cases of course... the idea is to limit UI usage to viewing stuff, especially for the Image Window to inspect layers or zoom in/out. What works now; - F12 render (no anim) - ESC from render - ESC pushes back temporary Image Window - Render to ImageWindow or full-screen. - Executing composites, and edit composites after render. Note that the UI is 100% responsive in a render, you can switch screens, slide area dividers around, or even load a new file during render. :) It's quite stable even. I'll collect all crash reports especially to get a good picture of where the protection is required at least. Also added: XKey "Delete Objects", to get things crash... unfortunately it didn't for me. Modified Paths: -- branches/blender2.5/blender/source/Makefile branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c branches/blender2.5/blender/source/blender/editors/animation/anim_deps.c branches/blender2.5/blender/source/blender/editors/curve/editcurve.c branches/blender2.5/blender/source/blender/editors/include/ED_anim_api.h branches/blender2.5/blender/source/blender/editors/include/ED_image.h branches/blender2.5/blender/source/blender/editors/include/ED_screen.h branches/blender2.5/blender/source/blender/editors/object/object_edit.c branches/blender2.5/blender/source/blender/editors/object/object_intern.h branches/blender2.5/blender/source/blender/editors/object/object_ops.c branches/blender2.5/blender/source/blender/editors/screen/Makefile branches/blender2.5/blender/source/blender/editors/screen/SConscript branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c branches/blender2.5/blender/source/blender/editors/space_api/spacetypes.c branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c branches/blender2.5/blender/source/blender/editors/space_image/image_draw.c branches/blender2.5/blender/source/blender/editors/space_image/image_render.c branches/blender2.5/blender/source/blender/editors/space_info/info_header.c branches/blender2.5/blender/source/blender/editors/space_info/space_info.c branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c branches/blender2.5/blender/source/blender/render/intern/source/envmap.c branches/blender2.5/blender/source/blender/render/intern/source/pipeline.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c Modified: branches/blender2.5/blender/source/Makefile === --- branches/blender2.5/blender/source/Makefile 2009-02-04 11:52:16 UTC (rev 18809) +++ branches/blender2.5/blender/source/Makefile 2009-02-04 17:40:50 UTC (rev 18810) @@ -232,7 +232,6 @@ PULIB += $(OCGDIR)/blender/ed_info/libed_info.a PULIB += $(OCGDIR)/blender/ed_buttons/libed_buttons.a PULIB += $(OCGDIR)/blender/ed_node/libed_node.a -PULIB += $(OCGDIR)/blender/ed_image/libed_image.a PULIB += $(OCGDIR)/blender/ed_graph/libed_graph.a PULIB += $(OCGDIR)/blender/ed_outliner/libed_outliner.a PULIB += $(OCGDIR)/blender/ed_time/libed_time.a @@ -248,8 +247,9 @@ PULIB += $(OCGDIR)/blender/ed_animation/libed_animation.a PULIB += $(OCGDIR)/blender/ed_transform/libed_transform.a PULIB += $(OCGDIR)/blender/ed_util/libed_util.a +PULIB += $(OCGDIR)/blender/ed_datafiles/libed_datafiles.a +PULIB += $(OCGDIR)/blender/ed_image/libed_image.a PULIB += $(OCGDIR)/blender/ed_uvedit/libed_uvedit.a -PULIB += $(OCGDIR)/blender/ed_datafiles/libed_datafiles.a PULIB += $(OCGDIR)/blender/ed_screen/libed_screen.a PULIB += $(OCGDIR)/blender/windowmanager/libwindowmanager.a PULIB += $(OCGDIR)/blender/python/$(DEBUG_DIR)libpython.a Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c === --- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c 2009-02-04 11:52:16 UTC (rev 18809) +++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c 2009-02-04 17:40:50 UTC (rev 18810) @@ -3672,6 +3672,17 @@ /* READ SCENE * */ +/* patch for missing scene IDs, can't be in do-versions */ +static void composite_
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18809] branches/blender2.5/blender/source /blender: UI
Revision: 18809 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18809 Author: blendix Date: 2009-02-04 12:52:16 +0100 (Wed, 04 Feb 2009) Log Message: --- UI * Changed uiPupMenuOperator usage to uiPupMenuBegin/End (simpler, no need to build a string). Also made transform orientation and subdiv type enums instead of ints for this. * Added an icon argument to many of the uiMenu calls, and added a uiMenuItemIntO. * Move auto rna button creation out of outliner code, now is uiDefAutoButR for individual buttons and uiDefAutoButsRNA for a whole block. * Implemented uiPupBlock(O). Pressing F6 gives a menu with the properties of the last operator to test. I tried to make a redo last operator out of this but couldn't get the context correct for the operator to repeat in. Further the popup block also has some issues getting closed while editing buttons. * Fix uiAfterFunc memory leak on Ctrl+Q quit. * Fix handling of RNA number button dragging and sliding for RNA buttons with range -inf/inf. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/include/BIF_transform.h branches/blender2.5/blender/source/blender/editors/include/ED_util.h branches/blender2.5/blender/source/blender/editors/include/UI_interface.h branches/blender2.5/blender/source/blender/editors/include/UI_resources.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_regions.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c branches/blender2.5/blender/source/blender/editors/object/object_edit.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_outliner/outliner.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c branches/blender2.5/blender/source/blender/editors/util/undo.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c Added Paths: --- branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c Modified: branches/blender2.5/blender/source/blender/editors/include/BIF_transform.h === --- branches/blender2.5/blender/source/blender/editors/include/BIF_transform.h 2009-02-04 11:47:05 UTC (rev 18808) +++ branches/blender2.5/blender/source/blender/editors/include/BIF_transform.h 2009-02-04 11:52:16 UTC (rev 18809) @@ -37,6 +37,7 @@ struct wmEvent; struct bContext; struct Object; +struct uiMenuItem; void transform_keymap_for_space(struct wmWindowManager *wm, struct ListBase *keymap, int spaceid); void transform_operatortypes(void); @@ -113,6 +114,7 @@ void BIF_selectTransformOrientation(struct bContext *C, struct TransformOrientation *ts); void BIF_selectTransformOrientationValue(struct bContext *C, int orientation); +void BIF_menuTransformOrientation(struct bContext *C, struct uiMenuItem *head, void *arg); char * BIF_menustringTransformOrientation(const struct bContext *C, char *title); /* the returned value was allocated and needs to be freed after use */ int BIF_countTransformOrientation(const struct bContext *C); Modified: branches/blender2.5/blender/source/blender/editors/include/ED_util.h === --- branches/blender2.5/blender/source/blender/editors/include/ED_util.h 2009-02-04 11:47:05 UTC (rev 18808) +++ branches/blender2.5/blender/source/blender/editors/include/ED_util.h 2009-02-04 11:52:16 UTC (rev 18809) @@ -44,6 +44,7 @@ /* undo.c */ void ED_undo_push(struct bContext *C, char *str); void ED_undo_push_op (struct bContext *C, struct wmOperator *op); +void ED_undo_pop (struct bContext *C); void ED_OT_undo (struct wmOperatorType *ot); void ED_OT_redo (struct wmOperatorType *ot); 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-04 11:47:05 UTC (rev 18808) +++ branches/blender2.5/blender/source/blender/editors/include/UI_interface.h 2009-02-04 11:52:16 UTC (rev 18809) @@ -210,11 +210,12 @@
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18808] branches/blender2.5/blender/source /blender: Assorted fixes:
Revision: 18808 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18808 Author: aligorith Date: 2009-02-04 12:47:05 +0100 (Wed, 04 Feb 2009) Log Message: --- Assorted fixes: * Added examples of how to patch up MTex adrcodes for Animato. It appears many of the settings there in RNA are still undefined though! * Added undo push for the Outliner tweaks I made * Removed some outdated comment Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c branches/blender2.5/blender/source/blender/makesdna/DNA_action_types.h Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c 2009-02-04 09:09:31 UTC (rev 18807) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c 2009-02-04 11:47:05 UTC (rev 18808) @@ -351,6 +351,76 @@ return buf; } +/* MTex (Texture Slot) types */ +static char *mtex_adrcodes_to_paths (int adrcode, int *array_index) +{ + char *base=NULL, *prop=NULL; + static char buf[128]; + + /* base part of path */ + if (adrcode & MA_MAP1) base= "textures[0]"; + else if (adrcode & MA_MAP2) base= "textures[1]"; + else if (adrcode & MA_MAP3) base= "textures[2]"; + else if (adrcode & MA_MAP4) base= "textures[3]"; + else if (adrcode & MA_MAP5) base= "textures[4]"; + else if (adrcode & MA_MAP6) base= "textures[5]"; + else if (adrcode & MA_MAP7) base= "textures[6]"; + else if (adrcode & MA_MAP8) base= "textures[7]"; + else if (adrcode & MA_MAP9) base= "textures[8]"; + else if (adrcode & MA_MAP10) base= "textures[9]"; + else if (adrcode & MA_MAP11) base= "textures[10]"; + else if (adrcode & MA_MAP12) base= "textures[11]"; + else if (adrcode & MA_MAP13) base= "textures[12]"; + else if (adrcode & MA_MAP14) base= "textures[13]"; + else if (adrcode & MA_MAP15) base= "textures[14]"; + else if (adrcode & MA_MAP16) base= "textures[15]"; + else if (adrcode & MA_MAP17) base= "textures[16]"; + else if (adrcode & MA_MAP18) base= "textures[17]"; + + /* property identifier for path */ + adrcode= (adrcode & (MA_MAP1-1)); + switch (adrcode) { +#if 0 // XXX these are not wrapped in RNA yet! + case MAP_OFS_X: + poin= &(mtex->ofs[0]); break; + case MAP_OFS_Y: + poin= &(mtex->ofs[1]); break; + case MAP_OFS_Z: + poin= &(mtex->ofs[2]); break; + case MAP_SIZE_X: + poin= &(mtex->size[0]); break; + case MAP_SIZE_Y: + poin= &(mtex->size[1]); break; + case MAP_SIZE_Z: + poin= &(mtex->size[2]); break; + case MAP_R: + poin= &(mtex->r); break; + case MAP_G: + poin= &(mtex->g); break; + case MAP_B: + poin= &(mtex->b); break; + case MAP_DVAR: + poin= &(mtex->def_var); break; + case MAP_COLF: + poin= &(mtex->colfac); break; + case MAP_NORF: + poin= &(mtex->norfac); break; + case MAP_VARF: + poin= &(mtex->varfac); break; +#endif + case MAP_DISP: + prop= "warp_factor"; break; + } + + /* only build and return path if there's a property */ + if (prop) { + BLI_snprintf(buf, 128, "%s.%s", base, prop); + return buf; + } + else + return NULL; +} + /* Texture types */ static char *texture_adrcodes_to_paths (int adrcode, int *array_index) { @@ -465,8 +535,10 @@ case MA_REF: return "diffuse_reflection"; - - // XXX add other types... + + + default: /* for now, we assume that the others were MTex channels */ + return mtex_adrcodes_to_paths(adrcode, array_index); } return NULL; @@ -500,30 +572,6 @@ poin= &(ma->fresnel_tra_i); break; case MA_ADD: poin= &(ma->add); break; - - if (poin == NULL) { - if (icu->adrcode & MA_MAP1) mtex= ma->mtex[0]; - else if (icu->adrcode & MA_MAP2) mtex= ma->mtex[1]; - else if (icu->adrcode & MA_MAP3) mtex= ma->mtex[2]; - else if (icu->adrcode & MA_MAP4) mtex= ma->mtex[3]; - else if (icu->adrcode & MA_
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18807] branches/blender2.5/blender/source /blender: 2.5
Revision: 18807 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18807 Author: aligorith Date: 2009-02-04 10:09:31 +0100 (Wed, 04 Feb 2009) Log Message: --- 2.5 * Outliner 'select' (i.e. blue/grey highlights for tree items) works again in both normal Outliner + RNA views. * Fixed bugs/MSVC warnings in animation code Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/intern/action.c branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c branches/blender2.5/blender/source/blender/editors/space_outliner/outliner_intern.h Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/action.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/action.c 2009-02-04 06:41:48 UTC (rev 18806) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/action.c 2009-02-04 09:09:31 UTC (rev 18807) @@ -511,7 +511,7 @@ repeat = (strip->flag & ACTSTRIP_USESTRIDE) ? (1.0f) : (strip->repeat); if (strip->scale == 0.0f) strip->scale= 1.0f; - scale = fabs(strip->scale); /* scale must be positive (for now) */ + scale = (float)fabs(strip->scale); /* scale must be positive (for now) */ actlength = strip->actend-strip->actstart; if (actlength == 0.0f) actlength = 1.0f; Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c 2009-02-04 06:41:48 UTC (rev 18806) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c 2009-02-04 09:09:31 UTC (rev 18807) @@ -936,7 +936,7 @@ fcurve= fcu; /* set path */ - fcurve->rna_path= adrcode_bitmap_path_copy(abp->path); + fcurve->rna_path= BLI_strdupn(abp->path, strlen(abp->path)); fcurve->array_index= abp->array_index; /* convert keyframes Modified: branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c === --- branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c 2009-02-04 06:41:48 UTC (rev 18806) +++ branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c 2009-02-04 09:09:31 UTC (rev 18807) @@ -2249,8 +2249,17 @@ if(te) { BIF_undo_push("Outliner click event"); } - else - outliner_select(ar, soops); + else { + short selecting= -1; + int row; + + /* get row number - 100 here is just a dummy value since we don't need the column */ + UI_view2d_listview_view_to_cell(&ar->v2d, 1000, OL_H, 0.0f, 0.0f, + fmval[0], fmval[1], NULL, &row); + + /* select relevant row */ + outliner_select(soops, &soops->tree, &row, &selecting); + } ED_region_tag_redraw(ar); @@ -2553,64 +2562,46 @@ BIF_undo_push("Outliner show hierarchy"); } -#if 0 -static void do_outliner_select(SpaceOops *soops, ListBase *lb, float y1, float y2, short *selecting) +void outliner_select(SpaceOops *soops, ListBase *lb, int *index, short *selecting) { TreeElement *te; TreeStoreElem *tselem; - if(y1>y2) SWAP(float, y1, y2); - - for(te= lb->first; te; te= te->next) { + for (te= lb->first; te && *index >= 0; te=te->next, (*index)--) { tselem= TREESTORE(te); - if(te->ys + OL_H < y1) return; - if(te->ys < y2) { - if((te->flag & TE_ICONROW)==0) { - if(*selecting == -1) { - if( tselem->flag & TSE_SELECTED) *selecting= 0; - else *selecting= 1; + /* if we've encountered the right item, set its 'Outliner' selection status */ + if (*index == 0) { + /* this should be the last one, so no need to do anything with index */ + if ((te->flag & TE_ICONROW)==0) { + /* -1 value means toggle testing for now... */ + if (*selecting == -1) { + if (tselem->flag & TSE_SELECTED) + *selecting= 0; + else +