A few minor code cleanup tweaks for recent commits in animation code, to better follow conventions elsewhere here :)
This commit is contained in:
@@ -94,7 +94,15 @@ void BKE_animdata_fix_paths_rename(struct ID *owner_id, struct AnimData *adt, ch
|
||||
/* 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
|
||||
|
||||
@@ -422,14 +422,17 @@ void BKE_animdata_fix_paths_rename (ID *owner_id, AnimData *adt, char *prefix, c
|
||||
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 @@ void BKE_animdata_main_cb(Main *main, void (*func)(ID *, AnimData *, void *), vo
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 @@ void animdata_dtar_clear_cb(ID *id, AnimData *adt, void *userdata)
|
||||
/* 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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user