Revision: 15209
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15209
Author:   campbellbarton
Date:     2008-06-12 17:05:52 +0200 (Thu, 12 Jun 2008)

Log Message:
-----------
svn  merge  -r15173:HEAD 
https://svn.blender.org/svnroot/bf-blender/trunk/blender/

Modified Paths:
--------------
    branches/apricot/extern/libopenjpeg/opj_malloc.h
    branches/apricot/source/blender/blenkernel/intern/library.c
    branches/apricot/source/blender/blenkernel/intern/particle_system.c
    branches/apricot/source/blender/blenlib/intern/util.c
    branches/apricot/source/blender/include/BDR_editcurve.h
    branches/apricot/source/blender/include/BSE_view.h
    branches/apricot/source/blender/python/BPY_interface.c
    branches/apricot/source/blender/src/buttons_object.c
    branches/apricot/source/blender/src/editcurve.c
    branches/apricot/source/blender/src/editobject.c
    branches/apricot/source/blender/src/space.c
    branches/apricot/source/blender/src/transform.c
    branches/apricot/source/blender/src/view.c
    branches/apricot/source/gameengine/GamePlayer/common/GPC_PolygonMaterial.cpp

Added Paths:
-----------
    branches/apricot/extern/libopenjpeg/patches/
    branches/apricot/extern/libopenjpeg/patches/osx.patch

Removed Paths:
-------------
    branches/apricot/extern/libopenjpeg/patches/osx.patch

Modified: branches/apricot/extern/libopenjpeg/opj_malloc.h
===================================================================
--- branches/apricot/extern/libopenjpeg/opj_malloc.h    2008-06-12 15:00:07 UTC 
(rev 15208)
+++ branches/apricot/extern/libopenjpeg/opj_malloc.h    2008-06-12 15:05:52 UTC 
(rev 15209)
@@ -76,8 +76,10 @@
        #if defined(__sun)
                        #define HAVE_MEMALIGN
                #elif defined(__GNUC__)
-                       #define HAVE_MEMALIGN
-                       #include <malloc.h>             
+                        #ifndef __APPLE__
+                           #define HAVE_MEMALIGN
+                           #include <malloc.h>
+                        #endif
                /* Linux x86_64 and OSX always align allocations to 16 bytes */
                #elif !defined(__amd64__) && !defined(__APPLE__)        
                        /* FIXME: Yes, this is a big assumption */

Copied: branches/apricot/extern/libopenjpeg/patches (from rev 15207, 
trunk/blender/extern/libopenjpeg/patches)

Deleted: branches/apricot/extern/libopenjpeg/patches/osx.patch
===================================================================
--- trunk/blender/extern/libopenjpeg/patches/osx.patch  2008-06-12 14:46:32 UTC 
(rev 15207)
+++ branches/apricot/extern/libopenjpeg/patches/osx.patch       2008-06-12 
15:05:52 UTC (rev 15209)
@@ -1,17 +0,0 @@
-Index: opj_malloc.h
-===================================================================
---- opj_malloc.h       (revision 15089)
-+++ opj_malloc.h       (working copy)
-@@ -76,8 +76,10 @@
-       #if defined(__sun)
-                       #define HAVE_MEMALIGN
-               #elif defined(__GNUC__)
--                      #define HAVE_MEMALIGN
--                      #include <malloc.h>             
-+                        #ifndef __APPLE__
-+                          #define HAVE_MEMALIGN
-+                          #include <malloc.h>
-+                        #endif
-               /* Linux x86_64 and OSX always align allocations to 16 bytes */
-               #elif !defined(__amd64__) && !defined(__APPLE__)        
-                       /* FIXME: Yes, this is a big assumption */

Copied: branches/apricot/extern/libopenjpeg/patches/osx.patch (from rev 15207, 
trunk/blender/extern/libopenjpeg/patches/osx.patch)
===================================================================
--- branches/apricot/extern/libopenjpeg/patches/osx.patch                       
        (rev 0)
+++ branches/apricot/extern/libopenjpeg/patches/osx.patch       2008-06-12 
15:05:52 UTC (rev 15209)
@@ -0,0 +1,17 @@
+Index: opj_malloc.h
+===================================================================
+--- opj_malloc.h       (revision 15089)
++++ opj_malloc.h       (working copy)
+@@ -76,8 +76,10 @@
+       #if defined(__sun)
+                       #define HAVE_MEMALIGN
+               #elif defined(__GNUC__)
+-                      #define HAVE_MEMALIGN
+-                      #include <malloc.h>             
++                        #ifndef __APPLE__
++                          #define HAVE_MEMALIGN
++                          #include <malloc.h>
++                        #endif
+               /* Linux x86_64 and OSX always align allocations to 16 bytes */
+               #elif !defined(__amd64__) && !defined(__APPLE__)        
+                       /* FIXME: Yes, this is a big assumption */

Modified: branches/apricot/source/blender/blenkernel/intern/library.c
===================================================================
--- branches/apricot/source/blender/blenkernel/intern/library.c 2008-06-12 
15:00:07 UTC (rev 15208)
+++ branches/apricot/source/blender/blenkernel/intern/library.c 2008-06-12 
15:05:52 UTC (rev 15209)
@@ -939,7 +939,7 @@
        }
 
        /* if result > 21, strncpy don't put the final '\0' to name. */
-       if( result > 21 ) name[21]= 0;
+       if( result >= 21 ) name[21]= 0;
 
        result = check_for_dupid( lb, id, name );
        strcpy( id->name+2, name );

Modified: branches/apricot/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- branches/apricot/source/blender/blenkernel/intern/particle_system.c 
2008-06-12 15:00:07 UTC (rev 15208)
+++ branches/apricot/source/blender/blenkernel/intern/particle_system.c 
2008-06-12 15:05:52 UTC (rev 15209)
@@ -4814,9 +4814,20 @@
                        pa->flag &= ~PARS_NO_DISP;
        }
 
-       /* ok now we're all set so let's go */
-       if(psys->totpart)
-               dynamics_step(ob,psys,psmd,cfra,vg_vel,vg_tan,vg_rot,vg_size);
+       if(psys->totpart) {
+               int dframe, totframesback = 0;
+
+               /* handle negative frame start at the first frame by doing
+                * all the steps before the first frame */
+               if(framenr == startframe && part->sta < startframe)
+                       totframesback = (startframe - (int)part->sta);
+
+               for(dframe=-totframesback; dframe<=0; dframe++) {
+                       /* ok now we're all set so let's go */
+                       
dynamics_step(ob,psys,psmd,cfra+dframe,vg_vel,vg_tan,vg_rot,vg_size);
+                       psys->cfra = cfra+dframe;
+               }
+       }
        
        cache->simframe= framenr;
        cache->flag |= PTCACHE_SIMULATION_VALID;

Modified: branches/apricot/source/blender/blenlib/intern/util.c
===================================================================
--- branches/apricot/source/blender/blenlib/intern/util.c       2008-06-12 
15:00:07 UTC (rev 15208)
+++ branches/apricot/source/blender/blenlib/intern/util.c       2008-06-12 
15:05:52 UTC (rev 15209)
@@ -883,6 +883,15 @@
                        dir = dir+2; /* skip the first // */
                }
        }
+       
+       /* Note
+        *   memmove( start, eind, strlen(eind)+1 );
+        * is the same as
+        *   strcpy( start, eind ); 
+        * except strcpy should not be used because there is overlap,
+         * so use memmove's slightly more obscure syntax - Campbell
+        */
+       
 #ifdef WIN32
        if(dir[0]=='.') {       /* happens for example in FILE_MAIN */
           get_default_root(dir);
@@ -896,17 +905,18 @@
                        if (dir[a] == '\\') break;
                        a--;
                }
-               strcpy(dir+a,eind);
+               memmove( dir+a, eind, strlen(eind)+1 );
+               
        }
 
        while ( (start = strstr(dir,"\\.\\")) ){
                eind = start + strlen("\\.\\") - 1;
-               strcpy(start,eind);
+               memmove( start, eind, strlen(eind)+1 );
        }
 
        while ( (start = strstr(dir,"\\\\" )) ){
                eind = start + strlen("\\\\") - 1;
-               strcpy(start,eind);
+               memmove( start, eind, strlen(eind)+1 );
        }
 
        if((a = strlen(dir))){                          /* remove the '\\' at 
the end */
@@ -929,17 +939,17 @@
                        if (dir[a] == '/') break;
                        a--;
                }
-               strcpy(dir+a,eind);
+               memmove( dir+a, eind, strlen(eind)+1 );
        }
 
        while ( (start = strstr(dir,"/./")) ){
                eind = start + strlen("/./") - 1;
-               strcpy(start,eind);
+               memmove( start, eind, strlen(eind)+1 );
        }
 
        while ( (start = strstr(dir,"//" )) ){
                eind = start + strlen("//") - 1;
-               strcpy(start,eind);
+               memmove( start, eind, strlen(eind)+1 );
        }
 
        if( (a = strlen(dir)) ){                                /* remove all 
'/' at the end */

Modified: branches/apricot/source/blender/include/BDR_editcurve.h
===================================================================
--- branches/apricot/source/blender/include/BDR_editcurve.h     2008-06-12 
15:00:07 UTC (rev 15208)
+++ branches/apricot/source/blender/include/BDR_editcurve.h     2008-06-12 
15:05:52 UTC (rev 15209)
@@ -99,6 +99,7 @@
 void setweightNurb( void );
 void setradiusNurb( void );
 void smoothradiusNurb( void );
+void smoothNurb( void );
 
 extern void undo_push_curve(char *name);
 

Modified: branches/apricot/source/blender/include/BSE_view.h
===================================================================
--- branches/apricot/source/blender/include/BSE_view.h  2008-06-12 15:00:07 UTC 
(rev 15208)
+++ branches/apricot/source/blender/include/BSE_view.h  2008-06-12 15:05:52 UTC 
(rev 15209)
@@ -66,6 +66,8 @@
 void project_float(float *vec, float *adr);
 void viewray(short mval[2], float ray_start[3], float ray_normal[3]);
 void viewline(short mval[2], float ray_start[3], float ray_end[3]);
+void viewray(short mval[2], float ray_start[3], float ray_normal[3]);
+void viewline(short mval[2], float ray_start[3], float ray_end[3]);
 
 int boundbox_clip(float obmat[][4], struct BoundBox *bb);
 void fdrawline(float x1, float y1, float x2, float y2);

Modified: branches/apricot/source/blender/python/BPY_interface.c
===================================================================
--- branches/apricot/source/blender/python/BPY_interface.c      2008-06-12 
15:00:07 UTC (rev 15208)
+++ branches/apricot/source/blender/python/BPY_interface.c      2008-06-12 
15:05:52 UTC (rev 15209)
@@ -1113,14 +1113,18 @@
                                if( sl->spacetype == SPACE_SCRIPT ) {
                                        SpaceScript *sc = ( SpaceScript * ) sl;
 
-                                       if( sc->script == script ) {
+                                       if( sc->script == script ) {            
                        
                                                sc->script = NULL;
 
-                                               if( sc ==
-                                                   area->spacedata.first ) {
-                                                       scrarea_queue_redraw
-                                                               ( area );
+                                               if( sc == area->spacedata.first 
) {
+                                                       scrarea_queue_redraw( 
area );
                                                }
+                                               
+                                               if (sc->but_refs) {
+                                                       
BPy_Set_DrawButtonsList(sc->but_refs);
+                                                       
BPy_Free_DrawButtonsList();
+                                                       sc->but_refs = NULL;
+                                               }
                                        }
                                }
                        }

Modified: branches/apricot/source/blender/src/buttons_object.c
===================================================================
--- branches/apricot/source/blender/src/buttons_object.c        2008-06-12 
15:00:07 UTC (rev 15208)
+++ branches/apricot/source/blender/src/buttons_object.c        2008-06-12 
15:05:52 UTC (rev 15209)
@@ -4845,7 +4845,7 @@
                uiDefButS(block, NUM, B_PART_RECALC, "Segments:",       
butx,(buty-=buth),butw,buth, &part->hair_step, 2.0, 50.0, 0, 0, "Amount of hair 
segments");
        }
        else {
-               uiDefButF(block, NUM, B_PART_INIT, "Sta:",              
butx,(buty-=buth),butw,buth, &part->sta, 1.0, part->end, 100, 1, "Frame # to 
start emitting particles");
+               uiDefButF(block, NUM, B_PART_INIT, "Sta:",              
butx,(buty-=buth),butw,buth, &part->sta, -MAXFRAMEF, part->end, 100, 1, "Frame 
# to start emitting particles");
                uiDefButF(block, NUM, B_PART_INIT, "End:",              
butx,(buty-=buth),butw,buth, &part->end, part->sta, MAXFRAMEF, 100, 1, "Frame # 
to stop emitting particles");
        }
 

Modified: branches/apricot/source/blender/src/editcurve.c
===================================================================
--- branches/apricot/source/blender/src/editcurve.c     2008-06-12 15:00:07 UTC 
(rev 15208)
+++ branches/apricot/source/blender/src/editcurve.c     2008-06-12 15:05:52 UTC 
(rev 15209)
@@ -1158,7 +1158,63 @@
        allqueue(REDRAWINFO, 1);        /* 1, because header->win==0! */
 }
 
+void smoothNurb( void )
+{
 
+       extern ListBase editNurb;
+       Nurb *nu;
+       BezTriple *bezt, *beztOrig;
+       BPoint *bp, *bpOrig;
+       int a, i, change = 0;
+       
+       /* floats for smoothing */
+       float val, newval, offset;
+       
+       for(nu= editNurb.first; nu; nu= nu->next) {
+               if(nu->bezt) {
+                       change = 0;
+                       beztOrig = MEM_dupallocN( nu->bezt );
+                       for(bezt=nu->bezt+1, a=1; a<nu->pntsu-1; a++, bezt++) {
+                               if(bezt->f2 & SELECT) {
+                                       for(i=0; i<3; i++) {
+                                               val = bezt->vec[1][i];
+                                               newval = 
((beztOrig+(a-1))->vec[1][i] * 0.5) + ((beztOrig+(a+1))->vec[1][i] * 0.5);
+                                               offset = (val*((1.0/6.0)*5)) + 
(newval*(1.0/6.0)) - val;
+                                               /* offset handles */
+                                               bezt->vec[1][i] += offset;

@@ Diff output truncated at 10240 characters. @@

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

Reply via email to