diff options
Diffstat (limited to 'source/blender/blenloader/intern')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 63 | ||||
-rw-r--r-- | source/blender/blenloader/intern/writefile.c | 29 |
2 files changed, 67 insertions, 25 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; diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index 8208cca981e..3f80674bf60 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -108,7 +108,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_mesh_types.h" #include "DNA_meshdata_types.h" @@ -2160,8 +2162,6 @@ static void write_scenes(WriteData *wd, ListBase *scebase) TimeMarker *marker; TransformOrientation *ts; SceneRenderLayer *srl; - FreestyleModuleConfig *fmc; - FreestyleLineSet *fls; ToolSettings *tos; sce= scebase->first; @@ -2289,14 +2289,21 @@ static void write_scenes(WriteData *wd, ListBase *scebase) for (srl = sce->r.layers.first; srl; srl = srl->next) { writestruct(wd, DATA, "SceneRenderLayer", 1, srl); - for(fmc = srl->freestyleConfig.modules.first; fmc; fmc = fmc->next) { - writestruct(wd, DATA, "FreestyleModuleConfig", 1, fmc); - } +#ifdef WITH_FREESTYLE + { + FreestyleModuleConfig *fmc; + FreestyleLineSet *fls; + + for(fmc = srl->freestyleConfig.modules.first; fmc; fmc = fmc->next) { + writestruct(wd, DATA, "FreestyleModuleConfig", 1, fmc); + } - for(fls = srl->freestyleConfig.linesets.first; fls; fls = fls->next) { - writestruct(wd, DATA, "FreestyleLineSet", 1, fls); - } + for(fls = srl->freestyleConfig.linesets.first; fls; fls = fls->next) { + writestruct(wd, DATA, "FreestyleLineSet", 1, fls); + } + } +#endif } if (sce->nodetree) { @@ -2876,6 +2883,7 @@ static void write_masks(WriteData *wd, ListBase *idbase) mywrite(wd, MYWRITE_FLUSH, 0); } +#ifdef WITH_FREESTYLE static void write_linestyle_color_modifiers(WriteData *wd, ListBase *modifiers) { LineStyleModifier *m; @@ -3076,6 +3084,7 @@ static void write_linestyles(WriteData *wd, ListBase *idbase) } } } +#endif /* context is usually defined by WM, two cases where no WM is available: * - for forward compatibility, curscreen has to be saved @@ -3183,7 +3192,9 @@ static int write_file_handle(Main *mainvar, int handle, MemFile *compare, MemFil write_brushes (wd, &mainvar->brush); write_scripts (wd, &mainvar->script); write_gpencils (wd, &mainvar->gpencil); +#ifdef WITH_FREESTYLE write_linestyles(wd, &mainvar->linestyle); +#endif write_libraries(wd, mainvar->next); if (write_user_block) { |