From 6554207841a452cc58857232837740746a1e8b80 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 9 Jan 2018 14:59:45 +1100 Subject: Add deform axis for Simple Deform modifier D2989 by @dmarra w/ own edits --- source/blender/blenloader/intern/versioning_270.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'source/blender/blenloader/intern') diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index fa7bf0c7dee..20475582bc9 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -1735,6 +1735,29 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } + if (!MAIN_VERSION_ATLEAST(main, 279, 1)) { + /* Simple deform modifier no longer assumes Z axis (X for bend type). + * Must set previous defaults. */ + if (!DNA_struct_elem_find(fd->filesdna, "SimpleDeformModifierData", "char", "deform_axis")) { + for (Object *ob = main->object.first; ob; ob = ob->id.next) { + for (ModifierData *md = ob->modifiers.first; md; md = md->next) { + if (md->type == eModifierType_SimpleDeform) { + SimpleDeformModifierData *smd = (SimpleDeformModifierData *)md; + switch (smd->mode) { + case MOD_SIMPLEDEFORM_MODE_BEND: + smd->deform_axis = 0; + break; + default: + smd->deform_axis = 2; + break; + } + } + } + } + } + } + + { /* Fix for invalid state of screen due to bug in older versions. */ for (bScreen *sc = main->screen.first; sc; sc = sc->id.next) { -- cgit v1.2.3 From ce0fcf1378b6bdd01ff8fbcbccc31b00aa263e25 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 9 Jan 2018 15:17:00 +1100 Subject: Correct error in last commit (versioning) --- source/blender/blenloader/intern/versioning_270.c | 43 +++++++++++------------ 1 file changed, 20 insertions(+), 23 deletions(-) (limited to 'source/blender/blenloader/intern') diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index 20475582bc9..c56b25bb669 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -1735,29 +1735,6 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } - if (!MAIN_VERSION_ATLEAST(main, 279, 1)) { - /* Simple deform modifier no longer assumes Z axis (X for bend type). - * Must set previous defaults. */ - if (!DNA_struct_elem_find(fd->filesdna, "SimpleDeformModifierData", "char", "deform_axis")) { - for (Object *ob = main->object.first; ob; ob = ob->id.next) { - for (ModifierData *md = ob->modifiers.first; md; md = md->next) { - if (md->type == eModifierType_SimpleDeform) { - SimpleDeformModifierData *smd = (SimpleDeformModifierData *)md; - switch (smd->mode) { - case MOD_SIMPLEDEFORM_MODE_BEND: - smd->deform_axis = 0; - break; - default: - smd->deform_axis = 2; - break; - } - } - } - } - } - } - - { /* Fix for invalid state of screen due to bug in older versions. */ for (bScreen *sc = main->screen.first; sc; sc = sc->id.next) { @@ -1788,6 +1765,26 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } } + + /* Simple deform modifier no longer assumes Z axis (X for bend type). + * Must set previous defaults. */ + if (!DNA_struct_elem_find(fd->filesdna, "SimpleDeformModifierData", "char", "deform_axis")) { + for (Object *ob = main->object.first; ob; ob = ob->id.next) { + for (ModifierData *md = ob->modifiers.first; md; md = md->next) { + if (md->type == eModifierType_SimpleDeform) { + SimpleDeformModifierData *smd = (SimpleDeformModifierData *)md; + switch (smd->mode) { + case MOD_SIMPLEDEFORM_MODE_BEND: + smd->deform_axis = 0; + break; + default: + smd->deform_axis = 2; + break; + } + } + } + } + } } } -- cgit v1.2.3