diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_animsys.h')
-rw-r--r-- | source/blender/blenkernel/BKE_animsys.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_animsys.h b/source/blender/blenkernel/BKE_animsys.h index e79822daa4d..0acfd40a110 100644 --- a/source/blender/blenkernel/BKE_animsys.h +++ b/source/blender/blenkernel/BKE_animsys.h @@ -73,6 +73,20 @@ bool BKE_copy_animdata_id(struct ID *id_to, struct ID *id_from, const bool do_ac /* Copy AnimData Actions */ void BKE_copy_animdata_id_action(struct ID *id); +/* Merge copies of data from source AnimData block */ +typedef enum eAnimData_MergeCopy_Modes { + /* Keep destination action */ + ADT_MERGECOPY_KEEP_DST = 0, + + /* Use src action (make a new copy) */ + ADT_MERGECOPY_SRC_COPY = 1, + + /* Use src action (but just reference the existing version) */ + ADT_MERGECOPY_SRC_REF = 2 +} eAnimData_MergeCopy_Modes; + +void BKE_animdata_merge_copy(struct ID *dst_id, struct ID *src_id, eAnimData_MergeCopy_Modes action_mode, bool fix_drivers); + /* Make Local */ void BKE_animdata_make_local(struct AnimData *adt); @@ -106,7 +120,11 @@ void BKE_keyingsets_free(struct ListBase *list); /* ************************************* */ /* Path Fixing API */ -/* Fix all the paths for the the given ID + Action */ +/* Get a "fixed" version of the given path (oldPath) */ +char *BKE_animsys_fix_rna_path_rename(ID *owner_id, char *old_path, const char *prefix, const char *oldName, + const char *newName, int oldSubscript, int newSubscript, bool verify_paths); + +/* Fix all the paths for the given ID + Action */ void BKE_action_fix_paths_rename(struct ID *owner_id, struct bAction *act, const char *prefix, const char *oldName, const char *newName, int oldSubscript, int newSubscript, bool verify_paths); |