Commit: b0034576fd3cc9f2b30bf8956fd130d2b7ac74ac Author: Hans Goudey Date: Thu Aug 1 09:33:09 2019 -0400 Branches: soc-2019-bevel-profiles https://developer.blender.org/rBb0034576fd3cc9f2b30bf8956fd130d2b7ac74ac
Merge branch 'master' into soc-2019-bevel-profiles =================================================================== =================================================================== diff --cc source/blender/blenloader/intern/versioning_280.c index 153eb37e6aa,1a79b7c9b5a..181c2a129b0 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@@ -3534,32 -3533,23 +3534,48 @@@ void blo_do_versions_280(FileData *fd, } } + if (!MAIN_VERSION_ATLEAST(bmain, 281, 1)) { + LISTBASE_FOREACH (Object *, ob, &bmain->objects) { + for (ModifierData *md = ob->modifiers.first; md; md = md->next) { + if (md->type == eModifierType_DataTransfer) { + /* Now datatransfer's mix factor is multiplied with weights when any, + * instead of being ignored, + * we need to take care of that to keep 'old' files compatible. */ + DataTransferModifierData *dtmd = (DataTransferModifierData *)md; + if (dtmd->defgrp_name[0] != '\0') { + dtmd->mix_factor = 1.0f; + } + } + } + } + } + { /* Versioning code until next subversion bump goes here. */ + + /* Add custom profile widget to toolsettings for bevel tool */ + if (!DNA_struct_elem_find( + fd->filesdna, "ToolSettings", "ProfileWidget", "prwdgt")) { + for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) { + ToolSettings *ts = scene->toolsettings; + if ((ts) && (ts->prwdgt == NULL)) { + ts->prwdgt = profilewidget_add(PROF_PRESET_LINE); + } + } + } + + /* Add custom profile widget to bevel modifier */ + if (!DNA_struct_elem_find(fd->filesdna, "BevelModifier", "ProfileWidget", "prwdgt")) { + for (Object *object = bmain->objects.first; object != NULL; object = object->id.next) { + for (ModifierData *md = object->modifiers.first; md; md = md->next) { + if (md->type == eModifierType_Bevel) { + BevelModifierData *bmd = (BevelModifierData *)md; + if (!bmd->prwdgt) { + bmd->prwdgt = profilewidget_add(PROF_PRESET_LINE); + } + } + } + } + } } } diff --cc source/blender/blenloader/intern/versioning_defaults.c index 16cbf06bb1b,14230752d1f..e6e4764959a --- a/source/blender/blenloader/intern/versioning_defaults.c +++ b/source/blender/blenloader/intern/versioning_defaults.c @@@ -47,11 -45,8 +45,9 @@@ #include "BKE_library.h" #include "BKE_main.h" #include "BKE_node.h" - #include "BKE_paint.h" #include "BKE_screen.h" - #include "BKE_studiolight.h" #include "BKE_workspace.h" +#include "BKE_profile_widget.h" #include "BLO_readfile.h" @@@ -360,10 -286,19 +287,24 @@@ static void blo_update_defaults_scene(M CURVEMAP_SLOPE_POSITIVE); } + /* Correct default startup UV's. */ + Mesh *me = BLI_findstring(&bmain->meshes, "Cube", offsetof(ID, name) + 2); + if (me && (me->totloop == 24) && (me->mloopuv != NULL)) { + const float uv_values[24][2] = { + {0.625, 0.50}, {0.875, 0.50}, {0.875, 0.75}, {0.625, 0.75}, {0.375, 0.75}, {0.625, 0.75}, + {0.625, 1.00}, {0.375, 1.00}, {0.375, 0.00}, {0.625, 0.00}, {0.625, 0.25}, {0.375, 0.25}, + {0.125, 0.50}, {0.375, 0.50}, {0.375, 0.75}, {0.125, 0.75}, {0.375, 0.50}, {0.625, 0.50}, + {0.625, 0.75}, {0.375, 0.75}, {0.375, 0.25}, {0.625, 0.25}, {0.625, 0.50}, {0.375, 0.50}, + }; + for (int i = 0; i < ARRAY_SIZE(uv_values); i++) { + copy_v2_v2(me->mloopuv[i].uv, uv_values[i]); + } + } ++ + /* Make sure that the profile widget is initialized */ + if (ts->prwdgt == NULL) { + ts->prwdgt = profilewidget_add(PROF_PRESET_LINE); + } } /** diff --cc source/blender/bmesh/tools/bmesh_bevel.c index 3d42501f320,94935f2090b..d78870c7106 --- a/source/blender/bmesh/tools/bmesh_bevel.c +++ b/source/blender/bmesh/tools/bmesh_bevel.c @@@ -2390,12 -2295,14 +2390,12 @@@ static void build_boundary_terminal_edg else { adjust_bound_vert(e->rightv, co); } - /* make artifical extra point along unbeveled edge, and form triangle */ + /* make artificial extra point along unbeveled edge, and form triangle */ slide_dist(e->next, bv->v, e->offset_l, co); if (construct) { - v = add_new_bound_vert(mem_arena, vm, co); - v->efirst = v->elast = e->next; - e->next->leftv = e->next->rightv = v; - /* could use M_POLY too, but tri-fan looks nicer)*/ - vm->mesh_kind = M_TRI_FAN; + bndv = add_new_bound_vert(mem_arena, vm, co); + bndv->efirst = bndv->elast = e->next; + e->next->leftv = e->next->rightv = bndv; set_bound_vert_seams(bv, bp->mark_seam, bp->mark_sharp); } else { _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs