From deb6f733a6aed0c578e1ee01e4d0d41563574bc7 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 6 Mar 2014 04:33:15 +1100 Subject: Move do-versions functions for 2.70 --- source/blender/blenloader/CMakeLists.txt | 1 + source/blender/blenloader/intern/readfile.c | 1 + source/blender/blenloader/intern/readfile.h | 1 + source/blender/blenloader/intern/versioning_260.c | 55 ----------- source/blender/blenloader/intern/versioning_270.c | 109 ++++++++++++++++++++++ 5 files changed, 112 insertions(+), 55 deletions(-) create mode 100644 source/blender/blenloader/intern/versioning_270.c (limited to 'source') diff --git a/source/blender/blenloader/CMakeLists.txt b/source/blender/blenloader/CMakeLists.txt index ba87a437032..7f557d3de22 100644 --- a/source/blender/blenloader/CMakeLists.txt +++ b/source/blender/blenloader/CMakeLists.txt @@ -47,6 +47,7 @@ set(SRC intern/undofile.c intern/versioning_250.c intern/versioning_260.c + intern/versioning_270.c intern/versioning_defaults.c intern/versioning_legacy.c intern/writefile.c diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 61df5468057..6c1aa012118 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -7445,6 +7445,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main) blo_do_versions_pre250(fd, lib, main); blo_do_versions_250(fd, lib, main); blo_do_versions_260(fd, lib, main); + blo_do_versions_270(fd, lib, main); /* WATCH IT!!!: pointers from libdata have not been converted yet here! */ /* WATCH IT 2!: Userdef struct init see do_versions_userdef() above! */ diff --git a/source/blender/blenloader/intern/readfile.h b/source/blender/blenloader/intern/readfile.h index fe22499d16f..d56f58d1b37 100644 --- a/source/blender/blenloader/intern/readfile.h +++ b/source/blender/blenloader/intern/readfile.h @@ -161,6 +161,7 @@ void blo_do_versions_key_uidgen(struct Key *key); void blo_do_versions_pre250(struct FileData *fd, struct Library *lib, struct Main *main); void blo_do_versions_250(struct FileData *fd, struct Library *lib, struct Main *main); void blo_do_versions_260(struct FileData *fd, struct Library *lib, struct Main *main); +void blo_do_versions_270(struct FileData *fd, struct Library *lib, struct Main *main); #endif diff --git a/source/blender/blenloader/intern/versioning_260.c b/source/blender/blenloader/intern/versioning_260.c index a743847614d..43da85c2715 100644 --- a/source/blender/blenloader/intern/versioning_260.c +++ b/source/blender/blenloader/intern/versioning_260.c @@ -2706,59 +2706,4 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *main) } } } - - if (!DNA_struct_elem_find(fd->filesdna, "BevelModifierData", "float", "profile")) { - Object *ob; - - for (ob = main->object.first; ob; ob = ob->id.next) { - ModifierData *md; - for (md = ob->modifiers.first; md; md = md->next) { - if (md->type == eModifierType_Bevel) { - BevelModifierData *bmd = (BevelModifierData *)md; - bmd->profile = 0.5f; - bmd->val_flags = MOD_BEVEL_AMT_OFFSET; - } - } - } - } - - { - /* nodes don't use fixed node->id any more, clean up */ - FOREACH_NODETREE(main, ntree, id) { - if (ntree->type == NTREE_COMPOSIT) { - bNode *node; - for (node = ntree->nodes.first; node; node = node->next) { - if (ELEM(node->type, CMP_NODE_COMPOSITE, CMP_NODE_OUTPUT_FILE)) { - node->id = NULL; - } - } - } - } FOREACH_NODETREE_END - - { - bScreen *screen; - - for (screen = main->screen.first; screen; screen = screen->id.next) { - ScrArea *area; - for (area = screen->areabase.first; area; area = area->next) { - SpaceLink *space_link; - for (space_link = area->spacedata.first; space_link; space_link = space_link->next) { - if (space_link->spacetype == SPACE_CLIP) { - SpaceClip *space_clip = (SpaceClip *) space_link; - if (space_clip->mode != SC_MODE_MASKEDIT) { - space_clip->mode = SC_MODE_TRACKING; - } - } - } - } - } - } - } - - if (!DNA_struct_elem_find(fd->filesdna, "MovieTrackingSettings", "float", "default_weight")) { - MovieClip *clip; - for (clip = main->movieclip.first; clip; clip = clip->id.next) { - clip->tracking.settings.default_weight = 1.0f; - } - } } diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c new file mode 100644 index 00000000000..d11e434aac0 --- /dev/null +++ b/source/blender/blenloader/intern/versioning_270.c @@ -0,0 +1,109 @@ +/* + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contributor(s): Blender Foundation + * + * ***** END GPL LICENSE BLOCK ***** + * + */ + +/** \file blender/blenloader/intern/versioning_270.c + * \ingroup blenloader + */ + +#include "BLI_utildefines.h" +#include "BLI_compiler_attrs.h" + +/* allow readfile to use deprecated functionality */ +#define DNA_DEPRECATED_ALLOW + +#include "DNA_sdna_types.h" +#include "DNA_space_types.h" +#include "DNA_screen_types.h" +#include "DNA_object_types.h" +#include "DNA_modifier_types.h" +#include "DNA_sdna_types.h" + +#include "DNA_genfile.h" + + +#include "BKE_main.h" +#include "BKE_node.h" + +#include "BLO_readfile.h" + +#include "readfile.h" + + +void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) +{ + if (!MAIN_VERSION_ATLEAST(main, 270, 0)) { + + if (!DNA_struct_elem_find(fd->filesdna, "BevelModifierData", "float", "profile")) { + Object *ob; + + for (ob = main->object.first; ob; ob = ob->id.next) { + ModifierData *md; + for (md = ob->modifiers.first; md; md = md->next) { + if (md->type == eModifierType_Bevel) { + BevelModifierData *bmd = (BevelModifierData *)md; + bmd->profile = 0.5f; + bmd->val_flags = MOD_BEVEL_AMT_OFFSET; + } + } + } + } + + /* nodes don't use fixed node->id any more, clean up */ + FOREACH_NODETREE(main, ntree, id) { + if (ntree->type == NTREE_COMPOSIT) { + bNode *node; + for (node = ntree->nodes.first; node; node = node->next) { + if (ELEM(node->type, CMP_NODE_COMPOSITE, CMP_NODE_OUTPUT_FILE)) { + node->id = NULL; + } + } + } + } FOREACH_NODETREE_END + + { + bScreen *screen; + + for (screen = main->screen.first; screen; screen = screen->id.next) { + ScrArea *area; + for (area = screen->areabase.first; area; area = area->next) { + SpaceLink *space_link; + for (space_link = area->spacedata.first; space_link; space_link = space_link->next) { + if (space_link->spacetype == SPACE_CLIP) { + SpaceClip *space_clip = (SpaceClip *) space_link; + if (space_clip->mode != SC_MODE_MASKEDIT) { + space_clip->mode = SC_MODE_TRACKING; + } + } + } + } + } + } + + if (!DNA_struct_elem_find(fd->filesdna, "MovieTrackingSettings", "float", "default_weight")) { + MovieClip *clip; + for (clip = main->movieclip.first; clip; clip = clip->id.next) { + clip->tracking.settings.default_weight = 1.0f; + } + } + } +} -- cgit v1.2.3