[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14723] trunk/blender/source/blender/ blenkernel/intern:

Brecht Van Lommel brechtvanlommel at pandora.be
Wed May 7 18:31:49 CEST 2008


Revision: 14723
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14723
Author:   blendix
Date:     2008-05-07 18:31:49 +0200 (Wed, 07 May 2008)

Log Message:
-----------

Fix for bug #9676: added warning that particles on multires are
not supported on anything else than the first level.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/modifier.c
    trunk/blender/source/blender/blenkernel/intern/particle.c

Modified: trunk/blender/source/blender/blenkernel/intern/modifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifier.c	2008-05-07 15:38:40 UTC (rev 14722)
+++ trunk/blender/source/blender/blenkernel/intern/modifier.c	2008-05-07 16:31:49 UTC (rev 14723)
@@ -5515,6 +5515,7 @@
 	DerivedMesh *dm = derivedData;
 	ParticleSystemModifierData *psmd= (ParticleSystemModifierData*) md;
 	ParticleSystem * psys=0;
+	Mesh *me;
 	int needsFree=0;
 
 	if(ob->particlesystem.first)
@@ -5522,6 +5523,14 @@
 	else
 		return;
 	
+	/* multires check */
+	if(ob->type == OB_MESH) {
+		me= (Mesh*)ob->data;
+		if(me->mr && me->mr->current != 1)
+			modifier_setError(md,
+				"Particles only supported on first multires level.");
+	}
+
 	if(!psys_check_enabled(ob, psys))
 		return;
 

Modified: trunk/blender/source/blender/blenkernel/intern/particle.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle.c	2008-05-07 15:38:40 UTC (rev 14722)
+++ trunk/blender/source/blender/blenkernel/intern/particle.c	2008-05-07 16:31:49 UTC (rev 14723)
@@ -250,10 +250,17 @@
 int psys_check_enabled(Object *ob, ParticleSystem *psys)
 {
 	ParticleSystemModifierData *psmd;
+	Mesh *me;
 
 	if(psys->flag & PSYS_DISABLED)
 		return 0;
 
+	if(ob->type == OB_MESH) {
+		me= (Mesh*)ob->data;
+		if(me->mr && me->mr->current != 1)
+			return 0;
+	}
+
 	psmd= psys_get_modifier(ob, psys);
 	if(psys->renderdata) {
 		if(!(psmd->modifier.mode & eModifierMode_Render))





More information about the Bf-blender-cvs mailing list