[Bf-blender-cvs] [ea91e73] soc-2016-layer_manager: Merge branch 'master' into soc-2016-layer_manager
Julian Eisel
noreply at git.blender.org
Wed Jun 29 18:02:14 CEST 2016
Commit: ea91e73b5a6105816b68ff6c31b8f638d44da6d7
Author: Julian Eisel
Date: Wed Jun 29 17:53:42 2016 +0200
Branches: soc-2016-layer_manager
https://developer.blender.org/rBea91e73b5a6105816b68ff6c31b8f638d44da6d7
Merge branch 'master' into soc-2016-layer_manager
Conflicts:
source/blender/blenloader/intern/writefile.c
===================================================================
===================================================================
diff --cc source/blender/blenloader/CMakeLists.txt
index 906720d,479d3a1..ca9618f
--- a/source/blender/blenloader/CMakeLists.txt
+++ b/source/blender/blenloader/CMakeLists.txt
@@@ -73,8 -77,7 +77,11 @@@ if(WITH_CODEC_FFMPEG
add_definitions(-DWITH_FFMPEG)
endif()
+if(WITH_ADVANCED_LAYERS)
+ add_definitions(-DWITH_ADVANCED_LAYERS)
+endif()
+
blender_add_lib(bf_blenloader "${SRC}" "${INC}" "${INC_SYS}")
+
+ # needed so writefile.c can use dna_type_offsets.h
+ add_dependencies(bf_blenloader bf_dna)
diff --cc source/blender/blenloader/intern/writefile.c
index e623bd0,19fb80f..51677e3
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@@ -2388,33 -2609,11 +2610,34 @@@ static void write_view_settings(WriteDa
static void write_paint(WriteData *wd, Paint *p)
{
- if (p->cavity_curve)
+ if (p->cavity_curve) {
write_curvemapping(wd, p->cavity_curve);
+ }
}
+#ifdef WITH_ADVANCED_LAYERS
+/**
+ * \note Recursive.
+ */
+static void write_layeritems(WriteData *wd, Scene *scene, ListBase *layeritems)
+{
+ for (LayerTreeItem *litem = layeritems->first; litem; litem = litem->next) {
+ if (scene->object_layers->type == LAYER_TREETYPE_OBJECT && litem->type->type == LAYER_ITEMTYPE_LAYER) {
+ LayerTypeObject *oblayer = (LayerTypeObject *)litem;
- writestruct(wd, DATA, "LayerTypeObject", 1, oblayer);
++ writestruct(wd, DATA, LayerTypeObject, 1, oblayer);
+ }
+ else {
- writestruct(wd, DATA, "LayerTreeItem", 1, litem);
++ writestruct(wd, DATA, LayerTreeItem, 1, litem);
+ }
+ if (litem->prop) {
+ IDP_WriteProperty(litem->prop, wd);
+ }
+ litem->tree = scene->object_layers;
+ write_layeritems(wd, scene, &litem->childs);
+ }
+}
+#endif
+
static void write_scenes(WriteData *wd, ListBase *scebase)
{
Scene *sce;
@@@ -2600,15 -2816,7 +2840,15 @@@
write_previews(wd, sce->preview);
write_curvemapping_curves(wd, &sce->r.mblur_shutter_curve);
- sce = sce->id.next;
+#ifdef WITH_ADVANCED_LAYERS
+ if (sce->object_layers) {
- writestruct(wd, DATA, "LayerTree", 1, sce->object_layers);
++ writestruct(wd, DATA, LayerTree, 1, sce->object_layers);
+ writedata(wd, DATA, sizeof(LayerTreeItem *) * sce->object_layers->tot_items, sce->object_layers->items_all);
+ write_layeritems(wd, sce, &sce->object_layers->items);
+ }
+#endif
+
+ sce= sce->id.next;
}
/* flush helps the compression for undo-save */
mywrite(wd, MYWRITE_FLUSH, 0);
@@@ -2772,135 -2986,146 +3018,151 @@@ static void write_screens(WriteData *wd
uiPreview *ui_preview;
PanelCategoryStack *pc_act;
ARegion *ar;
-
- writestruct(wd, DATA, "ScrArea", 1, sa);
-
- for (ar= sa->regionbase.first; ar; ar= ar->next) {
+
+ writestruct(wd, DATA, ScrArea, 1, sa);
+
+ for (ar = sa->regionbase.first; ar; ar = ar->next) {
write_region(wd, ar, sa->spacetype);
-
- for (pa= ar->panels.first; pa; pa= pa->next)
- writestruct(wd, DATA, "Panel", 1, pa);
-
- for (pc_act = ar->panels_category_active.first; pc_act; pc_act = pc_act->next)
- writestruct(wd, DATA, "PanelCategoryStack", 1, pc_act);
-
- for (ui_list = ar->ui_lists.first; ui_list; ui_list = ui_list->next)
+
+ for (pa = ar->panels.first; pa; pa = pa->next) {
+ writestruct(wd, DATA, Panel, 1, pa);
+ }
+
+ for (pc_act = ar->panels_category_active.first; pc_act; pc_act = pc_act->next) {
+ writestruct(wd, DATA, PanelCategoryStack, 1, pc_act);
+ }
+
+ for (ui_list = ar->ui_lists.first; ui_list; ui_list = ui_list->next) {
write_uilist(wd, ui_list);
+ }
- for (ui_preview = ar->ui_previews.first; ui_preview; ui_preview = ui_preview->next)
- writestruct(wd, DATA, "uiPreview", 1, ui_preview);
+ for (ui_preview = ar->ui_previews.first; ui_preview; ui_preview = ui_preview->next) {
+ writestruct(wd, DATA, uiPreview, 1, ui_preview);
+ }
}
-
- sl= sa->spacedata.first;
+
+ sl = sa->spacedata.first;
while (sl) {
- for (ar= sl->regionbase.first; ar; ar= ar->next)
+ for (ar = sl->regionbase.first; ar; ar = ar->next) {
write_region(wd, ar, sl->spacetype);
-
- if (sl->spacetype==SPACE_VIEW3D) {
- View3D *v3d= (View3D *) sl;
+ }
+
+ if (sl->spacetype == SPACE_VIEW3D) {
+ View3D *v3d = (View3D *)sl;
BGpic *bgpic;
- writestruct(wd, DATA, "View3D", 1, v3d);
- for (bgpic= v3d->bgpicbase.first; bgpic; bgpic= bgpic->next)
- writestruct(wd, DATA, "BGpic", 1, bgpic);
- if (v3d->localvd) writestruct(wd, DATA, "View3D", 1, v3d->localvd);
-
- if (v3d->fx_settings.ssao)
- writestruct(wd, DATA, "GPUSSAOSettings", 1, v3d->fx_settings.ssao);
- if (v3d->fx_settings.dof)
- writestruct(wd, DATA, "GPUDOFSettings", 1, v3d->fx_settings.dof);
- }
- else if (sl->spacetype==SPACE_IPO) {
- SpaceIpo *sipo= (SpaceIpo *)sl;
+ writestruct(wd, DATA, View3D, 1, v3d);
+ for (bgpic = v3d->bgpicbase.first; bgpic; bgpic = bgpic->next) {
+ writestruct(wd, DATA, BGpic, 1, bgpic);
+ }
+ if (v3d->localvd) {
+ writestruct(wd, DATA, View3D, 1, v3d->localvd);
+ }
+
+ if (v3d->fx_settings.ssao) {
+ writestruct(wd, DATA, GPUSSAOSettings, 1, v3d->fx_settings.ssao);
+ }
+ if (v3d->fx_settings.dof) {
+ writestruct(wd, DATA, GPUDOFSettings, 1, v3d->fx_settings.dof);
+ }
+ }
+ else if (sl->spacetype == SPACE_IPO) {
+ SpaceIpo *sipo = (SpaceIpo *)sl;
ListBase tmpGhosts = sipo->ghostCurves;
-
+
/* temporarily disable ghost curves when saving */
- sipo->ghostCurves.first= sipo->ghostCurves.last= NULL;
-
- writestruct(wd, DATA, "SpaceIpo", 1, sl);
- if (sipo->ads) writestruct(wd, DATA, "bDopeSheet", 1, sipo->ads);
-
+ sipo->ghostCurves.first = sipo->ghostCurves.last = NULL;
+
+ writestruct(wd, DATA, SpaceIpo, 1, sl);
+ if (sipo->ads) {
+ writestruct(wd, DATA, bDopeSheet, 1, sipo->ads);
+ }
+
/* reenable ghost curves */
- sipo->ghostCurves= tmpGhosts;
+ sipo->ghostCurves = tmpGhosts;
}
- else if (sl->spacetype==SPACE_BUTS) {
- writestruct(wd, DATA, "SpaceButs", 1, sl);
+ else if (sl->spacetype == SPACE_BUTS) {
+ writestruct(wd, DATA, SpaceButs, 1, sl);
}
- else if (sl->spacetype==SPACE_FILE) {
- SpaceFile *sfile= (SpaceFile *)sl;
+ else if (sl->spacetype == SPACE_FILE) {
+ SpaceFile *sfile = (SpaceFile *)sl;
- writestruct(wd, DATA, "SpaceFile", 1, sl);
- if (sfile->params)
- writestruct(wd, DATA, "FileSelectParams", 1, sfile->params);
+ writestruct(wd, DATA, SpaceFile, 1, sl);
+ if (sfile->params) {
+ writestruct(wd, DATA, FileSelectParams, 1, sfile->params);
+ }
}
- else if (sl->spacetype==SPACE_SEQ) {
- writestruct(wd, DATA, "SpaceSeq", 1, sl);
+ else if (sl->spacetype == SPACE_SEQ) {
+ writestruct(wd, DATA, SpaceSeq, 1, sl);
}
- else if (sl->spacetype==SPACE_OUTLINER) {
- SpaceOops *so= (SpaceOops *)sl;
+ else if (sl->spacetype == SPACE_OUTLINER) {
+ SpaceOops *so = (SpaceOops *)sl;
write_soops(wd, so, &tmp_mem_list);
}
- else if (sl->spacetype==SPACE_IMAGE) {
- writestruct(wd, DATA, "SpaceImage", 1, sl);
+ else if (sl->spacetype == SPACE_IMAGE) {
+ writestruct(wd, DATA, SpaceImage, 1, sl);
}
- else if (sl->spacetype==SPACE_TEXT) {
- writestruct(wd, DATA, "SpaceText", 1, sl);
+ else if (sl->spacetype == SPACE_TEXT) {
+ writestruct(wd, DATA, SpaceText, 1, sl);
}
- else if (sl->spacetype==SPACE_SCRIPT) {
- SpaceScript *scr = (SpaceScript*)sl;
+ else if (sl->spacetype == SPACE_SCRIPT) {
+ SpaceScript *scr = (SpaceScript *)sl;
scr->but_refs = NULL;
- writestruct(wd, DATA, "SpaceScript", 1, sl);
+ writestruct(wd, DATA, SpaceScript, 1, sl);
}
- else if (sl->spacetype==SPACE_ACTION) {
- writestruct(wd, DATA, "SpaceAction", 1, sl);
+ else if (sl->spacetype == SPACE_ACTION) {
+ writestruct(wd, DATA, SpaceAction, 1, sl);
}
- else if (sl->spacetype==SPACE_NLA) {
- SpaceNla *snla= (SpaceNla *)sl;
-
- writestruct(wd, DATA, "SpaceNla", 1, snla);
- if (snla->ads) writestruct(wd, DATA, "bDopeSheet", 1, snla->ads);
+ else if (sl->spacetype == SPACE_NLA) {
+ SpaceNla *snla = (SpaceNla *)sl;
+
+ writestruct(wd, DATA, SpaceNla, 1, snla);
+ if (snla->ads) {
+ writestruct(wd, DATA, bDopeSheet, 1, snla->ads);
+ }
}
- else if (sl->spacetype==SPACE_TIME) {
- writestruct(wd, DATA, "SpaceTime", 1, sl);
+ else if (sl->spacetype == SPACE_TIME) {
+ writestruct(wd, DATA, SpaceTime, 1, sl);
}
- else if (sl->spacetype==SPACE_NODE) {
+ else if (sl->spacetype == SPACE_NODE) {
SpaceNode *snode = (SpaceNode *)sl;
bNodeTreePath *path;
- writestruct(wd, DATA, "SpaceNode", 1, snode);
-
- for (path=snode->treepath.first; path; path=path->next)
- writestruct(wd, DATA, "bNodeTreePath", 1, path);
+ writestruct(wd, DATA, SpaceNode, 1, snode);
+
+ for (path = snode->treepath.first; path; path = path->next) {
+ writestruct(wd, DATA, bNodeTreePath, 1, path);
+ }
}
- else if (sl->spacetype==SPACE_LOGIC) {
- writestruct(wd, DATA, "SpaceLogic", 1, sl);
+ else if (sl->spacetype == SPACE_LOGIC) {
+ writestruct(wd, DATA, SpaceLogic, 1, sl);
}
- else if (sl->spacetype==SPACE_CONSOLE) {
- SpaceConsole *con = (SpaceConsole*)sl;
+ else if (sl->spacetype == SPACE_CONSOLE) {
+ SpaceConsole *con = (SpaceConsole *)sl;
ConsoleLine *cl;
- for (cl=con->history.first; cl; cl=cl->next) {
+ for (cl = con->history.first; cl; cl = cl->next) {
/* 'len_alloc' is invalid on write, set from 'len' on read */
- writestruct(wd, DATA, "ConsoleLine", 1, cl);
- writedata(wd, DATA, cl->len+1, cl->line);
+ writestruct(wd, DATA, ConsoleLine, 1, cl);
+ writedata(wd, DATA, cl->len + 1, cl->line);
}
- writestruct(wd, DATA, "S
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list