diff options
author | Joshua Leung <aligorith@gmail.com> | 2009-03-21 06:49:22 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2009-03-21 06:49:22 +0300 |
commit | b4209c56565660c20718fc2e1ad74d4257683a3e (patch) | |
tree | 122710c4991e46fcdbfda575b517d8cff827da50 /source/blender/blenloader | |
parent | 90a58790b24a7e0303f890f054ae7f730e242491 (diff) |
F-Curve Modifiers: Envelope Modifier
Got the basic envelope modifier code working, including primitive drawing of relevant helper info in the graph view. It doesn't work in a very intuitive way yet, so I will recode it soon.
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 7 | ||||
-rw-r--r-- | source/blender/blenloader/intern/writefile.c | 11 |
2 files changed, 17 insertions, 1 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index d64abd99d9c..046618a1f6d 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -1728,6 +1728,13 @@ static void direct_link_fcurves(FileData *fd, ListBase *list) data->coefficients= newdataadr(fd, data->coefficients); } break; + case FMODIFIER_TYPE_ENVELOPE: + { + FMod_Envelope *data= (FMod_Envelope *)fcm->data; + + data->data= newdataadr(fd, data->data); + } + break; case FMODIFIER_TYPE_PYTHON: { FMod_Python *data= (FMod_Python *)fcm->data; diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index f898a363da7..2aa87883fdb 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -810,6 +810,15 @@ static void write_fcurves(WriteData *wd, ListBase *fcurves) writedata(wd, DATA, sizeof(float)*(data->arraysize), data->coefficients); } break; + case FMODIFIER_TYPE_ENVELOPE: + { + FMod_Envelope *data= (FMod_Envelope *)fcm->data; + + /* write envelope data */ + if (data->data) + writedata(wd, DATA, sizeof(FCM_EnvelopeData)*(data->totvert), data->data); + } + break; case FMODIFIER_TYPE_PYTHON: { FMod_Python *data = (FMod_Python *)fcm->data; @@ -822,7 +831,7 @@ static void write_fcurves(WriteData *wd, ListBase *fcurves) } } - /* Write the constraint */ + /* Write the modifier */ writestruct(wd, DATA, "FModifier", 1, fcm); } } |