diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2018-11-07 19:47:22 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2018-11-07 19:59:15 +0300 |
commit | 6be69a6b75f6e947a5f238c4c08c5b061117dd4b (patch) | |
tree | 52983648d3aaaa5b603516bcffaf7cdb6dcfad8d /source/blender/blenkernel/nla_private.h | |
parent | 921cad194da34fac7c30c9d5d84ef93b020e6ff9 (diff) |
NLA: use animsys_write_orig_anim_rna when applying NLA stack results.
Without this keyframing on top of an NLA stack is quite weirdly broken.
Diffstat (limited to 'source/blender/blenkernel/nla_private.h')
-rw-r--r-- | source/blender/blenkernel/nla_private.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/blenkernel/nla_private.h b/source/blender/blenkernel/nla_private.h index 87f4e37e86d..1c6fd3a3e7d 100644 --- a/source/blender/blenkernel/nla_private.h +++ b/source/blender/blenkernel/nla_private.h @@ -34,6 +34,9 @@ #define __NLA_PRIVATE_H__ struct Depsgraph; +struct AnimMapper; + +#include "RNA_types.h" /* --------------- NLA Evaluation DataTypes ----------------------- */ @@ -68,9 +71,12 @@ enum eNlaEvalStrip_StripMode { typedef struct NlaEvalChannel { struct NlaEvalChannel *next, *prev; - PointerRNA ptr; /* pointer to struct containing property to use */ - PropertyRNA *prop; /* RNA-property type to use (should be in the struct given) */ - int index; /* array index (where applicable) */ + /* RNA reference to use with pointer and index */ + PathResolvedRNA rna; + + /* Original parameters used to look up the reference for write_orig_anim_rna */ + struct AnimMapper *remap; + const char *rna_path; float value; /* value of this channel */ } NlaEvalChannel; @@ -85,6 +91,6 @@ float nlastrip_get_frame(NlaStrip *strip, float cframe, short mode); NlaEvalStrip *nlastrips_ctime_get_strip(struct Depsgraph *depsgraph, ListBase *list, ListBase *strips, short index, float ctime); void nlastrip_evaluate(struct Depsgraph *depsgraph, PointerRNA *ptr, ListBase *channels, ListBase *modifiers, NlaEvalStrip *nes); -void nladata_flush_channels(ListBase *channels); +void nladata_flush_channels(struct Depsgraph *depsgraph, PointerRNA *ptr, ListBase *channels); #endif /* __NLA_PRIVATE_H__ */ |