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