[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28038] trunk/blender: "Fix" for [#21591] Explode modifier bug

Janne Karhu jhkarh at gmail.com
Tue Apr 6 10:43:53 CEST 2010


Revision: 28038
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28038
Author:   jhk
Date:     2010-04-06 10:43:52 +0200 (Tue, 06 Apr 2010)

Log Message:
-----------
"Fix" for [#21591] Explode modifier bug
* The new default particle size is quite small, so exploded pieces didn't match the original pieces
* There's now an option to use the particle size (useful for some effects), but it isn't used by default
* This commit will change how some old files look (explode modifier and not 1.0 particle size), but the exact old behavior is achieved with the new "size" option

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/properties_data_modifier.py
    trunk/blender/source/blender/blenkernel/intern/modifier.c
    trunk/blender/source/blender/makesdna/DNA_modifier_types.h
    trunk/blender/source/blender/makesrna/intern/rna_modifier.c

Modified: trunk/blender/release/scripts/ui/properties_data_modifier.py
===================================================================
--- trunk/blender/release/scripts/ui/properties_data_modifier.py	2010-04-06 08:23:28 UTC (rev 28037)
+++ trunk/blender/release/scripts/ui/properties_data_modifier.py	2010-04-06 08:43:52 UTC (rev 28038)
@@ -291,6 +291,7 @@
         col.prop(md, "unborn")
         col.prop(md, "alive")
         col.prop(md, "dead")
+        col.prop(md, "size")
 
         layout.operator("object.explode_refresh", text="Refresh")
 

Modified: trunk/blender/source/blender/blenkernel/intern/modifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifier.c	2010-04-06 08:23:28 UTC (rev 28037)
+++ trunk/blender/source/blender/blenkernel/intern/modifier.c	2010-04-06 08:43:52 UTC (rev 28038)
@@ -8637,7 +8637,8 @@
 
 			/* apply rotation, size & location */
 			mul_qt_v3(state.rot,vertco);
-			mul_v3_fl(vertco,pa->size);
+			if(emd->flag & eExplodeFlag_PaSize)
+				mul_v3_fl(vertco,pa->size);
 			VECADD(vertco,vertco,state.co);
 
 			mul_m4_v3(imat,vertco);

Modified: trunk/blender/source/blender/makesdna/DNA_modifier_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_modifier_types.h	2010-04-06 08:23:28 UTC (rev 28037)
+++ trunk/blender/source/blender/makesdna/DNA_modifier_types.h	2010-04-06 08:43:52 UTC (rev 28038)
@@ -571,7 +571,7 @@
 
 typedef enum {
 	eExplodeFlag_CalcFaces =	(1<<0),
-	//eExplodeFlag_PaSize =		(1<<1),
+	eExplodeFlag_PaSize =		(1<<1),
 	eExplodeFlag_EdgeSplit =	(1<<2),
 	eExplodeFlag_Unborn =		(1<<3),
 	eExplodeFlag_Alive =		(1<<4),

Modified: trunk/blender/source/blender/makesrna/intern/rna_modifier.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_modifier.c	2010-04-06 08:23:28 UTC (rev 28037)
+++ trunk/blender/source/blender/makesrna/intern/rna_modifier.c	2010-04-06 08:43:52 UTC (rev 28038)
@@ -1676,6 +1676,11 @@
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", eExplodeFlag_Dead);
 	RNA_def_property_ui_text(prop, "Dead", "Show mesh when particles are dead");
 	RNA_def_property_update(prop, 0, "rna_Modifier_update");
+
+	prop= RNA_def_property(srna, "size", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", eExplodeFlag_PaSize);
+	RNA_def_property_ui_text(prop, "Size", "Use particle size for the shrapnel");
+	RNA_def_property_update(prop, 0, "rna_Modifier_update");
 }
 
 static void rna_def_modifier_cloth(BlenderRNA *brna)





More information about the Bf-blender-cvs mailing list