- added modifier_dependsOnTime to check if modifier needs updating
based on time change. would be nice if dep graph could handle this. - made dep check if modifiers need update on time change - fix render crash (access null) - added new Build Effect modifier type. compared to old one works as a full member of modifier system, means can apply subsurf, etc on it, reorder, what have you. and it is all nice and self contained. - removed old Build effect, old files convert to new style on load - couldn't help myself, added a randomize feature to build effect - removed Python BuildEffect support
This commit is contained in:
		@@ -34,7 +34,6 @@
 | 
			
		||||
#include "DNA_object_types.h"
 | 
			
		||||
#include "BKE_global.h"
 | 
			
		||||
#include "BKE_main.h"
 | 
			
		||||
#include "Build.h"
 | 
			
		||||
#include "Particle.h"
 | 
			
		||||
#include "Wave.h"
 | 
			
		||||
#include "gen_utils.h"
 | 
			
		||||
@@ -104,8 +103,6 @@ PyObject *M_Effect_New( PyObject * self, PyObject * args )
 | 
			
		||||
						"expected type argument(wave,build or particle)" ) );
 | 
			
		||||
	if( !strcmp( btype, "wave" ) )
 | 
			
		||||
		type = EFF_WAVE;
 | 
			
		||||
	if( !strcmp( btype, "build" ) )
 | 
			
		||||
		type = EFF_BUILD;
 | 
			
		||||
	if( !strcmp( btype, "particle" ) )
 | 
			
		||||
		type = EFF_PARTICLE;
 | 
			
		||||
	if( type == -1 )
 | 
			
		||||
@@ -235,7 +232,6 @@ PyObject *M_Effect_Get( PyObject * self, PyObject * args )
 | 
			
		||||
/*****************************************************************************/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PyObject *Build_Init( void );
 | 
			
		||||
PyObject *Wave_Init( void );
 | 
			
		||||
PyObject *Particle_Init( void );
 | 
			
		||||
 | 
			
		||||
@@ -248,7 +244,6 @@ PyObject *Effect_Init( void )
 | 
			
		||||
	submodule = Py_InitModule3( "Blender.Effect", M_Effect_methods, 0 );
 | 
			
		||||
	dict = PyModule_GetDict( submodule );
 | 
			
		||||
	PyDict_SetItemString( dict, "Wave", Wave_Init(  ) );
 | 
			
		||||
	PyDict_SetItemString( dict, "Build", Build_Init(  ) );
 | 
			
		||||
	PyDict_SetItemString( dict, "Particle", Particle_Init(  ) );
 | 
			
		||||
	return ( submodule );
 | 
			
		||||
}
 | 
			
		||||
@@ -324,8 +319,6 @@ void EffectDeAlloc( BPy_Effect * self )
 | 
			
		||||
PyObject *EffectGetAttr( BPy_Effect * self, char *name )
 | 
			
		||||
{
 | 
			
		||||
	switch ( self->effect->type ) {
 | 
			
		||||
	case EFF_BUILD:
 | 
			
		||||
		return BuildGetAttr( ( BPy_Build * ) self, name );
 | 
			
		||||
	case EFF_WAVE:
 | 
			
		||||
		return WaveGetAttr( ( BPy_Wave * ) self, name );
 | 
			
		||||
	case EFF_PARTICLE:
 | 
			
		||||
@@ -345,8 +338,6 @@ PyObject *EffectGetAttr( BPy_Effect * self, char *name )
 | 
			
		||||
int EffectSetAttr( BPy_Effect * self, char *name, PyObject * value )
 | 
			
		||||
{
 | 
			
		||||
	switch ( self->effect->type ) {
 | 
			
		||||
	case EFF_BUILD:
 | 
			
		||||
		return BuildSetAttr( ( BPy_Build * ) self, name, value );
 | 
			
		||||
	case EFF_WAVE:
 | 
			
		||||
		return WaveSetAttr( ( BPy_Wave * ) self, name, value );
 | 
			
		||||
	case EFF_PARTICLE:
 | 
			
		||||
@@ -363,7 +354,6 @@ int EffectSetAttr( BPy_Effect * self, char *name, PyObject * value )
 | 
			
		||||
/*
 | 
			
		||||
int EffectPrint(BPy_Effect *self, FILE *fp, int flags) 
 | 
			
		||||
{ 
 | 
			
		||||
if (self->effect->type == EFF_BUILD)puts("Effect Build");
 | 
			
		||||
if (self->effect->type == EFF_PARTICLE)puts("Effect Particle");
 | 
			
		||||
if (self->effect->type == EFF_WAVE)puts("Effect Wave");
 | 
			
		||||
 
 | 
			
		||||
@@ -379,8 +369,6 @@ if (self->effect->type == EFF_WAVE)puts("Effect Wave");
 | 
			
		||||
PyObject *EffectRepr( BPy_Effect * self )
 | 
			
		||||
{
 | 
			
		||||
	char *str = "";
 | 
			
		||||
	if( self->effect->type == EFF_BUILD )
 | 
			
		||||
		str = "Effect Build";
 | 
			
		||||
	if( self->effect->type == EFF_PARTICLE )
 | 
			
		||||
		str = "Effect Particle";
 | 
			
		||||
	if( self->effect->type == EFF_WAVE )
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user