Revision: 26416
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26416
Author:   aligorith
Date:     2010-01-30 06:08:42 +0100 (Sat, 30 Jan 2010)

Log Message:
-----------
A few minor code cleanup tweaks for recent commits in animation code, to better 
follow conventions elsewhere here :)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_animsys.h
    trunk/blender/source/blender/blenkernel/intern/anim_sys.c
    trunk/blender/source/blender/blenkernel/intern/library.c

Modified: trunk/blender/source/blender/blenkernel/BKE_animsys.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_animsys.h       2010-01-30 
04:43:36 UTC (rev 26415)
+++ trunk/blender/source/blender/blenkernel/BKE_animsys.h       2010-01-30 
05:08:42 UTC (rev 26416)
@@ -94,8 +94,16 @@
 /* Fix all the paths for the entire database... */
 void BKE_all_animdata_fix_paths_rename(char *prefix, char *oldName, char 
*newName);
 
-void BKE_animdata_main_cb(struct Main *main, void (*func)(struct ID *, struct 
AnimData *, void *), void *user_data);
+/* ************************************* */
+/* Batch AnimData API */
 
+/* Define for callback looper used in BKE_animdata_main_cb */
+typedef void (*ID_AnimData_Edit_Callback)(struct ID *id, struct AnimData *adt, 
void *user_data);
+
+
+/* Loop over all datablocks applying callback */
+void BKE_animdata_main_cb(struct Main *main, ID_AnimData_Edit_Callback func, 
void *user_data);
+
 /* ************************************* */
 // TODO: overrides, remapping, and path-finding api's
 

Modified: trunk/blender/source/blender/blenkernel/intern/anim_sys.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/anim_sys.c   2010-01-30 
04:43:36 UTC (rev 26415)
+++ trunk/blender/source/blender/blenkernel/intern/anim_sys.c   2010-01-30 
05:08:42 UTC (rev 26416)
@@ -422,14 +422,17 @@
        MEM_freeN(newN);
 }
 
-void BKE_animdata_main_cb(Main *main, void (*func)(ID *, AnimData *, void *), 
void *user_data)
+/* Whole Database Ops -------------------------------------------- */
+
+/* apply the given callback function on all data in main database */
+void BKE_animdata_main_cb (Main *main, ID_AnimData_Edit_Callback func, void 
*user_data)
 {
        ID *id;
 
 #define ANIMDATA_IDS_CB(first) \
        for (id= first; id; id= id->next) { \
                AnimData *adt= BKE_animdata_from_id(id); \
-               if(adt) func(id, adt, user_data); \
+               if (adt) func(id, adt, user_data); \
        }
 
        ANIMDATA_IDS_CB(main->nodetree.first);  /* nodes */
@@ -450,15 +453,15 @@
        for (id= main->scene.first; id; id= id->next) {
                AnimData *adt= BKE_animdata_from_id(id);
                Scene *scene= (Scene *)id;
-
+               
                /* do compositing nodes first (since these aren't included in 
main tree) */
                if (scene->nodetree) {
                        AnimData *adt2= BKE_animdata_from_id((ID 
*)scene->nodetree);
-                       if(adt2) func(id, adt2, user_data);
+                       if (adt2) func(id, adt2, user_data);
                }
-
+               
                /* now fix scene animation data as per normal */
-               if(adt) func((ID *)id, adt, user_data);
+               if (adt) func((ID *)id, adt, user_data);
        }
 }
 

Modified: trunk/blender/source/blender/blenkernel/intern/library.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/library.c    2010-01-30 
04:43:36 UTC (rev 26415)
+++ trunk/blender/source/blender/blenkernel/intern/library.c    2010-01-30 
05:08:42 UTC (rev 26416)
@@ -117,6 +117,7 @@
 #include "BKE_idprop.h"
 #include "BKE_particle.h"
 #include "BKE_gpencil.h"
+#include "BKE_fcurve.h"
 
 #define MAX_IDPUP              60      /* was 24 */
 
@@ -706,16 +707,16 @@
        /* find the driver this belongs to and update it */
        for (fcu=adt->drivers.first; fcu; fcu=fcu->next) {
                driver= fcu->driver;
-
+               
                if (driver) {
                        DriverVar *dvar;
                        for (dvar= driver->variables.first; dvar; dvar= 
dvar->next) {
-                               DriverTarget *dtar= &dvar->targets[0];
-                               int tarIndex= 0;
-                               for (; tarIndex < MAX_DRIVER_TARGETS; 
tarIndex++, dtar++) {
-                                       if(dtar->id == userdata)
+                               DRIVER_TARGETS_USED_LOOPER(dvar) 
+                               {
+                                       if (dtar->id == userdata)
                                                dtar->id= NULL;
                                }
+                               DRIVER_TARGETS_LOOPER_END
                        }
                }
        }


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to