[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18820] branches/blender2.5/blender/source /blender: 2.5 - Bugfixes for Pose 'Clear' Operators

2009-02-04 Thread Joshua Leung
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

2009-02-04 Thread Michael Fox
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)

2009-02-04 Thread Joshua Leung
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

2009-02-04 Thread Shaul Kedem
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

2009-02-04 Thread Nicholas Bishop
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

2009-02-04 Thread Joshua Leung
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

2009-02-04 Thread Martin Poirier
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

2009-02-04 Thread Nicholas Bishop
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

2009-02-04 Thread Ton Roosendaal
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

2009-02-04 Thread Ton Roosendaal
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

2009-02-04 Thread Ton Roosendaal
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

2009-02-04 Thread Brecht Van Lommel
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:

2009-02-04 Thread Joshua Leung
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

2009-02-04 Thread Joshua Leung
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 
+