diff options
Diffstat (limited to 'source/blender/blenloader/intern/readfile.c')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 63 |
1 files changed, 47 insertions, 16 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 5c044a0a3bd..453f35d8057 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -70,7 +70,9 @@ #include "DNA_key_types.h" #include "DNA_lattice_types.h" #include "DNA_lamp_types.h" -#include "DNA_linestyle_types.h" +#ifdef WITH_FREESTYLE +# include "DNA_linestyle_types.h" +#endif #include "DNA_meta_types.h" #include "DNA_material_types.h" #include "DNA_mesh_types.h" @@ -4788,7 +4790,6 @@ static void lib_link_scene(FileData *fd, Main *main) Base *base, *next; Sequence *seq; SceneRenderLayer *srl; - FreestyleLineSet *fls; TimeMarker *marker; for (sce = main->scene.first; sce; sce = sce->id.next) { @@ -4892,10 +4893,16 @@ static void lib_link_scene(FileData *fd, Main *main) for (srl = sce->r.layers.first; srl; srl = srl->next) { srl->mat_override = newlibadr_us(fd, sce->id.lib, srl->mat_override); srl->light_override = newlibadr_us(fd, sce->id.lib, srl->light_override); - for(fls=srl->freestyleConfig.linesets.first; fls; fls= fls->next) { - fls->linestyle= newlibadr_us(fd, sce->id.lib, fls->linestyle); - fls->group= newlibadr_us(fd, sce->id.lib, fls->group); +#ifdef WITH_FREESTYLE + { + FreestyleLineSet *fls; + + for (fls = srl->freestyleConfig.linesets.first; fls; fls = fls->next) { + fls->linestyle = newlibadr_us(fd, sce->id.lib, fls->linestyle); + fls->group = newlibadr_us(fd, sce->id.lib, fls->group); + } } +#endif } /*Game Settings: Dome Warp Text*/ sce->gm.dome.warptext = newlibadr(fd, sce->id.lib, sce->gm.dome.warptext); @@ -4964,7 +4971,6 @@ static void direct_link_scene(FileData *fd, Scene *sce) Editing *ed; Sequence *seq; MetaStack *ms; - SceneRenderLayer *srl; sce->theDag = NULL; sce->dagisvalid = 0; @@ -5134,12 +5140,18 @@ static void direct_link_scene(FileData *fd, Scene *sce) link_list(fd, &(sce->transform_spaces)); link_list(fd, &(sce->r.layers)); - for(srl = sce->r.layers.first; srl; srl = srl->next) { - link_list(fd, &(srl->freestyleConfig.modules)); - } - for(srl = sce->r.layers.first; srl; srl = srl->next) { - link_list(fd, &(srl->freestyleConfig.linesets)); +#ifdef WITH_FREESTYLE + { + SceneRenderLayer *srl; + + for(srl = sce->r.layers.first; srl; srl = srl->next) { + link_list(fd, &(srl->freestyleConfig.modules)); + } + for(srl = sce->r.layers.first; srl; srl = srl->next) { + link_list(fd, &(srl->freestyleConfig.linesets)); + } } +#endif sce->nodetree = newdataadr(fd, sce->nodetree); if (sce->nodetree) { @@ -6393,6 +6405,7 @@ static void lib_link_mask(FileData *fd, Main *main) } } +#ifdef WITH_FREESTYLE /* ************ READ LINE STYLE ***************** */ static void lib_link_linestyle(FileData *fd, Main *main) @@ -6565,6 +6578,7 @@ static void direct_link_linestyle(FileData *fd, FreestyleLineStyle *linestyle) for(modifier = linestyle->geometry_modifiers.first; modifier; modifier = modifier->next) direct_link_linestyle_geometry_modifier(fd, modifier); } +#endif /* ************** GENERAL & MAIN ******************** */ @@ -6600,7 +6614,9 @@ static const char *dataname(short id_code) case ID_PA: return "Data from PA"; case ID_GD: return "Data from GD"; case ID_MC: return "Data from MC"; +#ifdef WITH_FREESTYLE case ID_LS: return "Data from LS"; +#endif } return "Data from Lib Block"; @@ -6777,9 +6793,11 @@ static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, int flag, ID case ID_MSK: direct_link_mask(fd, (Mask *)id); break; +#ifdef WITH_FREESTYLE case ID_LS: direct_link_linestyle(fd, (FreestyleLineStyle *)id); break; +#endif } oldnewmap_free_unused(fd->datamap); @@ -8620,6 +8638,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main) } } +#ifdef WITH_FREESTYLE /* default values in Freestyle settings */ { Scene *sce; @@ -8652,6 +8671,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main) linestyle->rounds = 3; } } +#endif /* WATCH IT!!!: pointers from libdata have not been converted yet here! */ /* WATCH IT 2!: Userdef struct init has to be in editors/interface/resources.c! */ @@ -8702,7 +8722,9 @@ static void lib_link_all(FileData *fd, Main *main) lib_link_particlesettings(fd, main); lib_link_movieclip(fd, main); lib_link_mask(fd, main); +#ifdef WITH_FREESTYLE lib_link_linestyle(fd, main); +#endif lib_link_mesh(fd, main); /* as last: tpage images with users at zero */ @@ -9618,7 +9640,6 @@ static void expand_scene(FileData *fd, Main *mainvar, Scene *sce) { Base *base; SceneRenderLayer *srl; - FreestyleLineSet *lineset; for (base = sce->base.first; base; base = base->next) { expand_doit(fd, mainvar, base->object); @@ -9640,11 +9661,17 @@ static void expand_scene(FileData *fd, Main *mainvar, Scene *sce) expand_doit(fd, mainvar, srl->mat_override); expand_doit(fd, mainvar, srl->light_override); - for (lineset = srl->freestyleConfig.linesets.first; lineset; lineset = lineset->next) { - if (lineset->group) - expand_doit(fd, mainvar, lineset->group); - expand_doit(fd, mainvar, lineset->linestyle); +#ifdef WITH_FREESTYLE + { + FreestyleLineSet *lineset; + + for (lineset = srl->freestyleConfig.linesets.first; lineset; lineset = lineset->next) { + if (lineset->group) + expand_doit(fd, mainvar, lineset->group); + expand_doit(fd, mainvar, lineset->linestyle); + } } +#endif } if (sce->r.dometext) @@ -9738,6 +9765,7 @@ static void expand_mask(FileData *fd, Main *mainvar, Mask *mask) } } +#ifdef WITH_FREESTYLE static void expand_linestyle(FileData *fd, Main *mainvar, FreestyleLineStyle *linestyle) { LineStyleModifier *m; @@ -9757,6 +9785,7 @@ static void expand_linestyle(FileData *fd, Main *mainvar, FreestyleLineStyle *li expand_doit(fd, mainvar, ((LineStyleThicknessModifier_DistanceFromObject *)m)->target); } } +#endif void BLO_main_expander(void (*expand_doit_func)(void *, Main *, void *)) { @@ -9848,9 +9877,11 @@ void BLO_expand_main(void *fdhandle, Main *mainvar) case ID_MSK: expand_mask(fd, mainvar, (Mask *)id); break; +#ifdef WITH_FREESTYLE case ID_LS: expand_linestyle(fd, mainvar, (FreestyleLineStyle *)id); break; +#endif } do_it = TRUE; |