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:
authorJoshua Leung <aligorith@gmail.com>2009-03-21 06:49:22 +0300
committerJoshua Leung <aligorith@gmail.com>2009-03-21 06:49:22 +0300
commitb4209c56565660c20718fc2e1ad74d4257683a3e (patch)
tree122710c4991e46fcdbfda575b517d8cff827da50 /source/blender/blenloader
parent90a58790b24a7e0303f890f054ae7f730e242491 (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.c7
-rw-r--r--source/blender/blenloader/intern/writefile.c11
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);
}
}