Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenloader/intern/writefile.c
| Show First 20 Lines • Show All 120 Lines • ▼ Show 20 Lines | |||||
| #include "DNA_object_force_types.h" | #include "DNA_object_force_types.h" | ||||
| #include "DNA_packedFile_types.h" | #include "DNA_packedFile_types.h" | ||||
| #include "DNA_particle_types.h" | #include "DNA_particle_types.h" | ||||
| #include "DNA_lightprobe_types.h" | #include "DNA_lightprobe_types.h" | ||||
| #include "DNA_rigidbody_types.h" | #include "DNA_rigidbody_types.h" | ||||
| #include "DNA_scene_types.h" | #include "DNA_scene_types.h" | ||||
| #include "DNA_sdna_types.h" | #include "DNA_sdna_types.h" | ||||
| #include "DNA_sequence_types.h" | #include "DNA_sequence_types.h" | ||||
| #include "DNA_smoke_types.h" | #include "DNA_fluid_types.h" | ||||
| #include "DNA_space_types.h" | #include "DNA_space_types.h" | ||||
| #include "DNA_screen_types.h" | #include "DNA_screen_types.h" | ||||
| #include "DNA_speaker_types.h" | #include "DNA_speaker_types.h" | ||||
| #include "DNA_sound_types.h" | #include "DNA_sound_types.h" | ||||
| #include "DNA_text_types.h" | #include "DNA_text_types.h" | ||||
| #include "DNA_view3d_types.h" | #include "DNA_view3d_types.h" | ||||
| #include "DNA_vfont_types.h" | #include "DNA_vfont_types.h" | ||||
| #include "DNA_world_types.h" | #include "DNA_world_types.h" | ||||
| ▲ Show 20 Lines • Show All 1,485 Lines • ▼ Show 20 Lines | for (md = modbase->first; md; md = md->next) { | ||||
| else if (md->type == eModifierType_Cloth) { | else if (md->type == eModifierType_Cloth) { | ||||
| ClothModifierData *clmd = (ClothModifierData *)md; | ClothModifierData *clmd = (ClothModifierData *)md; | ||||
| writestruct(wd, DATA, ClothSimSettings, 1, clmd->sim_parms); | writestruct(wd, DATA, ClothSimSettings, 1, clmd->sim_parms); | ||||
| writestruct(wd, DATA, ClothCollSettings, 1, clmd->coll_parms); | writestruct(wd, DATA, ClothCollSettings, 1, clmd->coll_parms); | ||||
| writestruct(wd, DATA, EffectorWeights, 1, clmd->sim_parms->effector_weights); | writestruct(wd, DATA, EffectorWeights, 1, clmd->sim_parms->effector_weights); | ||||
| write_pointcaches(wd, &clmd->ptcaches); | write_pointcaches(wd, &clmd->ptcaches); | ||||
| } | } | ||||
| else if (md->type == eModifierType_Smoke) { | else if (md->type == eModifierType_Fluid) { | ||||
| SmokeModifierData *smd = (SmokeModifierData *)md; | FluidModifierData *mmd = (FluidModifierData *)md; | ||||
| if (smd->type & MOD_SMOKE_TYPE_DOMAIN) { | if (mmd->type & MOD_FLUID_TYPE_DOMAIN) { | ||||
| writestruct(wd, DATA, SmokeDomainSettings, 1, smd->domain); | writestruct(wd, DATA, FluidDomainSettings, 1, mmd->domain); | ||||
| if (smd->domain) { | if (mmd->domain) { | ||||
| write_pointcaches(wd, &(smd->domain->ptcaches[0])); | write_pointcaches(wd, &(mmd->domain->ptcaches[0])); | ||||
| /* create fake pointcache so that old blender versions can read it */ | /* create fake pointcache so that old blender versions can read it */ | ||||
| smd->domain->point_cache[1] = BKE_ptcache_add(&smd->domain->ptcaches[1]); | mmd->domain->point_cache[1] = BKE_ptcache_add(&mmd->domain->ptcaches[1]); | ||||
| smd->domain->point_cache[1]->flag |= PTCACHE_DISK_CACHE | PTCACHE_FAKE_SMOKE; | mmd->domain->point_cache[1]->flag |= PTCACHE_DISK_CACHE | PTCACHE_FAKE_SMOKE; | ||||
| smd->domain->point_cache[1]->step = 1; | mmd->domain->point_cache[1]->step = 1; | ||||
| write_pointcaches(wd, &(smd->domain->ptcaches[1])); | write_pointcaches(wd, &(mmd->domain->ptcaches[1])); | ||||
| if (smd->domain->coba) { | if (mmd->domain->coba) { | ||||
| writestruct(wd, DATA, ColorBand, 1, smd->domain->coba); | writestruct(wd, DATA, ColorBand, 1, mmd->domain->coba); | ||||
| } | } | ||||
| /* cleanup the fake pointcache */ | /* cleanup the fake pointcache */ | ||||
| BKE_ptcache_free_list(&smd->domain->ptcaches[1]); | BKE_ptcache_free_list(&mmd->domain->ptcaches[1]); | ||||
| smd->domain->point_cache[1] = NULL; | mmd->domain->point_cache[1] = NULL; | ||||
| writestruct(wd, DATA, EffectorWeights, 1, smd->domain->effector_weights); | writestruct(wd, DATA, EffectorWeights, 1, mmd->domain->effector_weights); | ||||
| } | } | ||||
| } | } | ||||
| else if (smd->type & MOD_SMOKE_TYPE_FLOW) { | else if (mmd->type & MOD_FLUID_TYPE_FLOW) { | ||||
| writestruct(wd, DATA, SmokeFlowSettings, 1, smd->flow); | writestruct(wd, DATA, FluidFlowSettings, 1, mmd->flow); | ||||
| } | } | ||||
| else if (smd->type & MOD_SMOKE_TYPE_COLL) { | else if (mmd->type & MOD_FLUID_TYPE_EFFEC) { | ||||
| writestruct(wd, DATA, SmokeCollSettings, 1, smd->coll); | writestruct(wd, DATA, FluidEffectorSettings, 1, mmd->effector); | ||||
| } | } | ||||
| } | } | ||||
| else if (md->type == eModifierType_Fluidsim) { | else if (md->type == eModifierType_Fluidsim) { | ||||
| FluidsimModifierData *fluidmd = (FluidsimModifierData *)md; | FluidsimModifierData *fluidmd = (FluidsimModifierData *)md; | ||||
| writestruct(wd, DATA, FluidsimSettings, 1, fluidmd->fss); | writestruct(wd, DATA, FluidsimSettings, 1, fluidmd->fss); | ||||
| } | } | ||||
| else if (md->type == eModifierType_DynamicPaint) { | else if (md->type == eModifierType_DynamicPaint) { | ||||
| ▲ Show 20 Lines • Show All 2,501 Lines • Show Last 20 Lines | |||||