svn merge -r39900:40000 https://svn.blender.org/svnroot/bf-blender/trunk/blender
authorCampbell Barton <ideasman42@gmail.com>
Tue, 13 Sep 2011 09:07:20 +0000 (09:07 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Tue, 13 Sep 2011 09:07:20 +0000 (09:07 +0000)
1  2 
release/scripts/startup/bl_ui/space_view3d_toolbar.py
source/blender/editors/sculpt_paint/paint_image.c
source/blender/makesrna/intern/rna_internal.h
source/blender/makesrna/intern/rna_object.c
source/blender/makesrna/intern/rna_scene.c

index 23d896abdbba7d5e1c76db285fde90ff9e23e11b,aa26cb43eed71fe4835013bb3c9c10eaa81e5162..fd70cc9edb3537b230f9acd2e55b631bc4f978f2
@@@ -54,6 -54,9 +54,9 @@@ def draw_gpencil_tools(context, layout)
      row = col.row()
      row.operator("gpencil.draw", text="Draw").mode = 'DRAW'
      row.operator("gpencil.draw", text="Line").mode = 'DRAW_STRAIGHT'
+     row = col.row()
+     row.operator("gpencil.draw", text="Poly").mode = 'DRAW_POLY'
      row.operator("gpencil.draw", text="Erase").mode = 'ERASER'
  
      row = col.row()
@@@ -643,8 -646,6 +646,8 @@@ class VIEW3D_PT_tools_brush(PaintPanel
          elif context.weight_paint_object and brush:
              layout.prop(context.tool_settings, "vertex_group_weight", text="Weight", slider=True)
              layout.prop(context.tool_settings, "use_auto_normalize", text="Auto Normalize")
 +            # Jason was here
 +            layout.prop(context.tool_settings, "use_multipaint", text="Multi-Paint")
  
              col = layout.column()
  
@@@ -1057,7 -1058,6 +1060,7 @@@ class VIEW3D_PT_tools_weightpaint(View3
          col.operator("object.vertex_group_invert", text="Invert")
          col.operator("object.vertex_group_clean", text="Clean")
          col.operator("object.vertex_group_levels", text="Levels")
 +        col.operator("object.vertex_group_fix", text="Fix Deforms")
  
  
  class VIEW3D_PT_tools_weightpaint_options(View3DPanel, Panel):
index 226c71b05733ad70f16edbea0b1a23e40c7dedef,79a3251cdf1c052453d5a907325fbc1e80d3240b..ef0f4ace2b8ae6889ac45899ed15d112387980b2
@@@ -60,6 -60,7 +60,7 @@@
  #include "DNA_brush_types.h"
  #include "DNA_mesh_types.h"
  #include "DNA_meshdata_types.h"
+ #include "DNA_node_types.h"
  #include "DNA_object_types.h"
  #include "DNA_scene_types.h"
  #include "DNA_texture_types.h"
@@@ -4663,7 -4664,7 +4664,7 @@@ static void paint_brush_init_tex(Brush 
        if(brush) {
                MTex *mtex= &brush->mtex;
                if(mtex->tex && mtex->tex->nodetree)
-                       ntreeBeginExecTree(mtex->tex->nodetree); /* has internal flag to detect it only does it once */
+                       ntreeTexBeginExecTree(mtex->tex->nodetree, 1); /* has internal flag to detect it only does it once */
        }
        
  }
@@@ -4805,7 -4806,7 +4806,7 @@@ static void paint_brush_exit_tex(Brush 
        if(brush) {
                MTex *mtex= &brush->mtex;
                if(mtex->tex && mtex->tex->nodetree)
-                       ntreeEndExecTree(mtex->tex->nodetree);
+                       ntreeTexEndExecTree(mtex->tex->nodetree->execdata, 1);
        }       
  }
  
@@@ -5407,16 -5408,7 +5408,16 @@@ int facemask_paint_poll(bContext *C
  {
        return paint_facesel_test(CTX_data_active_object(C));
  }
 -
 +// Jason
 +int vert_paint_poll(bContext *C)
 +{
 +      return paint_vertsel_test(CTX_data_active_object(C));
 +}
 +// Jason
 +int mask_paint_poll(bContext *C)
 +{
 +      return paint_facesel_test(CTX_data_active_object(C)) || paint_vertsel_test(CTX_data_active_object(C));
 +}
  /* use project paint to re-apply an image */
  static int texture_paint_camera_project_exec(bContext *C, wmOperator *op)
  {
index cd395a4bbd8404e201c12d0cc47aa18649e410f3,78b8c67d92c8bd2b792e3782f49ef810e602f0b1..b9682b7ee7f972374413c39bc352d745e2d67927
@@@ -215,8 -215,6 +215,8 @@@ int rna_object_shapekey_index_set(struc
  void rna_Object_internal_update_data(struct Main *bmain, struct Scene *scene, struct PointerRNA *ptr);
  void rna_Mesh_update_draw(struct Main *bmain, struct Scene *scene, struct PointerRNA *ptr);
  void rna_TextureSlot_update(struct Main *bmain, struct Scene *scene, struct PointerRNA *ptr);
 +//Jason
 +void rna_update_active_object(struct Main *bmain, struct Scene *scene, struct PointerRNA *ptr);
  
  /* basic poll functions for object types */
  int rna_Armature_object_poll(struct PointerRNA *ptr, struct PointerRNA value);
@@@ -263,6 -261,7 +263,7 @@@ void RNA_api_wm(struct StructRNA *srna)
  void RNA_api_sensor(struct StructRNA *srna);
  void RNA_api_controller(struct StructRNA *srna);
  void RNA_api_actuator(struct StructRNA *srna);
+ void RNA_api_texture(struct StructRNA *srna);
  void RNA_api_environment_map(struct StructRNA *srna);
  
  /* main collection functions */
index f043249d36cbf3e64a3dbbfb692ad796b2b1ada2,83efd9d1a9f621234f0505d74dbb7cae57cc84a3..829c5aaa78e2e6ec7684df6d95431221035ba069
@@@ -132,6 -132,7 +132,7 @@@ EnumPropertyItem object_type_curve_item
  #include "DNA_key_types.h"
  #include "DNA_constraint_types.h"
  #include "DNA_lattice_types.h"
+ #include "DNA_node_types.h"
  
  #include "BKE_armature.h"
  #include "BKE_bullet.h"
@@@ -219,16 -220,6 +220,16 @@@ void rna_Object_internal_update_data(Ma
        DAG_id_tag_update(ptr->id.data, OB_RECALC_DATA);
        WM_main_add_notifier(NC_OBJECT|ND_DRAW, ptr->id.data);
  }
 +// Jason
 +void rna_update_active_object(Main *bmain, Scene *scene, PointerRNA *ptr)
 +{
 +      Object *ob;
 +      Base *basact = scene->basact;
 +      if(basact && (ob = basact->object)) {
 +              DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
 +              WM_main_add_notifier(NC_OBJECT|ND_DRAW, &ob->id);
 +      }
 +}
  
  void rna_Object_active_shape_update(Main *bmain, Scene *scene, PointerRNA *ptr)
  {
@@@ -1268,11 -1259,6 +1269,11 @@@ static void rna_def_vertex_group(Blende
        RNA_def_struct_name_property(srna, prop);
        RNA_def_property_string_funcs(prop, NULL, NULL, "rna_VertexGroup_name_set");
        RNA_def_property_update(prop, NC_GEOM|ND_DATA|NA_RENAME, "rna_Object_internal_update_data"); /* update data because modifiers may use [#24761] */
 +      /* Jason was here */
 +      prop= RNA_def_property(srna, "flag", PROP_BOOLEAN, PROP_NONE);
 +      RNA_def_property_ui_text(prop, "", "Maintain the relative weights for the group");
 +      RNA_def_property_boolean_sdna(prop, "bDeformGroup", "flag", 0);
 +      RNA_def_property_update(prop, NC_GEOM|ND_DATA|NA_RENAME, "rna_Object_internal_update_data"); /* update data because modifiers may use [#24761] */
  
        prop= RNA_def_property(srna, "index", PROP_INT, PROP_UNSIGNED);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@@ -2050,18 -2036,19 +2051,19 @@@ static void rna_def_object(BlenderRNA *
        RNA_def_property_ui_text(prop, "Matrix", "Inverse of object's parent matrix at time of parenting");
        RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_internal_update");
  
-       /* collections */
+       /* modifiers */
+       prop= RNA_def_property(srna, "modifiers", PROP_COLLECTION, PROP_NONE);
+       RNA_def_property_struct_type(prop, "Modifier");
+       RNA_def_property_ui_text(prop, "Modifiers", "Modifiers affecting the geometric data of the object");
+       rna_def_object_modifiers(brna, prop);
+       /* constraints */
        prop= RNA_def_property(srna, "constraints", PROP_COLLECTION, PROP_NONE);
        RNA_def_property_struct_type(prop, "Constraint");
        RNA_def_property_ui_text(prop, "Constraints", "Constraints affecting the transformation of the object");
  //    RNA_def_property_collection_funcs(prop, 0, 0, 0, 0, 0, 0, 0, "constraints__add", "constraints__remove");
        rna_def_object_constraints(brna, prop);
  
-       prop= RNA_def_property(srna, "modifiers", PROP_COLLECTION, PROP_NONE);
-       RNA_def_property_struct_type(prop, "Modifier");
-       RNA_def_property_ui_text(prop, "Modifiers", "Modifiers affecting the geometric data of the object");
-       rna_def_object_modifiers(brna, prop);
        /* game engine */
        prop= RNA_def_property(srna, "game", PROP_POINTER, PROP_NONE);
        RNA_def_property_flag(prop, PROP_NEVER_NULL);
        RNA_def_property_flag(prop, PROP_EDITABLE);
        RNA_def_property_struct_type(prop, "GreasePencil");
        RNA_def_property_ui_text(prop, "Grease Pencil Data", "Grease Pencil datablock");
+       RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
        
        /* pose */
        prop= RNA_def_property(srna, "pose_library", PROP_POINTER, PROP_NONE);
index 1c5fe02e1f1a5b468408fd2d3e1ea16fa2acc956,8c2f473c65e093cba55515254b19de6c50e768df..ed4a5e641b296683065c1b63bfad1f697796e11e
@@@ -439,11 -439,10 +439,10 @@@ static void rna_Scene_preview_range_end
        data->r.pefra= value;
  }
  
- static void rna_Scene_frame_update(bContext *C, PointerRNA *UNUSED(ptr))
+ static void rna_Scene_frame_update(Main *bmain, Scene *UNUSED(current_scene), PointerRNA *ptr)
  {
-       //Scene *scene= ptr->id.data;
-       //ED_update_for_newframe(C);
-       sound_seek_scene(C);
+       Scene *scene= (Scene*)ptr->id.data;
+       sound_seek_scene(bmain, scene);
  }
  
  static PointerRNA rna_Scene_active_keying_set_get(PointerRNA *ptr)
@@@ -1120,14 -1119,6 +1119,14 @@@ static void rna_def_tool_settings(Blend
        RNA_def_property_ui_text(prop, "WPaint Auto-Normalize", 
                "Ensure all bone-deforming vertex groups add up to 1.0 while "
                 "weight painting");
 +      RNA_def_property_update(prop, 0, "rna_update_active_object");
 +
 +      prop = RNA_def_property(srna, "use_multipaint", PROP_BOOLEAN, PROP_NONE);
 +      RNA_def_property_boolean_sdna(prop, NULL, "multipaint", 1);
 +      RNA_def_property_ui_text(prop, "WPaint Multi-Paint", 
 +              "Paint across all selected bones while "
 +               "weight painting");
 +      RNA_def_property_update(prop, 0, "rna_update_active_object");
  
        prop= RNA_def_property(srna, "vertex_paint", PROP_POINTER, PROP_NONE);
        RNA_def_property_pointer_sdna(prop, NULL, "vpaint");
@@@ -3306,7 -3297,6 +3305,6 @@@ void RNA_def_scene(BlenderRNA *brna
        RNA_def_property_range(prop, MINAFRAME, MAXFRAME);
        RNA_def_property_int_funcs(prop, NULL, "rna_Scene_current_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Current Frame", "Current Frame, to update animation data from python frame_set() instead");
-       RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
        RNA_def_property_update(prop, NC_SCENE|ND_FRAME, "rna_Scene_frame_update");
        
        prop= RNA_def_property(srna, "frame_subframe", PROP_FLOAT, PROP_TIME);
        RNA_def_property_flag(prop, PROP_EDITABLE);
        RNA_def_property_struct_type(prop, "GreasePencil");
        RNA_def_property_ui_text(prop, "Grease Pencil Data", "Grease Pencil datablock");
+       RNA_def_property_update(prop, NC_SCENE, NULL);
        
        /* Transform Orientations */
        prop= RNA_def_property(srna, "orientations", PROP_COLLECTION, PROP_NONE);