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))


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

Reply via email to