[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46195] trunk/blender/source/blender: Fix wrong unified weight paint value version patch, was doing incorrect version check.
Brecht Van Lommel
brechtvanlommel at pandora.be
Wed May 2 18:05:26 CEST 2012
Revision: 46195
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46195
Author: blendix
Date: 2012-05-02 16:05:25 +0000 (Wed, 02 May 2012)
Log Message:
-----------
Fix wrong unified weight paint value version patch, was doing incorrect version check.
Fix #31209: weight paint sample & fill not using correct brush/unified value.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/BKE_blender.h
trunk/blender/source/blender/blenkernel/BKE_brush.h
trunk/blender/source/blender/blenkernel/intern/brush.c
trunk/blender/source/blender/blenloader/intern/readfile.c
trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c
Modified: trunk/blender/source/blender/blenkernel/BKE_blender.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_blender.h 2012-05-02 15:47:15 UTC (rev 46194)
+++ trunk/blender/source/blender/blenkernel/BKE_blender.h 2012-05-02 16:05:25 UTC (rev 46195)
@@ -42,7 +42,7 @@
* and keep comment above the defines.
* Use STRINGIFY() rather than defining with quotes */
#define BLENDER_VERSION 263
-#define BLENDER_SUBVERSION 2
+#define BLENDER_SUBVERSION 3
#define BLENDER_MINVERSION 250
#define BLENDER_MINSUBVERSION 0
Modified: trunk/blender/source/blender/blenkernel/BKE_brush.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_brush.h 2012-05-02 15:47:15 UTC (rev 46194)
+++ trunk/blender/source/blender/blenkernel/BKE_brush.h 2012-05-02 16:05:25 UTC (rev 46195)
@@ -100,6 +100,7 @@
float brush_alpha(const struct Scene *scene, struct Brush *brush);
float brush_weight(const Scene *scene, struct Brush *brush);
+void brush_set_weight(const Scene *scene, struct Brush *brush, float value);
int brush_use_locked_size(const struct Scene *scene, struct Brush *brush);
int brush_use_alpha_pressure(const struct Scene *scene, struct Brush *brush);
Modified: trunk/blender/source/blender/blenkernel/intern/brush.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/brush.c 2012-05-02 15:47:15 UTC (rev 46194)
+++ trunk/blender/source/blender/blenkernel/intern/brush.c 2012-05-02 16:05:25 UTC (rev 46195)
@@ -718,6 +718,16 @@
return (ups->flag & UNIFIED_PAINT_WEIGHT) ? ups->weight : brush->weight;
}
+void brush_set_weight(const Scene *scene, Brush *brush, float value)
+{
+ UnifiedPaintSettings *ups = &scene->toolsettings->unified_paint_settings;
+
+ if(ups->flag & UNIFIED_PAINT_WEIGHT)
+ ups->weight = value;
+ else
+ brush->weight = value;
+}
+
/* scale unprojected radius to reflect a change in the brush's 2D size */
void brush_scale_unprojected_radius(float *unprojected_radius,
int new_brush_size,
Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c 2012-05-02 15:47:15 UTC (rev 46194)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c 2012-05-02 16:05:25 UTC (rev 46195)
@@ -13318,7 +13318,7 @@
}
}
- if (main->versionfile <= 263 && main->subversionfile == 0) {
+ if (main->versionfile < 263 || (main->versionfile == 263 && main->subversionfile < 3)) {
Scene *scene;
Brush *brush;
Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c 2012-05-02 15:47:15 UTC (rev 46194)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c 2012-05-02 16:05:25 UTC (rev 46195)
@@ -1025,7 +1025,9 @@
else {
MPoly *mp = ((MPoly *)me->mpoly) + (index - 1);
const int vgroup_active = vc.obact->actdef - 1;
+ Scene *scene = vc.scene;
ToolSettings *ts = vc.scene->toolsettings;
+ Brush *brush = paint_brush(&ts->wpaint->paint);
float mval_f[2];
int v_idx_best = -1;
int fidx;
@@ -1048,7 +1050,8 @@
} while (fidx--);
if (v_idx_best != -1) { /* should always be valid */
- ts->vgroup_weight = defvert_find_weight(&me->dvert[v_idx_best], vgroup_active);
+ float vgroup_weight = defvert_find_weight(&me->dvert[v_idx_best], vgroup_active);
+ brush_set_weight(scene, brush, vgroup_weight);
change = TRUE;
}
}
@@ -2505,8 +2508,11 @@
{
struct Scene *scene = CTX_data_scene(C);
Object *obact = CTX_data_active_object(C);
+ ToolSettings *ts = CTX_data_tool_settings(C);
+ Brush *brush = paint_brush(&ts->wpaint->paint);
+ float vgroup_weight = brush_weight(scene, brush);
- wpaint_fill(scene->toolsettings->wpaint, obact, scene->toolsettings->vgroup_weight);
+ wpaint_fill(scene->toolsettings->wpaint, obact, vgroup_weight);
ED_region_tag_redraw(CTX_wm_region(C)); /* XXX - should redraw all 3D views */
return OPERATOR_FINISHED;
}
More information about the Bf-blender-cvs
mailing list