Revision: 21904
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21904
Author:   blendix
Date:     2009-07-26 00:20:26 +0200 (Sun, 26 Jul 2009)

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

* Fix crash entering particle mode, and particles not showing.
  Janne, please check the changes I made in psys_cache_paths,
  I'm not confident they are correct.
* Fix some warnings

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/intern/boids.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/particle.c
    
branches/blender2.5/blender/source/blender/blenkernel/intern/particle_system.c
    branches/blender2.5/blender/source/blender/blenlib/BLI_kdtree.h
    
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/boids.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/boids.c        
2009-07-25 21:33:43 UTC (rev 21903)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/boids.c        
2009-07-25 22:20:26 UTC (rev 21904)
@@ -399,7 +399,7 @@
        KDTreeNearest ptn[11];
        float vec[3] = {0.0f, 0.0f, 0.0f}, loc[3] = {0.0f, 0.0f, 0.0f};
        int neighbors = BLI_kdtree_find_n_nearest(bbd->psys->tree, 11, 
pa->state.co, pa->prev_state.ave, ptn);
-       int n, nearest = 1;
+       int n;
        int ret = 0;
 
        if(neighbors > 1) {
@@ -898,8 +898,6 @@
 /* determines the velocity the boid wants to have */
 void boid_brain(BoidBrainData *bbd, int p, ParticleData *pa)
 {
-       ParticleData *pars=bbd->psys->particles;
-       ParticleEffectorCache *ec=0;
        BoidRule *rule;
        BoidSettings *boids = bbd->part->boids;
        BoidValues val;
@@ -1259,7 +1257,6 @@
                }
                case eBoidMode_Falling:
                {
-                       float zvec[3] = {0.0f,0.0f,1.0f};
                        float grav[3] = {0.0f, 0.0f, bbd->part->acc[2] < 0.0f ? 
-1.0f : 0.0f};
 
                        /* gather apparent gravity to r_ve */
@@ -1523,4 +1520,5 @@
        }
 
        return state;
-}
\ No newline at end of file
+}
+

Modified: 
branches/blender2.5/blender/source/blender/blenkernel/intern/particle.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/particle.c     
2009-07-25 21:33:43 UTC (rev 21903)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/particle.c     
2009-07-25 22:20:26 UTC (rev 21904)
@@ -2568,8 +2568,7 @@
        ParticleSettings *part = psys->part;
        
        ParticleData *pa;
-       ParticleKey result, *kkey[2] = {NULL, NULL};
-       HairKey *hkey[2] = {NULL, NULL};
+       ParticleKey result;
 
        ParticleEdit *edit = 0;
        ParticleEditKey *ekey = 0;
@@ -2709,6 +2708,10 @@
 
                        dietime = birthtime + pa_length * (dietime - birthtime);
                }
+               else
+                       /* XXX brecht: don't know if this code from 2.4 is 
correct
+                        * still, but makes hair appear again in particle mode 
*/
+                       dietime= pind.hkey[0][pa->totkey-1].time;
 
                /*--interpolate actual path from data points--*/
                for(k=0, ca=cache[i]; k<=steps; k++, ca++){
@@ -2731,14 +2734,14 @@
                        if(edit){
                                if(pset->brushtype==PE_BRUSH_WEIGHT){
                                        if(k==steps)
-                                               VecLerpf(ca->col, nosel_col, 
sel_col, hkey[0]->weight);
+                                               VecLerpf(ca->col, nosel_col, 
sel_col, pind.hkey[0]->weight);
                                        else
                                                VecLerpf(ca->col, nosel_col, 
sel_col,
-                                               (1.0f - keytime) * 
hkey[0]->weight + keytime * hkey[1]->weight);
+                                               (1.0f - keytime) * 
pind.hkey[0]->weight + keytime * pind.hkey[1]->weight);
                                }
                                else{
-                                       if((ekey + (hkey[0] - pa->hair))->flag 
& PEK_SELECT){
-                                               if((ekey + (hkey[1] - 
pa->hair))->flag & PEK_SELECT){
+                                       if((ekey + (pind.hkey[0] - 
pa->hair))->flag & PEK_SELECT){
+                                               if((ekey + (pind.hkey[1] - 
pa->hair))->flag & PEK_SELECT){
                                                        VECCOPY(ca->col, 
sel_col);
                                                }
                                                else{
@@ -2746,7 +2749,7 @@
                                                }
                                        }
                                        else{
-                                               if((ekey + (hkey[1] - 
pa->hair))->flag & PEK_SELECT){
+                                               if((ekey + (pind.hkey[1] - 
pa->hair))->flag & PEK_SELECT){
                                                        VecLerpf(ca->col, 
nosel_col, sel_col, keytime);
                                                }
                                                else{
@@ -3627,8 +3630,6 @@
        ParticleData *pa;
        ChildParticle *cpa;
        ParticleTexture ptex;
-       ParticleKey *kkey[2] = {NULL, NULL};
-       HairKey *hkey[2] = {NULL, NULL};
        ParticleKey *par=0, keys[4], tstate;
        ParticleThreadContext ctx; /* fake thread context for child modifiers */
        ParticleInterpolationData pind;

Modified: 
branches/blender2.5/blender/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/blenkernel/intern/particle_system.c  
    2009-07-25 21:33:43 UTC (rev 21903)
+++ 
branches/blender2.5/blender/source/blender/blenkernel/intern/particle_system.c  
    2009-07-25 22:20:26 UTC (rev 21904)
@@ -2065,7 +2065,6 @@
 {
        ParticleSystem *kpsys;
        ParticleTarget *pt = psys->targets.first;
-       int psys_num = BLI_findindex(&ob->particlesystem, psys);
        int keys_valid = 1;
        psys->totkeyed = 0;
 
@@ -2087,7 +2086,6 @@
 
 static void set_keyed_keys(Scene *scene, Object *ob, ParticleSystem *psys)
 {
-       Object *kob = ob;
        ParticleSystem *kpsys = psys;
        ParticleTarget *pt;
        ParticleData *pa;
@@ -2143,7 +2141,7 @@
                if(psys->flag & PSYS_KEYED_TIMING && pt->duration!=0.0f)
                        k++;
 
-               pt = (pt->next && pt->next->flag & PTARGET_VALID) ? pt = 
pt->next : psys->targets.first;
+               pt = (pt->next && pt->next->flag & PTARGET_VALID)? pt->next : 
psys->targets.first;
        }
 
        psys->flag |= PSYS_KEYED;

Modified: branches/blender2.5/blender/source/blender/blenlib/BLI_kdtree.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenlib/BLI_kdtree.h     
2009-07-25 21:33:43 UTC (rev 21903)
+++ branches/blender2.5/blender/source/blender/blenlib/BLI_kdtree.h     
2009-07-25 22:20:26 UTC (rev 21904)
@@ -52,7 +52,7 @@
 
 /* Find nearest returns index, and -1 if no node is found.
  * Find n nearest returns number of points found, with results in nearest.
-/* Normal is optional, but if given will limit results to points in normal 
direction from co. */
+ * Normal is optional, but if given will limit results to points in normal 
direction from co. */
 int    BLI_kdtree_find_nearest(KDTree *tree, float *co, float *nor, 
KDTreeNearest *nearest);
 int    BLI_kdtree_find_n_nearest(KDTree *tree, int n, float *co, float *nor, 
KDTreeNearest *nearest);
 

Modified: 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c  
    2009-07-25 21:33:43 UTC (rev 21903)
+++ 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c  
    2009-07-25 22:20:26 UTC (rev 21904)
@@ -280,7 +280,7 @@
        
        /* copy last mode, then we can re-init the region maps */
        rv3d->lastmode= stype;
-       
+
        keymap= WM_keymap_listbase(wm, "Object Mode", 0, 0);
        if(ELEM(stype, 0, NS_MODE_OBJECT))
                WM_event_add_keymap_handler(&ar->handlers, keymap);


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

Reply via email to