Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gavrilov <angavrilov@gmail.com>2018-11-07 19:47:22 +0300
committerAlexander Gavrilov <angavrilov@gmail.com>2018-11-07 19:59:15 +0300
commit6be69a6b75f6e947a5f238c4c08c5b061117dd4b (patch)
tree52983648d3aaaa5b603516bcffaf7cdb6dcfad8d /source/blender/blenkernel/nla_private.h
parent921cad194da34fac7c30c9d5d84ef93b020e6ff9 (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.h14
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__ */