Commit: 0fdbda2cfa8e582cd9ae520f70759d8abe90a6d5
Author: Julian Eisel
Date:   Sat Feb 6 21:18:49 2016 +0100
Branches: wiggly-widgets
https://developer.blender.org/rB0fdbda2cfa8e582cd9ae520f70759d8abe90a6d5

Merge branch 'master' into wiggly-widgets

Conflicts:
        source/blender/blenloader/intern/readfile.c
        source/blender/blenloader/intern/versioning_270.c
        source/blender/editors/include/ED_transform.h
        source/blender/editors/interface/resources.c
        source/blender/editors/space_sequencer/sequencer_draw.c
        source/blender/editors/transform/transform_manipulator.c
        source/blender/gpu/intern/gpu_buffers.c

===================================================================



===================================================================

diff --cc source/blender/blenloader/intern/readfile.c
index 558f7d9,2935b11..e072c41
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -3205,28 -3214,23 +3215,29 @@@ static void lib_link_pose(FileData *fd
                
                /* sync proxy active bone */
                if (pose->proxy_act_bone[0]) {
-                       Bone *bone = BKE_armature_find_bone_name(arm, 
pose->proxy_act_bone);
-                       if (bone)
+                       Bone *bone = BLI_ghash_lookup(bone_hash, 
pose->proxy_act_bone);
+                       if (bone) {
                                arm->act_bone = bone;
+                       }
                }
        }
-       
-       for (pchan = pose->chanbase.first; pchan; pchan=pchan->next) {
+ 
+       for (bPoseChannel *pchan = pose->chanbase.first; pchan; pchan = 
pchan->next) {
                lib_link_constraints(fd, (ID *)ob, &pchan->constraints);
-               
-               /* hurms... loop in a loop, but yah... later... (ton) */
-               pchan->bone = BKE_armature_find_bone_name(arm, pchan->name);
  
+               pchan->bone = BLI_ghash_lookup(bone_hash, pchan->name);
+               
 +              pchan->fmap_object = newlibadr_us(fd, arm->id.lib, 
pchan->fmap_object);
 +              if (pchan->fmap_object) {
 +                      /* fix fmap pointer now that we've got updated 
fmap_object */
 +                      pchan->fmap = fmap_find_name(pchan->fmap_object, 
pchan->fmap->name);
 +              }
 +
                pchan->custom = newlibadr_us(fd, arm->id.lib, pchan->custom);
-               if (pchan->bone == NULL)
-                       rebuild= 1;
-               else if (ob->id.lib==NULL && arm->id.lib) {
+               if (UNLIKELY(pchan->bone == NULL)) {
+                       rebuild = true;
+               }
+               else if ((ob->id.lib == NULL) && arm->id.lib) {
                        /* local pose selection copied to armature, bit hackish 
*/
                        pchan->bone->flag &= ~BONE_SELECTED;
                        pchan->bone->flag |= pchan->selectflag;
diff --cc source/blender/blenloader/intern/versioning_270.c
index f436dd9,1ce9bca..c909b40
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@@ -1051,43 -1051,10 +1051,49 @@@ void blo_do_versions_270(FileData *fd, 
                }
        }
  
+       if (!MAIN_VERSION_ATLEAST(main, 276, 7)) {
+               Scene *scene;
+               for (scene = main->scene.first; scene != NULL; scene = 
scene->id.next) {
+                       scene->r.bake.pass_filter = R_BAKE_PASS_FILTER_ALL;
+               }
+       }
 +
 +      {
 +              if (!DNA_struct_elem_find(fd->filesdna, "SpaceNode", "float", 
"backdrop_zoom")) {
 +                      bScreen *sc;
 +                      for (sc = main->screen.first; sc; sc = sc->id.next) {
 +                              ScrArea *sa;
 +                              for (sa = sc->areabase.first; sa; sa = 
sa->next) {
 +                                      SpaceLink *sl;
 +                                      for (sl = sa->spacedata.first; sl; sl = 
sl->next) {
 +                                              if (sl->spacetype == 
SPACE_NODE) {
 +                                                      SpaceNode *snode = 
(SpaceNode *)sl;
 +                                                      snode->backdrop_zoom = 
1.0;
 +                                              }
 +                                              if (sl->spacetype == SPACE_SEQ) 
{
 +                                                      SpaceSeq *sseq = 
(SpaceSeq *)sl;
 +                                                      sseq->overdrop_zoom = 
1.0;
 +                                              }
 +                                      }
 +                              }
 +                      }
 +              }
 +
 +              if (!DNA_struct_elem_find(fd->filesdna, "SpaceIpo", "float", 
"backdrop_zoom")) {
 +                      bScreen *sc;
 +                      for (sc = main->screen.first; sc; sc = sc->id.next) {
 +                              ScrArea *sa;
 +                              for (sa = sc->areabase.first; sa; sa = 
sa->next) {
 +                                      SpaceLink *sl;
 +                                      for (sl = sa->spacedata.first; sl; sl = 
sl->next) {
 +                                              if (sl->spacetype == SPACE_IPO) 
{
 +                                                      SpaceIpo *sipo = 
(SpaceIpo *)sl;
 +                                                      sipo->backdrop_zoom = 
1.0f;
 +                                                      sipo->backdrop_opacity 
= 0.7f;
 +                                              }
 +                                      }
 +                              }
 +                      }
 +              }
 +      }
  }
diff --cc source/blender/editors/include/ED_transform.h
index 555fb49,db8085a..b175f7f
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@@ -114,9 -109,7 +114,10 @@@ struct ScrArea
  struct Base;
  struct Scene;
  struct Object;
 +struct wmWidget;
 +struct wmWidgetGroup;
 +struct wmWidgetGroupType;
+ struct wmOperator;
  
  /* UNUSED */
  // int BIF_snappingSupported(struct Object *obedit);
diff --cc source/blender/editors/interface/resources.c
index 94c36a8,c23df5c..7d5abef
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@@ -2676,15 -2678,37 +2676,46 @@@ void init_userdef_do_versions(void
                }
        }
  
-       if (!USER_VERSION_ATLEAST(276, 4)) {
+       if (!USER_VERSION_ATLEAST(276, 8)) {
+               bTheme *btheme;
+               for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+                       rgba_char_args_set(btheme->tui.wcol_progress.item, 128, 
128, 128, 255);
+               }
+       }
+ 
+       if (!USER_VERSION_ATLEAST(276, 10)) {
+               bTheme *btheme;
+               for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+                       /* 3dView Keyframe Indicators */
+                       rgba_char_args_set(btheme->tv3d.time_keyframe, 0xDD, 
0xD7, 0x00, 1.0);
+                       rgba_char_args_set(btheme->tv3d.time_gp_keyframe, 0xB5, 
0xE6, 0x1D, 1.0);
+               }
+       }
+ 
+       /**
+        * Include next version bump.
+        *
+        * (keep this block even if it becomes empty).
+        */
+       {
+               bTheme *btheme;
+               for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+                       if (memcmp(btheme->tui.wcol_list_item.item, 
btheme->tui.wcol_list_item.text_sel, sizeof(char) * 3) == 0) {
+                               
copy_v4_v4_char(btheme->tui.wcol_list_item.item, btheme->tui.wcol_text.item);
+                               
copy_v4_v4_char(btheme->tui.wcol_list_item.text_sel, 
btheme->tui.wcol_text.text_sel);
+                       }
+               }
+       }
+ 
++      if (!USER_VERSION_ATLEAST(276, 11)) {
 +              bTheme *btheme;
 +              for (btheme = U.themes.first; btheme; btheme = btheme->next) {
 +                      rgba_char_args_set_fl(btheme->tui.xaxis, 1.0f, 0.27f, 
0.27f, 1.0f); /* red */
 +                      rgba_char_args_set_fl(btheme->tui.yaxis, 0.27f, 1.0f, 
0.27f, 1.0f); /* green */
 +                      rgba_char_args_set_fl(btheme->tui.zaxis, 0.27f, 0.27f, 
1.0f, 1.0f); /* blue */
 +              }
 +      }
 +
        if (U.pixelsize == 0.0f)
                U.pixelsize = 1.0f;
        
diff --cc source/blender/editors/space_sequencer/sequencer_draw.c
index 63b41d6,5793c8e..e5cd00f
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@@ -1218,8 -1219,8 +1219,8 @@@ void draw_image_seq(const bContext *C, 
                }
        }
  
 -      if (!draw_backdrop) {
 +      if (!draw_overdrop) {
-               sequencer_draw_background(sseq, v2d, viewrect);
+               sequencer_draw_background(sseq, v2d, viewrect, draw_overlay);
        }
  
        if (scope) {
diff --cc source/blender/editors/transform/transform_manipulator.c
index cb7ee14,0f2af58..c3b2628
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@@ -1216,44 -1583,216 +1216,45 @@@ void WIDGETGROUP_manipulator_create(con
                                }
                                break;
                }
 -      }
 -
 -      /* restore */
 -
 -      gluDeleteQuadric(qobj);
 -      glLoadMatrixf(rv3d->viewmat);
 -
 -      if (v3d->zbuf) glEnable(GL_DEPTH_TEST);
 -
 -}
 -
 -
 -/* ********************************************* */
  
 -/* main call, does calc centers & orientation too */
 -static int drawflags = 0xFFFF;       // only for the calls below, belongs in 
scene...?
 -
 -void BIF_draw_manipulator(const bContext *C)
 -{
 -      ScrArea *sa = CTX_wm_area(C);
 -      ARegion *ar = CTX_wm_region(C);
 -      Scene *scene = CTX_data_scene(C);
 -      View3D *v3d = sa->spacedata.first;
 -      RegionView3D *rv3d = ar->regiondata;
 -      int totsel;
 -
 -      const bool is_picksel = false;
 -
 -      if (!(v3d->twflag & V3D_USE_MANIPULATOR)) return;
 -
 -      if ((v3d->twtype & (V3D_MANIP_TRANSLATE | V3D_MANIP_ROTATE | 
V3D_MANIP_SCALE)) == 0) return;
 -
 -      {
 -              v3d->twflag &= ~V3D_DRAW_MANIPULATOR;
 -
 -              totsel = calc_manipulator_stats(C);
 -              if (totsel == 0) return;
 -
 -              v3d->twflag |= V3D_DRAW_MANIPULATOR;
 -
 -              /* now we can define center */
 -              switch (v3d->around) {
 -                      case V3D_AROUND_CENTER_BOUNDS:
 -                      case V3D_AROUND_ACTIVE:
 -                      {
 -                              bGPdata *gpd = CTX_data_gpencil_data(C);
 -                              Object *ob = OBACT;
 -
 -                              if (((v3d->around == V3D_AROUND_ACTIVE) && 
(scene->obedit == NULL)) &&
 -                                  ((gpd == NULL) || !(gpd->flag & 
GP_DATA_STROKE_EDITMODE)) &&
 -                                  (!(ob->mode & OB_MODE_POSE)))
 -                              {
 -                                      copy_v3_v3(rv3d->twmat[3], 
ob->obmat[3]);
 -                              }
 -                              else {
 -                                      mid_v3_v3v3(rv3d->twmat[3], 
scene->twmin, scene->twmax);
 -                              }
 +              switch (axis_type) {
 +                      case MAN_AXES_TRANSLATE:
 +                              ptr = WM_widget_set_operator(axis, 
"TRANSFORM_OT_translate");
                                break;
 -                      }
 -                      case V3D_AROUND_LOCAL_ORIGINS:
 -                      case V3D_AROUND_CENTER_MEAN:
 -                              copy_v3_v3(rv3d->twmat[3], scene->twcent);
 +                      case MAN_AXES_ROTATE:
 +                              ptr = WM_widget_set_operator(axis, 
"TRANSFORM_OT_rotate");
                                break;
 -                      case V3D_AROUND_CURSOR:
 -                              copy_v3_v3(rv3d->twmat[3], 
ED_view3d_cursor3d_get(scene, v3d));
 +                      case MAN_AXES_SCALE:
 +                              ptr = WM_widget_set_operator(axis, 
"TRANSFORM_OT_resize");
                                break;
                }
 -
 -              mul_mat3_m4_fl(rv3d->twmat, ED_view3d_pixel_size(rv3d, 
rv3d->twmat[3]) * U.tw_size);
 +              RNA_boolean_set_array(ptr, "constraint_axis", constraint_axis);
 +              RNA_boolean_set(ptr, "release_confirm", 1);
        }
 +      MAN_ITER_AXES_END;
  
 -      /* when looking through a selected camera, the manipulator can be at the
 -       * exact same position as the view, skip so we don't break selection */
 -      if (fabsf(mat4_to_scale(rv3d->twmat)) < 1e-7f)
 -              return;
 -
 -      test_manipulator_axis(C);
 -      drawflags = rv3d->twdrawflag;    /* set in calc_manipulator_stats */
 -
 -      if (v3d->twflag & V3D_DRAW_MANIPULATOR) {
 -
 -              glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 -              glEnable(GL_BLEND);
 -              if (v3d->twtype & V3D_MANIP_ROTATE) {
 -
 -                      if (G.debug_value == 3) {
 -                              if (G.moving & (G_TRANSFORM_OBJ | 
G_TRANSFORM_EDIT))
 -                                      draw_manipulator_rotate_cyl(v3d, rv3d, 
drawflags, v3d->twtype, MAN_MOVECOL, true, is_picksel);
 -                              else
 -                                      draw_manipulator_rotate_cyl(v3d, rv3d, 
drawflags, v3d->twtype, MAN_RGB, false, is_picksel);
 -                      }
 -                      else {
 -                              draw_manipulator_rotate(v3d, rv3d, drawflags, 
v3d->twtype, false, is_picksel);
 -                      }
 -              }
 -              if (v3d->twtype & V3D_MANIP_SCALE) {
 -                      draw_manipulator_scale(v3d, rv3d, drawflags, 
v3d->twtype, MAN_RGB, false, is_picksel);
 -              }
 -              if (v3d->twtype & V3D_MANIP_TRANSLATE) {
 -                      draw_manipulator_translate(v3d, rv3d, drawflags, 
v3d->twtype, MAN_RGB, false, is_picksel);
 -              }
 -
 -              glDisable(GL_BLEND);
 -      }
 +      MEM_freeN(man);
  }
  
 -static int manipulator_selectbuf(ScrArea *sa, ARegion *ar, const int mval[2], 
float hotspot)
 +int WIDGETGROUP_manipulator_poll(const struct bContext *C, struct 
wmWidgetGroupType *UNUSED(wgrouptype))
  {
 -      View3D *v3d = sa->spacedata.first;
 -      RegionVie

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to