Commit: a80c7c73e38559cd6312ce0c14030f1841f9c49a
Author: Julian Eisel
Date: Thu Aug 4 05:08:19 2016 +0200
Branches: temp_localview_split
https://developer.blender.org/rBa80c7c73e38559cd6312ce0c14030f1841f9c49a
Merge branch 'master' into temp_localview_split
Conflicts:
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/versioning_270.c
source/blender/editors/screen/screen_context.c
source/blender/editors/space_view3d/drawmesh.c
source/blender/editors/space_view3d/space_view3d.c
===================================================================
===================================================================
diff --cc source/blender/blenloader/intern/readfile.c
index bbcf1c6,52ca852..1049f5a
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -144,9 -144,8 +144,9 @@@
#include "BKE_sequencer.h"
#include "BKE_outliner_treehash.h"
#include "BKE_sound.h"
+ #include "BKE_colortools.h"
+#include "BKE_utildefines.h"
-
#include "NOD_common.h"
#include "NOD_socket.h"
diff --cc source/blender/blenloader/intern/versioning_270.c
index 014f8be,c4fec3e..3b3d86b
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@@ -1270,25 -1223,102 +1262,121 @@@ void blo_do_versions_270(FileData *fd,
br->flag |= BRUSH_ACCUMULATE;
}
}
+
+ if (!DNA_struct_elem_find(fd->filesdna, "ClothSimSettings",
"float", "time_scale")) {
+ Object *ob;
+ ModifierData *md;
+ for (ob = main->object.first; ob; ob = ob->id.next) {
+ for (md = ob->modifiers.first; md; md =
md->next) {
+ if (md->type == eModifierType_Cloth) {
+ ClothModifierData *clmd =
(ClothModifierData *)md;
+ clmd->sim_parms->time_scale =
1.0f;
+ }
+ else if (md->type ==
eModifierType_ParticleSystem) {
+ ParticleSystemModifierData *pmd
= (ParticleSystemModifierData *)md;
+ if (pmd->psys->clmd) {
+
pmd->psys->clmd->sim_parms->time_scale = 1.0f;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (!MAIN_VERSION_ATLEAST(main, 277, 3)) {
+ /* ------- init of grease pencil initialization ---------------
*/
+ if (!DNA_struct_elem_find(fd->filesdna, "bGPDstroke",
"bGPDpalettecolor", "palcolor")) {
+ for (Scene *scene = main->scene.first; scene; scene =
scene->id.next) {
+ ToolSettings *ts = scene->toolsettings;
+ /* initialize use position for sculpt brushes */
+ ts->gp_sculpt.flag |=
GP_BRUSHEDIT_FLAG_APPLY_POSITION;
+ /* initialize selected vertices alpha factor */
+ ts->gp_sculpt.alpha = 1.0f;
+
+ /* new strength sculpt brush */
+ if (ts->gp_sculpt.brush[0].size >= 11) {
+ GP_BrushEdit_Settings *gset =
&ts->gp_sculpt;
+ GP_EditBrush_Data *brush;
+
+ brush =
&gset->brush[GP_EDITBRUSH_TYPE_STRENGTH];
+ brush->size = 25;
+ brush->strength = 0.5f;
+ brush->flag =
GP_EDITBRUSH_FLAG_USE_FALLOFF;
+ }
+ }
+ /* create a default grease pencil drawing brushes set */
+ if (!BLI_listbase_is_empty(&main->gpencil)) {
+ for (Scene *scene = main->scene.first; scene;
scene = scene->id.next) {
+ ToolSettings *ts = scene->toolsettings;
+ if
(BLI_listbase_is_empty(&ts->gp_brushes)) {
+ gpencil_brush_init_presets(ts);
+ }
+ }
+ }
+ /* Convert Grease Pencil to new palettes/brushes
+ * Loop all strokes and create the palette and all
colors
+ */
+ for (bGPdata *gpd = main->gpencil.first; gpd; gpd =
gpd->id.next) {
+ if (BLI_listbase_is_empty(&gpd->palettes)) {
+ /* create palette */
+ bGPDpalette *palette =
gpencil_palette_addnew(gpd, "GP_Palette", true);
+ for (bGPDlayer *gpl =
gpd->layers.first; gpl; gpl = gpl->next) {
+ /* create color using layer
name */
+ bGPDpalettecolor *palcolor =
gpencil_palettecolor_addnew(palette, gpl->info, true);
+ if (palcolor != NULL) {
+ /* set color attributes
*/
+
copy_v4_v4(palcolor->color, gpl->color);
+
copy_v4_v4(palcolor->fill, gpl->fill);
+ palcolor->flag =
gpl->flag;
+ /* set layer opacity to
1 */
+ gpl->opacity = 1.0f;
+ /* set tint color */
+
ARRAY_SET_ITEMS(gpl->tintcolor, 0.0f, 0.0f, 0.0f, 0.0f);
+
+ for (bGPDframe *gpf =
gpl->frames.first; gpf; gpf = gpf->next) {
+ for (bGPDstroke
*gps = gpf->strokes.first; gps; gps = gps->next) {
+ /* set
stroke to palette and force recalculation */
+
strcpy(gps->colorname, gpl->info);
+
gps->palcolor = NULL;
+
gps->flag |= GP_STROKE_RECALC_COLOR;
+
gps->thickness = gpl->thickness;
+ /* set
alpha strength to 1 */
+ for
(int i = 0; i < gps->totpoints; i++) {
+
gps->points[i].strength = 1.0f;
+ }
+
+ }
+ }
+ }
+ /* set thickness to 0 (now it
is a factor to override stroke thickness) */
+ gpl->thickness = 0.0f;
+ }
+ /* set first color as active */
+ if (palette->colors.first)
+
gpencil_palettecolor_setactive(palette, palette->colors.first);
+ }
+ }
+ }
+ /* ------- end of grease pencil initialization ---------------
*/
}
+ {
+ if (!DNA_struct_elem_find(fd->filesdna, "View3D",
"LocalViewAreaData", "localviewd")) {
+ for (bScreen *screen = main->screen.first; screen;
screen = screen->id.next) {
+ for (ScrArea *sa = screen->areabase.first; sa;
sa = sa->next) {
+ for (SpaceLink *sl =
sa->spacedata.first; sl; sl = sl->next) {
+ if (sl->spacetype ==
SPACE_VIEW3D) {
+ ListBase *lb = (sl ==
sa->spacedata.first) ? &sa->regionbase : &sl->regionbase;
+
do_version_localview_areadata((View3D *)sl);
+ for (ARegion *ar =
lb->first; ar; ar = ar->next) {
+ if
(ar->regiontype == RGN_TYPE_WINDOW) {
+
do_version_localview_regiondata(ar->regiondata);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
diff --cc source/blender/editors/screen/screen_context.c
index 1dcd569,5da4a77..c4f19aa
--- a/source/blender/editors/screen/screen_context.c
+++ b/source/blender/editors/screen/screen_context.c
@@@ -131,17 -117,14 +132,17 @@@ int ed_screen_context(const bContext *C
}
else if (CTX_data_equals(member, "visible_objects") ||
CTX_data_equals(member, "visible_bases")) {
const unsigned int lay = context_layers(sc, scene, sa);
+ const LocalViewInfo localviews = context_localviews(sc, sa);
- int visible_objects = CTX_data_equals(member,
"visible_objects");
+ const bool visible_objects = CTX_data_equals(member,
"visible_objects");
for (base = scene->base.first; base; base = base->next) {
- if (((base->object->restrictflag & OB_RESTRICT_VIEW) ==
0) && (base->lay & lay)) {
- if (visible_objects)
- CTX_data_id_list_add(result,
&base->object->id);
- else
- CTX_data_list_add(result, &scene->id,
&RNA_ObjectBase, base);
+ if ((base->object->restrictflag & OB_RESTRICT_VIEW) ==
0) {
+ if (LAYER_AND_LOCALVIEW_CHECK(localviews, base,
lay)) {
+ if (visible_objects)
+ CTX_data_id_list_add(result,
&base->object->id);
+ else
+ CTX_data_list_add(result,
&scene->id, &RNA_ObjectBase, base);
+ }
}
}
CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION);
@@@ -149,12 -132,11 +150,12 @@@
}
else if (CTX_data_equals(member, "selectable_objects") ||
CTX_data_equals(member, "selectable_bases")) {
const unsigned int lay = context_layers(sc, scene, sa);
+ const LocalViewInfo localviews = context_localviews(sc, sa);
- int selectable_objects = CTX_data_equals(member,
"selectable_objects");
+ const bool selectable_objects = CTX_data_equals(member,
"selectable_objects");
for (base = scene->base.first; base; base = base->next) {
- if (base->lay & lay) {
- if ((base->object->restrictflag &
OB_RESTRICT_VIEW) == 0 && (base->object->restrictflag & OB_RESTRICT_SELECT) ==
0) {
+ if ((base->object->restrictflag & (OB_RESTRICT_VIEW |
OB_RESTRICT_SELECT)) == 0) {
+ if (LAYER_AND_LOCALVIEW_CHECK(localviews, base,
lay)) {
if (selectable_objects)
CTX_data_id_list_add(result,
&base->object->id);
else
@@@ -167,17 -149,14 +168,17 @@@
}
else if (CTX_data_equals(member, "selected_objects") ||
CTX_data_equals(member, "selected_bases")) {
const unsigned int lay = context_layers(sc, scene, sa);
+ const LocalViewInfo localviews = context_localviews(sc, sa);
- int selected_objects = CTX_data_equals(member,
"selected_objects");
+ const bool selected_objects = CTX_data_equals(member,
"selected_objects");
for (base = scene->base.first; base; base = base->next) {
- if ((base->flag & SELECT) && (base->lay & lay)) {
- if (selected_objects)
- CTX_data_id_list_add(result,
&base->object->id);
- else
- CTX_data_list_add(result, &scene->id,
&RNA_ObjectBase, base);
+ if ((base->flag & SELECT)) {
+ if (LAYER_AND_LOCALVIEW_CHECK(localviews, base,
lay)) {
+ if (selected_objects)
+ CTX_data_id_list_add(result,
&base->object->id);
+ else
+ CTX_data_list_add(result,
&scene->id, &RNA_ObjectBase, base);
+ }
}
}
CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION);
@@@ -185,12 -164,11 +186,12 @@@
}
else if (CTX_data_equals(member, "selected_editable_objects") ||
CTX_data_equals(member, "selected_editable_bases")) {
const unsigned int lay = context_layers(sc, scene, sa);
+ const LocalViewInfo localviews = context_localviews(sc, sa);
- int selected_editable_objects = CTX_data_equals(member,
"selected_editable_objects");
+ const bool selected_editable_objects = CTX_data_equals(member,
"selected_editable_objects");
for (base = scene->base.first; base; base = base->next) {
- if ((base->flag & SELECT) && (base->lay & lay)) {
- if ((base->object->restrictflag &
OB_RESTRICT_VIEW) == 0) {
+ if ((base->flag & SELECT) &&
(base->object->restrictflag & OB_RESTRICT_VIEW) == 0) {
+ if (LAYER_AND_LOCALVIEW_CHECK(localviews, base,
lay)) {
if (0 ==
BKE_object_is_libdata(base->object)) {
if (selected_editable_objects)
CTX_data_id_list_add(result, &base->object->id);
@@@ -205,19 -183,16 +206,19 @@@
}
else if (CTX_data_equals(member, "editable_objects") ||
CTX_data_equals(member, "editable_bases")) {
const unsigned int lay = context_layers(sc, scene, sa);
+ const LocalViewInfo localviews = context_localviews(sc, sa);
- int editable_objects = CTX_data_equals(member,
"editable_objects");
+ const bool editable_objects = CTX_data_equals(member,
"editable_objects");
-
+
/* Visible + Editable, but not necessarily selected */
for (base = scene->base.first; base; base = base->next) {
- if (((base->object->restrictflag & OB_RESTRICT_VIEW) ==
0) && (base->lay & lay)) {
- if (0 == BKE_object_is_libdata(base->object)) {
-
@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs