diff options
author | Andre Susano Pinto <andresusanopinto@gmail.com> | 2009-10-06 05:58:22 +0400 |
---|---|---|
committer | Andre Susano Pinto <andresusanopinto@gmail.com> | 2009-10-06 05:58:22 +0400 |
commit | 63a88075b574e8f2f9adc041f423f49a7356d736 (patch) | |
tree | 951f1f65d74d052debdafa14f6ad22750b6aad04 /source/blender/blenloader/intern/writefile.c | |
parent | 11bdf6ea10ee7bc5e2862cdddbf42eddb06c42fa (diff) | |
parent | 69a24325742c617a9902376b061006dfb24f0a3c (diff) |
svn merge -r 23528:23646 https://svn.blender.org/svnroot/bf-blender/trunk/blendersoc-2009-jaguarandi
Diffstat (limited to 'source/blender/blenloader/intern/writefile.c')
-rw-r--r-- | source/blender/blenloader/intern/writefile.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index fda35d28d0e..c92c0909d3b 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -610,6 +610,7 @@ static void write_pointcaches(WriteData *wd, ListBase *ptcaches) static void write_particlesettings(WriteData *wd, ListBase *idbase) { ParticleSettings *part; + ParticleDupliWeight *dw; part= idbase->first; while(part) { @@ -620,6 +621,11 @@ static void write_particlesettings(WriteData *wd, ListBase *idbase) if (part->adt) write_animdata(wd, part->adt); writestruct(wd, DATA, "PartDeflect", 1, part->pd); writestruct(wd, DATA, "PartDeflect", 1, part->pd2); + writestruct(wd, DATA, "EffectorWeights", 1, part->effector_weights); + + dw = part->dupliweights.first; + for(; dw; dw=dw->next) + writestruct(wd, DATA, "ParticleDupliWeight", 1, dw); if(part->boids && part->phystype == PART_PHYS_BOIDS) { BoidState *state = part->boids->states.first; @@ -1101,7 +1107,7 @@ static void write_pose(WriteData *wd, bPose *pose) /* write IK param */ if (pose->ikparam) { - const char *structname = get_ikparam_name(pose); + char *structname = (char *)get_ikparam_name(pose); if (structname) writestruct(wd, DATA, structname, 1, pose->ikparam); } @@ -1140,6 +1146,7 @@ static void write_modifiers(WriteData *wd, ListBase *modbase) writestruct(wd, DATA, "ClothSimSettings", 1, clmd->sim_parms); writestruct(wd, DATA, "ClothCollSettings", 1, clmd->coll_parms); + writestruct(wd, DATA, "EffectorWeights", 1, clmd->sim_parms->effector_weights); write_pointcaches(wd, &clmd->ptcaches); } else if(md->type==eModifierType_Smoke) { @@ -1149,10 +1156,8 @@ static void write_modifiers(WriteData *wd, ListBase *modbase) writestruct(wd, DATA, "SmokeDomainSettings", 1, smd->domain); else if(smd->type & MOD_SMOKE_TYPE_FLOW) writestruct(wd, DATA, "SmokeFlowSettings", 1, smd->flow); - /* else if(smd->type & MOD_SMOKE_TYPE_COLL) writestruct(wd, DATA, "SmokeCollSettings", 1, smd->coll); - */ if((smd->type & MOD_SMOKE_TYPE_DOMAIN) && smd->domain) { @@ -1227,7 +1232,10 @@ static void write_objects(WriteData *wd, ListBase *idbase) writestruct(wd, DATA, "PartDeflect", 1, ob->pd); writestruct(wd, DATA, "SoftBody", 1, ob->soft); - if(ob->soft) write_pointcaches(wd, &ob->soft->ptcaches); + if(ob->soft) { + write_pointcaches(wd, &ob->soft->ptcaches); + writestruct(wd, DATA, "EffectorWeights", 1, ob->soft->effector_weights); + } writestruct(wd, DATA, "BulletSoftBody", 1, ob->bsoft); write_particlesystems(wd, &ob->particlesystem); |