diff options
Diffstat (limited to 'source/blender/blenloader/intern/versioning_270.c')
-rw-r--r-- | source/blender/blenloader/intern/versioning_270.c | 236 |
1 files changed, 235 insertions, 1 deletions
diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index 6ab655e9b45..1d495398fb3 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -35,9 +35,11 @@ #define DNA_DEPRECATED_ALLOW #include "DNA_brush_types.h" +#include "DNA_cache_library_types.h" #include "DNA_camera_types.h" #include "DNA_cloth_types.h" #include "DNA_constraint_types.h" +#include "DNA_key_types.h" #include "DNA_sdna_types.h" #include "DNA_sequence_types.h" #include "DNA_space_types.h" @@ -49,9 +51,11 @@ #include "DNA_linestyle_types.h" #include "DNA_actuator_types.h" #include "DNA_view3d_types.h" +#include "DNA_smoke_types.h" #include "DNA_genfile.h" +#include "BKE_colortools.h" #include "BKE_main.h" #include "BKE_modifier.h" #include "BKE_node.h" @@ -443,6 +447,55 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } } + + if (!DNA_struct_elem_find(fd->filesdna, "ClothSimSettings", "float", "bending_damping")) { + Object *ob; + ModifierData *md; + for (ob = main->object.first; ob; ob = ob->id.next) { + for (md = ob->modifiers.first; md; md = md->next) { + if (md->type == eModifierType_Cloth) { + ClothModifierData *clmd = (ClothModifierData*) md; + clmd->sim_parms->bending_damping = 0.5f; + } + else if (md->type == eModifierType_ParticleSystem) { + ParticleSystemModifierData *pmd = (ParticleSystemModifierData*) md; + if (pmd->psys->clmd) { + pmd->psys->clmd->sim_parms->bending_damping = 0.5f; + } + } + } + } + } + + if (!MAIN_VERSION_ATLEAST(main, 272, 3)) { + bScreen *sc; + for (sc = main->screen.first; sc; sc = sc->id.next) { + ScrArea *sa; + for (sa = sc->areabase.first; sa; sa = sa->next) { + SpaceLink *sl; + for (sl = sa->spacedata.first; sl; sl = sl->next) { + if (sl->spacetype == SPACE_NODE) { + SpaceNode *snode = (SpaceNode *)sl; + snode->backdrop_zoom = 1.0; + } + if (sl->spacetype == SPACE_SEQ) { + SpaceSeq *sseq = (SpaceSeq *)sl; + sseq->overdrop_zoom = 1.0; + } + + } + } + } + } + + if (!DNA_struct_elem_find(fd->filesdna, "ParticleSystem", "float", "hair_preview_factor")) { + Object *ob; + ParticleSystem *psys; + for (ob = main->object.first; ob; ob = ob->id.next) { + for(psys = ob->particlesystem.first; psys; psys = psys->next) + psys->hair_preview_factor = 100.0f; + } + } if (!MAIN_VERSION_ATLEAST(main, 273, 1)) { #define BRUSH_RAKE (1 << 7) @@ -467,6 +520,43 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) #undef BRUSH_RAKE #undef BRUSH_RANDOM_ROTATION + if (!DNA_struct_elem_find(fd->filesdna, "ParticleSettings", "float", "clump_noise_size")) { + ParticleSettings *part; + for (part = main->particle.first; part; part = part->id.next) { + part->clump_noise_size = 1.0f; + } + } + + if (!DNA_struct_elem_find(fd->filesdna, "ParticleSettings", "int", "kink_extra_steps")) { + ParticleSettings *part; + for (part = main->particle.first; part; part = part->id.next) { + part->kink_extra_steps = 4; + } + } + + if (!DNA_struct_elem_find(fd->filesdna, "MTex", "float", "kinkampfac")) { + ParticleSettings *part; + for (part = main->particle.first; part; part = part->id.next) { + int a; + for (a = 0; a < MAX_MTEX; a++) { + MTex *mtex = part->mtex[a]; + if (mtex) { + mtex->kinkampfac = 1.0f; + } + } + } + } + + if (!MAIN_VERSION_ATLEAST(main, 273, 3)) { + ParticleSettings *part; + for (part = main->particle.first; part; part = part->id.next) { + if (part->clumpcurve) + part->child_flag |= PART_CHILD_USE_CLUMP_CURVE; + if (part->roughcurve) + part->child_flag |= PART_CHILD_USE_ROUGH_CURVE; + } + } + /* Customizable Safe Areas */ if (!MAIN_VERSION_ATLEAST(main, 273, 2)) { if (!DNA_struct_elem_find(fd->filesdna, "Scene", "DisplaySafeAreas", "safe_areas")) { @@ -491,6 +581,26 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } + if (!MAIN_VERSION_ATLEAST(main, 273, 4)) { + bScreen *sc; + for (sc = main->screen.first; sc; sc = sc->id.next) { + ScrArea *sa; + for (sa = sc->areabase.first; sa; sa = sa->next) { + SpaceLink *sl; + for (sl = sa->spacedata.first; sl; sl = sl->next) { + if (sl->spacetype == SPACE_NODE) { + SpaceNode *snode = (SpaceNode *)sl; + snode->backdrop_zoom = 1.0; + } + if (sl->spacetype == SPACE_SEQ) { + SpaceSeq *sseq = (SpaceSeq *)sl; + sseq->overdrop_zoom = 1.0; + } + } + } + } + } + if (!MAIN_VERSION_ATLEAST(main, 273, 6)) { if (!DNA_struct_elem_find(fd->filesdna, "ClothSimSettings", "float", "bending_damping")) { Object *ob; @@ -608,6 +718,22 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } + if (!DNA_struct_elem_find(fd->filesdna, "ParticleInstanceModifierData", "float", "particle_amount")) { + Object *ob; + ModifierData *md; + + for (ob = main->object.first; ob; ob = ob->id.next) { + for (md = ob->modifiers.first; md; md = md->next) { + if (md->type == eModifierType_ParticleInstance) { + ParticleInstanceModifierData *pimd = (ParticleInstanceModifierData *)md; + + pimd->particle_amount = 1.0f; + pimd->particle_offset = 0.0f; + } + } + } + } + if (!MAIN_VERSION_ATLEAST(main, 273, 8)) { Object *ob; for (ob = main->object.first; ob != NULL; ob = ob->id.next) { @@ -647,7 +773,27 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } - if (!MAIN_VERSION_ATLEAST(main, 274, 1)) { + if (!MAIN_VERSION_ATLEAST(main, 274, 0)) { + if (!DNA_struct_elem_find(fd->filesdna, "SpaceNode", "float", "backdrop_zoom")) { + bScreen *sc; + for (sc = main->screen.first; sc; sc = sc->id.next) { + ScrArea *sa; + for (sa = sc->areabase.first; sa; sa = sa->next) { + SpaceLink *sl; + for (sl = sa->spacedata.first; sl; sl = sl->next) { + if (sl->spacetype == SPACE_NODE) { + SpaceNode *snode = (SpaceNode *)sl; + snode->backdrop_zoom = 1.0; + } + if (sl->spacetype == SPACE_SEQ) { + SpaceSeq *sseq = (SpaceSeq *)sl; + sseq->overdrop_zoom = 1.0; + } + } + } + } + } + /* particle systems need to be forced to redistribute for jitter mode fix */ { Object *ob; @@ -705,6 +851,29 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } FOREACH_NODETREE_END } + { + bScreen *scr; + ScrArea *sa; + SpaceLink *sl; + ARegion *ar; + /* Make sure sequencer preview area limits zoom */ + for (scr = main->screen.first; scr; scr = scr->id.next) { + for (sa = scr->areabase.first; sa; sa = sa->next) { + for (sl = sa->spacedata.first; sl; sl = sl->next) { + if (sl->spacetype == SPACE_SEQ) { + ListBase *lb = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase; + + for (ar = lb->first; ar; ar = ar->next) { + if (ar->regiontype == RGN_TYPE_WINDOW) { + ar->v2d.max[1] = MAXSEQ * 4; + } + } + } + } + } + } + } + if (!MAIN_VERSION_ATLEAST(main, 274, 4)) { SceneRenderView *srv; wmWindowManager *wm; @@ -728,6 +897,11 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) SEQ_BEGIN (scene->ed, seq) { seq->stereo3d_format = MEM_callocN(sizeof(Stereo3dFormat), "Stereo Display 3d Format"); + /* patch sequencer scene strips (used to be the same flag before multiview merge)*/ + if (seq->flag & SEQ_USE_VIEWS) { + seq->flag |= SEQ_SCENE_STRIPS; + seq->flag &= ~SEQ_USE_VIEWS; + } #define SEQ_USE_PROXY_CUSTOM_DIR (1 << 19) #define SEQ_USE_PROXY_CUSTOM_FILE (1 << 21) @@ -797,6 +971,37 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } + if (!DNA_struct_elem_find(fd->filesdna, "SmokeDomainSettings", "float", "display_thickness")) { + Object *ob; + ModifierData *md; + for (ob = main->object.first; ob; ob = ob->id.next) { + for (md = ob->modifiers.first; md; md = md->next) { + if (md->type == eModifierType_Smoke) { + SmokeModifierData *smd = (SmokeModifierData *)md; + if (smd->domain) { + smd->domain->display_thickness = 1.0f; + } + } + } + } + } + if (!DNA_struct_elem_find(fd->filesdna, "SpaceIpo", "float", "backdrop_zoom")) { + bScreen *sc; + for (sc = main->screen.first; sc; sc = sc->id.next) { + ScrArea *sa; + for (sa = sc->areabase.first; sa; sa = sa->next) { + SpaceLink *sl; + for (sl = sa->spacedata.first; sl; sl = sl->next) { + if (sl->spacetype == SPACE_IPO) { + SpaceIpo *sipo = (SpaceIpo *)sl; + sipo->backdrop_zoom = 1.0f; + sipo->backdrop_opacity = 0.7f; + } + } + } + } + } + if (!MAIN_VERSION_ATLEAST(main, 274, 6)) { bScreen *screen; @@ -842,4 +1047,33 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } } + + if (!DNA_struct_elem_find(fd->filesdna, "HairSimParams", "CurveMapping", "*bend_stiffness_mapping")) { + CacheLibrary *cachelib; + for (cachelib = main->cache_library.first; cachelib; cachelib = cachelib->id.next) { + CacheModifier *md; + for (md = cachelib->modifiers.first; md; md = md->next) { + if (md->type == eCacheModifierType_HairSimulation) { + HairSimCacheModifier *hsmd = (HairSimCacheModifier *)md; + { + CurveMapping *cm = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); + cm->cm[0].curve[0].x = 0.0f; + cm->cm[0].curve[0].y = 1.0f; + cm->cm[0].curve[1].x = 1.0f; + cm->cm[0].curve[1].y = 1.0f; + hsmd->sim_params.bend_stiffness_mapping = cm; + } + } + } + } + } + + /* from_extra has been moved to fromtype, fromindex */ + if (!DNA_struct_elem_find(fd->filesdna, "Key", "int", "fromindex")) { + Key *key; + for (key = main->key.first; key; key = key->id.next) { + key->fromtype = key->from_extra.type; + key->fromindex = key->from_extra.index; + } + } } |