--- source/blender/python/api2_2x/Modifier.c.orig 2006-06-14 05:41:30.000000000 +0100 +++ source/blender/python/api2_2x/Modifier.c 2006-09-16 14:45:44.000000000 +0100 @@ -613,6 +613,27 @@ } } +static PyObject *array_getter( BPy_Modifier * self, int type ) +{ + ArrayModifierData *md = (ArrayModifierData *)(self->md); + + if( type == EXPP_MOD_COUNT ) + return PyInt_FromLong( (long)md->count ); + + return EXPP_ReturnPyObjError( PyExc_KeyError, "key not found" ); +} + +static int array_setter( BPy_Modifier *self, int type, PyObject *value ) +{ + ArrayModifierData *md = (ArrayModifierData *)(self->md); + + if( type == EXPP_MOD_COUNT ) { + return EXPP_setIValueClamped( value, &md->count, 1, MAXFRAME, 'i' ); + } + + return EXPP_ReturnIntError( PyExc_KeyError, "key not found" ); +} + static PyObject *boolean_getter( BPy_Modifier * self, int type ) { BooleanModifierData *md = (BooleanModifierData *)(self->md); @@ -696,6 +717,7 @@ case eModifierType_Hook: case eModifierType_Softbody: case eModifierType_Array: + return array_getter( self, setting ); case eModifierType_None: Py_RETURN_NONE; } @@ -731,6 +753,8 @@ return build_setter( self, key_int, arg ); case eModifierType_Mirror: return mirror_setter( self, key_int, arg ); + case eModifierType_Array: + return array_setter( self, key_int, arg ); case eModifierType_Decimate: return decimate_setter( self, key_int, arg ); case eModifierType_Wave: @@ -739,7 +763,6 @@ return boolean_setter( self, key_int, arg ); case eModifierType_Hook: case eModifierType_Softbody: - case eModifierType_Array: case eModifierType_None: return 0; } @@ -1142,6 +1165,8 @@ PyInt_FromLong( eModifierType_Wave ) ); PyConstant_Insert( d, "BOOLEAN", PyInt_FromLong( eModifierType_Boolean ) ); + PyConstant_Insert( d, "ARRAY", + PyInt_FromLong( eModifierType_Array ) ); } return S; }