Commit: 3ff7a5991a3b47a3450f52bf45b2630bcb9d1975 Author: Bastien Montagne Date: Tue Apr 16 12:10:48 2019 +0200 Branches: asset-engine https://developer.blender.org/rB3ff7a5991a3b47a3450f52bf45b2630bcb9d1975
Merge branch 'master' into asset-engine Conflicts: source/blender/windowmanager/intern/wm_operator_props.c =================================================================== =================================================================== diff --cc source/blender/blenloader/intern/versioning_280.c index f0f348bb80e,41b1627e873..da07f3e42b3 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@@ -2921,40 -2966,180 +2967,215 @@@ void blo_do_versions_280(FileData *fd, part->draw_as = PART_DRAW_NOT; } } + + if (!DNA_struct_elem_find(fd->filesdna, "TriangulateModifierData", "int", "min_vertices")) { + for (Object *ob = bmain->objects.first; ob; ob = ob->id.next) { + for (ModifierData *md = ob->modifiers.first; md; md = md->next) { + if (md->type == eModifierType_Triangulate) { + TriangulateModifierData *smd = (TriangulateModifierData *)md; + smd->min_vertices = 4; + } + } + } + } + + FOREACH_NODETREE_BEGIN(bmain, ntree, id) { + if (ntree->type == NTREE_SHADER) { + for (bNode *node = ntree->nodes.first; node; node = node->next) { + /* Fix missing version patching from earlier changes. */ + if (STREQ(node->idname, "ShaderNodeOutputLamp")) { + STRNCPY(node->idname, "ShaderNodeOutputLight"); + } + if (node->type == SH_NODE_BSDF_PRINCIPLED && node->custom2 == 0) { + node->custom2 = SHD_SUBSURFACE_BURLEY; + } + } + } + } FOREACH_NODETREE_END; + } + + if (!MAIN_VERSION_ATLEAST(bmain, 280, 53)) { + for (Material *mat = bmain->materials.first; mat; mat = mat->id.next) { + /* Eevee: Keep material appearance consistent with previous behavior. */ + if (!mat->use_nodes || !mat->nodetree || mat->blend_method == MA_BM_SOLID) { + mat->blend_shadow = MA_BS_SOLID; + } + } + + /* grease pencil default animation channel color */ + { + for (bGPdata *gpd = bmain->gpencils.first; gpd; gpd = gpd->id.next) { + if (gpd->flag & GP_DATA_ANNOTATIONS) { + continue; + } + for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) { + /* default channel color */ + ARRAY_SET_ITEMS(gpl->color, 0.2f, 0.2f, 0.2f); + } + } + } + } + + if (!MAIN_VERSION_ATLEAST(bmain, 280, 54)) { + for (Object *ob = bmain->objects.first; ob; ob = ob->id.next) { + bool is_first_subdiv = true; + for (ModifierData *md = ob->modifiers.first; md; md = md->next) { + if (md->type == eModifierType_Subsurf) { + SubsurfModifierData *smd = (SubsurfModifierData *)md; + if (is_first_subdiv) { + smd->flags |= eSubsurfModifierFlag_UseCrease; + } + else { + smd->flags &= ~eSubsurfModifierFlag_UseCrease; + } + is_first_subdiv = false; + } + else if (md->type == eModifierType_Multires) { + MultiresModifierData *mmd = (MultiresModifierData *)md; + if (is_first_subdiv) { + mmd->flags |= eMultiresModifierFlag_UseCrease; + } + else { + mmd->flags &= ~eMultiresModifierFlag_UseCrease; + } + is_first_subdiv = false; + } + } + } + } + + if (!MAIN_VERSION_ATLEAST(bmain, 280, 55)) { + for (bScreen *screen = bmain->screens.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_TEXT) { + ListBase *regionbase = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase; + ARegion *ar = MEM_callocN(sizeof(ARegion), "footer for text"); + + /* Remove multiple footers that were added by mistake. */ + ARegion *ar_footer, *ar_next; + for (ar_footer = regionbase->first; ar_footer; ar_footer = ar_next) { + ar_next = ar_footer->next; + if (ar_footer->regiontype == RGN_TYPE_FOOTER) { + BLI_freelinkN(regionbase, ar_footer); + } + } + + /* Add footer. */ + ARegion *ar_header = NULL; + + for (ar_header = regionbase->first; ar_header; ar_header = ar_header->next) { + if (ar_header->regiontype == RGN_TYPE_HEADER) { + break; + } + } + BLI_assert(ar_header); + + BLI_insertlinkafter(regionbase, ar_header, ar); + + ar->regiontype = RGN_TYPE_FOOTER; + ar->alignment = (U.uiflag & USER_HEADER_BOTTOM) ? RGN_ALIGN_TOP : RGN_ALIGN_BOTTOM; + } + } + } + } + } + + if (!MAIN_VERSION_ATLEAST(bmain, 280, 56)) { + for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) { + for (ScrArea *area = screen->areabase.first; area; area = area->next) { + for (SpaceLink *sl = area->spacedata.first; sl; sl = sl->next) { + if (sl->spacetype == SPACE_VIEW3D) { + View3D *v3d = (View3D *)sl; + v3d->gizmo_show_armature = V3D_GIZMO_SHOW_ARMATURE_BBONE | V3D_GIZMO_SHOW_ARMATURE_ROLL; + v3d->gizmo_show_empty = V3D_GIZMO_SHOW_EMPTY_IMAGE | V3D_GIZMO_SHOW_EMPTY_FORCE_FIELD; + v3d->gizmo_show_light = V3D_GIZMO_SHOW_LIGHT_SIZE | V3D_GIZMO_SHOW_LIGHT_LOOK_AT; + v3d->gizmo_show_camera = V3D_GIZMO_SHOW_CAMERA_LENS | V3D_GIZMO_SHOW_CAMERA_DOF_DIST; + } + } + } + } + } + + if (!MAIN_VERSION_ATLEAST(bmain, 280, 57)) { + /* Enable Show Interpolation in dopesheet by default. */ + for (bScreen *screen = bmain->screens.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_ACTION) { + SpaceAction *saction = (SpaceAction *)sl; + if ((saction->flag & SACTION_SHOW_EXTREMES) == 0) { + saction->flag |= SACTION_SHOW_INTERPOLATION; + } + } + } + } + } + + /* init grease pencil brush gradients */ + if (!DNA_struct_elem_find(fd->filesdna, "BrushGpencilSettings", "float", "gradient_f")) { + for (Brush *brush = bmain->brushes.first; brush; brush = brush->id.next) { + if (brush->gpencil_settings != NULL) { + BrushGpencilSettings *gp = brush->gpencil_settings; + gp->gradient_f = 1.0f; + gp->gradient_s[0] = 1.0f; + gp->gradient_s[1] = 1.0f; + } + } + } + + /* init grease pencil stroke gradients */ + if (!DNA_struct_elem_find(fd->filesdna, "bGPDstroke", "float", "gradient_f")) { + for (bGPdata *gpd = bmain->gpencils.first; gpd; gpd = gpd->id.next) { + for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) { + for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) { + for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) { + gps->gradient_f = 1.0f; + gps->gradient_s[0] = 1.0f; + gps->gradient_s[1] = 1.0f; + } + } + } + } + } + } + + { + /* Versioning code until next subversion bump goes here. */ } + + + + + + + if (1 || !DNA_struct_find(fd->filesdna, "AssetUUID")) { /* struct_find will have to wait, not working for now... */ + /* Move non-op filebrowsers to 'library browsing' type/mode. */ + for (bScreen *screen = bmain->screens.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_FILE) { + SpaceFile *sfile = (SpaceFile *)sl; + if (sfile->params != NULL) { + sfile->params->type = FILE_LOADLIB; + sfile->params->filter = FILE_TYPE_FOLDER | FILE_TYPE_BLENDERLIB; + /* For now, always init filterid to 'all true' */ + sfile->params->filter_id = FILTER_ID_AC | FILTER_ID_AR | FILTER_ID_BR | FILTER_ID_CA | + FILTER_ID_CU | FILTER_ID_GD | FILTER_ID_GR | FILTER_ID_IM | + FILTER_ID_LA | FILTER_ID_LS | FILTER_ID_LT | FILTER_ID_MA | + FILTER_ID_MB | FILTER_ID_MC | FILTER_ID_ME | FILTER_ID_MSK | + FILTER_ID_NT | FILTER_ID_OB | FILTER_ID_PA | FILTER_ID_PAL | + FILTER_ID_PC | FILTER_ID_SCE | FILTER_ID_SPK | FILTER_ID_SO | + FILTER_ID_TE | FILTER_ID_TXT | FILTER_ID_VF | FILTER_ID_WO | + FILTER_ID_CF; + } + } + } + } + } + } + + + + } diff --cc source/blender/editors/space_file/filesel.c index 80e67c7b01e,3ab08b5ac71..99e125790ce --- a/source/blender/editors/space_file/filesel.c +++ b/source/blender/editors/space_file/filesel.c @@@ -265,8 -272,9 +272,9 @@@ short ED_fileselect_set_params(SpaceFil params->flag |= FILE_HIDE_DOT; params->flag &= ~FILE_DIRSEL_ONLY; params->display = FILE_SHORTDISPLAY; + params->display_previous = FILE_DEFAULTDISPLAY; params->sort = FILE_SORT_ALPHA; - params->filter = 0; + params->filter = FILE_TYPE_FOLDER | FILE_TYPE_BLENDERLIB; params->filter_glob[0] = '\0'; } diff --cc source/blender/windowmanager/intern/wm_dragdrop.c index 064e9fd090d,92ce9957351..a77672c8c19 --- a/source/blender/windowmanager/intern/wm_dragdrop.c +++ b/source/blender/windowmanager/intern/wm_dragdrop.c @@@ -40,9 -39,9 +40,10 @@@ #include "BKE_context.h" #include "BKE_idcode.h" +#include "BKE_screen.h" #include "GPU_shader.h" + #include "GPU_state.h" #include "IMB_imbuf_types.h" diff --cc source/blender/windowmanager/intern/wm_files.c index 036c383d878,abea0571a2c..e0b95b3ffa3 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@@ -895,15 -897,11 +902,16 @@@ void wm_homefile_read .skip_flags = skip_flags, }, NULL) != BKE_BLENDFILE_READ_FAIL; + +#ifdef DEBUG_LIBRARY + printf("Updating assets for: %s\n", filepath_startup); +#endif + WM_operator_name_call(C, "WM_OT_assets_update_check", WM_OP_EXEC_DEFAULT, NULL); } if (BLI_listbase_is_empty(&U.themes)) { - if (G.debug & G_DEBUG) + if (G.debug & G_DEBUG) { printf("\nNote: No (valid) '%s' found, fall back to built-in default.\n\n", filepath_startup); + } success = false; } if (success) { diff --cc source/blender/windowmanager/intern/wm_init_exit.c index 5772ef66be7,f39cb7d7cb2..73e3abb2a75 --- a/source/blender/windowmanager/intern/wm_init_exit.c +++ b/source/blender/windo @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs