Copied wrong like, was
svn  merge  -r15453:HEAD
https://svn.blender.org/svnroot/bf-blender/trunk/blender/

On 7/7/08, Campbell Barton <[EMAIL PROTECTED]> wrote:
> Revision: 15478
>
> http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15478
> Author:   campbellbarton
> Date:     2008-07-07 23:18:30 +0200 (Mon, 07 Jul 2008)
>
> Log Message:
> -----------
> svn  merge  -r14639:14688
> https://svn.blender.org/svnroot/bf-blender/trunk/blender/
>
> Modified Paths:
> --------------
>     branches/apricot/source/blender/blenkernel/intern/DerivedMesh.c
>     branches/apricot/source/blender/blenkernel/intern/particle.c
>     branches/apricot/source/blender/blenkernel/intern/particle_system.c
>     branches/apricot/source/blender/include/BSE_sequence.h
>     branches/apricot/source/blender/makesdna/DNA_space_types.h
>     branches/apricot/source/blender/python/api2_2x/sceneSequence.c
>     branches/apricot/source/blender/src/buttons_logic.c
>     branches/apricot/source/blender/src/buttons_object.c
>     branches/apricot/source/blender/src/buttons_scene.c
>     branches/apricot/source/blender/src/drawimage.c
>     branches/apricot/source/blender/src/editsima.c
>     branches/apricot/source/blender/src/edittime.c
>     branches/apricot/source/blender/src/header_image.c
>     branches/apricot/source/blender/src/sequence.c
>     branches/apricot/source/blender/src/transform_snap.c
>
> Modified: branches/apricot/source/blender/blenkernel/intern/DerivedMesh.c
> ===================================================================
> ---
> branches/apricot/source/blender/blenkernel/intern/DerivedMesh.c       
> 2008-07-07
> 21:04:30 UTC (rev 15477)
> +++
> branches/apricot/source/blender/blenkernel/intern/DerivedMesh.c       
> 2008-07-07
> 21:18:30 UTC (rev 15478)
> @@ -1208,7 +1208,7 @@
>
>       /* store vertex indices in tmp union */
>       for(ev = em->verts.first, i = 0; ev; ev = ev->next, ++i)
> -             ev->tmp.l = (long) i++;
> +             ev->tmp.l = (long) i;
>
>       for( ; ee; ee = ee->next, ++edge_r) {
>               edge_r->crease = (unsigned char) (ee->crease*255.0f);
>
> Modified: branches/apricot/source/blender/blenkernel/intern/particle.c
> ===================================================================
> --- branches/apricot/source/blender/blenkernel/intern/particle.c      
> 2008-07-07
> 21:04:30 UTC (rev 15477)
> +++ branches/apricot/source/blender/blenkernel/intern/particle.c      
> 2008-07-07
> 21:18:30 UTC (rev 15478)
> @@ -1371,7 +1371,7 @@
>  /************************************************/
>  void psys_particle_on_emitter(Object *ob, ParticleSystemModifierData *psmd,
> int from, int index, int index_dmcache, float *fuv, float foffset, float
> *vec, float *nor, float *utan, float *vtan, float *orco, float *ornor){
>       if(psmd){
> -             if(psmd->psys->part->distr==PART_DISTR_GRID){
> +             if(psmd->psys->part->distr==PART_DISTR_GRID && 
> psmd->psys->part->from !=
> PART_FROM_VERT){
>                       if(vec){
>                               VECCOPY(vec,fuv);
>                       }
>
> Modified:
> branches/apricot/source/blender/blenkernel/intern/particle_system.c
> ===================================================================
> ---
> branches/apricot/source/blender/blenkernel/intern/particle_system.c   
> 2008-07-07
> 21:04:30 UTC (rev 15477)
> +++
> branches/apricot/source/blender/blenkernel/intern/particle_system.c   
> 2008-07-07
> 21:18:30 UTC (rev 15478)
> @@ -168,7 +168,7 @@
>       int i, totpart, totsaved = 0;
>
>       if(new_totpart<0) {
> -             if(psys->part->distr==PART_DISTR_GRID) {
> +             if(psys->part->distr==PART_DISTR_GRID  && psys->part->from !=
> PART_FROM_VERT) {
>                       totpart= psys->part->grid_res;
>                       totpart*=totpart*totpart;
>               }
> @@ -1056,7 +1056,7 @@
>               dm= CDDM_from_mesh((Mesh*)ob->data, ob);
>
>               /* special handling of grid distribution */
> -             if(part->distr==PART_DISTR_GRID){
> +             if(part->distr==PART_DISTR_GRID && from != PART_FROM_VERT){
>                       distribute_particles_in_grid(dm,psys);
>                       dm->release(dm);
>                       return 0;
> @@ -1600,7 +1600,7 @@
>
>       NormalQuat(pa->r_rot);
>
> -     if(part->distr!=PART_DISTR_GRID){
> +     if(part->distr!=PART_DISTR_GRID && part->from != PART_FROM_VERT){
>               /* any unique random number will do (r_ave[0]) */
>               if(ptex.exist < 0.5*(1.0+pa->r_ave[0]))
>                       pa->flag |= PARS_UNEXIST;
> @@ -4515,7 +4515,7 @@
>       if(part->from == PART_FROM_PARTICLE) {
>               if(part->type != PART_REACTOR)
>                       part->from = PART_FROM_FACE;
> -             if(part->distr == PART_DISTR_GRID)
> +             if(part->distr == PART_DISTR_GRID && part->from != 
> PART_FROM_VERT)
>                       part->distr = PART_DISTR_JIT;
>       }
>
> @@ -4710,7 +4710,7 @@
>       oldtotpart = psys->totpart;
>       oldtotchild = psys->totchild;
>
> -     if(part->distr == PART_DISTR_GRID)
> +     if(part->distr == PART_DISTR_GRID && part->from != PART_FROM_VERT)
>               totpart = part->grid_res*part->grid_res*part->grid_res;
>       else
>               totpart = psys->part->totpart;
>
> Modified: branches/apricot/source/blender/include/BSE_sequence.h
> ===================================================================
> --- branches/apricot/source/blender/include/BSE_sequence.h    2008-07-07
> 21:04:30 UTC (rev 15477)
> +++ branches/apricot/source/blender/include/BSE_sequence.h    2008-07-07
> 21:18:30 UTC (rev 15478)
> @@ -92,6 +92,8 @@
>  struct RenderResult;
>  void do_render_seq(struct RenderResult *rr, int cfra);
>
> +int seq_can_blend(struct Sequence *seq);
> +
>  #define SEQ_HAS_PATH(seq) (seq->type==SEQ_MOVIE || seq->type==SEQ_HD_SOUND
> || seq->type==SEQ_RAM_SOUND || seq->type==SEQ_IMAGE)
>
>  #endif
>
> Modified: branches/apricot/source/blender/makesdna/DNA_space_types.h
> ===================================================================
> --- branches/apricot/source/blender/makesdna/DNA_space_types.h        
> 2008-07-07
> 21:04:30 UTC (rev 15477)
> +++ branches/apricot/source/blender/makesdna/DNA_space_types.h        
> 2008-07-07
> 21:18:30 UTC (rev 15478)
> @@ -236,8 +236,9 @@
>       short imanr;
>       short curtile; /* the currently active tile of the image when tile is
> enabled, is kept in sync with the active faces tile */
>       int flag;
> +     short selectmode;
>       short imtypenr, lock;
> -     short pin, pad2;
> +     short pin;
>       float zoom;
>       char dt_uv; /* UV draw type */
>       char sticky; /* sticky selection type */
> @@ -500,6 +501,12 @@
>  #define SI_STICKY_DISABLE    1
>  #define SI_STICKY_VERTEX     2
>
> +/* SpaceImage->selectmode */
> +#define SI_SELECT_VERTEX     0
> +#define SI_SELECT_EDGE               1 /* not implemented */
> +#define SI_SELECT_FACE               2
> +#define SI_SELECT_ISLAND     3
> +
>  /* SpaceImage->flag */
>  #define SI_BE_SQUARE 1<<0
>  #define SI_EDITTILE          1<<1
> @@ -507,7 +514,7 @@
>  #define SI_DRAWTOOL          1<<3
>  #define SI_DEPRECATED1  1<<4 /* stick UVs to others in the same location */
>  #define SI_DRAWSHADOW   1<<5
> -#define SI_SELACTFACE   1<<6
> +#define SI_SELACTFACE   1<<6 /* deprecated */
>  #define SI_DEPRECATED2       1<<7
>  #define SI_DEPRECATED3  1<<8 /* stick UV selection to mesh vertex (UVs wont
> always be touching) */
>  #define SI_COORDFLOATS  1<<9
>
> Modified: branches/apricot/source/blender/python/api2_2x/sceneSequence.c
> ===================================================================
> ---
> branches/apricot/source/blender/python/api2_2x/sceneSequence.c        
> 2008-07-07
> 21:04:30 UTC (rev 15477)
> +++
> branches/apricot/source/blender/python/api2_2x/sceneSequence.c        
> 2008-07-07
> 21:18:30 UTC (rev 15478)
> @@ -81,6 +81,7 @@
>  static PyObject *Sequence_copy( BPy_Sequence * self );
>  static PyObject *Sequence_new( BPy_Sequence * self, PyObject * args );
>  static PyObject *Sequence_remove( BPy_Sequence * self, PyObject * args );
> +static PyObject *Sequence_rebuildProxy( BPy_Sequence * self );
>
>  static PyObject *SceneSeq_new( BPy_SceneSeq * self, PyObject * args );
>  static PyObject *SceneSeq_remove( BPy_SceneSeq * self, PyObject * args );
> @@ -96,6 +97,8 @@
>        "() - Return a copy of the sequence containing the same objects."},
>       {"copy", ( PyCFunction ) Sequence_copy, METH_NOARGS,
>        "() - Return a copy of the sequence containing the same objects."},
> +     {"rebuildProxy", ( PyCFunction ) Sequence_rebuildProxy, METH_VARARGS,
> +      "() - Rebuild the active strip's Proxy."},
>       {NULL, NULL, 0, NULL}
>  };
>
> @@ -309,6 +312,7 @@
>       Py_RETURN_NONE;
>  }
>
> +
> /*****************************************************************************/
>  /* PythonTypeObject callback function prototypes                      */
> /*****************************************************************************/
> @@ -383,8 +387,6 @@
>  }
>
>
> -
> -
>  static PyObject *Sequence_getName( BPy_Sequence * self )
>  {
>       return PyString_FromString( self->seq->name+2 );
> @@ -403,11 +405,13 @@
>       return 0;
>  }
>
> +
>  static PyObject *Sequence_getProxyDir( BPy_Sequence * self )
>  {
>       return PyString_FromString( self->seq->strip->proxy ?
> self->seq->strip->proxy->dir : "" );
>  }
>
> +
>  static int Sequence_setProxyDir( BPy_Sequence * self, PyObject * value )
>  {
>       char *name = NULL;
> @@ -430,6 +434,14 @@
>  }
>
>
> +static PyObject *Sequence_rebuildProxy( BPy_Sequence * self )
> +{
> +     if (self->seq->strip->proxy)
> +             seq_proxy_rebuild(self->seq);
> +     Py_RETURN_NONE;
> +}
> +
> +
>  static PyObject *Sequence_getSound( BPy_Sequence * self )
>  {
>       if (self->seq->type == SEQ_RAM_SOUND && self->seq->sound)
> @@ -622,6 +634,54 @@
>       return 0;
>  }
>
> +static PyObject *M_Sequence_BlendModesDict( void )
> +{
> +     PyObject *M = PyConstant_New(  );
> +
> +     if( M ) {
> +             BPy_constant *d = ( BPy_constant * ) M;
> +             PyConstant_Insert( d, "CROSS", PyInt_FromLong( SEQ_CROSS ) );
> +             PyConstant_Insert( d, "ADD", PyInt_FromLong( SEQ_ADD ) );
> +             PyConstant_Insert( d, "SUBTRACT", PyInt_FromLong( SEQ_SUB ) );
> +             PyConstant_Insert( d, "ALPHAOVER", PyInt_FromLong( 
> SEQ_ALPHAOVER ) );
> +             PyConstant_Insert( d, "ALPHAUNDER", PyInt_FromLong( 
> SEQ_ALPHAUNDER ) );
> +             PyConstant_Insert( d, "GAMMACROSS", PyInt_FromLong( 
> SEQ_GAMCROSS ) );
> +             PyConstant_Insert( d, "MULTIPLY", PyInt_FromLong( SEQ_MUL ) );
> +             PyConstant_Insert( d, "OVERDROP", PyInt_FromLong( SEQ_OVERDROP 
> ) );
> +             PyConstant_Insert( d, "PLUGIN", PyInt_FromLong( SEQ_PLUGIN ) );
> +             PyConstant_Insert( d, "WIPE", PyInt_FromLong( SEQ_WIPE ) );
> +             PyConstant_Insert( d, "GLOW", PyInt_FromLong( SEQ_GLOW ) );
> +             PyConstant_Insert( d, "TRANSFORM", PyInt_FromLong( 
> SEQ_TRANSFORM ) );
> +             PyConstant_Insert( d, "COLOR", PyInt_FromLong( SEQ_COLOR ) );
> +             PyConstant_Insert( d, "SPEED", PyInt_FromLong( SEQ_SPEED ) );
> +     }
> +     return M;
> +}
> +
> +static PyObject *Sequence_getBlendMode( BPy_Sequence * self )
> +{
> +     return PyInt_FromLong( self->seq->blend_mode );
> +}
> +
> +static int Sequence_setBlendMode( BPy_Sequence * self, PyObject * value )
> +{
> +     struct Sequence *seq= self->seq;
> +     int number = PyInt_AsLong( value );
> +     
> +     if( number==-1 && PyErr_Occurred() )
> +             return EXPP_ReturnIntError( PyExc_TypeError, "expected an int 
> value" );
> +     
> +     if ( !seq_can_blend(seq) )
> +             return EXPP_ReturnIntError( PyExc_AttributeError, "this 
> sequence type
> dosnt support blending" );    
> +     
> +     if (number<SEQ_EFFECT || number>SEQ_EFFECT_MAX)
> +             return EXPP_ReturnIntError( PyExc_TypeError, "expected an int 
> value" );
> +     
> +     seq->blend_mode=number;
> +     
> +     return 0;
> +}
> +
>  /*
>   * get floating point attributes
>   */
> @@ -836,7 +896,11 @@
>        (getter)Sequence_getImages, (setter)Sequence_setImages,
>        "Sequence scene",
>         NULL},
> -     
> +     {"blendMode",
> +      (getter)Sequence_getBlendMode, (setter)Sequence_setBlendMode,
> +      "Sequence Blend Mode",
> +       NULL},
> +
>       {"type",
>        (getter)getIntAttr, (setter)NULL,
>        "",
> @@ -1131,6 +1195,7 @@
> /*****************************************************************************/
>  PyObject *Sequence_Init( void )
>  {
> +     PyObject *BlendModesDict = M_Sequence_BlendModesDict( );
>       PyObject *submodule;
>       if( PyType_Ready( &Sequence_Type ) < 0 )
>               return NULL;
> @@ -1142,6 +1207,9 @@
>  "The Blender Sequence module\n\n\
>  This module provides access to **Sequence Data** in Blender.\n" );
>
> +     if( BlendModesDict )
> +             PyModule_AddObject( submodule, "BlendModes", BlendModesDict );
> +
>       /*Add SUBMODULES to the module*/
>       /*PyDict_SetItemString(dict, "Constraint", Constraint_Init()); 
> //creates a
> *new* module*/
>       return submodule;
>
> Modified: branches/apricot/source/blender/src/buttons_logic.c
> ===================================================================
> --- branches/apricot/source/blender/src/buttons_logic.c       2008-07-07 
> 21:04:30
> UTC (rev 15477)
>
> @@ Diff output truncated at 10240 characters. @@
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs@blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>
_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to