Refactor RNA property: split flags in property flags, parameter flags, and internal...
authorBastien Montagne <montagne29@wanadoo.fr>
Mon, 12 Dec 2016 14:23:55 +0000 (15:23 +0100)
committerBastien Montagne <montagne29@wanadoo.fr>
Mon, 12 Dec 2016 14:46:06 +0000 (15:46 +0100)
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.

To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.

This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).

And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).

Reviewers: sergey, Severin

Subscribers: dfelinto, brecht

Differential Revision: https://developer.blender.org/D2400

60 files changed:
source/blender/makesrna/RNA_access.h
source/blender/makesrna/RNA_define.h
source/blender/makesrna/RNA_types.h
source/blender/makesrna/intern/makesrna.c
source/blender/makesrna/intern/rna_ID.c
source/blender/makesrna/intern/rna_access.c
source/blender/makesrna/intern/rna_action.c
source/blender/makesrna/intern/rna_actuator_api.c
source/blender/makesrna/intern/rna_animation.c
source/blender/makesrna/intern/rna_armature.c
source/blender/makesrna/intern/rna_armature_api.c
source/blender/makesrna/intern/rna_color.c
source/blender/makesrna/intern/rna_curve.c
source/blender/makesrna/intern/rna_curve_api.c
source/blender/makesrna/intern/rna_define.c
source/blender/makesrna/intern/rna_depsgraph.c
source/blender/makesrna/intern/rna_dynamicpaint.c
source/blender/makesrna/intern/rna_fcurve.c
source/blender/makesrna/intern/rna_fcurve_api.c
source/blender/makesrna/intern/rna_gpencil.c
source/blender/makesrna/intern/rna_group.c
source/blender/makesrna/intern/rna_image_api.c
source/blender/makesrna/intern/rna_internal_types.h
source/blender/makesrna/intern/rna_key.c
source/blender/makesrna/intern/rna_lattice_api.c
source/blender/makesrna/intern/rna_linestyle.c
source/blender/makesrna/intern/rna_main_api.c
source/blender/makesrna/intern/rna_mask.c
source/blender/makesrna/intern/rna_material.c
source/blender/makesrna/intern/rna_mesh.c
source/blender/makesrna/intern/rna_mesh_api.c
source/blender/makesrna/intern/rna_meta.c
source/blender/makesrna/intern/rna_meta_api.c
source/blender/makesrna/intern/rna_nla.c
source/blender/makesrna/intern/rna_nodetree.c
source/blender/makesrna/intern/rna_object.c
source/blender/makesrna/intern/rna_object_api.c
source/blender/makesrna/intern/rna_palette.c
source/blender/makesrna/intern/rna_particle.c
source/blender/makesrna/intern/rna_pose.c
source/blender/makesrna/intern/rna_pose_api.c
source/blender/makesrna/intern/rna_render.c
source/blender/makesrna/intern/rna_rigidbody.c
source/blender/makesrna/intern/rna_rna.c
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_scene_api.c
source/blender/makesrna/intern/rna_screen.c
source/blender/makesrna/intern/rna_sensor_api.c
source/blender/makesrna/intern/rna_sequencer.c
source/blender/makesrna/intern/rna_sequencer_api.c
source/blender/makesrna/intern/rna_space.c
source/blender/makesrna/intern/rna_space_api.c
source/blender/makesrna/intern/rna_text_api.c
source/blender/makesrna/intern/rna_texture_api.c
source/blender/makesrna/intern/rna_tracking.c
source/blender/makesrna/intern/rna_ui.c
source/blender/makesrna/intern/rna_ui_api.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/makesrna/intern/rna_wm_api.c
source/blender/python/intern/bpy_rna.c

index 44d1a6bfaafd5495a3a4d1f8b39c7fc27da34d63..f97a5735c94a2f487aeca2145f5f00a3a50edb99 100644 (file)
@@ -793,6 +793,7 @@ PropertyType RNA_property_type(PropertyRNA *prop);
 PropertySubType RNA_property_subtype(PropertyRNA *prop);
 PropertyUnit RNA_property_unit(PropertyRNA *prop);
 int RNA_property_flag(PropertyRNA *prop);
+bool RNA_property_builtin(PropertyRNA *prop);
 void *RNA_property_py_data_get(PropertyRNA *prop);
 
 int  RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop);
@@ -1142,6 +1143,8 @@ const struct ListBase *RNA_function_defined_parameters(FunctionRNA *func);
 
 /* Utility */
 
+int RNA_parameter_flag(PropertyRNA *prop);
+
 ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *ptr, FunctionRNA *func);
 void RNA_parameter_list_free(ParameterList *parms);
 int  RNA_parameter_list_size(ParameterList *parms);
index bf8ea048faee9baf133ea829a79267072b6650d8..2a680b6eaebad6f8144c79ba189cd3888e2d46ca 100644 (file)
@@ -137,8 +137,8 @@ void RNA_def_property_enum_bitflag_sdna(PropertyRNA *prop, const char *structnam
 void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname);
 void RNA_def_property_collection_sdna(PropertyRNA *prop, const char *structname, const char *propname, const char *lengthpropname);
 
-void RNA_def_property_flag(PropertyRNA *prop, int flag);
-void RNA_def_property_clear_flag(PropertyRNA *prop, int flag);
+void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag);
+void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag);
 void RNA_def_property_subtype(PropertyRNA *prop, PropertySubType subtype);
 void RNA_def_property_array(PropertyRNA *prop, int length);
 void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[]);
@@ -201,6 +201,9 @@ void RNA_def_function_output(FunctionRNA *func, PropertyRNA *ret);
 void RNA_def_function_flag(FunctionRNA *func, int flag);
 void RNA_def_function_ui_description(FunctionRNA *func, const char *description);
 
+void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter);
+void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter);
+
 /* Dynamic Enums
  * strings are not freed, assumed pointing to static location. */
 
index 276531992f97959760dc7eced8df1d21eb866436..1a191a68668e8095c29ded644e1ec5348d4d36f0 100644 (file)
@@ -155,7 +155,8 @@ typedef enum PropertySubType {
 } PropertySubType;
 
 /* Make sure enums are updated with these */
-/* HIGHEST FLAG IN USE: 1 << 31 */
+/* HIGHEST FLAG IN USE: 1 << 31
+ * FREE FLAGS: 2, 3, 7, 9, 11, 13, 14, 15, 30 */
 typedef enum PropertyFlag {
        /* editable means the property is editable in the user
         * interface, properties are editable by default except
@@ -185,20 +186,6 @@ typedef enum PropertyFlag {
        /* do not write in presets */
        PROP_SKIP_SAVE               = (1 << 28),
 
-       /* function parameter flags */
-       PROP_REQUIRED                = (1 << 2),
-       PROP_OUTPUT                  = (1 << 3),
-       PROP_RNAPTR                  = (1 << 11),
-       /* This allows for non-breaking API updates, when adding non-critical new parameter to a callback function.
-        * This way, old py code defining funcs without that parameter would still work.
-        * WARNING: any parameter after the first PYFUNC_OPTIONAL one will be considered as optional!
-        * NOTE: only for input parameters!
-        */
-       PROP_PYFUNC_OPTIONAL         = (1 << 30),
-       /* registering */
-       PROP_REGISTER                = (1 << 4),
-       PROP_REGISTER_OPTIONAL       = PROP_REGISTER | (1 << 5),
-
        /* numbers */
 
        /* each value is related proportionally (object scale, image size) */
@@ -229,25 +216,37 @@ typedef enum PropertyFlag {
 
        /* need context for update function */
        PROP_CONTEXT_UPDATE          = (1 << 22),
-       PROP_CONTEXT_PROPERTY_UPDATE = (1 << 22) | (1 << 27),
+       PROP_CONTEXT_PROPERTY_UPDATE = PROP_CONTEXT_UPDATE | (1 << 27),
+
+       /* registering */
+       PROP_REGISTER                = (1 << 4),
+       PROP_REGISTER_OPTIONAL       = PROP_REGISTER | (1 << 5),
 
        /* Use for arrays or for any data that should not have a reference kept
         * most common case is functions that return arrays where the array */
        PROP_THICK_WRAP              = (1 << 23),
 
-       /* internal flags */
-       PROP_BUILTIN                 = (1 << 7),
-       PROP_EXPORT                  = (1 << 8),
-       PROP_RUNTIME                 = (1 << 9),
-       PROP_IDPROPERTY              = (1 << 10),
-       PROP_RAW_ACCESS              = (1 << 13),
-       PROP_RAW_ARRAY               = (1 << 14),
-       PROP_FREE_POINTERS           = (1 << 15),
+       PROP_EXPORT                  = (1 << 8),  /* XXX Is this still used? makesrna.c seems to ignore it currently... */
+       PROP_IDPROPERTY              = (1 << 10), /* This is an IDProperty, not a DNA one. */
        PROP_DYNAMIC                 = (1 << 17), /* for dynamic arrays, and retvals of type string */
        PROP_ENUM_NO_CONTEXT         = (1 << 24), /* for enum that shouldn't be contextual */
        PROP_ENUM_NO_TRANSLATE       = (1 << 29), /* for enums not to be translated (e.g. renderlayers' names in nodes) */
 } PropertyFlag;
 
+/* Function parameters flags.
+ * WARNING: 16bits only. */
+typedef enum ParameterFlag {
+       PARM_REQUIRED                = (1 << 0),
+       PARM_OUTPUT                  = (1 << 1),
+       PARM_RNAPTR                  = (1 << 2),
+       /* This allows for non-breaking API updates, when adding non-critical new parameter to a callback function.
+        * This way, old py code defining funcs without that parameter would still work.
+        * WARNING: any parameter after the first PYFUNC_OPTIONAL one will be considered as optional!
+        * NOTE: only for input parameters!
+        */
+       PARM_PYFUNC_OPTIONAL         = (1 << 3),
+} ParameterFlag;
+
 struct CollectionPropertyIterator;
 struct Link;
 typedef int (*IteratorSkipFunc)(struct CollectionPropertyIterator *iter, void *data);
index 309d39a379f473f3b4e78d00c119d240668dad7f..d5576978e236b285baf342e3cade6d01939df6ec 100644 (file)
@@ -463,7 +463,7 @@ static const char *rna_parameter_type_name(PropertyRNA *parm)
                {
                        PointerPropertyRNA *pparm = (PointerPropertyRNA *)parm;
 
-                       if (parm->flag & PROP_RNAPTR)
+                       if (parm->flag_parameter & PARM_RNAPTR)
                                return "PointerRNA";
                        else
                                return rna_find_dna_type((const char *)pparm->type);
@@ -1409,23 +1409,23 @@ static void rna_set_raw_property(PropertyDefRNA *dp, PropertyRNA *prop)
        
        if (STREQ(dp->dnatype, "char")) {
                prop->rawtype = PROP_RAW_CHAR;
-               prop->flag |= PROP_RAW_ACCESS;
+               prop->flag_internal |= PROP_INTERN_RAW_ACCESS;
        }
        else if (STREQ(dp->dnatype, "short")) {
                prop->rawtype = PROP_RAW_SHORT;
-               prop->flag |= PROP_RAW_ACCESS;
+               prop->flag_internal |= PROP_INTERN_RAW_ACCESS;
        }
        else if (STREQ(dp->dnatype, "int")) {
                prop->rawtype = PROP_RAW_INT;
-               prop->flag |= PROP_RAW_ACCESS;
+               prop->flag_internal |= PROP_INTERN_RAW_ACCESS;
        }
        else if (STREQ(dp->dnatype, "float")) {
                prop->rawtype = PROP_RAW_FLOAT;
-               prop->flag |= PROP_RAW_ACCESS;
+               prop->flag_internal |= PROP_INTERN_RAW_ACCESS;
        }
        else if (STREQ(dp->dnatype, "double")) {
                prop->rawtype = PROP_RAW_DOUBLE;
-               prop->flag |= PROP_RAW_ACCESS;
+               prop->flag_internal |= PROP_INTERN_RAW_ACCESS;
        }
 }
 
@@ -1553,7 +1553,7 @@ static void rna_def_property_funcs(FILE *f, StructRNA *srna, PropertyDefRNA *dp)
                                if (STREQ((const char *)cprop->next, "rna_iterator_array_next") &&
                                    STREQ((const char *)cprop->get, "rna_iterator_array_get"))
                                {
-                                       prop->flag |= PROP_RAW_ARRAY;
+                                       prop->flag_internal |= PROP_INTERN_RAW_ARRAY;
                                }
 
                        cprop->get = (void *)rna_def_property_get_func(f, srna, prop, dp, (const char *)cprop->get);
@@ -1599,8 +1599,9 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
 
        prop = dp->prop;
 
-       if (prop->flag & (PROP_IDPROPERTY | PROP_BUILTIN))
+       if (prop->flag & PROP_IDPROPERTY || prop->flag_internal & PROP_INTERN_BUILTIN) {
                return;
+       }
 
        func = rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "");
 
@@ -1719,8 +1720,9 @@ static void rna_def_property_funcs_header_cpp(FILE *f, StructRNA *srna, Property
 
        prop = dp->prop;
 
-       if (prop->flag & (PROP_IDPROPERTY | PROP_BUILTIN))
+       if (prop->flag & PROP_IDPROPERTY || prop->flag_internal & PROP_INTERN_BUILTIN) {
                return;
+       }
        
        /* disabled for now to avoid msvc compiler error due to large file size */
 #if 0
@@ -1822,8 +1824,9 @@ static void rna_def_property_funcs_header_cpp(FILE *f, StructRNA *srna, Property
                        CollectionPropertyRNA *cprop = (CollectionPropertyRNA *)dp->prop;
                        const char *collection_funcs = "DefaultCollectionFunctions";
 
-                       if (!(dp->prop->flag & (PROP_IDPROPERTY | PROP_BUILTIN)) && cprop->property.srna)
+                       if (!(dp->prop->flag & PROP_IDPROPERTY || dp->prop->flag_internal & PROP_INTERN_BUILTIN) && cprop->property.srna) {
                                collection_funcs  = (char *)cprop->property.srna;
+                       }
 
                        if (cprop->item_type)
                                fprintf(f, "\tCOLLECTION_PROPERTY(%s, %s, %s, %s, %s, %s, %s)", collection_funcs, (const char *)cprop->item_type, srna->identifier,
@@ -1879,7 +1882,7 @@ static void rna_def_struct_function_prototype_cpp(FILE *f, StructRNA *UNUSED(srn
                WRITE_PARAM("Context C");
 
        for (dp = dfunc->cont.properties.first; dp; dp = dp->next) {
-               int type, flag, pout;
+               int type, flag, flag_parameter, pout;
                const char *ptrstr;
 
                if (dp->prop == func->c_ret)
@@ -1887,7 +1890,8 @@ static void rna_def_struct_function_prototype_cpp(FILE *f, StructRNA *UNUSED(srn
 
                type = dp->prop->type;
                flag = dp->prop->flag;
-               pout = (flag & PROP_OUTPUT);
+               flag_parameter = dp->prop->flag_parameter;
+               pout = (flag_parameter & PARM_OUTPUT);
 
                if (flag & PROP_DYNAMIC)
                        ptrstr = pout ? "**" : "*";
@@ -1903,7 +1907,7 @@ static void rna_def_struct_function_prototype_cpp(FILE *f, StructRNA *UNUSED(srn
                WRITE_COMMA;
 
                if (flag & PROP_DYNAMIC)
-                       fprintf(f, "int %s%s_len, ", (flag & PROP_OUTPUT) ? "*" : "", dp->prop->identifier);
+                       fprintf(f, "int %s%s_len, ", (flag_parameter & PARM_OUTPUT) ? "*" : "", dp->prop->identifier);
 
                if (!(flag & PROP_DYNAMIC) && dp->prop->arraydimension)
                        fprintf(f, "%s %s[%u]", rna_parameter_type_cpp_name(dp->prop),
@@ -1941,8 +1945,9 @@ static void rna_def_property_funcs_impl_cpp(FILE *f, StructRNA *srna, PropertyDe
 
        prop = dp->prop;
 
-       if (prop->flag & (PROP_IDPROPERTY | PROP_BUILTIN))
+       if (prop->flag & PROP_IDPROPERTY || prop->flag_internal & PROP_INTERN_BUILTIN) {
                return;
+       }
 
        switch (prop->type) {
                case PROP_BOOLEAN:
@@ -2075,9 +2080,9 @@ static void rna_def_struct_function_call_impl_cpp(FILE *f, StructRNA *srna, Func
                        fprintf(f, "%s_len, ", dp->prop->identifier);
 
                if (dp->prop->type == PROP_POINTER)
-                       if ((dp->prop->flag & PROP_RNAPTR) && !(dp->prop->flag & PROP_THICK_WRAP))
+                       if ((dp->prop->flag_parameter & PARM_RNAPTR) && !(dp->prop->flag & PROP_THICK_WRAP))
                                fprintf(f, "(::%s *) &%s.ptr", rna_parameter_type_name(dp->prop), rna_safe_id(dp->prop->identifier));
-                       else if (dp->prop->flag & PROP_OUTPUT)
+                       else if (dp->prop->flag_parameter & PARM_OUTPUT)
                                fprintf(f, "(::%s **) &%s->ptr.data", rna_parameter_type_name(dp->prop), rna_safe_id(dp->prop->identifier));
                        else
                                fprintf(f, "(::%s *) %s.ptr.data", rna_parameter_type_name(dp->prop), rna_safe_id(dp->prop->identifier));
@@ -2110,7 +2115,7 @@ static void rna_def_struct_function_impl_cpp(FILE *f, StructRNA *srna, FunctionD
 
                        fprintf(f, "\t\tPointerRNA result;\n");
 
-                       if ((dp->prop->flag & PROP_RNAPTR) == 0) {
+                       if ((dp->prop->flag_parameter & PARM_RNAPTR) == 0) {
                                StructRNA *ret_srna = rna_find_struct((const char *) pprop->type);
                                fprintf(f, "\t\t::%s *retdata = ", rna_parameter_type_name(dp->prop));
                                rna_def_struct_function_call_impl_cpp(f, srna, dfunc);
@@ -2221,7 +2226,7 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
        const char *funcname, *valstr;
        const char *ptrstr;
        const bool has_data = (dfunc->cont.properties.first != NULL);
-       int flag, pout, cptr, first;
+       int flag, flag_parameter, pout, cptr, first;
 
        srna = dsrna->srna;
        func = dfunc->func;
@@ -2254,8 +2259,9 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
        for (; dparm; dparm = dparm->next) {
                type = dparm->prop->type;
                flag = dparm->prop->flag;
-               pout = (flag & PROP_OUTPUT);
-               cptr = ((type == PROP_POINTER) && !(flag & PROP_RNAPTR));
+               flag_parameter = dparm->prop->flag_parameter;
+               pout = (flag_parameter & PARM_OUTPUT);
+               cptr = ((type == PROP_POINTER) && !(flag_parameter & PARM_RNAPTR));
 
                if (dparm->prop == func->c_ret)
                        ptrstr = cptr || dparm->prop->arraydimension ? "*" : "";
@@ -2265,7 +2271,7 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
                /* fixed size arrays and RNA pointers are pre-allocated on the ParameterList stack, pass a pointer to it */
                else if (type == PROP_POINTER || dparm->prop->arraydimension)
                        ptrstr = "*";
-               else if ((type == PROP_POINTER) && (flag & PROP_RNAPTR) && !(flag & PROP_THICK_WRAP))
+               else if ((type == PROP_POINTER) && (flag_parameter & PARM_RNAPTR) && !(flag & PROP_THICK_WRAP))
                        ptrstr = "*";
                /* PROP_THICK_WRAP strings are pre-allocated on the ParameterList stack,
                 * but type name for string props is already (char *), so leave empty */
@@ -2311,8 +2317,9 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
        for (; dparm; dparm = dparm->next) {
                type = dparm->prop->type;
                flag = dparm->prop->flag;
-               pout = (flag & PROP_OUTPUT);
-               cptr = ((type == PROP_POINTER) && !(flag & PROP_RNAPTR));
+               flag_parameter = dparm->prop->flag_parameter;
+               pout = (flag_parameter & PARM_OUTPUT);
+               cptr = ((type == PROP_POINTER) && !(flag_parameter & PARM_RNAPTR));
 
                if (dparm->prop == func->c_ret)
                        fprintf(f, "\t_retdata = _data;\n");
@@ -2422,7 +2429,7 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
 
                if (func->c_ret) {
                        dparm = rna_find_parameter_def(func->c_ret);
-                       ptrstr = (((dparm->prop->type == PROP_POINTER) && !(dparm->prop->flag & PROP_RNAPTR)) ||
+                       ptrstr = (((dparm->prop->type == PROP_POINTER) && !(dparm->prop->flag_parameter & PARM_RNAPTR)) ||
                                  (dparm->prop->arraydimension)) ? "*" : "";
                        fprintf(f, "\t*((%s%s %s*)_retdata) = %s;\n", rna_type_struct(dparm->prop),
                                rna_parameter_type_name(dparm->prop), ptrstr, func->c_ret->identifier);
@@ -2657,7 +2664,7 @@ static void rna_generate_static_parameter_prototypes(FILE *f, StructRNA *srna, F
        PropertyDefRNA *dparm;
        StructDefRNA *dsrna;
        PropertyType type;
-       int flag, pout, cptr, first;
+       int flag, flag_parameter, pout, cptr, first;
        const char *ptrstr;
 
        dsrna = rna_find_struct_def(srna);
@@ -2668,7 +2675,7 @@ static void rna_generate_static_parameter_prototypes(FILE *f, StructRNA *srna, F
                if (dparm->prop == func->c_ret) {
                        if (dparm->prop->arraydimension)
                                fprintf(f, "XXX no array return types yet");  /* XXX not supported */
-                       else if (dparm->prop->type == PROP_POINTER && !(dparm->prop->flag & PROP_RNAPTR))
+                       else if (dparm->prop->type == PROP_POINTER && !(dparm->prop->flag_parameter & PARM_RNAPTR))
                                fprintf(f, "%s%s *", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop));
                        else
                                fprintf(f, "%s%s ", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop));
@@ -2730,8 +2737,9 @@ static void rna_generate_static_parameter_prototypes(FILE *f, StructRNA *srna, F
        for (dparm = dfunc->cont.properties.first; dparm; dparm = dparm->next) {
                type = dparm->prop->type;
                flag = dparm->prop->flag;
-               pout = (flag & PROP_OUTPUT);
-               cptr = ((type == PROP_POINTER) && !(flag & PROP_RNAPTR));
+               flag_parameter = dparm->prop->flag_parameter;
+               pout = (flag_parameter & PARM_OUTPUT);
+               cptr = ((type == PROP_POINTER) && !(flag_parameter & PARM_RNAPTR));
 
                if (dparm->prop == func->c_ret)
                        continue;
@@ -2986,7 +2994,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
        else fprintf(f, "NULL,\n");
        fprintf(f, "\t%d, ", prop->magic);
        rna_print_c_string(f, prop->identifier);
-       fprintf(f, ", %d, ", prop->flag);
+       fprintf(f, ", %d, %d, %d, ", prop->flag, prop->flag_parameter, prop->flag_internal);
        rna_print_c_string(f, prop->name); fprintf(f, ",\n\t");
        rna_print_c_string(f, prop->description); fprintf(f, ",\n\t");
        fprintf(f, "%d, ", prop->icon);
@@ -3008,7 +3016,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
                rna_function_string(prop->editable),
                rna_function_string(prop->itemeditable));
 
-       if (prop->flag & PROP_RAW_ACCESS) rna_set_raw_offset(f, srna, prop);
+       if (prop->flag_internal & PROP_INTERN_RAW_ACCESS) rna_set_raw_offset(f, srna, prop);
        else fprintf(f, "\t0, -1");
 
        /* our own type - collections/arrays only */
@@ -3796,9 +3804,11 @@ static const char *cpp_classes = ""
 
 static int rna_is_collection_prop(PropertyRNA *prop)
 {
-       if (!(prop->flag & (PROP_IDPROPERTY | PROP_BUILTIN)))
-               if (prop->type == PROP_COLLECTION)
+       if (!(prop->flag & PROP_IDPROPERTY || prop->flag_internal & PROP_INTERN_BUILTIN)) {
+               if (prop->type == PROP_COLLECTION) {
                        return 1;
+               }
+       }
 
        return 0;
 }
index 896d4979089d8cc987294769d71a248fd7ff2b6b..ee43a619f41464fd835e15f43813b446f471b535 100644 (file)
@@ -840,7 +840,7 @@ static void rna_def_ID_materials(BlenderRNA *brna)
        RNA_def_function_flag(func, FUNC_USE_MAIN);
        RNA_def_function_ui_description(func, "Add a new material to the data-block");
        parm = RNA_def_pointer(func, "material", "Material", "", "Material to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "pop", "rna_IDMaterials_pop_id");
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
@@ -1014,7 +1014,7 @@ static void rna_def_ID(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Replace all usage in the .blend file of this ID by new given one");
        RNA_def_function_flag(func, FUNC_USE_MAIN);
        parm = RNA_def_pointer(func, "new_id", "ID", "", "New ID to use");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "make_local", "rna_ID_make_local");
        RNA_def_function_ui_description(func, "Make this datablock local, return local one "
@@ -1023,14 +1023,14 @@ static void rna_def_ID(BlenderRNA *brna)
        parm = RNA_def_boolean(func, "clear_proxy", true, "",
                               "Whether to clear proxies (the default behavior, "
                               "note that if object has to be duplicated to be made local, proxies are always cleared)");
-       RNA_def_property_flag(parm, PROP_PYFUNC_OPTIONAL);
+       RNA_def_property_flag(parm, PARM_PYFUNC_OPTIONAL);
        parm = RNA_def_pointer(func, "id", "ID", "", "This ID, or the new ID if it was copied");
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "user_of_id", "BKE_library_ID_use_ID");
        RNA_def_function_ui_description(func, "Count the number of times that ID uses/references given one");
        parm = RNA_def_pointer(func, "id", "ID", "", "ID to count usages");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_int(func, "count", 0, 0, INT_MAX,
                           "", "Number of usages/references of given id by current data-block", 0, INT_MAX);
        RNA_def_function_return(func, parm);
index 6f054e586ecf717699eb6c171bdd030ad0898d6c..bb839fd77f875a698d2658425f0e32d0556ebb83 100644 (file)
@@ -79,9 +79,11 @@ void RNA_init(void)
                if (!srna->cont.prophash) {
                        srna->cont.prophash = BLI_ghash_str_new("RNA_init gh");
 
-                       for (prop = srna->cont.properties.first; prop; prop = prop->next)
-                               if (!(prop->flag & PROP_BUILTIN))
+                       for (prop = srna->cont.properties.first; prop; prop = prop->next) {
+                               if (!(prop->flag_internal & PROP_INTERN_BUILTIN)) {
                                        BLI_ghash_insert(srna->cont.prophash, (void *)prop->identifier, prop);
+                               }
+                       }
                }
        }
 }
@@ -824,6 +826,11 @@ int RNA_property_flag(PropertyRNA *prop)
        return rna_ensure_property(prop)->flag;
 }
 
+bool RNA_property_builtin(PropertyRNA *prop)
+{
+       return (rna_ensure_property(prop)->flag_internal & PROP_INTERN_BUILTIN) != 0;
+}
+
 void *RNA_property_py_data_get(PropertyRNA *prop)
 {
        return prop->py_data;
@@ -3107,7 +3114,7 @@ void RNA_property_collection_skip(CollectionPropertyIterator *iter, int num)
        CollectionPropertyRNA *cprop = (CollectionPropertyRNA *)rna_ensure_property(iter->prop);
        int i;
 
-       if (num > 1 && (iter->idprop || (cprop->property.flag & PROP_RAW_ARRAY))) {
+       if (num > 1 && (iter->idprop || (cprop->property.flag_internal & PROP_INTERN_RAW_ARRAY))) {
                /* fast skip for array */
                ArrayIterator *internal = &iter->internal.array;
 
@@ -3449,7 +3456,7 @@ int RNA_property_collection_raw_array(PointerRNA *ptr, PropertyRNA *prop, Proper
 
        BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
 
-       if (!(prop->flag & PROP_RAW_ARRAY) || !(itemprop->flag & PROP_RAW_ACCESS))
+       if (!(prop->flag_internal & PROP_INTERN_RAW_ARRAY) || !(itemprop->flag_internal & PROP_INTERN_RAW_ACCESS))
                return 0;
 
        RNA_property_collection_begin(ptr, prop, &iter);
@@ -5570,15 +5577,16 @@ char *RNA_pointer_as_string_keywords_ex(bContext *C, PointerRNA *ptr,
        DynStr *dynstr = BLI_dynstr_new();
        char *cstring, *buf;
        bool first_iter = true;
-       int flag;
+       int flag, flag_parameter;
 
        RNA_PROP_BEGIN (ptr, propptr, iterprop)
        {
                prop = propptr.data;
 
                flag = RNA_property_flag(prop);
+               flag_parameter = RNA_parameter_flag(prop);
 
-               if (as_function && (flag & PROP_OUTPUT)) {
+               if (as_function && (flag_parameter & PARM_OUTPUT)) {
                        continue;
                }
 
@@ -5592,7 +5600,7 @@ char *RNA_pointer_as_string_keywords_ex(bContext *C, PointerRNA *ptr,
                        continue;
                }
 
-               if (as_function && (flag & PROP_REQUIRED)) {
+               if (as_function && (prop->flag_parameter & PARM_REQUIRED)) {
                        /* required args don't have useful defaults */
                        BLI_dynstr_appendf(dynstr, first_iter ? "%s" : ", %s", arg_name);
                        first_iter = false;
@@ -5913,6 +5921,11 @@ const ListBase *RNA_function_defined_parameters(FunctionRNA *func)
 
 /* Utility */
 
+int RNA_parameter_flag(PropertyRNA *prop)
+{
+       return (int)rna_ensure_property(prop)->flag_parameter;
+}
+
 ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *UNUSED(ptr), FunctionRNA *func)
 {
        PropertyRNA *parm;
@@ -5926,7 +5939,7 @@ ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *UNUSE
        for (parm = func->cont.properties.first; parm; parm = parm->next) {
                alloc_size += rna_parameter_size(parm);
 
-               if (parm->flag & PROP_OUTPUT)
+               if (parm->flag_parameter & PARM_OUTPUT)
                        parms->ret_count++;
                else
                        parms->arg_count++;
@@ -5949,7 +5962,7 @@ ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *UNUSE
                        data_alloc->array = NULL;
                }
                
-               if (!(parm->flag & PROP_REQUIRED) && !(parm->flag & PROP_DYNAMIC)) {
+               if (!(parm->flag_parameter & PARM_REQUIRED) && !(parm->flag & PROP_DYNAMIC)) {
                        switch (parm->type) {
                                case PROP_BOOLEAN:
                                        if (parm->arraydimension) memcpy(data, ((BoolPropertyRNA *)parm)->defaultarray, size);
@@ -6373,7 +6386,7 @@ static int rna_function_parameter_parse(PointerRNA *ptr, PropertyRNA *prop, Prop
 
                        ptype = RNA_property_pointer_type(ptr, prop);
 
-                       if (prop->flag & PROP_RNAPTR) {
+                       if (prop->flag_parameter & PARM_RNAPTR) {
                                *((PointerRNA *)dest) = *((PointerRNA *)src);
                                break;
                        }
@@ -6443,7 +6456,7 @@ int RNA_function_call_direct_va(bContext *C, ReportList *reports, PointerRNA *pt
        ParameterIterator iter;
        PropertyRNA *pret, *parm;
        PropertyType type;
-       int i, ofs, flen, flag, len, alen, err = 0;
+       int i, ofs, flen, flag_parameter, len, alen, err = 0;
        const char *tid, *fid, *pid = NULL;
        char ftype;
        void **retdata = NULL;
@@ -6460,20 +6473,20 @@ int RNA_function_call_direct_va(bContext *C, ReportList *reports, PointerRNA *pt
 
        for (i = 0, ofs = 0; iter.valid; RNA_parameter_list_next(&iter), i++) {
                parm = iter.parm;
-               flag = RNA_property_flag(parm);
+               flag_parameter = RNA_parameter_flag(parm);
 
                if (parm == pret) {
                        retdata = iter.data;
                        continue;
                }
-               else if (flag & PROP_OUTPUT) {
+               else if (flag_parameter & PARM_OUTPUT) {
                        continue;
                }
 
                pid = RNA_property_identifier(parm);
 
                if (ofs >= flen || format[ofs] == 'N') {
-                       if (flag & PROP_REQUIRED) {
+                       if (parm->flag_parameter & PARM_REQUIRED) {
                                err = -1;
                                fprintf(stderr, "%s.%s: missing required parameter %s\n", tid, fid, pid);
                                break;
index 3f2c0f3d43414065e6d11eb37057a85263fd9ca4..0c4c7ddac816d045d76ec4bd092a6b0fc7a2d263 100644 (file)
@@ -586,7 +586,7 @@ static void rna_def_action_groups(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Action_groups_new");
        RNA_def_function_ui_description(func, "Create a new action group and add it to the action");
        parm = RNA_def_string(func, "name", "Group", 0, "", "New name for the action group");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        parm = RNA_def_pointer(func, "action_group", "ActionGroup", "", "Newly created action group");
        RNA_def_function_return(func, parm);
@@ -596,8 +596,8 @@ static void rna_def_action_groups(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove action group");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "action_group", "ActionGroup", "", "Action group to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_action_fcurves(BlenderRNA *brna, PropertyRNA *cprop)
@@ -617,7 +617,7 @@ static void rna_def_action_fcurves(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add an F-Curve to the action");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_string(func, "data_path", NULL, 0, "Data Path", "F-Curve data path to use");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_int(func, "index", 0, 0, INT_MAX, "Index", "Array index", 0, INT_MAX);
        RNA_def_string(func, "action_group", NULL, 0, "Action Group", "Acton group to add this F-Curve into");
 
@@ -630,9 +630,8 @@ static void rna_def_action_fcurves(BlenderRNA *brna, PropertyRNA *cprop)
                                        "of all F-Curves in the action.");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_string(func, "data_path", NULL, 0, "Data Path", "F-Curve data path");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_int(func, "index", 0, 0, INT_MAX, "Index", "Array index", 0, INT_MAX);
-
        parm = RNA_def_pointer(func, "fcurve", "FCurve", "", "The found F-Curve, or None if it doesn't exist");
        RNA_def_function_return(func, parm);
 
@@ -641,8 +640,8 @@ static void rna_def_action_fcurves(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove action group");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "fcurve", "FCurve", "", "F-Curve to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_action_pose_markers(BlenderRNA *brna, PropertyRNA *cprop)
@@ -661,8 +660,7 @@ static void rna_def_action_pose_markers(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Action_pose_markers_new");
        RNA_def_function_ui_description(func, "Add a pose marker to the action");
        parm = RNA_def_string(func, "name", "Marker", 0, NULL, "New name for the marker (not unique)");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
-
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "marker", "TimelineMarker", "", "Newly created marker");
        RNA_def_function_return(func, parm);
 
@@ -670,8 +668,8 @@ static void rna_def_action_pose_markers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a timeline marker");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "marker", "TimelineMarker", "", "Timeline marker to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "TimelineMarker");
index 4a34961964d43898f882085c63cc2084a3d26435..23fdd8a1d5bd29d60801c5af0ccdf06993058ddc 100644 (file)
@@ -63,13 +63,13 @@ void RNA_api_actuator(StructRNA *srna)
        func = RNA_def_function(srna, "link", "rna_Actuator_link");
        RNA_def_function_ui_description(func, "Link the actuator to a controller");
        parm = RNA_def_pointer(func, "controller", "Controller", "", "Controller to link to");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_property_update(parm, NC_LOGIC, NULL);
 
        func = RNA_def_function(srna, "unlink", "rna_Actuator_unlink");
        RNA_def_function_ui_description(func, "Unlink the actuator from a controller");
        parm = RNA_def_pointer(func, "controller", "Controller", "", "Controller to unlink from");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_property_update(parm, NC_LOGIC, NULL);
 }
 
index cdbf7582fa738fabeb5abb7c9271369f599d1b65..9adbf5f6b2e73e7fe2de554a8dd2e0b6d5caf67c 100644 (file)
@@ -693,27 +693,27 @@ static void rna_def_keyingset_info(BlenderRNA *brna)
        RNA_def_function_flag(func, FUNC_REGISTER);
        RNA_def_function_return(func, RNA_def_boolean(func, "ok", 1, "", ""));
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        
        /* iterator */
        func = RNA_def_function(srna, "iterator", NULL);
        RNA_def_function_ui_description(func, "Call generate() on the structs which have properties to be keyframed");
        RNA_def_function_flag(func, FUNC_REGISTER);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "ks", "KeyingSet", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        
        /* generate */
        func = RNA_def_function(srna, "generate", NULL);
        RNA_def_function_ui_description(func, "Add Paths to the Keying Set to keyframe the properties of the given data");
        RNA_def_function_flag(func, FUNC_REGISTER);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "ks", "KeyingSet", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "data", "AnyType", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_RNAPTR | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
 }
 
 static void rna_def_keyingset_path(BlenderRNA *brna)
@@ -807,11 +807,11 @@ static void rna_def_keyingset_paths(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_return(func, parm);
        /* ID-block for target */
        parm = RNA_def_pointer(func, "target_id", "ID", "Target ID", "ID data-block for the destination");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* rna-path */
        /* XXX hopefully this is long enough */
        parm = RNA_def_string(func, "data_path", NULL, 256, "Data-Path", "RNA-Path to destination property");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* index (defaults to -1 for entire array) */
        RNA_def_int(func, "index", -1, -1, INT_MAX, "Index",
                    "The index of the destination property (i.e. axis of Location/Rotation/etc.), "
@@ -829,8 +829,8 @@ static void rna_def_keyingset_paths(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        /* path to remove */
        parm = RNA_def_pointer(func, "path", "KeyingSetPath", "Path", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
 
        /* Remove All Paths */
@@ -939,8 +939,8 @@ static void rna_api_animdata_nla_tracks(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_CONTEXT);
        RNA_def_function_ui_description(func, "Remove a NLA Track");
        parm = RNA_def_pointer(func, "track", "NlaTrack", "", "NLA Track to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "NlaTrack");
@@ -979,7 +979,7 @@ static void rna_api_animdata_drivers(BlenderRNA *brna, PropertyRNA *cprop)
                                        "of all driver F-Curves.");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_string(func, "data_path", NULL, 0, "Data Path", "F-Curve data path");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_int(func, "index", 0, 0, INT_MAX, "Index", "Array index", 0, INT_MAX);
        /* return type */
        parm = RNA_def_pointer(func, "fcurve", "FCurve", "", "The found F-Curve, or None if it doesn't exist");
index 5c7f51516cb61e1e43bcf6cd94eeaacd5f8de18d..07d295c8bbc4f0eb17f25653894037e4b380e692 100644 (file)
@@ -948,8 +948,7 @@ static void rna_def_armature_edit_bones(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Add a new bone");
        parm = RNA_def_string(func, "name", "Object", 0, "", "New name for the bone");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
-
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "bone", "EditBone", "", "Newly created edit bone");
        RNA_def_function_return(func, parm);
@@ -960,16 +959,18 @@ static void rna_def_armature_edit_bones(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove an existing bone from the armature");
        /* target to remove*/
        parm = RNA_def_pointer(func, "bone", "EditBone", "", "EditBone to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_armature(BlenderRNA *brna)
 {
        StructRNA *srna;
-       FunctionRNA *func;
        PropertyRNA *prop;
-       
+
+       FunctionRNA *func;
+       PropertyRNA *parm;
+
        static EnumPropertyItem prop_drawtype_items[] = {
                {ARM_OCTA, "OCTAHEDRAL", 0, "Octahedral", "Display bones as octahedral shape (default)"},
                {ARM_LINE, "STICK", 0, "Stick", "Display bones as simple 2D lines with dots"},
@@ -1005,8 +1006,8 @@ static void rna_def_armature(BlenderRNA *brna)
 
        func = RNA_def_function(srna, "transform", "rna_Armature_transform");
        RNA_def_function_ui_description(func, "Transform armature bones by a matrix");
-       prop = RNA_def_float_matrix(func, "matrix", 4, 4, NULL, 0.0f, 0.0f, "", "Matrix", 0.0f, 0.0f);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_float_matrix(func, "matrix", 4, 4, NULL, 0.0f, 0.0f, "", "Matrix", 0.0f, 0.0f);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        /* Animation Data */
        rna_def_animdata_common(srna);
index 1a4a9492543b74845b540094489eb5a80c43da1f..0616331bc0525bf6536d04f481b4de274171c6d7 100644 (file)
@@ -67,7 +67,7 @@ void RNA_api_armature_edit_bone(StructRNA *srna)
        RNA_def_function_ui_description(func, "Align the bone to a localspace roll so the Z axis "
                                        "points in the direction of the vector given");
        parm = RNA_def_float_vector(func, "vector", 3, NULL, -FLT_MAX, FLT_MAX, "Vector", "", -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 void RNA_api_bone(StructRNA *srna)
@@ -79,7 +79,7 @@ void RNA_api_bone(StructRNA *srna)
        RNA_def_function_ui_description(func, "Calculate bone envelope at given point");
        parm = RNA_def_float_vector_xyz(func, "point", 3, NULL, -FLT_MAX, FLT_MAX, "Point",
                                        "Position in 3d space to evaluate", -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return value */
        parm = RNA_def_float(func, "factor", 0, -FLT_MAX, FLT_MAX, "Factor", "Envelope factor", -FLT_MAX, FLT_MAX);
        RNA_def_function_return(func, parm);
index 24f2d8174af978334ca52a9d2753e252d2e92caf..d3cd3d12c4d065fdaae2745d8de1289ddd8ebb85 100644 (file)
@@ -727,9 +727,9 @@ static void rna_def_curvemap_points_api(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "curvemap_insert");
        RNA_def_function_ui_description(func, "Add point to CurveMap");
        parm = RNA_def_float(func, "position", 0.0f, -FLT_MAX, FLT_MAX, "Position", "Position to add point", -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_float(func, "value", 0.0f, -FLT_MAX, FLT_MAX, "Value", "Value of point", -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "point", "CurveMapPoint", "", "New point");
        RNA_def_function_return(func, parm);
 
@@ -737,8 +737,8 @@ static void rna_def_curvemap_points_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Delete point from CurveMap");
        parm = RNA_def_pointer(func, "point", "CurveMapPoint", "", "PointElement to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_curvemap(BlenderRNA *brna)
@@ -771,7 +771,7 @@ static void rna_def_curvemap(BlenderRNA *brna)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Evaluate curve at given location");
        parm = RNA_def_float(func, "position", 0.0f, -FLT_MAX, FLT_MAX, "Position", "Position to evaluate curve at", -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_float(func, "value", 0.0f, -FLT_MAX, FLT_MAX, "Value", "Value of curve at given location", -FLT_MAX, FLT_MAX);
        RNA_def_function_return(func, parm);
 }
@@ -889,7 +889,7 @@ static void rna_def_color_ramp_element_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add element to ColorRamp");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_float(func, "position", 0.0f, 0.0f, 1.0f, "Position", "Position to add element", 0.0f, 1.0f);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "element", "ColorRampElement", "", "New element");
        RNA_def_function_return(func, parm);
@@ -898,15 +898,17 @@ static void rna_def_color_ramp_element_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Delete element from ColorRamp");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "element", "ColorRampElement", "", "Element to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_color_ramp(BlenderRNA *brna)
 {
        StructRNA *srna;
        PropertyRNA *prop;
+
        FunctionRNA *func;
+       PropertyRNA *parm;
 
        static EnumPropertyItem prop_interpolation_items[] = {
                {COLBAND_INTERP_EASE, "EASE", 0, "Ease", ""},
@@ -974,13 +976,13 @@ static void rna_def_color_ramp(BlenderRNA *brna)
        
        func = RNA_def_function(srna, "evaluate", "rna_ColorRamp_eval");
        RNA_def_function_ui_description(func, "Evaluate ColorRamp");
-       prop = RNA_def_float(func, "position", 1.0f, 0.0f, 1.0f, "Position", "Evaluate ColorRamp at position", 0.0f, 1.0f);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_float(func, "position", 1.0f, 0.0f, 1.0f, "Position", "Evaluate ColorRamp at position", 0.0f, 1.0f);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return */
-       prop = RNA_def_float_color(func, "color", 4, NULL, -FLT_MAX, FLT_MAX, "Color", "Color at given position",
+       parm = RNA_def_float_color(func, "color", 4, NULL, -FLT_MAX, FLT_MAX, "Color", "Color at given position",
                                   -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(prop, PROP_THICK_WRAP);
-       RNA_def_function_output(func, prop);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
+       RNA_def_function_output(func, parm);
 }
 
 static void rna_def_histogram(BlenderRNA *brna)
index 22e459647420afa73000e029b33d4d41010c39a0..7787533d311d8d68cecae51503fdcfa6eefb2ac0 100644 (file)
@@ -1257,8 +1257,8 @@ static void rna_def_curve_spline_points(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a spline from a curve");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "spline", "Spline", "", "The spline to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 #endif
 }
 
@@ -1285,8 +1285,8 @@ static void rna_def_curve_spline_bezpoints(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a spline from a curve");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "spline", "Spline", "", "The spline to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 #endif
 }
 
@@ -1307,7 +1307,7 @@ static void rna_def_curve_splines(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Curve_spline_new");
        RNA_def_function_ui_description(func, "Add a new spline to the curve");
        parm = RNA_def_enum(func, "type", curve_type_items, CU_POLY, "", "type for the new spline");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "spline", "Spline", "", "The newly created spline");
        RNA_def_function_return(func, parm);
 
@@ -1315,8 +1315,8 @@ static void rna_def_curve_splines(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a spline from a curve");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "spline", "Spline", "", "The spline to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        func = RNA_def_function(srna, "clear", "rna_Curve_spline_clear");
        RNA_def_function_ui_description(func, "Remove all splines from a curve");
index e85511f08e93f5f69ecc489a72177d5a1260926f..b4b3aa84ec57e03743c17168dc4eea0d87a3145a 100644 (file)
@@ -59,7 +59,7 @@ void RNA_api_curve(StructRNA *srna)
        func = RNA_def_function(srna, "transform", "rna_Curve_transform");
        RNA_def_function_ui_description(func, "Transform curve by a matrix");
        parm = RNA_def_float_matrix(func, "matrix", 4, 4, NULL, 0.0f, 0.0f, "", "Matrix", 0.0f, 0.0f);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "shape_keys", 0, "", "Transform Shape Keys");
 
        func = RNA_def_function(srna, "validate_material_indices", "BKE_curve_material_index_validate");
index 7ff4eaea1697d58a8ff8a4a5c431cecc28925bc0..dc97d39052b4f90257de06b9a466f4efb222e42e 100644 (file)
@@ -618,7 +618,7 @@ void RNA_struct_free(BlenderRNA *brna, StructRNA *srna)
 
                RNA_def_property_free_pointers(prop);
 
-               if (prop->flag & PROP_RUNTIME)
+               if (prop->flag_internal & PROP_INTERN_RUNTIME)
                        rna_freelinkN(&srna->cont.properties, prop);
        }
 
@@ -630,7 +630,7 @@ void RNA_struct_free(BlenderRNA *brna, StructRNA *srna)
 
                        RNA_def_property_free_pointers(parm);
 
-                       if (parm->flag & PROP_RUNTIME)
+                       if (parm->flag_internal & PROP_INTERN_RUNTIME)
                                rna_freelinkN(&func->cont.properties, parm);
                }
 
@@ -771,7 +771,7 @@ StructRNA *RNA_def_struct_ptr(BlenderRNA *brna, const char *identifier, StructRN
        else {
                /* define some builtin properties */
                prop = RNA_def_property(&srna->cont, "rna_properties", PROP_COLLECTION, PROP_NONE);
-               RNA_def_property_flag(prop, PROP_BUILTIN);
+               prop->flag_internal |= PROP_INTERN_BUILTIN;
                RNA_def_property_ui_text(prop, "Properties", "RNA property collection");
 
                if (DefRNA.preprocess) {
@@ -1097,7 +1097,7 @@ PropertyRNA *RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier
                        break;
                }
                case PROP_POINTER:
-                       prop->flag |= PROP_THICK_WRAP;  /* needed for default behavior when PROP_RNAPTR is set */
+                       prop->flag |= PROP_THICK_WRAP;  /* needed for default behavior when PARM_RNAPTR is set */
                        break;
                case PROP_ENUM:
                case PROP_COLLECTION:
@@ -1189,7 +1189,8 @@ PropertyRNA *RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier
                }
        }
        else {
-               prop->flag |= PROP_IDPROPERTY | PROP_RUNTIME;
+               prop->flag |= PROP_IDPROPERTY;
+               prop->flag_internal |= PROP_INTERN_RUNTIME;
 #ifdef RNA_RUNTIME
                if (cont->prophash)
                        BLI_ghash_insert(cont->prophash, (void *)prop->identifier, prop);
@@ -1201,16 +1202,28 @@ PropertyRNA *RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier
        return prop;
 }
 
-void RNA_def_property_flag(PropertyRNA *prop, int flag)
+void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
 {
        prop->flag |= flag;
 }
 
-void RNA_def_property_clear_flag(PropertyRNA *prop, int flag)
+void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
 {
        prop->flag &= ~flag;
 }
 
+void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
+{
+       prop->flag |= flag_property;
+       prop->flag_parameter |= flag_parameter;
+}
+
+void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
+{
+       prop->flag &= ~flag_property;
+       prop->flag_parameter &= ~flag_parameter;
+}
+
 void RNA_def_property_subtype(PropertyRNA *prop, PropertySubType subtype)
 {
        prop->subtype = subtype;
@@ -3097,7 +3110,7 @@ void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
 
 void RNA_def_function_output(FunctionRNA *UNUSED(func), PropertyRNA *ret)
 {
-       ret->flag |= PROP_OUTPUT;
+       ret->flag_parameter |= PARM_OUTPUT;
 }
 
 void RNA_def_function_flag(FunctionRNA *func, int flag)
@@ -3149,7 +3162,7 @@ int rna_parameter_size(PropertyRNA *parm)
                        case PROP_POINTER:
                        {
 #ifdef RNA_RUNTIME
-                               if (parm->flag & PROP_RNAPTR)
+                               if (parm->flag_parameter & PARM_RNAPTR)
                                        if (parm->flag & PROP_THICK_WRAP) {
                                                return sizeof(PointerRNA);
                                        }
@@ -3159,7 +3172,7 @@ int rna_parameter_size(PropertyRNA *parm)
                                else
                                        return sizeof(void *);
 #else
-                               if (parm->flag & PROP_RNAPTR) {
+                               if (parm->flag_parameter & PARM_RNAPTR) {
                                        if (parm->flag & PROP_THICK_WRAP) {
                                                return sizeof(PointerRNA);
                                        }
@@ -3357,12 +3370,12 @@ void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA
                        break;
        }
 
-       prop->flag |= PROP_FREE_POINTERS;
+       prop->flag_internal |= PROP_INTERN_FREE_POINTERS;
 }
 
 void RNA_def_property_free_pointers(PropertyRNA *prop)
 {
-       if (prop->flag & PROP_FREE_POINTERS) {
+       if (prop->flag_internal & PROP_INTERN_FREE_POINTERS) {
                int a;
 
                if (prop->identifier)
@@ -3429,7 +3442,7 @@ static void rna_def_property_free(StructOrFunctionRNA *cont_, PropertyRNA *prop)
 {
        ContainerRNA *cont = cont_;
        
-       if (prop->flag & PROP_RUNTIME) {
+       if (prop->flag_internal & PROP_INTERN_RUNTIME) {
                if (cont->prophash)
                        BLI_ghash_remove(cont->prophash, prop->identifier, NULL, NULL);
 
@@ -3449,7 +3462,7 @@ int RNA_def_property_free_identifier(StructOrFunctionRNA *cont_, const char *ide
        
        for (prop = cont->properties.first; prop; prop = prop->next) {
                if (STREQ(prop->identifier, identifier)) {
-                       if (prop->flag & PROP_RUNTIME) {
+                       if (prop->flag_internal & PROP_INTERN_RUNTIME) {
                                rna_def_property_free(cont_, prop);
                                return 1;
                        }
@@ -3460,7 +3473,7 @@ int RNA_def_property_free_identifier(StructOrFunctionRNA *cont_, const char *ide
        }
        return 0;
 }
-#endif
+#endif  /* RNA_RUNTIME */
 
 const char *RNA_property_typename(PropertyType type)
 {
index 8ac1e2acc60ef6754d7cb212937514296dadc836..b0e02a4eeb01ce1e3e2c253da81ad82886c302ed 100644 (file)
@@ -93,11 +93,11 @@ static void rna_def_depsgraph(BlenderRNA *brna)
        func = RNA_def_function(srna, "debug_graphviz", "rna_Depsgraph_debug_graphviz");
        parm = RNA_def_string_file_path(func, "filename", NULL, FILE_MAX, "File Name",
                                        "File in which to store graphviz debug output");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "debug_rebuild", "rna_Depsgraph_debug_rebuild");
        RNA_def_function_flag(func, FUNC_USE_MAIN);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        
        func = RNA_def_function(srna, "debug_stats", "rna_Depsgraph_debug_stats");
        RNA_def_function_ui_description(func, "Report the number of elements in the Dependency Graph");
index fc2b028e82985b8a78ddd7584e50f92e6aba0c63..4bb7f3a9ffdcaec8ae4edbc1b64a3e1657775f52 100644 (file)
@@ -651,9 +651,9 @@ static void rna_def_canvas_surface(BlenderRNA *brna)
        func = RNA_def_function(srna, "output_exists", "rna_DynamicPaint_is_output_exists");
        RNA_def_function_ui_description(func, "Checks if surface output layer of given name exists");
        parm = RNA_def_pointer(func, "object", "Object", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_int(func, "index", 0, 0, 1, "Index", "", 0, 1);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_boolean(func, "exists", 0, "", "");
        RNA_def_function_return(func, parm);
index 1d3b65bb7bae57258cdcfb5e75644f6ea631ba86..4acdee490b89be63a313ba069eb82b598b2641dd 100644 (file)
@@ -1029,7 +1029,7 @@ static void rna_def_fmodifier_envelope_control_points(BlenderRNA *brna, Property
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_float(func, "frame", 0.0f, -FLT_MAX, FLT_MAX, "",
                             "Frame to add this control-point", -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "point", "FModifierEnvelopeControlPoint", "", "Newly created control-point");
        RNA_def_function_return(func, parm);
 
@@ -1037,7 +1037,7 @@ static void rna_def_fmodifier_envelope_control_points(BlenderRNA *brna, Property
        RNA_def_function_ui_description(func, "Remove a control-point from an FModifierEnvelope");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "point", "FModifierEnvelopeControlPoint", "", "Control-point to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
 }
 
 
@@ -1554,8 +1554,8 @@ static void rna_def_channeldriver_variables(BlenderRNA *brna, PropertyRNA *cprop
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        /* target to remove */
        parm = RNA_def_pointer(func, "variable", "DriverVariable", "", "Variable to remove from the driver");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_channeldriver(BlenderRNA *brna)
@@ -1774,15 +1774,15 @@ static void rna_def_fcurve_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_return(func, parm);
        /* object to add */
        parm = RNA_def_enum(func, "type", rna_enum_fmodifier_type_items, 1, "", "Constraint type to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "remove", "rna_FCurve_modifiers_remove");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a modifier from this F-Curve");
        /* modifier to remove */
        parm = RNA_def_pointer(func, "modifier", "FModifier", "", "Removed modifier");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 /* fcurve.keyframe_points */
@@ -1809,14 +1809,13 @@ static void rna_def_fcurve_keyframe_points(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a keyframe point to a F-Curve");
        parm = RNA_def_float(func, "frame", 0.0f, -FLT_MAX, FLT_MAX, "",
                             "X Value of this keyframe point", -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_float(func, "value", 0.0f, -FLT_MAX, FLT_MAX, "",
                             "Y Value of this keyframe point", -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_enum_flag(func, "options", keyframe_flag_items, 0, "", "Keyframe options");
        RNA_def_enum(func, "keyframe_type", rna_enum_beztriple_keyframe_type_items, BEZT_KEYTYPE_KEYFRAME, "",
                     "Type of keyframe to insert");
-
        parm = RNA_def_pointer(func, "keyframe", "Keyframe", "", "Newly created keyframe");
        RNA_def_function_return(func, parm);
 
@@ -1828,8 +1827,8 @@ static void rna_def_fcurve_keyframe_points(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove keyframe from an F-Curve");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "keyframe", "Keyframe", "", "Keyframe to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        /* optional */
        RNA_def_boolean(func, "fast", 0, "Fast", "Fast keyframe removal to avoid recalculating the curve each time");
 }
@@ -1961,7 +1960,7 @@ static void rna_def_fcurve(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Evaluate F-Curve");
        parm = RNA_def_float(func, "frame", 1.0f, -FLT_MAX, FLT_MAX, "Frame",
                             "Evaluate F-Curve at given frame", -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return value */
        parm = RNA_def_float(func, "value", 0, -FLT_MAX, FLT_MAX, "Value", "Value of F-Curve specific frame", -FLT_MAX, FLT_MAX);
        RNA_def_function_return(func, parm);
@@ -1976,7 +1975,7 @@ static void rna_def_fcurve(BlenderRNA *brna)
        /* return value */
        parm = RNA_def_float_vector(func, "range", 2, NULL, -FLT_MAX, FLT_MAX, "Range",
                                    "Min/Max values", -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_function_output(func, parm);
        
        /* -- auto-flag validity (ensures valid handling for data type) -- */
@@ -1986,7 +1985,7 @@ static void rna_def_fcurve(BlenderRNA *brna)
        RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "data", "AnyType", "Data",
                               "Data containing the property controlled by given FCurve");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_RNAPTR | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
 
 
        /* Functions */
index 8551ca609f416676c8058e63b40c7e6620f06455..d8ed908f2dfedb8884719a684e654564dedbaa3e 100644 (file)
@@ -144,9 +144,9 @@ void RNA_api_fcurves(StructRNA *srna)
                                        "Convert current FCurve from keyframes to sample points, if necessary");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_int(func, "start", 0, MINAFRAME, MAXFRAME, "Start Frame", "", MINAFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "end", 0, MINAFRAME, MAXFRAME, "End Frame", "", MINAFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "convert_to_keyframes", "rna_FCurve_convert_to_keyframes");
        RNA_def_function_ui_description(func,
@@ -154,9 +154,9 @@ void RNA_api_fcurves(StructRNA *srna)
                                        "if necessary");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_int(func, "start", 0, MINAFRAME, MAXFRAME, "Start Frame", "", MINAFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "end", 0, MINAFRAME, MAXFRAME, "End Frame", "", MINAFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 void RNA_api_drivers(StructRNA *UNUSED(srna))
index 16aa60e1b9106f67a7a67e2b08f8ee06a2ffc795..69ee671901ab83fb6c64248b91574fd2a33318b2 100644 (file)
@@ -1051,8 +1051,8 @@ static void rna_def_gpencil_strokes_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a grease pencil stroke");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "stroke", "GPencilStroke", "Stroke", "The stroke to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_gpencil_frame(BlenderRNA *brna)
@@ -1112,7 +1112,7 @@ static void rna_def_gpencil_frames_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_int(func, "frame_number", 1, MINAFRAME, MAXFRAME, "Frame Number",
                           "The frame on which this sketch appears", MINAFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "frame", "GPencilFrame", "", "The newly created frame");
        RNA_def_function_return(func, parm);
 
@@ -1120,13 +1120,13 @@ static void rna_def_gpencil_frames_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a grease pencil frame");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "frame", "GPencilFrame", "Frame", "The frame to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        func = RNA_def_function(srna, "copy", "rna_GPencil_frame_copy");
        RNA_def_function_ui_description(func, "Copy a grease pencil frame");
        parm = RNA_def_pointer(func, "source", "GPencilFrame", "Source", "The source frame");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "copy", "GPencilFrame", "", "The newly copied frame");
        RNA_def_function_return(func, parm);
 }
@@ -1353,7 +1353,7 @@ static void rna_def_gpencil_layers_api(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_GPencil_layer_new");
        RNA_def_function_ui_description(func, "Add a new grease pencil layer");
        parm = RNA_def_string(func, "name", "GPencilLayer", MAX_NAME, "Name", "Name of the layer");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "set_active", true, "Set Active", "Set the newly created layer to the active layer");
        parm = RNA_def_pointer(func, "layer", "GPencilLayer", "", "The newly created layer");
        RNA_def_function_return(func, parm);
@@ -1362,8 +1362,8 @@ static void rna_def_gpencil_layers_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a grease pencil layer");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "layer", "GPencilLayer", "", "The layer to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "GPencilLayer");
@@ -1495,8 +1495,8 @@ static void rna_def_gpencil_palettecolors_api(BlenderRNA *brna, PropertyRNA *cpr
        RNA_def_function_ui_description(func, "Remove a color from the palette");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "color", "GPencilPaletteColor", "", "The color to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "GPencilPaletteColor");
@@ -1556,7 +1556,7 @@ static void rna_def_gpencil_palettes_api(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_GPencil_palette_new");
        RNA_def_function_ui_description(func, "Add a new grease pencil palette");
        parm = RNA_def_string(func, "name", "GPencilPalette", MAX_NAME, "Name", "Name of the palette");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "set_active", true, "Set Active", "Activate the newly created palette");
        parm = RNA_def_pointer(func, "palette", "GPencilPalette", "", "The newly created palette");
        RNA_def_function_return(func, parm);
@@ -1565,8 +1565,8 @@ static void rna_def_gpencil_palettes_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a grease pencil palette");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "palette", "GPencilPalette", "", "The palette to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "GPencilPalette");
index 47bee589615bbf5cd8f6b93f61f005eaaf3496b7..aa02a3c159dc8578bb49a9a222d2831fc03881b9 100644 (file)
@@ -95,7 +95,7 @@ static void rna_def_group_objects(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add this object to a group");
        /* object to add */
        parm = RNA_def_pointer(func, "object", "Object", "", "Object to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        /* remove object */
        func = RNA_def_function(srna, "unlink", "rna_Group_objects_unlink");
@@ -103,7 +103,7 @@ static void rna_def_group_objects(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
        /* object to remove */
        parm = RNA_def_pointer(func, "object", "Object", "", "Object to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 
index 6530e0938f62822372e4173ec8da828d8e1420fc..344c1781b46be53460fb1c7e382819c620550ce8 100644 (file)
@@ -314,7 +314,7 @@ void RNA_api_image(StructRNA *srna)
        RNA_def_function_ui_description(func, "Save image to a specific path using a scenes render settings");
        RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
        parm = RNA_def_string_file_path(func, "filepath", NULL, 0, "", "Save path");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_pointer(func, "scene", "Scene", "", "Scene to take image parameters from");
 
        func = RNA_def_function(srna, "save", "rna_Image_save");
@@ -346,9 +346,9 @@ void RNA_api_image(StructRNA *srna)
        RNA_def_function_ui_description(func, "Scale the image in pixels");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_int(func, "width", 1, 1, 10000, "", "Width", 1, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "height", 1, 1, 10000, "", "Height", 1, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "gl_touch", "rna_Image_gl_touch");
        RNA_def_function_ui_description(func, "Delay the image from being cleaned from the cache due inactivity");
@@ -372,7 +372,6 @@ void RNA_api_image(StructRNA *srna)
                    "The texture minifying function", -INT_MAX, INT_MAX);
        RNA_def_int(func, "mag", GL_LINEAR, -INT_MAX, INT_MAX, "Magnification",
                    "The texture magnification function", -INT_MAX, INT_MAX);
-
        /* return value */
        parm = RNA_def_int(func, "error", 0, -INT_MAX, INT_MAX, "Error", "OpenGL error value", -INT_MAX, INT_MAX);
        RNA_def_function_return(func, parm);
@@ -386,7 +385,7 @@ void RNA_api_image(StructRNA *srna)
        RNA_def_pointer(func, "image_user", "ImageUser", "", "Image user of the image to get filepath for");
        parm = RNA_def_string_file_path(func, "filepath", NULL, FILE_MAX, "File Path",
                                        "The resulting filepath from the image and it's user");
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);  /* needed for string return value */
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);  /* needed for string return value */
        RNA_def_function_output(func, parm);
 
        func = RNA_def_function(srna, "buffers_free", "rna_Image_buffers_free");
index 04b85b8997eb6aee2cc2db6929c9a4dceb388ee0..fce81e6967eff8448a691ccb83bce0b1fbac1f33 100644 (file)
@@ -162,6 +162,10 @@ struct PropertyRNA {
        const char *identifier;
        /* various options */
        int flag;
+       /* Function parameters flags. */
+       short flag_parameter;
+       /* Internal ("private") flags. */
+       short flag_internal;
 
        /* user readable name */
        const char *name;
@@ -183,7 +187,7 @@ struct PropertyRNA {
        /* array lengths lengths for all dimensions (when arraydimension > 0) */
        unsigned int arraylength[RNA_MAX_ARRAY_DIMENSION];
        unsigned int totarraylength;
-       
+
        /* callback for updates on change */
        UpdateFunc update;
        int noteflag;
@@ -209,6 +213,15 @@ struct PropertyRNA {
        void *py_data;
 };
 
+/* internal flags WARNING! 16bits only! */
+typedef enum PropertyFlagIntern {
+       PROP_INTERN_BUILTIN                 = (1 << 0),
+       PROP_INTERN_RUNTIME                 = (1 << 1),
+       PROP_INTERN_RAW_ACCESS              = (1 << 2),
+       PROP_INTERN_RAW_ARRAY               = (1 << 3),
+       PROP_INTERN_FREE_POINTERS           = (1 << 4),
+} PropertyFlagIntern;
+
 /* Property Types */
 
 typedef struct BoolPropertyRNA {
@@ -347,7 +360,7 @@ struct StructRNA {
         * which is useful for subclassing RNA */
        void *py_type;
        void *blender_type;
-       
+
        /* various options */
        int flag;
 
@@ -359,7 +372,7 @@ struct StructRNA {
        const char *translation_context;
        /* icon ID */
        int icon;
-       
+
        /* property that defines the name */
        PropertyRNA *nameproperty;
 
index f20e8fb8ed4b33e87f82e9db277856468d198698..2d66998648534ca68587854bb3720210f2d2d67b 100644 (file)
@@ -748,7 +748,7 @@ static void rna_def_keyblock(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Compute local space vertices' normals for this shape key");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_property(func, "normals", PROP_FLOAT, /* PROP_DIRECTION */ PROP_NONE);
-       RNA_def_property_flag(parm, PROP_DYNAMIC | PROP_OUTPUT);
+       RNA_def_parameter_flags(parm, PROP_DYNAMIC, PARM_OUTPUT);
        RNA_def_property_multi_array(parm, 2, NULL);
        RNA_def_property_range(parm, -1.0f, 1.0f);
        RNA_def_property_dynamic_array_funcs(parm, "rna_KeyBlock_normals_vert_len");
@@ -757,7 +757,7 @@ static void rna_def_keyblock(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Compute local space faces' normals for this shape key");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_property(func, "normals", PROP_FLOAT, /* PROP_DIRECTION */ PROP_NONE);
-       RNA_def_property_flag(parm, PROP_DYNAMIC | PROP_OUTPUT);
+       RNA_def_parameter_flags(parm, PROP_DYNAMIC, PARM_OUTPUT);
        RNA_def_property_multi_array(parm, 2, NULL);
        RNA_def_property_range(parm, -1.0f, 1.0f);
        RNA_def_property_dynamic_array_funcs(parm, "rna_KeyBlock_normals_poly_len");
@@ -766,7 +766,7 @@ static void rna_def_keyblock(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Compute local space face corners' normals for this shape key");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_property(func, "normals", PROP_FLOAT, /* PROP_DIRECTION */ PROP_NONE);
-       RNA_def_property_flag(parm, PROP_DYNAMIC | PROP_OUTPUT);
+       RNA_def_parameter_flags(parm, PROP_DYNAMIC, PARM_OUTPUT);
        RNA_def_property_multi_array(parm, 2, NULL);
        RNA_def_property_range(parm, -1.0f, 1.0f);
        RNA_def_property_dynamic_array_funcs(parm, "rna_KeyBlock_normals_loop_len");
index ed0489db1a28ff33eecb0721ac638e4297c961c5..2ea59d31262de1e047fef01c72cafb9bd22244db 100644 (file)
@@ -57,7 +57,7 @@ void RNA_api_lattice(StructRNA *srna)
        func = RNA_def_function(srna, "transform", "rna_Lattice_transform");
        RNA_def_function_ui_description(func, "Transform lattice by a matrix");
        parm = RNA_def_float_matrix(func, "matrix", 4, 4, NULL, 0.0f, 0.0f, "", "Matrix", 0.0f, 0.0f);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "shape_keys", 0, "", "Transform Shape Keys");
 }
 
index 9b28009d161a0a00dc7ee3c5f4b8fb3602334698..622c61beaeb9fda75bf96ebb28d2522dc98e5e62 100644 (file)
@@ -1447,9 +1447,9 @@ static void rna_def_freestyle_color_modifiers(BlenderRNA *brna, PropertyRNA *cpr
        RNA_def_function_ui_description(func, "Add a color modifier to line style");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_string(func, "name", "ColorModifier", 0, "", "New name for the color modifier (not unique)");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "type", rna_enum_linestyle_color_modifier_type_items, 0, "", "Color modifier type to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "modifier", "LineStyleColorModifier", "", "Newly added color modifier");
        RNA_def_function_return(func, parm);
 
@@ -1457,8 +1457,8 @@ static void rna_def_freestyle_color_modifiers(BlenderRNA *brna, PropertyRNA *cpr
        RNA_def_function_ui_description(func, "Remove a color modifier from line style");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "modifier", "LineStyleColorModifier", "", "Color modifier to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_freestyle_alpha_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
@@ -1476,9 +1476,9 @@ static void rna_def_freestyle_alpha_modifiers(BlenderRNA *brna, PropertyRNA *cpr
        RNA_def_function_ui_description(func, "Add a alpha modifier to line style");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_string(func, "name", "AlphaModifier", 0, "", "New name for the alpha modifier (not unique)");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "type", rna_enum_linestyle_alpha_modifier_type_items, 0, "", "Alpha modifier type to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "modifier", "LineStyleAlphaModifier", "", "Newly added alpha modifier");
        RNA_def_function_return(func, parm);
 
@@ -1486,8 +1486,8 @@ static void rna_def_freestyle_alpha_modifiers(BlenderRNA *brna, PropertyRNA *cpr
        RNA_def_function_ui_description(func, "Remove a alpha modifier from line style");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "modifier", "LineStyleAlphaModifier", "", "Alpha modifier to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_freestyle_thickness_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
@@ -1505,10 +1505,10 @@ static void rna_def_freestyle_thickness_modifiers(BlenderRNA *brna, PropertyRNA
        RNA_def_function_ui_description(func, "Add a thickness modifier to line style");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_string(func, "name", "ThicknessModifier", 0, "", "New name for the thickness modifier (not unique)");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "type", rna_enum_linestyle_thickness_modifier_type_items, 0,
                            "", "Thickness modifier type to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "modifier", "LineStyleThicknessModifier", "", "Newly added thickness modifier");
        RNA_def_function_return(func, parm);
 
@@ -1516,8 +1516,8 @@ static void rna_def_freestyle_thickness_modifiers(BlenderRNA *brna, PropertyRNA
        RNA_def_function_ui_description(func, "Remove a thickness modifier from line style");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "modifier", "LineStyleThicknessModifier", "", "Thickness modifier to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_freestyle_geometry_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
@@ -1535,10 +1535,10 @@ static void rna_def_freestyle_geometry_modifiers(BlenderRNA *brna, PropertyRNA *
        RNA_def_function_ui_description(func, "Add a geometry modifier to line style");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_string(func, "name", "GeometryModifier", 0, "", "New name for the geometry modifier (not unique)");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "type", rna_enum_linestyle_geometry_modifier_type_items, 0,
                            "", "Geometry modifier type to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "modifier", "LineStyleGeometryModifier", "", "Newly added geometry modifier");
        RNA_def_function_return(func, parm);
 
@@ -1546,8 +1546,8 @@ static void rna_def_freestyle_geometry_modifiers(BlenderRNA *brna, PropertyRNA *
        RNA_def_function_ui_description(func, "Remove a geometry modifier from line style");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "modifier", "LineStyleGeometryModifier", "", "Geometry modifier to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_linestyle(BlenderRNA *brna)
index 594c1752328d1f73d095e6198819d48b07d7ca8e..cecdb6bad51dc39b379a68611f7dfe45e76e131a 100644 (file)
@@ -553,7 +553,7 @@ void RNA_api_main(StructRNA *UNUSED(srna))
        func = RNA_def_function(srna, "add_image", "rna_Main_add_image");
        RNA_def_function_ui_description(func, "Add a new image");
        parm = RNA_def_string_file_path(func, "filepath", NULL, 0, "", "File path to load image from");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "image", "Image", "", "New image");
        RNA_def_function_return(func, parm);
 #endif
@@ -574,7 +574,7 @@ void RNA_def_main_cameras(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_cameras_new");
        RNA_def_function_ui_description(func, "Add a new camera to the main database");
        parm = RNA_def_string(func, "name", "Camera", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "camera", "Camera", "", "New camera data-block");
        RNA_def_function_return(func, parm);
@@ -583,15 +583,15 @@ void RNA_def_main_cameras(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a camera from the current blendfile");
        parm = RNA_def_pointer(func, "camera", "Camera", "", "Camera to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "",
                        "Unlink all usages of this camera before deleting it "
                        "(WARNING: will also delete objects instancing that camera data)");
 
        func = RNA_def_function(srna, "tag", "rna_Main_cameras_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -613,7 +613,7 @@ void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_scenes_new");
        RNA_def_function_ui_description(func, "Add a new scene to the main database");
        parm = RNA_def_string(func, "name", "Scene", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "scene", "Scene", "", "New scene data-block");
        RNA_def_function_return(func, parm);
@@ -622,13 +622,13 @@ void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a scene from the current blendfile");
        parm = RNA_def_pointer(func, "scene", "Scene", "", "Scene to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this scene before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_scenes_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -651,9 +651,9 @@ void RNA_def_main_objects(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Add a new object to the main database");
        parm = RNA_def_string(func, "name", "Object", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "object_data", "ID", "", "Object data or None for an empty object");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        /* return type */
        parm = RNA_def_pointer(func, "object", "Object", "", "New object data-block");
@@ -663,13 +663,13 @@ void RNA_def_main_objects(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a object from the current blendfile");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "object", "Object", "", "Object to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this object before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_objects_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -691,7 +691,7 @@ void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_materials_new");
        RNA_def_function_ui_description(func, "Add a new material to the main database");
        parm = RNA_def_string(func, "name", "Material", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "material", "Material", "", "New material data-block");
        RNA_def_function_return(func, parm);
@@ -700,13 +700,13 @@ void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a material from the current blendfile");
        parm = RNA_def_pointer(func, "material", "Material", "", "Material to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this material before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_materials_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -732,10 +732,10 @@ void RNA_def_main_node_groups(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_nodetree_new");
        RNA_def_function_ui_description(func, "Add a new node tree to the main database");
        parm = RNA_def_string(func, "name", "NodeGroup", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "type", dummy_items, 0, "Type", "The type of node_group to add");
        RNA_def_property_enum_funcs(parm, NULL, NULL, "rna_Main_nodetree_type_itemf");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "tree", "NodeTree", "", "New node tree data-block");
        RNA_def_function_return(func, parm);
@@ -744,13 +744,13 @@ void RNA_def_main_node_groups(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a node tree from the current blendfile");
        parm = RNA_def_pointer(func, "tree", "NodeTree", "", "Node tree to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this node tree before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_node_groups_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -777,7 +777,7 @@ void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_meshes_new");
        RNA_def_function_ui_description(func, "Add a new mesh to the main database");
        parm = RNA_def_string(func, "name", "Mesh", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "mesh", "Mesh", "", "New mesh data-block");
        RNA_def_function_return(func, parm);
@@ -786,13 +786,13 @@ void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a new mesh created from object with modifiers applied");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "scene", "Scene", "", "Scene within which to evaluate modifiers");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "object", "Object", "", "Object to create mesh from");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_boolean(func, "apply_modifiers", 0, "", "Apply modifiers");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "settings", mesh_type_items, 0, "", "Modifier settings to apply");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "calc_tessface", true, "Calculate Tessellation", "Calculate tessellation faces");
        RNA_def_boolean(func, "calc_undeformed", false, "Calculate Undeformed", "Calculate undeformed vertex coordinates");
        parm = RNA_def_pointer(func, "mesh", "Mesh", "",
@@ -803,15 +803,15 @@ void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a mesh from the current blendfile");
        parm = RNA_def_pointer(func, "mesh", "Mesh", "", "Mesh to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "",
                        "Unlink all usages of this mesh before deleting it "
                        "(WARNING: will also delete objects instancing that mesh data)");
 
        func = RNA_def_function(srna, "tag", "rna_Main_meshes_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -832,9 +832,9 @@ void RNA_def_main_lamps(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_lamps_new");
        RNA_def_function_ui_description(func, "Add a new lamp to the main database");
        parm = RNA_def_string(func, "name", "Lamp", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "type", rna_enum_lamp_type_items, 0, "Type", "The type of texture to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "lamp", "Lamp", "", "New lamp data-block");
        RNA_def_function_return(func, parm);
@@ -843,15 +843,15 @@ void RNA_def_main_lamps(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a lamp from the current blendfile");
        parm = RNA_def_pointer(func, "lamp", "Lamp", "", "Lamp to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "",
                        "Unlink all usages of this lamp before deleting it "
                        "(WARNING: will also delete objects instancing that lamp data)");
 
        func = RNA_def_function(srna, "tag", "rna_Main_lamps_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -872,7 +872,7 @@ void RNA_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop)
 
        func = RNA_def_function(srna, "tag", "rna_Main_libraries_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -893,7 +893,7 @@ void RNA_def_main_screens(BlenderRNA *brna, PropertyRNA *cprop)
 
        func = RNA_def_function(srna, "tag", "rna_Main_screens_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -914,7 +914,7 @@ void RNA_def_main_window_managers(BlenderRNA *brna, PropertyRNA *cprop)
 
        func = RNA_def_function(srna, "tag", "rna_Main_window_managers_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -935,11 +935,11 @@ void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_images_new");
        RNA_def_function_ui_description(func, "Add a new image to the main database");
        parm = RNA_def_string(func, "name", "Image", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "width", 1024, 1, INT_MAX, "", "Width of the image", 1, INT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "height", 1024, 1, INT_MAX, "", "Height of the image", 1, INT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "alpha", 0, "Alpha", "Use alpha channel");
        RNA_def_boolean(func, "float_buffer", 0, "Float Buffer", "Create an image with floating point color");
        RNA_def_boolean(func, "stereo3d", 0, "Stereo 3D", "Create left and right views");
@@ -951,7 +951,7 @@ void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Load a new image into the main database");
        parm = RNA_def_string_file_path(func, "filepath", "File Path", 0, "", "path of the file to load");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "check_existing", false, "", "Using existing data-block if this file is already loaded");
        /* return type */
        parm = RNA_def_pointer(func, "image", "Image", "", "New image data-block");
@@ -961,13 +961,13 @@ void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove an image from the current blendfile");
        parm = RNA_def_pointer(func, "image", "Image", "", "Image to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this image before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_images_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -989,7 +989,7 @@ void RNA_def_main_lattices(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_lattices_new");
        RNA_def_function_ui_description(func, "Add a new lattice to the main database");
        parm = RNA_def_string(func, "name", "Lattice", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "lattice", "Lattice", "", "New lattices data-block");
        RNA_def_function_return(func, parm);
@@ -998,15 +998,15 @@ void RNA_def_main_lattices(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a lattice from the current blendfile");
        parm = RNA_def_pointer(func, "lattice", "Lattice", "", "Lattice to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "",
                        "Unlink all usages of this lattice before deleting it "
                        "(WARNING: will also delete objects instancing that lattice data)");
 
        func = RNA_def_function(srna, "tag", "rna_Main_lattices_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1027,9 +1027,9 @@ void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_curves_new");
        RNA_def_function_ui_description(func, "Add a new curve to the main database");
        parm = RNA_def_string(func, "name", "Curve", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "type", rna_enum_object_type_curve_items, 0, "Type", "The type of curve to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "curve", "Curve", "", "New curve data-block");
        RNA_def_function_return(func, parm);
@@ -1038,15 +1038,15 @@ void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a curve from the current blendfile");
        parm = RNA_def_pointer(func, "curve", "Curve", "", "Curve to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "",
                        "Unlink all usages of this curve before deleting it "
                        "(WARNING: will also delete objects instancing that curve data)");
 
        func = RNA_def_function(srna, "tag", "rna_Main_curves_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1067,7 +1067,7 @@ void RNA_def_main_metaballs(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_metaballs_new");
        RNA_def_function_ui_description(func, "Add a new metaball to the main database");
        parm = RNA_def_string(func, "name", "MetaBall", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "metaball", "MetaBall", "", "New metaball data-block");
        RNA_def_function_return(func, parm);
@@ -1076,15 +1076,15 @@ void RNA_def_main_metaballs(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a metaball from the current blendfile");
        parm = RNA_def_pointer(func, "metaball", "MetaBall", "", "Metaball to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "",
                        "Unlink all usages of this metaball before deleting it "
                        "(WARNING: will also delete objects instancing that metaball data)");
 
        func = RNA_def_function(srna, "tag", "rna_Main_metaballs_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1106,7 +1106,7 @@ void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Load a new font into the main database");
        parm = RNA_def_string_file_path(func, "filepath", "File Path", 0, "", "path of the font to load");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "check_existing", false, "", "Using existing data-block if this file is already loaded");
        /* return type */
        parm = RNA_def_pointer(func, "vfont", "VectorFont", "", "New font data-block");
@@ -1116,13 +1116,13 @@ void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a font from the current blendfile");
        parm = RNA_def_pointer(func, "vfont", "VectorFont", "", "Font to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this font before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_fonts_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1143,9 +1143,9 @@ void RNA_def_main_textures(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_textures_new");
        RNA_def_function_ui_description(func, "Add a new texture to the main database");
        parm = RNA_def_string(func, "name", "Texture", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "type", rna_enum_texture_type_items, 0, "Type", "The type of texture to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "texture", "Texture", "", "New texture data-block");
        RNA_def_function_return(func, parm);
@@ -1154,13 +1154,13 @@ void RNA_def_main_textures(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a texture from the current blendfile");
        parm = RNA_def_pointer(func, "texture", "Texture", "", "Texture to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this texture before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_textures_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1181,7 +1181,7 @@ void RNA_def_main_brushes(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_brushes_new");
        RNA_def_function_ui_description(func, "Add a new brush to the main database");
        parm = RNA_def_string(func, "name", "Brush", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "mode", rna_enum_object_mode_items, OB_MODE_TEXTURE_PAINT, "", "Paint Mode for the new brush");
        /* return type */
        parm = RNA_def_pointer(func, "brush", "Brush", "", "New brush data-block");
@@ -1191,13 +1191,13 @@ void RNA_def_main_brushes(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a brush from the current blendfile");
        parm = RNA_def_pointer(func, "brush", "Brush", "", "Brush to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this brush before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_brushes_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1219,7 +1219,7 @@ void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_worlds_new");
        RNA_def_function_ui_description(func, "Add a new world to the main database");
        parm = RNA_def_string(func, "name", "World", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "world", "World", "", "New world data-block");
        RNA_def_function_return(func, parm);
@@ -1228,13 +1228,13 @@ void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a world from the current blendfile");
        parm = RNA_def_pointer(func, "world", "World", "", "World to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this world before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_worlds_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1256,7 +1256,7 @@ void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_groups_new");
        RNA_def_function_ui_description(func, "Add a new group to the main database");
        parm = RNA_def_string(func, "name", "Group", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "group", "Group", "", "New group data-block");
        RNA_def_function_return(func, parm);
@@ -1265,13 +1265,13 @@ void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a group from the current blendfile");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "group", "Group", "", "Group to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this group before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_groups_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1293,7 +1293,7 @@ void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_speakers_new");
        RNA_def_function_ui_description(func, "Add a new speaker to the main database");
        parm = RNA_def_string(func, "name", "Speaker", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "speaker", "Speaker", "", "New speaker data-block");
        RNA_def_function_return(func, parm);
@@ -1302,15 +1302,15 @@ void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a speaker from the current blendfile");
        parm = RNA_def_pointer(func, "speaker", "Speaker", "", "Speaker to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "",
                        "Unlink all usages of this speaker before deleting it "
                        "(WARNING: will also delete objects instancing that speaker data)");
 
        func = RNA_def_function(srna, "tag", "rna_Main_speakers_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1332,7 +1332,7 @@ void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_texts_new");
        RNA_def_function_ui_description(func, "Add a new text to the main database");
        parm = RNA_def_string(func, "name", "Text", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "text", "Text", "", "New text data-block");
        RNA_def_function_return(func, parm);
@@ -1341,8 +1341,8 @@ void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a text from the current blendfile");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "text", "Text", "", "Text to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this text before deleting it");
 
        /* load func */
@@ -1350,7 +1350,7 @@ void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Add a new text to the main database from a file");
        parm = RNA_def_string_file_path(func, "filepath", "Path", FILE_MAX, "", "path for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_boolean(func, "internal", 0, "Make internal", "Make text file internal after loading");
        /* return type */
        parm = RNA_def_pointer(func, "text", "Text", "", "New text data-block");
@@ -1358,7 +1358,7 @@ void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
 
        func = RNA_def_function(srna, "tag", "rna_Main_texts_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1381,7 +1381,7 @@ void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "load", "rna_Main_sounds_load");
        RNA_def_function_ui_description(func, "Add a new sound to the main database from a file");
        parm = RNA_def_string_file_path(func, "filepath", "Path", FILE_MAX, "", "path for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "check_existing", false, "", "Using existing data-block if this file is already loaded");
        /* return type */
        parm = RNA_def_pointer(func, "sound", "Sound", "", "New text data-block");
@@ -1391,13 +1391,13 @@ void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a sound from the current blendfile");
        parm = RNA_def_pointer(func, "sound", "Sound", "", "Sound to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this sound before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_sounds_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1419,7 +1419,7 @@ void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_armatures_new");
        RNA_def_function_ui_description(func, "Add a new armature to the main database");
        parm = RNA_def_string(func, "name", "Armature", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "armature", "Armature", "", "New armature data-block");
        RNA_def_function_return(func, parm);
@@ -1428,15 +1428,15 @@ void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a armature from the current blendfile");
        parm = RNA_def_pointer(func, "armature", "Armature", "", "Armature to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "",
                        "Unlink all usages of this armature before deleting it "
                        "(WARNING: will also delete objects instancing that armature data)");
 
        func = RNA_def_function(srna, "tag", "rna_Main_armatures_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1457,7 +1457,7 @@ void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_actions_new");
        RNA_def_function_ui_description(func, "Add a new action to the main database");
        parm = RNA_def_string(func, "name", "Action", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "action", "Action", "", "New action data-block");
        RNA_def_function_return(func, parm);
@@ -1466,13 +1466,13 @@ void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a action from the current blendfile");
        parm = RNA_def_pointer(func, "action", "Action", "", "Action to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this action before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_actions_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1493,7 +1493,7 @@ void RNA_def_main_particles(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_particles_new");
        RNA_def_function_ui_description(func, "Add a new particle settings instance to the main database");
        parm = RNA_def_string(func, "name", "ParticleSettings", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "particle", "ParticleSettings", "", "New particle settings data-block");
        RNA_def_function_return(func, parm);
@@ -1502,13 +1502,13 @@ void RNA_def_main_particles(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a particle settings instance from the current blendfile");
        parm = RNA_def_pointer(func, "particle", "ParticleSettings", "", "Particle Settings to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of those particle settings before deleting them");
 
        func = RNA_def_function(srna, "tag", "rna_Main_particles_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1529,7 +1529,7 @@ void RNA_def_main_palettes(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_Main_palettes_new");
        RNA_def_function_ui_description(func, "Add a new palette to the main database");
        parm = RNA_def_string(func, "name", "Palette", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "palette", "Palette", "", "New palette data-block");
        RNA_def_function_return(func, parm);
@@ -1538,13 +1538,13 @@ void RNA_def_main_palettes(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a palette from the current blendfile");
        parm = RNA_def_pointer(func, "palette", "Palette", "", "Palette to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this palette before deleting it");
 
        func = RNA_def_function(srna, "tag", "rna_Main_palettes_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1552,31 +1552,41 @@ void RNA_def_main_palettes(BlenderRNA *brna, PropertyRNA *cprop)
 }
 void RNA_def_main_cachefiles(BlenderRNA *brna, PropertyRNA *cprop)
 {
+       StructRNA *srna;
+       FunctionRNA *func;
+       PropertyRNA *parm;
+       PropertyRNA *prop;
+
        RNA_def_property_srna(cprop, "BlendDataCacheFiles");
-       StructRNA *srna = RNA_def_struct(brna, "BlendDataCacheFiles", NULL);
+       srna = RNA_def_struct(brna, "BlendDataCacheFiles", NULL);
        RNA_def_struct_sdna(srna, "Main");
        RNA_def_struct_ui_text(srna, "Main Cache Files", "Collection of cache files");
 
-       FunctionRNA *func = RNA_def_function(srna, "tag", "rna_Main_cachefiles_tag");
-       PropertyRNA *parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       func = RNA_def_function(srna, "tag", "rna_Main_cachefiles_tag");
+       parm = RNA_def_boolean(func, "value", 0, "Value", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
-       PropertyRNA *prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_boolean_funcs(prop, "rna_Main_cachefiles_is_updated_get", NULL);
 }
 void RNA_def_main_paintcurves(BlenderRNA *brna, PropertyRNA *cprop)
 {
+       StructRNA *srna;
+       FunctionRNA *func;
+       PropertyRNA *parm;
+       PropertyRNA *prop;
+
        RNA_def_property_srna(cprop, "BlendDataPaintCurves");
-       StructRNA *srna = RNA_def_struct(brna, "BlendDataPaintCurves", NULL);
+       srna = RNA_def_struct(brna, "BlendDataPaintCurves", NULL);
        RNA_def_struct_sdna(srna, "Main");
        RNA_def_struct_ui_text(srna, "Main Paint Curves", "Collection of paint curves");
 
-       FunctionRNA *func = RNA_def_function(srna, "tag", "rna_Main_paintcurves_tag");
-       PropertyRNA *parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       func = RNA_def_function(srna, "tag", "rna_Main_paintcurves_tag");
+       parm = RNA_def_boolean(func, "value", 0, "Value", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
-       PropertyRNA *prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_boolean_funcs(prop, "rna_Main_paintcurves_is_updated_get", NULL);
 }
@@ -1594,12 +1604,12 @@ void RNA_def_main_gpencil(BlenderRNA *brna, PropertyRNA *cprop)
 
        func = RNA_def_function(srna, "tag", "rna_Main_gpencil_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "new", "BKE_gpencil_data_addnew");
        RNA_def_function_flag(func, FUNC_NO_SELF);
        parm = RNA_def_string(func, "name", "GreasePencil", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "grease_pencil", "GreasePencil", "", "New grease pencil data-block");
        RNA_def_function_return(func, parm);
@@ -1608,8 +1618,8 @@ void RNA_def_main_gpencil(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a grease pencil instance from the current blendfile");
        parm = RNA_def_pointer(func, "grease_pencil", "GreasePencil", "", "Grease Pencil to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this grease pencil before deleting it");
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
@@ -1631,14 +1641,14 @@ void RNA_def_main_movieclips(BlenderRNA *brna, PropertyRNA *cprop)
 
        func = RNA_def_function(srna, "tag", "rna_Main_movieclips_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a movie clip from the current blendfile.");
        parm = RNA_def_pointer(func, "clip", "MovieClip", "", "Movie clip to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this movie clip before deleting it");
 
        /* load func */
@@ -1649,7 +1659,7 @@ void RNA_def_main_movieclips(BlenderRNA *brna, PropertyRNA *cprop)
                "(while ``check_existing`` is disabled for consistency with other load functions, "
                "behavior with multiple movie-clips using the same file may incorrectly generate proxies)");
        parm = RNA_def_string_file_path(func, "filepath", "Path", FILE_MAX, "", "path for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "check_existing", false, "", "Using existing data-block if this file is already loaded");
        /* return type */
        parm = RNA_def_pointer(func, "clip", "MovieClip", "", "New movie clip data-block");
@@ -1674,7 +1684,7 @@ void RNA_def_main_masks(BlenderRNA *brna, PropertyRNA *cprop)
 
        func = RNA_def_function(srna, "tag", "rna_Main_masks_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        /* new func */
        func = RNA_def_function(srna, "new", "rna_Main_mask_new");
@@ -1689,8 +1699,8 @@ void RNA_def_main_masks(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a masks from the current blendfile.");
        parm = RNA_def_pointer(func, "mask", "Mask", "", "Mask to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this mask before deleting it");
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
@@ -1712,12 +1722,12 @@ void RNA_def_main_linestyles(BlenderRNA *brna, PropertyRNA *cprop)
 
        func = RNA_def_function(srna, "tag", "rna_Main_linestyle_tag");
        parm = RNA_def_boolean(func, "value", 0, "Value", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "new", "rna_Main_linestyles_new");
        RNA_def_function_ui_description(func, "Add a new line style instance to the main database");
        parm = RNA_def_string(func, "name", "FreestyleLineStyle", 0, "", "New name for the data-block");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "linestyle", "FreestyleLineStyle", "", "New line style data-block");
        RNA_def_function_return(func, parm);
@@ -1726,8 +1736,8 @@ void RNA_def_main_linestyles(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a line style instance from the current blendfile");
        parm = RNA_def_pointer(func, "linestyle", "FreestyleLineStyle", "", "Line style to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this line style before deleting it");
 
        prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
index faf36d28ff9183b230b2c37606ca201450ec204c..24dfff898323fef2d687a97d533eb96493b460a8 100644 (file)
@@ -778,8 +778,8 @@ static void rna_def_mask_splines(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Remove a spline from a layer");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "spline", "MaskSpline", "", "The spline to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        /* active spline */
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
@@ -818,8 +818,8 @@ static void rna_def_maskSplinePoints(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Remove a point from a spline");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "point", "MaskSplinePoint", "", "The point to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_maskSpline(BlenderRNA *brna)
@@ -1014,8 +1014,8 @@ static void rna_def_masklayers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove layer from this mask");
        parm = RNA_def_pointer(func, "layer", "MaskLayer", "", "Shape to be removed");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        /* clear all layers */
        func = RNA_def_function(srna, "clear", "rna_Mask_layers_clear");
index 752f406264a4cd7e88e0d69a0a84c313bbb7dcc1..b293f20dd95d927b06747e4a9ce53648846e06af 100644 (file)
@@ -2163,14 +2163,14 @@ static void rna_def_texture_slots(BlenderRNA *brna, PropertyRNA *cprop, const ch
        func = RNA_def_function(srna, "create", "rna_mtex_texture_slots_create");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_NO_SELF | FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
        parm = RNA_def_int(func, "index", 0, 0, INT_MAX, "Index", "Slot index to initialize", 0, INT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "mtex", structname, "", "The newly initialized mtex");
        RNA_def_function_return(func, parm);
        
        func = RNA_def_function(srna, "clear", "rna_mtex_texture_slots_clear");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_NO_SELF | FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
        parm = RNA_def_int(func, "index", 0, 0, INT_MAX, "Index", "Slot index to clear", 0, INT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 void rna_def_mtex_common(BlenderRNA *brna, StructRNA *srna, const char *begin,
index 7c66f43fe00dc52012f14cc96dd3d8d9c2dfb209..3dc5844285165c7aca39cd77f97d255c3150ccb5 100644 (file)
@@ -2229,7 +2229,6 @@ static void rna_def_mpolygon(BlenderRNA *brna)
        func = RNA_def_function(srna, "flip", "rna_MeshPolygon_flip");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Invert winding of this polygon (flip its normal)");
-
 }
 
 /* mesh.loop_uvs */
@@ -2878,7 +2877,7 @@ static void rna_def_tessface_vertex_colors(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a vertex color layer to Mesh");
        RNA_def_string(func, "name", "Col", 0, "", "Vertex color name");
        parm = RNA_def_pointer(func, "layer", "MeshColorLayer", "", "The newly created layer");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
@@ -2912,14 +2911,14 @@ static void rna_def_loop_colors(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a vertex color layer to Mesh");
        RNA_def_string(func, "name", "Col", 0, "", "Vertex color name");
        parm = RNA_def_pointer(func, "layer", "MeshLoopColorLayer", "", "The newly created layer");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "remove", "rna_Mesh_vertex_color_remove");
        RNA_def_function_ui_description(func, "Remove a vertex color layer");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "layer", "MeshLoopColorLayer", "", "The layer to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
 
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
@@ -2982,7 +2981,7 @@ static void rna_def_vertex_float_layers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a float property layer to Mesh");
        RNA_def_string(func, "name", "Float Prop", 0, "", "Float property name");
        parm = RNA_def_pointer(func, "layer", "MeshVertexFloatPropertyLayer", "", "The newly created layer");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 }
 
@@ -3003,7 +3002,7 @@ static void rna_def_vertex_int_layers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a integer property layer to Mesh");
        RNA_def_string(func, "name", "Int Prop", 0, "",  "Int property name");
        parm = RNA_def_pointer(func, "layer", "MeshVertexIntPropertyLayer", "", "The newly created layer");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 }
 
@@ -3024,7 +3023,7 @@ static void rna_def_vertex_string_layers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a string property layer to Mesh");
        RNA_def_string(func, "name", "String Prop", 0, "", "String property name");
        parm = RNA_def_pointer(func, "layer", "MeshVertexStringPropertyLayer", "", "The newly created layer");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 }
 
@@ -3045,7 +3044,7 @@ static void rna_def_polygon_float_layers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a float property layer to Mesh");
        RNA_def_string(func, "name", "Float Prop", 0, "", "Float property name");
        parm = RNA_def_pointer(func, "layer", "MeshPolygonFloatPropertyLayer", "", "The newly created layer");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 }
 
@@ -3066,7 +3065,7 @@ static void rna_def_polygon_int_layers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a integer property layer to Mesh");
        RNA_def_string(func, "name", "Int Prop", 0, "",  "Int property name");
        parm = RNA_def_pointer(func, "layer", "MeshPolygonIntPropertyLayer", "", "The newly created layer");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 }
 
@@ -3087,7 +3086,7 @@ static void rna_def_polygon_string_layers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a string property layer to Mesh");
        RNA_def_string(func, "name", "String Prop", 0, "", "String property name");
        parm = RNA_def_pointer(func, "layer", "MeshPolygonStringPropertyLayer", "", "The newly created layer");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 }
 
@@ -3111,7 +3110,7 @@ static void rna_def_tessface_uv_textures(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a UV tessface-texture layer to Mesh (only for meshes with no polygons)");
        RNA_def_string(func, "name", "UVMap", 0, "", "UV map name");
        parm = RNA_def_pointer(func, "layer", "MeshTextureFaceLayer", "", "The newly created layer");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 
 
@@ -3147,14 +3146,14 @@ static void rna_def_uv_textures(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a UV map layer to Mesh");
        RNA_def_string(func, "name", "UVMap", 0, "", "UV map name");
        parm = RNA_def_pointer(func, "layer", "MeshTexturePolyLayer", "", "The newly created layer");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "remove", "rna_Mesh_uv_texture_layers_remove");
        RNA_def_function_ui_description(func, "Remove a vertex color layer");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "layer", "MeshTexturePolyLayer", "", "The layer to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "MeshTexturePolyLayer");
index a3bc21b017072a2dd48d20d4208ff332fbee9844..4a078ef9182ac979b83fc11986afc736c505f8ce 100644 (file)
@@ -221,7 +221,7 @@ void RNA_api_mesh(StructRNA *srna)
        RNA_def_function_ui_description(func, "Transform mesh vertices by a matrix "
                                              "(Warning: inverts normals if matrix is negative)");
        parm = RNA_def_float_matrix(func, "matrix", 4, 4, NULL, 0.0f, 0.0f, "", "Matrix", 0.0f, 0.0f);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "shape_keys", 0, "", "Transform Shape Keys");
 
        func = RNA_def_function(srna, "flip_normals", "rna_Mesh_flip_normals");
@@ -264,9 +264,9 @@ void RNA_api_mesh(StructRNA *srna)
        RNA_def_boolean(func, "use_bitflags", false, "", "Produce bitflags groups instead of simple numeric values");
        /* return values */
        parm = RNA_def_int_array(func, "poly_groups", 1, NULL, 0, 0, "", "Smooth Groups", 0, 0);
-       RNA_def_property_flag(parm, PROP_DYNAMIC | PROP_OUTPUT);
+       RNA_def_parameter_flags(parm, PROP_DYNAMIC, PARM_OUTPUT);
        parm = RNA_def_int(func, "groups", 0, 0, INT_MAX, "groups", "Total number of groups", 0, INT_MAX);
-       RNA_def_property_flag(parm, PROP_OUTPUT);
+       RNA_def_parameter_flags(parm, 0, PARM_OUTPUT);
 
        func = RNA_def_function(srna, "normals_split_custom_set", "rna_Mesh_normals_split_custom_set");
        RNA_def_function_ui_description(func,
@@ -276,7 +276,7 @@ void RNA_api_mesh(StructRNA *srna)
        /* TODO, see how array size of 0 works, this shouldnt be used */
        parm = RNA_def_float_array(func, "normals", 1, NULL, -1.0f, 1.0f, "", "Normals", 0.0f, 0.0f);
        RNA_def_property_multi_array(parm, 2, normals_array_dim);
-       RNA_def_property_flag(parm, PROP_DYNAMIC | PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, PROP_DYNAMIC, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "normals_split_custom_set_from_vertices",
                                "rna_Mesh_normals_split_custom_set_from_vertices");
@@ -287,7 +287,7 @@ void RNA_api_mesh(StructRNA *srna)
        /* TODO, see how array size of 0 works, this shouldnt be used */
        parm = RNA_def_float_array(func, "normals", 1, NULL, -1.0f, 1.0f, "", "Normals", 0.0f, 0.0f);
        RNA_def_property_multi_array(parm, 2, normals_array_dim);
-       RNA_def_property_flag(parm, PROP_DYNAMIC | PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, PROP_DYNAMIC, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "update", "ED_mesh_update");
        RNA_def_boolean(func, "calc_edges", 0, "Calculate Edges", "Force recalculation of edges");
index 9d13bc90e727441511066beff7add15819876968..91a65c7ccc5bf31153d8ab436c39136df40106d3 100644 (file)
@@ -280,8 +280,8 @@ static void rna_def_metaball_elements(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove an element from the metaball");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "element", "MetaElement", "", "The element to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        func = RNA_def_function(srna, "clear", "rna_MetaBall_elements_clear");
        RNA_def_function_ui_description(func, "Remove all elements from the metaball");
index 43dca6fe4f103fffc18cbc25a13bdac3f51dfc89..3d8f375fd88d77bdc9978f6cf68e2f795085ee4e 100644 (file)
@@ -59,7 +59,7 @@ void RNA_api_meta(StructRNA *srna)
        func = RNA_def_function(srna, "transform", "rna_Meta_transform");
        RNA_def_function_ui_description(func, "Transform meta elements by a matrix");
        parm = RNA_def_float_matrix(func, "matrix", 4, 4, NULL, 0.0f, 0.0f, "", "Matrix", 0.0f, 0.0f);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 #endif
index 55bc40f573ca19c9c6608324c71fb8e81dbbf95e..078f6e237f07f357e53c5621b581b7c4e2b46be9 100644 (file)
@@ -508,7 +508,7 @@ static void rna_def_strip_fcurves(BlenderRNA *brna, PropertyRNA *cprop)
                                        "of all F-Curves in the NLA strip.");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_string(func, "data_path", NULL, 0, "Data Path", "F-Curve data path");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_int(func, "index", 0, 0, INT_MAX, "Index", "Array index", 0, INT_MAX);
 
        parm = RNA_def_pointer(func, "fcurve", "FCurve", "", "The found F-Curve, or None if it doesn't exist");
@@ -733,12 +733,12 @@ static void rna_api_nlatrack_strips(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Add a new Action-Clip strip to the track");
        parm = RNA_def_string(func, "name", "NlaStrip", 0, "", "Name for the NLA Strips");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "start", 0, INT_MIN, INT_MAX, "Start Frame",
                           "Start frame for this strip", INT_MIN, INT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "action", "Action", "", "Action to assign to this strip");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "strip", "NlaStrip", "", "New NLA Strip");
        RNA_def_function_return(func, parm);
@@ -747,8 +747,8 @@ static void rna_api_nlatrack_strips(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a NLA Strip");
        parm = RNA_def_pointer(func, "strip", "NlaStrip", "", "NLA Strip to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_nlatrack(BlenderRNA *brna)
index ada4dec18997c9fcd9230d38c248b10f2a70550c..a9e78428212c948b712ec1d91fce07d979c5d102 100644 (file)
@@ -4025,7 +4025,9 @@ static void def_sh_tex_wireframe(StructRNA *srna)
 static void def_sh_tex_pointdensity(StructRNA *srna)
 {
        PropertyRNA *prop;
+
        FunctionRNA *func;
+       PropertyRNA *parm;
 
        static EnumPropertyItem point_source_items[] = {
                {SHD_POINTDENSITY_SOURCE_PSYS, "PARTICLE_SYSTEM", 0, "Particle System",
@@ -4145,22 +4147,22 @@ static void def_sh_tex_pointdensity(StructRNA *srna)
        RNA_def_pointer(func, "scene", "Scene", "", "");
        RNA_def_enum(func, "settings", calc_mode_items, 1, "", "Calculate density for rendering");
        /* TODO, See how array size of 0 works, this shouldnt be used. */
-       prop = RNA_def_float_array(func, "rgba_values", 1, NULL, 0, 0, "", "RGBA Values", 0, 0);
-       RNA_def_property_flag(prop, PROP_DYNAMIC);
-       RNA_def_function_output(func, prop);
+       parm = RNA_def_float_array(func, "rgba_values", 1, NULL, 0, 0, "", "RGBA Values", 0, 0);
+       RNA_def_parameter_flags(parm, PROP_DYNAMIC, 0);
+       RNA_def_function_output(func, parm);
 
        func = RNA_def_function(srna, "calc_point_density_minmax", "rna_ShaderNodePointDensity_density_minmax");
        RNA_def_function_ui_description(func, "Calculate point density");
        RNA_def_pointer(func, "scene", "Scene", "", "");
        RNA_def_enum(func, "settings", calc_mode_items, 1, "", "Calculate density for rendering");
-       prop = RNA_def_property(func, "min", PROP_FLOAT, PROP_COORDS);
-       RNA_def_property_array(prop, 3);
-       RNA_def_property_flag(prop, PROP_THICK_WRAP);
-       RNA_def_function_output(func, prop);
-       prop = RNA_def_property(func, "max", PROP_FLOAT, PROP_COORDS);
-       RNA_def_property_array(prop, 3);
-       RNA_def_property_flag(prop, PROP_THICK_WRAP);
-       RNA_def_function_output(func, prop);
+       parm = RNA_def_property(func, "min", PROP_FLOAT, PROP_COORDS);
+       RNA_def_property_array(parm, 3);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
+       RNA_def_function_output(func, parm);
+       parm = RNA_def_property(func, "max", PROP_FLOAT, PROP_COORDS);
+       RNA_def_property_array(parm, 3);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
+       RNA_def_function_output(func, parm);
 }
 
 static void def_glossy(StructRNA *srna)
@@ -4396,7 +4398,7 @@ static void def_sh_script(StructRNA *srna)
        func = RNA_def_function(srna, "find_socket", "rna_ShaderNodeScript_find_socket");
        RNA_def_function_ui_description(func, "Find a socket by name");
        parm = RNA_def_string(func, "name", NULL, 0, "Socket name", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /*parm =*/ RNA_def_boolean(func, "is_output", false, "Output", "Whether the socket is an output");
        parm = RNA_def_pointer(func, "result", "NodeSocket", "", "");
        RNA_def_function_return(func, parm);
@@ -4405,9 +4407,9 @@ static void def_sh_script(StructRNA *srna)
        RNA_def_function_ui_description(func, "Add a socket socket");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_string(func, "name", NULL, 0, "Name", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "type", node_socket_type_items, SOCK_FLOAT, "Type", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /*parm =*/ RNA_def_boolean(func, "is_output", false, "Output", "Whether the socket is an output");
        parm = RNA_def_pointer(func, "result", "NodeSocket", "", "");
        RNA_def_function_return(func, parm);
@@ -4416,7 +4418,7 @@ static void def_sh_script(StructRNA *srna)
        RNA_def_function_ui_description(func, "Remove a socket socket");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_pointer(func, "sock", "NodeSocket", "Socket", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 #endif
 }
 
@@ -4861,7 +4863,7 @@ static void rna_def_cmp_output_file_slots_api(BlenderRNA *brna, PropertyRNA *cpr
        RNA_def_function_ui_description(func, "Add a file slot to this node");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_REPORTS | FUNC_USE_CONTEXT);
        parm = RNA_def_string(func, "name", NULL, MAX_NAME, "Name", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return value */
        parm = RNA_def_pointer(func, "socket", "NodeSocket", "", "New socket");
        RNA_def_function_return(func, parm);
@@ -4874,7 +4876,7 @@ static void rna_def_cmp_output_file_slots_api(BlenderRNA *brna, PropertyRNA *cpr
        RNA_def_function_ui_description(func, "Remove a file slot from this node");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "socket", "NodeSocket", "", "The socket to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "clear", "rna_Node_inputs_clear");
        RNA_def_function_ui_description(func, "Remove all file slots from this node");
@@ -4884,9 +4886,9 @@ static void rna_def_cmp_output_file_slots_api(BlenderRNA *brna, PropertyRNA *cpr
        RNA_def_function_ui_description(func, "Move a file slot to another position");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_int(func, "from_index", -1, 0, INT_MAX, "From Index", "Index of the socket to move", 0, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "to_index", -1, 0, INT_MAX, "To Index", "Target index for the socket", 0, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 static void def_cmp_output_file(BlenderRNA *brna, StructRNA *srna)
 {
@@ -6972,29 +6974,29 @@ static void rna_def_node_socket(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Draw socket");
        RNA_def_function_flag(func, FUNC_REGISTER);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "layout", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "UILayout");
        RNA_def_property_ui_text(parm, "Layout", "Layout in the UI");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "node", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "Node");
        RNA_def_property_ui_text(parm, "Node", "Node the socket belongs to");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
        parm = RNA_def_property(func, "text", PROP_STRING, PROP_NONE);
        RNA_def_property_ui_text(parm, "Text", "Text label to draw alongside properties");
        // RNA_def_property_string_default(parm, "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "draw_color", NULL);
        RNA_def_function_ui_description(func, "Color of the socket icon");
        RNA_def_function_flag(func, FUNC_REGISTER);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "node", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "Node");
        RNA_def_property_ui_text(parm, "Node", "Node the socket belongs to");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
        parm = RNA_def_float_array(func, "color", 4, default_draw_color, 0.0f, 1.0f, "Color", "", 0.0f, 1.0f);
        RNA_def_function_output(func, parm);
 }
@@ -7045,17 +7047,17 @@ static void rna_def_node_socket_interface(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Draw template settings");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "layout", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "UILayout");
        RNA_def_property_ui_text(parm, "Layout", "Layout in the UI");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "draw_color", NULL);
        RNA_def_function_ui_description(func, "Color of the socket icon");
        RNA_def_function_flag(func, FUNC_REGISTER);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_float_array(func, "color", 4, default_draw_color, 0.0f, 1.0f, "Color", "", 0.0f, 1.0f);
        RNA_def_function_output(func, parm);
 
@@ -7063,25 +7065,25 @@ static void rna_def_node_socket_interface(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Define RNA properties of a socket");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE);
        parm = RNA_def_pointer(func, "data_rna_type", "Struct", "Data RNA Type", "RNA type for special socket properties");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "init_socket", NULL);
        RNA_def_function_ui_description(func, "Initialize a node socket instance");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE);
        parm = RNA_def_pointer(func, "node", "Node", "Node", "Node of the socket to initialize");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
        parm = RNA_def_pointer(func, "socket", "NodeSocket", "Socket", "Socket to initialize");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
        parm = RNA_def_string(func, "data_path", NULL, 0, "Data Path", "Path to specialized socket data");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "from_socket", NULL);
        RNA_def_function_ui_description(func, "Setup template parameters from an existing socket");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE);
        parm = RNA_def_pointer(func, "node", "Node", "Node", "Node of the original socket");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
        parm = RNA_def_pointer(func, "socket", "NodeSocket", "Socket", "Original socket");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
 }
 
 static void rna_def_node_socket_float(BlenderRNA *brna, const char *idname, const char *interface_idname, PropertySubType subtype)
@@ -7416,29 +7418,29 @@ static void rna_def_node_socket_standard_types(BlenderRNA *brna)
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Draw socket");
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "layout", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "UILayout");
        RNA_def_property_ui_text(parm, "Layout", "Layout in the UI");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "node", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "Node");
        RNA_def_property_ui_text(parm, "Node", "Node the socket belongs to");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
        parm = RNA_def_property(func, "text", PROP_STRING, PROP_NONE);
        RNA_def_property_ui_text(parm, "Text", "Text label to draw alongside properties");
        // RNA_def_property_string_default(parm, "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "draw_color", "rna_NodeSocketStandard_draw_color");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Color of the socket icon");
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "node", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "Node");
        RNA_def_property_ui_text(parm, "Node", "Node the socket belongs to");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
        parm = RNA_def_float_array(func, "color", 4, default_draw_color, 0.0f, 1.0f, "Color", "", 0.0f, 1.0f);
        RNA_def_function_output(func, parm);
        
@@ -7458,17 +7460,17 @@ static void rna_def_node_socket_standard_types(BlenderRNA *brna)
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Draw template settings");
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "layout", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "UILayout");
        RNA_def_property_ui_text(parm, "Layout", "Layout in the UI");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "draw_color", "rna_NodeSocketInterfaceStandard_draw_color");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Color of the socket icon");
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_float_array(func, "color", 4, default_draw_color, 0.0f, 1.0f, "Color", "", 0.0f, 1.0f);
        RNA_def_function_output(func, parm);
 
@@ -7550,13 +7552,13 @@ static void rna_def_internal_node(BlenderRNA *brna)
        RNA_def_function_flag(func, FUNC_NO_SELF | FUNC_USE_SELF_TYPE);
        RNA_def_function_return(func, RNA_def_boolean(func, "visible", false, "", ""));
        parm = RNA_def_pointer(func, "node_tree", "NodeTree", "Node Tree", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        
        func = RNA_def_function(srna, "poll_instance", "rna_NodeInternal_poll_instance");
        RNA_def_function_ui_description(func, "If non-null output is returned, the node can be added to the tree");
        RNA_def_function_return(func, RNA_def_boolean(func, "visible", false, "", ""));
        parm = RNA_def_pointer(func, "node_tree", "NodeTree", "Node Tree", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        
        /* update */
        func = RNA_def_function(srna, "update", "rna_NodeInternal_update");
@@ -7568,22 +7570,22 @@ static void rna_def_internal_node(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Draw node buttons");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "layout", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "UILayout");
        RNA_def_property_ui_text(parm, "Layout", "Layout in the UI");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        /* draw buttons extended */
        func = RNA_def_function(srna, "draw_buttons_ext", "rna_NodeInternal_draw_buttons_ext");
        RNA_def_function_ui_description(func, "Draw node buttons in the sidebar");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "layout", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "UILayout");
        RNA_def_property_ui_text(parm, "Layout", "Layout in the UI");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 }
 
 static void rna_def_node_sockets_api(BlenderRNA *brna, PropertyRNA *cprop, int in_out)
@@ -7606,9 +7608,9 @@ static void rna_def_node_sockets_api(BlenderRNA *brna, PropertyRNA *cprop, int i
        RNA_def_function_ui_description(func, "Add a socket to this node");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_REPORTS);
        parm = RNA_def_string(func, "type", NULL, MAX_NAME, "Type", "Data type");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_string(func, "name", NULL, MAX_NAME, "Name", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_string(func, "identifier", NULL, MAX_NAME, "Identifier", "Unique socket identifier");
        /* return value */
        parm = RNA_def_pointer(func, "socket", "NodeSocket", "", "New socket");
@@ -7618,7 +7620,7 @@ static void rna_def_node_sockets_api(BlenderRNA *brna, PropertyRNA *cprop, int i
        RNA_def_function_ui_description(func, "Remove a socket from this node");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "socket", "NodeSocket", "", "The socket to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "clear", clearfunc);
        RNA_def_function_ui_description(func, "Remove all sockets from this node");
@@ -7628,9 +7630,9 @@ static void rna_def_node_sockets_api(BlenderRNA *brna, PropertyRNA *cprop, int i
        RNA_def_function_ui_description(func, "Move a socket to another position");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_int(func, "from_index", -1, 0, INT_MAX, "From Index", "Index of the socket to move", 0, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "to_index", -1, 0, INT_MAX, "To Index", "Target index for the socket", 0, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 static void rna_def_node(BlenderRNA *brna)
@@ -7781,7 +7783,7 @@ static void rna_def_node(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Update after property changes");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "is_registered_node_type", "rna_Node_is_registered_node_type");
        RNA_def_function_ui_description(func, "True if a registered node type");
@@ -7856,14 +7858,14 @@ static void rna_def_node(BlenderRNA *brna)
        RNA_def_function_flag(func, FUNC_NO_SELF | FUNC_REGISTER);
        RNA_def_function_return(func, RNA_def_boolean(func, "visible", false, "", ""));
        parm = RNA_def_pointer(func, "node_tree", "NodeTree", "Node Tree", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        
        func = RNA_def_function(srna, "poll_instance", NULL);
        RNA_def_function_ui_description(func, "If non-null output is returned, the node can be added to the tree");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
        RNA_def_function_return(func, RNA_def_boolean(func, "visible", false, "", ""));
        parm = RNA_def_pointer(func, "node_tree", "NodeTree", "Node Tree", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        
        /* update */
        func = RNA_def_function(srna, "update", NULL);
@@ -7875,21 +7877,21 @@ static void rna_def_node(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Handle creation of a link to or from the node");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE);
        parm = RNA_def_pointer(func, "link", "NodeLink", "Link", "Node link that will be inserted");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        
        /* init */
        func = RNA_def_function(srna, "init", NULL);
        RNA_def_function_ui_description(func, "Initialize a new instance of this node");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        /* copy */
        func = RNA_def_function(srna, "copy", NULL);
        RNA_def_function_ui_description(func, "Initialize a new instance of this node from an existing node");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE);
        parm = RNA_def_pointer(func, "node", "Node", "Node", "Existing node to copy");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        /* free */
        func = RNA_def_function(srna, "free", NULL);
@@ -7901,29 +7903,29 @@ static void rna_def_node(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Draw node buttons");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "layout", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "UILayout");
        RNA_def_property_ui_text(parm, "Layout", "Layout in the UI");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        /* draw buttons extended */
        func = RNA_def_function(srna, "draw_buttons_ext", NULL);
        RNA_def_function_ui_description(func, "Draw node buttons in the sidebar");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_property(func, "layout", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "UILayout");
        RNA_def_property_ui_text(parm, "Layout", "Layout in the UI");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        /* dynamic label */
        func = RNA_def_function(srna, "draw_label", NULL);
        RNA_def_function_ui_description(func, "Returns a dynamic label string");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
        parm = RNA_def_string(func, "label", NULL, MAX_NAME, "Label", "");
-       RNA_def_property_flag(parm, PROP_THICK_WRAP); /* needed for string return value */
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0); /* needed for string return value */
        RNA_def_function_output(func, parm);
 }
 
@@ -7990,7 +7992,7 @@ static void rna_def_nodetree_nodes_api(BlenderRNA *brna, PropertyRNA *cprop)
         * added this here to avoid frequent confusion with API changes from "type" to "bl_idname"
         */
        parm = RNA_def_string(func, "type", NULL, MAX_NAME, "Type", "Type of node to add (Warning: should be same as node.bl_idname, not node.type!)");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return value */
        parm = RNA_def_pointer(func, "node", "Node", "", "New node");
        RNA_def_function_return(func, parm);
@@ -7999,8 +8001,8 @@ static void rna_def_nodetree_nodes_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a node from this node tree");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "node", "Node", "", "The node to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        func = RNA_def_function(srna, "clear", "rna_NodeTree_node_clear");
        RNA_def_function_ui_description(func, "Remove all nodes from this node tree");
@@ -8029,9 +8031,9 @@ static void rna_def_nodetree_link_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a node link to this node tree");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "input", "NodeSocket", "", "The input socket");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "output", "NodeSocket", "", "The output socket");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        RNA_def_boolean(func, "verify_limits", true, "Verify Limits", "Remove existing links if connection limit is exceeded");
        /* return */
        parm = RNA_def_pointer(func, "link", "NodeLink", "", "New node link");
@@ -8041,8 +8043,8 @@ static void rna_def_nodetree_link_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "remove a node link from the node tree");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "link", "NodeLink", "", "The node link to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        func = RNA_def_function(srna, "clear", "rna_NodeTree_link_clear");
        RNA_def_function_ui_description(func, "remove all node links from the node tree");
@@ -8069,9 +8071,9 @@ static void rna_def_node_tree_sockets_api(BlenderRNA *brna, PropertyRNA *cprop,
        RNA_def_function_ui_description(func, "Add a socket to this node tree");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_string(func, "type", NULL, MAX_NAME, "Type", "Data type");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_string(func, "name", NULL, MAX_NAME, "Name", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return value */
        parm = RNA_def_pointer(func, "socket", "NodeSocketInterface", "", "New socket");
        RNA_def_function_return(func, parm);
@@ -8080,7 +8082,7 @@ static void rna_def_node_tree_sockets_api(BlenderRNA *brna, PropertyRNA *cprop,
        RNA_def_function_ui_description(func, "Remove a socket from this node tree");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "socket", "NodeSocketInterface", "", "The socket to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "clear", clearfunc);
        RNA_def_function_ui_description(func, "Remove all sockets from this node tree");
@@ -8089,9 +8091,9 @@ static void rna_def_node_tree_sockets_api(BlenderRNA *brna, PropertyRNA *cprop,
        func = RNA_def_function(srna, "move", movefunc);
        RNA_def_function_ui_description(func, "Move a socket to another position");
        parm = RNA_def_int(func, "from_index", -1, 0, INT_MAX, "From Index", "Index of the socket to move", 0, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "to_index", -1, 0, INT_MAX, "To Index", "Target index for the socket", 0, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 static void rna_def_nodetree(BlenderRNA *brna)
@@ -8179,7 +8181,7 @@ static void rna_def_nodetree(BlenderRNA *brna)
        func = RNA_def_function(srna, "interface_update", "rna_NodeTree_interface_update");
        RNA_def_function_ui_description(func, "Updated node group interface");
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        /* registration */
        prop = RNA_def_property(srna, "bl_idname", PROP_STRING, PROP_NONE);
@@ -8208,7 +8210,7 @@ static void rna_def_nodetree(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Check visibility in the editor");
        RNA_def_function_flag(func, FUNC_NO_SELF | FUNC_REGISTER_OPTIONAL);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        RNA_def_function_return(func, RNA_def_boolean(func, "visible", false, "", ""));
 
        /* update */
@@ -8221,7 +8223,7 @@ static void rna_def_nodetree(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Get a node tree from the context");
        RNA_def_function_flag(func, FUNC_NO_SELF | FUNC_REGISTER_OPTIONAL);
        parm = RNA_def_pointer(func, "context", "Context", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "result_1", "NodeTree", "Node Tree", "Active node tree from context");
        RNA_def_function_output(func, parm);
        parm = RNA_def_pointer(func, "result_2", "ID", "Owner ID", "ID data-block that owns the node tree");
@@ -8325,10 +8327,10 @@ static StructRNA *define_specific_node(BlenderRNA *brna, const char *struct_name
        RNA_def_function_flag(func, FUNC_NO_SELF | FUNC_USE_SELF_TYPE);
        parm = RNA_def_property(func, "index", PROP_INT, PROP_UNSIGNED);
        RNA_def_property_ui_text(parm, "Index", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_property(func, "result", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "NodeInternalSocketTemplate");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "output_template", "rna_NodeInternal_output_template");
@@ -8336,10 +8338,10 @@ static StructRNA *define_specific_node(BlenderRNA *brna, const char *struct_name
        RNA_def_function_flag(func, FUNC_NO_SELF | FUNC_USE_SELF_TYPE);
        parm = RNA_def_property(func, "index", PROP_INT, PROP_UNSIGNED);
        RNA_def_property_ui_text(parm, "Index", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_property(func, "result", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(parm, "NodeInternalSocketTemplate");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 
        if (def_func)
index 0e735350e05c3d6b4e70ce8565b8e67138cff0a3..0cffba47f16937de91842ed2e23cda620aa3c8cf 100644 (file)
@@ -1521,6 +1521,7 @@ static void rna_def_vertex_group(BlenderRNA *brna)
        StructRNA *srna;
        PropertyRNA *prop;
        FunctionRNA *func;
+       PropertyRNA *parm;
 
        static EnumPropertyItem assign_mode_items[] = {
                {WEIGHT_REPLACE,  "REPLACE",  0, "Replace",  "Replace"},
@@ -1556,27 +1557,27 @@ static void rna_def_vertex_group(BlenderRNA *brna)
        RNA_def_function_ui_description(func, "Add vertices to the group");
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        /* TODO, see how array size of 0 works, this shouldnt be used */
-       prop = RNA_def_int_array(func, "index", 1, NULL, 0, 0, "", "Index List", 0, 0);
-       RNA_def_property_flag(prop, PROP_DYNAMIC | PROP_REQUIRED);
-       prop = RNA_def_float(func, "weight", 0, 0.0f, 1.0f, "", "Vertex weight", 0.0f, 1.0f);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_enum(func, "type", assign_mode_items, 0, "", "Vertex assign mode");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_int_array(func, "index", 1, NULL, 0, 0, "", "Index List", 0, 0);
+       RNA_def_parameter_flags(parm, PROP_DYNAMIC, PARM_REQUIRED);
+       parm = RNA_def_float(func, "weight", 0, 0.0f, 1.0f, "", "Vertex weight", 0.0f, 1.0f);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_enum(func, "type", assign_mode_items, 0, "", "Vertex assign mode");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "remove", "rna_VertexGroup_vertex_remove");
        RNA_def_function_ui_description(func, "Remove a vertex from the group");
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        /* TODO, see how array size of 0 works, this shouldnt be used */
-       prop = RNA_def_int_array(func, "index", 1, NULL, 0, 0, "", "Index List", 0, 0);
-       RNA_def_property_flag(prop, PROP_DYNAMIC | PROP_REQUIRED);
+       parm = RNA_def_int_array(func, "index", 1, NULL, 0, 0, "", "Index List", 0, 0);
+       RNA_def_parameter_flags(parm, PROP_DYNAMIC, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "weight", "rna_VertexGroup_weight");
        RNA_def_function_ui_description(func, "Get a vertex weight from the group");
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
-       prop = RNA_def_int(func, "index", 0, 0, INT_MAX, "Index", "The index of the vertex", 0, INT_MAX);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_float(func, "weight", 0, 0.0f, 1.0f, "", "Vertex weight", 0.0f, 1.0f);
-       RNA_def_function_return(func, prop);
+       parm = RNA_def_int(func, "index", 0, 0, INT_MAX, "Index", "The index of the vertex", 0, INT_MAX);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_float(func, "weight", 0, 0.0f, 1.0f, "", "Vertex weight", 0.0f, 1.0f);
+       RNA_def_function_return(func, parm);
 }
 
 static void rna_def_material_slot(BlenderRNA *brna)
@@ -1955,7 +1956,7 @@ static void rna_def_object_constraints(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a new constraint to this object");
        /* object to add */
        parm = RNA_def_enum(func, "type", rna_enum_constraint_type_items, 1, "", "Constraint type to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "constraint", "Constraint", "", "New constraint");
        RNA_def_function_return(func, parm);
@@ -1965,8 +1966,8 @@ static void rna_def_object_constraints(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        /* constraint to remove */
        parm = RNA_def_pointer(func, "constraint", "Constraint", "", "Removed constraint");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        func = RNA_def_function(srna, "clear", "rna_Object_constraints_clear");
        RNA_def_function_ui_description(func, "Remove all constraint from this object");
@@ -2003,10 +2004,10 @@ static void rna_def_object_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Add a new modifier");
        parm = RNA_def_string(func, "name", "Name", 0, "", "New name for the modifier");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* modifier to add */
        parm = RNA_def_enum(func, "type", rna_enum_object_modifier_type_items, 1, "", "Modifier type to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "modifier", "Modifier", "", "Newly created modifier");
        RNA_def_function_return(func, parm);
@@ -2017,8 +2018,8 @@ static void rna_def_object_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove an existing modifier from the object");
        /* modifier to remove */
        parm = RNA_def_pointer(func, "modifier", "Modifier", "", "Modifier to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        /* clear all modifiers */
        func = RNA_def_function(srna, "clear", "rna_Object_modifier_clear");
@@ -2099,8 +2100,8 @@ static void rna_def_object_vertex_groups(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Delete vertex group from object");
        parm = RNA_def_pointer(func, "group", "VertexGroup", "", "Vertex group to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        func = RNA_def_function(srna, "clear", "rna_Object_vgroup_clear");
        RNA_def_function_ui_description(func, "Delete all vertex groups from object");
index b66556109e6dad997d0222cfb1e20083316c41b1..c680abe71a4940c121c05a04692a84d9d1f18862 100644 (file)
@@ -540,28 +540,28 @@ void RNA_api_object(StructRNA *srna)
        RNA_def_function_ui_description(func, "Compute the coordinate (and scale for ortho cameras) "
                                              "given object should be to 'see' all given coordinates");
        parm = RNA_def_pointer(func, "scene", "Scene", "", "Scene to get render size information from, if available");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_float_array(func, "coordinates", 1, NULL, -FLT_MAX, FLT_MAX, "", "Coordinates to fit in",
                                   -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_DYNAMIC);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL | PROP_DYNAMIC, PARM_REQUIRED);
        parm = RNA_def_property(func, "co_return", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_array(parm, 3);
        RNA_def_property_ui_text(parm, "", "The location to aim to be able to see all given points");
-       RNA_def_property_flag(parm, PROP_OUTPUT);
+       RNA_def_parameter_flags(parm, 0, PARM_OUTPUT);
        parm = RNA_def_property(func, "scale_return", PROP_FLOAT, PROP_NONE);
        RNA_def_property_ui_text(parm, "", "The ortho scale to aim to be able to see all given points (if relevant)");
-       RNA_def_property_flag(parm, PROP_OUTPUT);
+       RNA_def_parameter_flags(parm, 0, PARM_OUTPUT);
 
        /* mesh */
        func = RNA_def_function(srna, "to_mesh", "rna_Object_to_mesh");
        RNA_def_function_ui_description(func, "Create a Mesh data-block with modifiers applied");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "scene", "Scene", "", "Scene within which to evaluate modifiers");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_boolean(func, "apply_modifiers", 0, "", "Apply modifiers");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "settings", mesh_type_items, 0, "", "Modifier settings to apply");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "calc_tessface", true, "Calculate Tessellation", "Calculate tessellation faces");
        RNA_def_boolean(func, "calc_undeformed", false, "Calculate Undeformed", "Calculate undeformed vertex coordinates");
        parm = RNA_def_pointer(func, "mesh", "Mesh", "",
@@ -574,7 +574,7 @@ void RNA_api_object(StructRNA *srna)
                                        "be freed manually with free_dupli_list to restore the "
                                        "objects real matrix and layers");
        parm = RNA_def_pointer(func, "scene", "Scene", "", "Scene within which to evaluate duplis");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        RNA_def_enum(func, "settings", dupli_eval_mode_items, 0, "", "Generate texture coordinates for rendering");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
 
@@ -594,15 +594,15 @@ void RNA_api_object(StructRNA *srna)
        RNA_def_string(func, "name", "Key", 0, "", "Unique name for the new keyblock"); /* optional */
        RNA_def_boolean(func, "from_mix", 1, "", "Create new shape from existing mix of shapes");
        parm = RNA_def_pointer(func, "key", "ShapeKey", "", "New shape keyblock");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "shape_key_remove", "rna_Object_shape_key_remove");
        RNA_def_function_ui_description(func, "Remove a Shape Key from this object");
        RNA_def_function_flag(func, FUNC_USE_MAIN | FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "key", "ShapeKey", "", "Keyblock to be removed");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        /* Ray Cast */
        func = RNA_def_function(srna, "ray_cast", "rna_Object_ray_cast");
@@ -611,9 +611,9 @@ void RNA_api_object(StructRNA *srna)
        
        /* ray start and end */
        parm = RNA_def_float_vector(func, "origin", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_float_vector(func, "direction", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_float(func, "distance", BVH_RAYCAST_DIST_MAX, 0.0, BVH_RAYCAST_DIST_MAX,
                      "", "Maximum distance", 0.0, BVH_RAYCAST_DIST_MAX);
 
@@ -622,11 +622,11 @@ void RNA_api_object(StructRNA *srna)
        RNA_def_function_output(func, parm);
        parm = RNA_def_float_vector(func, "location", 3, NULL, -FLT_MAX, FLT_MAX, "Location",
                                    "The hit location of this ray cast", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_function_output(func, parm);
        parm = RNA_def_float_vector(func, "normal", 3, NULL, -FLT_MAX, FLT_MAX, "Normal",
                                    "The face normal at the ray cast hit location", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_function_output(func, parm);
        parm = RNA_def_int(func, "index", 0, 0, 0, "", "The face index, -1 when original data isn't available", 0, 0);
        RNA_def_function_output(func, parm);
@@ -638,7 +638,7 @@ void RNA_api_object(StructRNA *srna)
 
        /* location of point for test and max distance */
        parm = RNA_def_float_vector(func, "origin", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* default is sqrt(FLT_MAX) */
        RNA_def_float(func, "distance", 1.844674352395373e+19, 0.0, FLT_MAX, "", "Maximum distance", 0.0, FLT_MAX);
 
@@ -647,11 +647,11 @@ void RNA_api_object(StructRNA *srna)
        RNA_def_function_output(func, parm);
        parm = RNA_def_float_vector(func, "location", 3, NULL, -FLT_MAX, FLT_MAX, "Location",
                                    "The location on the object closest to the point", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_function_output(func, parm);
        parm = RNA_def_float_vector(func, "normal", 3, NULL, -FLT_MAX, FLT_MAX, "Normal",
                                    "The face normal at the closest point", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_function_output(func, parm);
 
        parm = RNA_def_int(func, "index", 0, 0, 0, "", "The face index, -1 when original data isn't available", 0, 0);
@@ -661,7 +661,7 @@ void RNA_api_object(StructRNA *srna)
        func = RNA_def_function(srna, "is_visible", "rna_Object_is_visible");
        RNA_def_function_ui_description(func, "Determine if object is visible in a given scene");
        parm = RNA_def_pointer(func, "scene", "Scene", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_boolean(func, "result", 0, "", "Object visibility");
        RNA_def_function_return(func, parm);
 
@@ -669,18 +669,18 @@ void RNA_api_object(StructRNA *srna)
        func = RNA_def_function(srna, "is_modified", "rna_Object_is_modified");
        RNA_def_function_ui_description(func, "Determine if this object is modified from the base mesh data");
        parm = RNA_def_pointer(func, "scene", "Scene", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_enum(func, "settings", mesh_type_items, 0, "", "Modifier settings to apply");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_boolean(func, "result", 0, "", "Object visibility");
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "is_deform_modified", "rna_Object_is_deform_modified");
        RNA_def_function_ui_description(func, "Determine if this object is modified by a deformation from the base mesh data");
        parm = RNA_def_pointer(func, "scene", "Scene", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_enum(func, "settings", mesh_type_items, 0, "", "Modifier settings to apply");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_boolean(func, "result", 0, "", "Object visibility");
        RNA_def_function_return(func, parm);
 
@@ -690,10 +690,10 @@ void RNA_api_object(StructRNA *srna)
        RNA_def_function_ui_description(func, "Returns a string for derived mesh data");
 
        parm = RNA_def_enum(func, "type", mesh_dm_info_items, 0, "", "Modifier settings to apply");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* weak!, no way to return dynamic string type */
        parm = RNA_def_string(func, "result", NULL, 16384, "result", "");
-       RNA_def_property_flag(parm, PROP_THICK_WRAP); /* needed for string return value */
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0); /* needed for string return value */
        RNA_def_function_output(func, parm);
 #endif /* NDEBUG */
 
@@ -716,7 +716,7 @@ void RNA_api_object_base(StructRNA *srna)
        RNA_def_function_ui_description(func,
                                        "Sets the object layers from a 3D View (use when adding an object in local view)");
        parm = RNA_def_pointer(func, "view", "SpaceView3D", "", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 }
 
 #endif /* RNA_RUNTIME */
index 8cbb57fde2c960049de6aaaaedb5359bda456c9d..4d6b94bf7095703c013417f669f52ef64ff58eb1 100644 (file)
@@ -115,8 +115,8 @@ static void rna_def_palettecolors(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a color from the palette");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "color", "PaletteColor", "", "The color to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        func = RNA_def_function(srna, "clear", "rna_Palette_color_clear");
        RNA_def_function_ui_description(func, "Remove all colors from the palette");
index 5e3fa4b467d82de7e5ee554079a7518ce22d98b5..362baed1e7c842333179da1dad6be25c2da80525 100644 (file)
@@ -1295,7 +1295,9 @@ static void rna_def_particle_hair_key(BlenderRNA *brna)
 {
        StructRNA *srna;
        PropertyRNA *prop;
+
        FunctionRNA *func;
+       PropertyRNA *parm;
 
        srna = RNA_def_struct(brna, "ParticleHairKey", NULL);
        RNA_def_struct_sdna(srna, "HairKey");
@@ -1323,18 +1325,16 @@ static void rna_def_particle_hair_key(BlenderRNA *brna)
        /* Aided co func */
        func = RNA_def_function(srna, "co_object", "rna_ParticleHairKey_co_object");
        RNA_def_function_ui_description(func, "Obtain hairkey location with particle and modifier data");
-
-       prop = RNA_def_pointer(func, "object", "Object", "", "Object");
-       RNA_def_property_flag(prop, PROP_REQUIRED | PROP_NEVER_NULL);
-       prop = RNA_def_pointer(func, "modifier", "ParticleSystemModifier", "", "Particle modifier");
-       RNA_def_property_flag(prop, PROP_REQUIRED | PROP_NEVER_NULL);
-       prop = RNA_def_pointer(func, "particle", "Particle", "", "hair particle");
-       RNA_def_property_flag(prop, PROP_REQUIRED | PROP_NEVER_NULL);
-       
-       prop = RNA_def_float_vector(func, "co", 3, NULL, -FLT_MAX, FLT_MAX, "Co",
+       parm = RNA_def_pointer(func, "object", "Object", "", "Object");
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+       parm = RNA_def_pointer(func, "modifier", "ParticleSystemModifier", "", "Particle modifier");
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+       parm = RNA_def_pointer(func, "particle", "Particle", "", "hair particle");
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+       parm = RNA_def_float_vector(func, "co", 3, NULL, -FLT_MAX, FLT_MAX, "Co",
                                    "Exported hairkey location", -1e4, 1e4);
-       RNA_def_property_flag(prop, PROP_THICK_WRAP);
-       RNA_def_function_output(func, prop);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
+       RNA_def_function_output(func, parm);
 }
 
 static void rna_def_particle_key(BlenderRNA *brna)
@@ -1386,7 +1386,9 @@ static void rna_def_particle(BlenderRNA *brna)
 {
        StructRNA *srna;
        PropertyRNA *prop;
+
        FunctionRNA *func;
+       PropertyRNA *parm;
 
        static EnumPropertyItem alive_items[] = {
                /*{PARS_KILLED, "KILLED", 0, "Killed", ""}, */
@@ -1496,12 +1498,12 @@ static void rna_def_particle(BlenderRNA *brna)
        func = RNA_def_function(srna, "uv_on_emitter", "rna_Particle_uv_on_emitter");
        RNA_def_function_ui_description(func, "Obtain uv for particle on derived mesh");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
-       prop = RNA_def_pointer(func, "modifier", "ParticleSystemModifier", "", "Particle modifier");
-       RNA_def_property_flag(prop, PROP_REQUIRED | PROP_NEVER_NULL);
-       prop = RNA_def_property(func, "uv", PROP_FLOAT, PROP_COORDS);
-       RNA_def_property_array(prop, 2);
-       RNA_def_property_flag(prop, PROP_THICK_WRAP);
-       RNA_def_function_output(func, prop);
+       parm = RNA_def_pointer(func, "modifier", "ParticleSystemModifier", "", "Particle modifier");
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+       parm = RNA_def_property(func, "uv", PROP_FLOAT, PROP_COORDS);
+       RNA_def_property_array(parm, 2);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
+       RNA_def_function_output(func, parm);
 }
 
 static void rna_def_particle_dupliweight(BlenderRNA *brna)
@@ -3194,7 +3196,9 @@ static void rna_def_particle_system(BlenderRNA *brna)
 {
        StructRNA *srna;
        PropertyRNA *prop;
+
        FunctionRNA *func;
+       PropertyRNA *parm;
 
        static EnumPropertyItem resolution_items[] = {
                {eModifierMode_Realtime, "PREVIEW", 0, "Preview", "Apply modifier preview settings"},
@@ -3503,53 +3507,51 @@ static void rna_def_particle_system(BlenderRNA *brna)
        /* set viewport or render resolution */
        func = RNA_def_function(srna, "set_resolution", "rna_ParticleSystem_set_resolution");
        RNA_def_function_ui_description(func, "Set the resolution to use for the number of particles");
-       prop = RNA_def_pointer(func, "scene", "Scene", "", "Scene");
-       prop = RNA_def_pointer(func, "object", "Object", "", "Object");
-       prop = RNA_def_enum(func, "resolution", resolution_items, 0, "", "Resolution settings to apply");
+       RNA_def_pointer(func, "scene", "Scene", "", "Scene");
+       RNA_def_pointer(func, "object", "Object", "", "Object");
+       RNA_def_enum(func, "resolution", resolution_items, 0, "", "Resolution settings to apply");
 
        /* extract cached hair location data */
        func = RNA_def_function(srna, "co_hair", "rna_ParticleSystem_co_hair");
        RNA_def_function_ui_description(func, "Obtain cache hair data");
-
-       prop = RNA_def_pointer(func, "object", "Object", "", "Object");
-       RNA_def_property_flag(prop, PROP_REQUIRED | PROP_NEVER_NULL);
-       prop = RNA_def_int(func, "particle_no", 0, INT_MIN, INT_MAX, "Particle no", "", INT_MIN, INT_MAX);
-       prop = RNA_def_int(func, "step", 0, INT_MIN, INT_MAX, "step no", "", INT_MIN, INT_MAX);
-
-       prop = RNA_def_float_vector(func, "co", 3, NULL, -FLT_MAX, FLT_MAX, "Co",
+       parm = RNA_def_pointer(func, "object", "Object", "", "Object");
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+       RNA_def_int(func, "particle_no", 0, INT_MIN, INT_MAX, "Particle no", "", INT_MIN, INT_MAX);
+       RNA_def_int(func, "step", 0, INT_MIN, INT_MAX, "step no", "", INT_MIN, INT_MAX);
+       parm = RNA_def_float_vector(func, "co", 3, NULL, -FLT_MAX, FLT_MAX, "Co",
                                    "Exported hairkey location", -1e4, 1e4);
-       RNA_def_property_flag(prop, PROP_THICK_WRAP);
-       RNA_def_function_output(func, prop);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
+       RNA_def_function_output(func, parm);
 
        /* extract hair UVs */
        func = RNA_def_function(srna, "uv_on_emitter", "rna_ParticleSystem_uv_on_emitter");
        RNA_def_function_ui_description(func, "Obtain uv for all particles");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
-       prop = RNA_def_pointer(func, "modifier", "ParticleSystemModifier", "", "Particle modifier");
-       RNA_def_property_flag(prop, PROP_REQUIRED | PROP_NEVER_NULL);
+       parm = RNA_def_pointer(func, "modifier", "ParticleSystemModifier", "", "Particle modifier");
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        prop = RNA_def_pointer(func, "particle", "Particle", "", "Particle");
-       RNA_def_property_flag(prop, PROP_REQUIRED | PROP_NEVER_NULL);
-       prop = RNA_def_int(func, "particle_no", 0, INT_MIN, INT_MAX, "Particle no", "", INT_MIN, INT_MAX);
-       prop = RNA_def_int(func, "uv_no", 0, INT_MIN, INT_MAX, "UV no", "", INT_MIN, INT_MAX);
-       prop = RNA_def_property(func, "uv", PROP_FLOAT, PROP_COORDS);
-       RNA_def_property_array(prop, 2);
-       RNA_def_property_flag(prop, PROP_THICK_WRAP);
-       RNA_def_function_output(func, prop);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+       RNA_def_int(func, "particle_no", 0, INT_MIN, INT_MAX, "Particle no", "", INT_MIN, INT_MAX);
+       RNA_def_int(func, "uv_no", 0, INT_MIN, INT_MAX, "UV no", "", INT_MIN, INT_MAX);
+       parm = RNA_def_property(func, "uv", PROP_FLOAT, PROP_COORDS);
+       RNA_def_property_array(parm, 2);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
+       RNA_def_function_output(func, parm);
 
        /* extract hair mcols */
        func = RNA_def_function(srna, "mcol_on_emitter", "rna_ParticleSystem_mcol_on_emitter");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Obtain mcol for all particles");
-       prop = RNA_def_pointer(func, "modifier", "ParticleSystemModifier", "", "Particle modifier");
-       RNA_def_property_flag(prop, PROP_REQUIRED | PROP_NEVER_NULL);
-       prop = RNA_def_pointer(func, "particle", "Particle", "", "Particle");
-       RNA_def_property_flag(prop, PROP_REQUIRED | PROP_NEVER_NULL);
-       prop = RNA_def_int(func, "particle_no", 0, INT_MIN, INT_MAX, "Particle no", "", INT_MIN, INT_MAX);
-       prop = RNA_def_int(func, "vcol_no", 0, INT_MIN, INT_MAX, "vcol no", "", INT_MIN, INT_MAX);
-       prop = RNA_def_property(func, "mcol", PROP_FLOAT, PROP_COLOR);
-       RNA_def_property_array(prop, 3);
-       RNA_def_property_flag(prop, PROP_THICK_WRAP);
-       RNA_def_function_output(func, prop);
+       parm = RNA_def_pointer(func, "modifier", "ParticleSystemModifier", "", "Particle modifier");
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+       parm = RNA_def_pointer(func, "particle", "Particle", "", "Particle");
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+       RNA_def_int(func, "particle_no", 0, INT_MIN, INT_MAX, "Particle no", "", INT_MIN, INT_MAX);
+       RNA_def_int(func, "vcol_no", 0, INT_MIN, INT_MAX, "vcol no", "", INT_MIN, INT_MAX);
+       parm = RNA_def_property(func, "mcol", PROP_FLOAT, PROP_COLOR);
+       RNA_def_property_array(parm, 3);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
+       RNA_def_function_output(func, parm);
 
 }
 
index 0591e877634b1dc3b725508ac8fb735ac0d0faf0..99d57147248a1ea2c213b4ccf7d8ed4eec3e5bed 100644 (file)
@@ -768,15 +768,15 @@ static void rna_def_pose_channel_constraints(BlenderRNA *brna, PropertyRNA *cpro
        RNA_def_function_return(func, parm);
        /* constraint to add */
        parm = RNA_def_enum(func, "type", rna_enum_constraint_type_items, 1, "", "Constraint type to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "remove", "rna_PoseChannel_constraints_remove");
        RNA_def_function_ui_description(func, "Remove a constraint from this object");
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID); /* ID needed for refresh */
        /* constraint to remove */
        parm = RNA_def_pointer(func, "constraint", "Constraint", "", "Removed constraint");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_pose_channel(BlenderRNA *brna)
@@ -1359,8 +1359,8 @@ static void rna_def_bone_groups(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID); /* ID needed for refresh */
        /* bone group to remove */
        parm = RNA_def_pointer(func, "group", "BoneGroup", "", "Removed bone group");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "BoneGroup");
index 465a86adc3159daed998b2564d5a9637d152f346..f523b725b188740eb9085f67033a52e139329cb1 100644 (file)
@@ -76,7 +76,7 @@ void RNA_api_pose_channel(StructRNA *srna)
        RNA_def_function_ui_description(func, "Calculate bone envelope at given point");
        parm = RNA_def_float_vector_xyz(func, "point", 3, NULL, -FLT_MAX, FLT_MAX, "Point",
                                        "Position in 3d space to evaluate", -FLT_MAX, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return value */
        parm = RNA_def_float(func, "factor", 0, -FLT_MAX, FLT_MAX, "Factor", "Envelope factor", -FLT_MAX, FLT_MAX);
        RNA_def_function_return(func, parm);
index 84382704b2ba72646c7fce04b6be0a38251e73d2..946b20c916dea3894746aa007c8bc3907275b648 100644 (file)
@@ -420,8 +420,10 @@ static void rna_def_render_engine(BlenderRNA *brna)
 {
        StructRNA *srna;
        PropertyRNA *prop;
+
        FunctionRNA *func;
-       
+       PropertyRNA *parm;
+
        srna = RNA_def_struct(brna, "RenderEngine", NULL);
        RNA_def_struct_sdna(srna, "RenderEngine");
        RNA_def_struct_ui_text(srna, "Render Engine", "Render engine");
@@ -444,25 +446,25 @@ static void rna_def_render_engine(BlenderRNA *brna)
        func = RNA_def_function(srna, "bake", NULL);
        RNA_def_function_ui_description(func, "Bake passes");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE);
-       prop = RNA_def_pointer(func, "scene", "Scene", "", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_pointer(func, "object", "Object", "", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_enum(func, "pass_type", rna_enum_bake_pass_type_items, 0, "Pass", "Pass to bake");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_int(func, "pass_filter", 0, 0, INT_MAX, "Pass Filter", "Filter to combined, diffuse, glossy, transmission and subsurface passes", 0, INT_MAX);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_int(func, "object_id", 0, 0, INT_MAX, "Object Id", "Id of the current object being baked in relation to the others", 0, INT_MAX);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_pointer(func, "pixel_array", "BakePixel", "", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_int(func, "num_pixels", 0, 0, INT_MAX, "Number of Pixels", "Size of the baking batch", 0, INT_MAX);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_int(func, "depth", 0, 0, INT_MAX, "Pixels depth", "Number of channels", 1, INT_MAX);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_pointer(func, "scene", "Scene", "", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_pointer(func, "object", "Object", "", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_enum(func, "pass_type", rna_enum_bake_pass_type_items, 0, "Pass", "Pass to bake");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_int(func, "pass_filter", 0, 0, INT_MAX, "Pass Filter", "Filter to combined, diffuse, glossy, transmission and subsurface passes", 0, INT_MAX);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_int(func, "object_id", 0, 0, INT_MAX, "Object Id", "Id of the current object being baked in relation to the others", 0, INT_MAX);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_pointer(func, "pixel_array", "BakePixel", "", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_int(func, "num_pixels", 0, 0, INT_MAX, "Number of Pixels", "Size of the baking batch", 0, INT_MAX);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_int(func, "depth", 0, 0, INT_MAX, "Pixels depth", "Number of channels", 1, INT_MAX);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* TODO, see how array size of 0 works, this shouldnt be used */
-       prop = RNA_def_pointer(func, "result", "AnyType", "", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_pointer(func, "result", "AnyType", "", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        /* viewport render callbacks */
        func = RNA_def_function(srna, "view_update", NULL);
@@ -479,8 +481,8 @@ static void rna_def_render_engine(BlenderRNA *brna)
        func = RNA_def_function(srna, "update_script_node", NULL);
        RNA_def_function_ui_description(func, "Compile shader script node");
        RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE);
-       prop = RNA_def_pointer(func, "node", "Node", "", "");
-       RNA_def_property_flag(prop, PROP_RNAPTR);
+       parm = RNA_def_pointer(func, "node", "Node", "", "");
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
 
        /* tag for redraw */
        func = RNA_def_function(srna, "tag_redraw", "engine_tag_redraw");
@@ -492,115 +494,115 @@ static void rna_def_render_engine(BlenderRNA *brna)
 
        func = RNA_def_function(srna, "begin_result", "RE_engine_begin_result");
        RNA_def_function_ui_description(func, "Create render result to write linear floating point render layers and passes");
-       prop = RNA_def_int(func, "x", 0, 0, INT_MAX, "X", "", 0, INT_MAX);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_int(func, "y", 0, 0, INT_MAX, "Y", "", 0, INT_MAX);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_int(func, "w", 0, 0, INT_MAX, "Width", "", 0, INT_MAX);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_int(func, "h", 0, 0, INT_MAX, "Height", "", 0, INT_MAX);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_int(func, "x", 0, 0, INT_MAX, "X", "", 0, INT_MAX);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_int(func, "y", 0, 0, INT_MAX, "Y", "", 0, INT_MAX);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_int(func, "w", 0, 0, INT_MAX, "Width", "", 0, INT_MAX);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_int(func, "h", 0, 0, INT_MAX, "Height", "", 0, INT_MAX);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_string(func, "layer", NULL, 0, "Layer", "Single layer to get render result for");  /* NULL ok here */
        RNA_def_string(func, "view", NULL, 0, "View", "Single view to get render result for");  /* NULL ok here */
-       prop = RNA_def_pointer(func, "result", "RenderResult", "Result", "");
-       RNA_def_function_return(func, prop);
+       parm = RNA_def_pointer(func, "result", "RenderResult", "Result", "");
+       RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "update_result", "RE_engine_update_result");
        RNA_def_function_ui_description(func, "Signal that pixels have been updated and can be redrawn in the user interface");
-       prop = RNA_def_pointer(func, "result", "RenderResult", "Result", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_pointer(func, "result", "RenderResult", "Result", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "end_result", "RE_engine_end_result");
        RNA_def_function_ui_description(func, "All pixels in the render result have been set and are final");
-       prop = RNA_def_pointer(func, "result", "RenderResult", "Result", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_pointer(func, "result", "RenderResult", "Result", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "cancel", 0, "Cancel", "Don't mark tile as done, don't merge results unless forced");
        RNA_def_boolean(func, "do_merge_results", 0, "Merge Results", "Merge results even if cancel=true");
 
        func = RNA_def_function(srna, "test_break", "RE_engine_test_break");
        RNA_def_function_ui_description(func, "Test if the render operation should been canceled, this is a fast call that should be used regularly for responsiveness");
-       prop = RNA_def_boolean(func, "do_break", 0, "Break", "");
-       RNA_def_function_return(func, prop);
+       parm = RNA_def_boolean(func, "do_break", 0, "Break", "");
+       RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "active_view_get", "RE_engine_active_view_get");
-       prop = RNA_def_string(func, "view", NULL, 0, "View", "Single view active");
-       RNA_def_function_return(func, prop);
+       parm = RNA_def_string(func, "view", NULL, 0, "View", "Single view active");
+       RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "active_view_set", "RE_engine_active_view_set");
-       RNA_def_string(func, "view", NULL, 0, "View", "Single view to set as active");  /* NULL ok here */
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_string(func, "view", NULL, 0, "View", "Single view to set as active");  /* NULL ok here */
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "camera_shift_x", "RE_engine_get_camera_shift_x");
-       prop = RNA_def_pointer(func, "camera", "Object", "", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_boolean(func, "use_spherical_stereo", 0, "Spherical Stereo", "");
-       prop = RNA_def_float(func, "shift_x", 0.0f, 0.0f, FLT_MAX, "Shift X", "", 0.0f, FLT_MAX);
-       RNA_def_function_return(func, prop);
+       parm = RNA_def_pointer(func, "camera", "Object", "", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       RNA_def_boolean(func, "use_spherical_stereo", 0, "Spherical Stereo", "");
+       parm = RNA_def_float(func, "shift_x", 0.0f, 0.0f, FLT_MAX, "Shift X", "", 0.0f, FLT_MAX);
+       RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "camera_model_matrix", "RE_engine_get_camera_model_matrix");
-       prop = RNA_def_pointer(func, "camera", "Object", "", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_boolean(func, "use_spherical_stereo", 0, "Spherical Stereo", "");
-       prop = RNA_def_float_matrix(func, "r_model_matrix", 4, 4, NULL, 0.0f, 0.0f, "Model Matrix", "Normalized camera model matrix", 0.0f, 0.0f);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_pointer(func, "camera", "Object", "", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       RNA_def_boolean(func, "use_spherical_stereo", 0, "Spherical Stereo", "");
+       parm = RNA_def_float_matrix(func, "r_model_matrix", 4, 4, NULL, 0.0f, 0.0f, "Model Matrix", "Normalized camera model matrix", 0.0f, 0.0f);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "use_spherical_stereo", "RE_engine_get_spherical_stereo");
-       prop = RNA_def_pointer(func, "camera", "Object", "", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_boolean(func, "use_spherical_stereo", 0, "Spherical Stereo", "");
-       RNA_def_function_return(func, prop);
+       parm = RNA_def_pointer(func, "camera", "Object", "", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_boolean(func, "use_spherical_stereo", 0, "Spherical Stereo", "");
+       RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "update_stats", "RE_engine_update_stats");
        RNA_def_function_ui_description(func, "Update and signal to redraw render status text");
-       prop = RNA_def_string(func, "stats", NULL, 0, "Stats", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_string(func, "info", NULL, 0, "Info", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_string(func, "stats", NULL, 0, "Stats", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_string(func, "info", NULL, 0, "Info", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "frame_set", "RE_engine_frame_set");
        RNA_def_function_ui_description(func, "Evaluate scene at a different frame (for motion blur)");
-       prop = RNA_def_int(func, "frame", 0, INT_MIN, INT_MAX, "Frame", "", INT_MIN, INT_MAX);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_float(func, "subframe", 0.0f, 0.0f, 1.0f, "Subframe", "", 0.0f, 1.0f);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_int(func, "frame", 0, INT_MIN, INT_MAX, "Frame", "", INT_MIN, INT_MAX);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_float(func, "subframe", 0.0f, 0.0f, 1.0f, "Subframe", "", 0.0f, 1.0f);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "update_progress", "RE_engine_update_progress");
        RNA_def_function_ui_description(func, "Update progress percentage of render");
-       prop = RNA_def_float(func, "progress", 0, 0.0f, 1.0f, "", "Percentage of render that's done", 0.0f, 1.0f);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_float(func, "progress", 0, 0.0f, 1.0f, "", "Percentage of render that's done", 0.0f, 1.0f);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "update_memory_stats", "RE_engine_update_memory_stats");
        RNA_def_function_ui_description(func, "Update memory usage statistics");
        RNA_def_float(func, "memory_used", 0, 0.0f, FLT_MAX, "", "Current memory usage in megabytes", 0.0f, FLT_MAX);
        RNA_def_float(func, "memory_peak", 0, 0.0f, FLT_MAX, "", "Peak memory usage in megabytes", 0.0f, FLT_MAX);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "report", "RE_engine_report");
        RNA_def_function_ui_description(func, "Report info, warning or error messages");
-       prop = RNA_def_enum_flag(func, "type", rna_enum_wm_report_items, 0, "Type", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_string(func, "message", NULL, 0, "Report Message", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_enum_flag(func, "type", rna_enum_wm_report_items, 0, "Type", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_string(func, "message", NULL, 0, "Report Message", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "error_set", "RE_engine_set_error_message");
        RNA_def_function_ui_description(func, "Set error message displaying after the render is finished");
-       prop = RNA_def_string(func, "message", NULL, 0, "Report Message", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_string(func, "message", NULL, 0, "Report Message", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "bind_display_space_shader", "engine_bind_display_space_shader");
        RNA_def_function_ui_description(func, "Bind GLSL fragment shader that converts linear colors to display space colors using scene color management settings");
-       prop = RNA_def_pointer(func, "scene", "Scene", "", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_pointer(func, "scene", "Scene", "", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        func = RNA_def_function(srna, "unbind_display_space_shader", "engine_unbind_display_space_shader");
        RNA_def_function_ui_description(func, "Unbind GLSL display space shader, must always be called after binding the shader");
 
        func = RNA_def_function(srna, "support_display_space_shader", "engine_support_display_space_shader");
        RNA_def_function_ui_description(func, "Test if GLSL display space shader is supported for the combination of graphics card and scene settings");
-       prop = RNA_def_pointer(func, "scene", "Scene", "", "");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_boolean(func, "supported", 0, "Supported", "");
-       RNA_def_function_return(func, prop);
+       parm = RNA_def_pointer(func, "scene", "Scene", "", "");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_boolean(func, "supported", 0, "Supported", "");
+       RNA_def_function_return(func, parm);
 
        RNA_define_verify_sdna(0);
 
@@ -689,6 +691,8 @@ static void rna_def_render_engine(BlenderRNA *brna)
 static void rna_def_render_result(BlenderRNA *brna)
 {
        StructRNA *srna;
+       PropertyRNA *prop;
+
        FunctionRNA *func;
        PropertyRNA *parm;
        
@@ -701,27 +705,27 @@ static void rna_def_render_result(BlenderRNA *brna)
        parm = RNA_def_string_file_name(func, "filename", NULL, FILE_MAX, "File Name",
                                        "Filename to load into this render tile, must be no smaller than "
                                        "the render result");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        RNA_define_verify_sdna(0);
 
-       parm = RNA_def_property(srna, "resolution_x", PROP_INT, PROP_PIXEL);
-       RNA_def_property_int_sdna(parm, NULL, "rectx");
-       RNA_def_property_clear_flag(parm, PROP_EDITABLE);
+       prop = RNA_def_property(srna, "resolution_x", PROP_INT, PROP_PIXEL);
+       RNA_def_property_int_sdna(prop, NULL, "rectx");
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 
-       parm = RNA_def_property(srna, "resolution_y", PROP_INT, PROP_PIXEL);
-       RNA_def_property_int_sdna(parm, NULL, "recty");
-       RNA_def_property_clear_flag(parm, PROP_EDITABLE);
+       prop = RNA_def_property(srna, "resolution_y", PROP_INT, PROP_PIXEL);
+       RNA_def_property_int_sdna(prop, NULL, "recty");
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 
-       parm = RNA_def_property(srna, "layers", PROP_COLLECTION, PROP_NONE);
-       RNA_def_property_struct_type(parm, "RenderLayer");
-       RNA_def_property_collection_funcs(parm, "rna_RenderResult_layers_begin", "rna_iterator_listbase_next",
+       prop = RNA_def_property(srna, "layers", PROP_COLLECTION, PROP_NONE);
+       RNA_def_property_struct_type(prop, "RenderLayer");
+       RNA_def_property_collection_funcs(prop, "rna_RenderResult_layers_begin", "rna_iterator_listbase_next",
                                          "rna_iterator_listbase_end", "rna_iterator_listbase_get",
                                          NULL, NULL, NULL, NULL);
 
-       parm = RNA_def_property(srna, "views", PROP_COLLECTION, PROP_NONE);
-       RNA_def_property_struct_type(parm, "RenderView");
-       RNA_def_property_collection_funcs(parm, "rna_RenderResult_views_begin", "rna_iterator_listbase_next",
+       prop = RNA_def_property(srna, "views", PROP_COLLECTION, PROP_NONE);
+       RNA_def_property_struct_type(prop, "RenderView");
+       RNA_def_property_collection_funcs(prop, "rna_RenderResult_views_begin", "rna_iterator_listbase_next",
                                          "rna_iterator_listbase_end", "rna_iterator_listbase_get",
                                          NULL, NULL, NULL, NULL);
 
@@ -761,19 +765,20 @@ static void rna_def_render_passes(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "find_by_type", "rna_RenderPass_find_by_type");
        RNA_def_function_ui_description(func, "Get the render pass for a given type and view");
        parm = RNA_def_enum(func, "pass_type", rna_enum_render_pass_type_items, SCE_PASS_COMBINED, "Pass", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_string(func, "view", NULL, 0, "View", "Render view to get pass from");  /* NULL ok here */
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "render_pass", "RenderPass", "", "The matching render pass");
        RNA_def_function_return(func, parm);
-
 }
 
 static void rna_def_render_layer(BlenderRNA *brna)
 {
        StructRNA *srna;
        PropertyRNA *prop;
+
        FunctionRNA *func;
+       PropertyRNA *parm;
        
        srna = RNA_def_struct(brna, "RenderLayer", NULL);
        RNA_def_struct_ui_text(srna, "Render Layer", "");
@@ -781,9 +786,9 @@ static void rna_def_render_layer(BlenderRNA *brna)
        func = RNA_def_function(srna, "load_from_file", "RE_layer_load_from_file");
        RNA_def_function_ui_description(func, "Copies the pixels of this renderlayer from an image file");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
-       prop = RNA_def_string(func, "filename", NULL, 0, "Filename",
+       parm = RNA_def_string(func, "filename", NULL, 0, "Filename",
                              "Filename to load into this render tile, must be no smaller than the renderlayer");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_int(func, "x", 0, 0, INT_MAX, "Offset X",
                    "Offset the position to copy from if the image is larger than the render layer", 0, INT_MAX);
        RNA_def_int(func, "y", 0, 0, INT_MAX, "Offset Y",
index 85a34a94746fe8eb53d317d4c63a775a56b9e8e2..a1a7efdaba544b22b20db7b44fdbd80a971c9a43 100644 (file)
@@ -730,7 +730,9 @@ static void rna_def_rigidbody_world(BlenderRNA *brna)
 {
        StructRNA *srna;
        PropertyRNA *prop;
+
        FunctionRNA *func;
+       PropertyRNA *parm;
 
        srna = RNA_def_struct(brna, "RigidBodyWorld", NULL);
        RNA_def_struct_sdna(srna, "RigidBodyWorld");
@@ -813,34 +815,28 @@ static void rna_def_rigidbody_world(BlenderRNA *brna)
        func = RNA_def_function(srna, "convex_sweep_test", "rna_RigidBodyWorld_convex_sweep_test");
        RNA_def_function_ui_description(func, "Sweep test convex rigidbody against the current rigidbody world");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
-
-       prop = RNA_def_pointer(func, "object", "Object", "", "Rigidbody object with a convex collision shape");
-       RNA_def_property_flag(prop, PROP_REQUIRED | PROP_NEVER_NULL);
-       RNA_def_property_clear_flag(prop, PROP_THICK_WRAP);
-
+       parm = RNA_def_pointer(func, "object", "Object", "", "Rigidbody object with a convex collision shape");
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
        /* ray start and end */
-       prop = RNA_def_float_vector(func, "start", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-       prop = RNA_def_float_vector(func, "end", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
-       RNA_def_property_flag(prop, PROP_REQUIRED);
-
-       prop = RNA_def_float_vector(func, "object_location", 3, NULL, -FLT_MAX, FLT_MAX, "Location",
+       parm = RNA_def_float_vector(func, "start", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_float_vector(func, "end", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+       parm = RNA_def_float_vector(func, "object_location", 3, NULL, -FLT_MAX, FLT_MAX, "Location",
                                    "The hit location of this sweep test", -1e4, 1e4);
-       RNA_def_property_flag(prop, PROP_THICK_WRAP);
-       RNA_def_function_output(func, prop);
-
-       prop = RNA_def_float_vector(func, "hitpoint", 3, NULL, -FLT_MAX, FLT_MAX, "Hitpoint",
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
+       RNA_def_function_output(func, parm);
+       parm = RNA_def_float_vector(func, "hitpoint", 3, NULL, -FLT_MAX, FLT_MAX, "Hitpoint",
                                    "The hit location of this sweep test", -1e4, 1e4);
-       RNA_def_property_flag(prop, PROP_THICK_WRAP);
-       RNA_def_function_output(func, prop);
-
-       prop = RNA_def_float_vector(func, "normal", 3, NULL, -FLT_MAX, FLT_MAX, "Normal",
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
+       RNA_def_function_output(func, parm);
+       parm = RNA_def_float_vector(func, "normal", 3, NULL, -FLT_MAX, FLT_MAX, "Normal",
                                    "The face normal at the sweep test hit location", -1e4, 1e4);
-       RNA_def_property_flag(prop, PROP_THICK_WRAP);
-       RNA_def_function_output(func, prop);
-
-       prop = RNA_def_int(func, "has_hit", 0, 0, 0, "", "If the function has found collision point, value is 1, otherwise 0", 0, 0);
-       RNA_def_function_output(func, prop);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
+       RNA_def_function_output(func, parm);
+       parm = RNA_def_int(func, "has_hit", 0, 0, 0, "", "If the function has found collision point, value is 1, otherwise 0", 0, 0);
+       RNA_def_function_output(func, parm);
 }
 
 static void rna_def_rigidbody_object(BlenderRNA *brna)
index 727bdac087b75dfbc14704d7129b8ba580795de0..abded187b33132c13cb060df10b8cfc3b85760bc 100644 (file)
@@ -178,7 +178,7 @@ static int rna_idproperty_known(CollectionPropertyIterator *iter, void *data)
         * for the second loop where we go over unknown id properties */
        do {
                for (prop = ptype->cont.properties.first; prop; prop = prop->next)
-                       if ((prop->flag & PROP_BUILTIN) == 0 && STREQ(prop->identifier, idprop->name))
+                       if ((prop->flag_internal & PROP_INTERN_BUILTIN) == 0 && STREQ(prop->identifier, idprop->name))
                                return 1;
        } while ((ptype = ptype->base));
 
@@ -191,7 +191,7 @@ static int rna_property_builtin(CollectionPropertyIterator *UNUSED(iter), void *
 
        /* function to skip builtin rna properties */
 
-       return (prop->flag & PROP_BUILTIN);
+       return (prop->flag_internal & PROP_INTERN_BUILTIN);
 }
 
 static int rna_function_builtin(CollectionPropertyIterator *UNUSED(iter), void *data)
@@ -385,7 +385,7 @@ int rna_builtin_properties_lookup_string(PointerRNA *ptr, const char *key, Point
                }
                else {
                        for (prop = srna->cont.properties.first; prop; prop = prop->next) {
-                               if (!(prop->flag & PROP_BUILTIN) && STREQ(prop->identifier, key)) {
+                               if (!(prop->flag_internal & PROP_INTERN_BUILTIN) && STREQ(prop->identifier, key)) {
                                        propptr.type = &RNA_Property;
                                        propptr.data = prop;
 
@@ -557,19 +557,19 @@ static int rna_Property_animatable_get(PointerRNA *ptr)
 static int rna_Property_use_output_get(PointerRNA *ptr)
 {
        PropertyRNA *prop = (PropertyRNA *)ptr->data;
-       return (prop->flag & PROP_OUTPUT) != 0;
+       return (prop->flag_parameter & PARM_OUTPUT) != 0;
 }
 
 static int rna_Property_is_required_get(PointerRNA *ptr)
 {
        PropertyRNA *prop = (PropertyRNA *)ptr->data;
-       return (prop->flag & PROP_REQUIRED) != 0;
+       return (prop->flag_parameter & PARM_REQUIRED) != 0;
 }
 
 static int rna_Property_is_argument_optional_get(PointerRNA *ptr)
 {
        PropertyRNA *prop = (PropertyRNA *)ptr->data;
-       return (prop->flag & PROP_PYFUNC_OPTIONAL) != 0;
+       return (prop->flag_parameter & PARM_PYFUNC_OPTIONAL) != 0;
 }
 
 static int rna_Property_is_never_none_get(PointerRNA *ptr)
@@ -625,7 +625,7 @@ static int rna_Property_is_registered_optional_get(PointerRNA *ptr)
 static int rna_Property_is_runtime_get(PointerRNA *ptr)
 {
        PropertyRNA *prop = (PropertyRNA *)ptr->data;
-       return (prop->flag & PROP_RUNTIME) != 0;
+       return (prop->flag_internal & PROP_INTERN_RUNTIME) != 0;
 }
 
 
index c63d4e775f8e307ac7d0d7c7ac118080517e6a12..ddfb5dc6d611bcc141561aafbaf5acd9319a8495 100644 (file)
@@ -2310,7 +2310,7 @@ static void rna_def_gpencil_brushes(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_GPencil_brush_new");
        RNA_def_function_ui_description(func, "Add a new grease pencil brush");
        parm = RNA_def_string(func, "name", "GPencilBrush", MAX_NAME, "Name", "Name of the brush");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "set_active", 0, "Set Active", "Set the newly created brush to the active brush");
        parm = RNA_def_pointer(func, "palette", "GPencilBrush", "", "The newly created brush");
        RNA_def_function_return(func, parm);
@@ -2319,8 +2319,8 @@ static void rna_def_gpencil_brushes(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a grease pencil brush");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "brush", "GPencilBrush", "", "The brush to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "GPencilBrush");
@@ -3609,8 +3609,8 @@ static void rna_def_freestyle_modules(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a style module from scene render layer Freestyle settings");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "module", "FreestyleModuleSettings", "", "Style module to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_freestyle_linesets(BlenderRNA *brna, PropertyRNA *cprop)
@@ -3642,7 +3642,7 @@ static void rna_def_freestyle_linesets(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a line set to scene render layer Freestyle settings");
        RNA_def_function_flag(func, FUNC_USE_MAIN | FUNC_USE_SELF_ID);
        parm = RNA_def_string(func, "name", "LineSet", 0, "", "New name for the line set (not unique)");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "lineset", "FreestyleLineSet", "", "Newly created line set");
        RNA_def_function_return(func, parm);
 
@@ -3650,8 +3650,8 @@ static void rna_def_freestyle_linesets(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a line set from scene render layer Freestyle settings");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "lineset", "FreestyleLineSet", "", "Line set to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_freestyle_settings(BlenderRNA *brna)
@@ -4979,7 +4979,7 @@ static void rna_def_render_layers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a render layer to scene");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_string(func, "name", "RenderLayer", 0, "", "New name for the render layer (not unique)");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "result", "SceneRenderLayer", "", "Newly created render layer");
        RNA_def_function_return(func, parm);
 
@@ -4987,8 +4987,8 @@ static void rna_def_render_layers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a render layer");
        RNA_def_function_flag(func, FUNC_USE_MAIN | FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        parm = RNA_def_pointer(func, "layer", "SceneRenderLayer", "", "Render layer to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 /* Render Views - MultiView */
@@ -5058,7 +5058,7 @@ static void rna_def_render_views(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Add a render view to scene");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_string(func, "name", "RenderView", 0, "", "New name for the marker (not unique)");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "result", "SceneRenderView", "", "Newly created render view");
        RNA_def_function_return(func, parm);
 
@@ -5066,8 +5066,8 @@ static void rna_def_render_views(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a render view");
        RNA_def_function_flag(func, FUNC_USE_MAIN | FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        parm = RNA_def_pointer(func, "view", "SceneRenderView", "", "Render view to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 static void rna_def_image_format_stereo3d_format(BlenderRNA *brna)
@@ -6635,7 +6635,7 @@ static void rna_def_scene_objects(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Link object to scene, run scene.update() after");
        RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "object", "Object", "", "Object to add to scene");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "base", "ObjectBase", "", "The newly created base");
        RNA_def_function_return(func, parm);
 
@@ -6643,7 +6643,7 @@ static void rna_def_scene_objects(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Unlink object from scene");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "object", "Object", "", "Object to remove from scene");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 
        prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "Object");
@@ -6694,7 +6694,7 @@ static void rna_def_timeline_markers(BlenderRNA *brna, PropertyRNA *cprop)
        func = RNA_def_function(srna, "new", "rna_TimeLine_add");
        RNA_def_function_ui_description(func, "Add a keyframe to the curve");
        parm = RNA_def_string(func, "name", "Marker", 0, "", "New name for the marker (not unique)");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "frame", 1, -MAXFRAME, MAXFRAME, "", "The frame for the new marker", -MAXFRAME, MAXFRAME);
        parm = RNA_def_pointer(func, "marker", "TimelineMarker", "", "Newly created timeline marker");
        RNA_def_function_return(func, parm);
@@ -6704,8 +6704,8 @@ static void rna_def_timeline_markers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a timeline marker");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "marker", "TimelineMarker", "", "Timeline marker to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        func = RNA_def_function(srna, "clear", "rna_TimeLine_clear");
        RNA_def_function_ui_description(func, "Remove all timeline markers");
@@ -6732,7 +6732,6 @@ static void rna_def_scene_keying_sets(BlenderRNA *brna, PropertyRNA *cprop)
        /* name */
        RNA_def_string(func, "idname", "KeyingSet", 64, "IDName", "Internal identifier of Keying Set");
        RNA_def_string(func, "name", "KeyingSet", 64, "Name", "User visible name of Keying Set");
-
        /* returns the new KeyingSet */
        parm = RNA_def_pointer(func, "keyingset", "KeyingSet", "", "Newly created Keying Set");
        RNA_def_function_return(func, parm);
@@ -7216,8 +7215,8 @@ void RNA_def_scene(BlenderRNA *brna)
 
        /* Statistics */
        func = RNA_def_function(srna, "statistics", "ED_info_stats_string");
-       prop = RNA_def_string(func, "statistics", NULL, 0, "Statistics", "");
-       RNA_def_function_return(func, prop);
+       parm = RNA_def_string(func, "statistics", NULL, 0, "Statistics", "");
+       RNA_def_function_return(func, parm);
        
        /* Grease Pencil */
        prop = RNA_def_property(srna, "grease_pencil", PROP_POINTER, PROP_NONE);
index 85c0b01334f6a94c5a9d28f898fd689630b407a6..fe781a309a4f6f9c6b99596b82e6a61825e29aa2 100644 (file)
@@ -305,7 +305,7 @@ void RNA_api_scene(StructRNA *srna)
        func = RNA_def_function(srna, "frame_set", "rna_Scene_frame_set");
        RNA_def_function_ui_description(func, "Set scene frame updating all objects immediately");
        parm = RNA_def_int(func, "frame", 0, MINAFRAME, MAXFRAME, "", "Frame number to set", MINAFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_float(func, "subframe", 0.0, 0.0, 1.0, "", "Sub-frame time, between 0.0 and 1.0", 0.0, 1.0);
 
        func = RNA_def_function(srna, "update", "rna_Scene_update_tagged");
@@ -315,34 +315,31 @@ void RNA_api_scene(StructRNA *srna)
        func = RNA_def_function(srna, "uvedit_aspect", "rna_Scene_uvedit_aspect");
        RNA_def_function_ui_description(func, "Get uv aspect for current object");
        parm = RNA_def_pointer(func, "object", "Object", "", "Object");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
-
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_float_vector(func, "result", 2, NULL, 0.0f, FLT_MAX, "", "aspect", 0.0f, FLT_MAX);
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_function_output(func, parm);
        
        /* Ray Cast */
        func = RNA_def_function(srna, "ray_cast", "rna_Scene_ray_cast");
        RNA_def_function_ui_description(func, "Cast a ray onto in object space");
-
        /* ray start and end */
        parm = RNA_def_float_vector(func, "origin", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_float_vector(func, "direction", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_float(func, "distance", BVH_RAYCAST_DIST_MAX, 0.0, BVH_RAYCAST_DIST_MAX,
                      "", "Maximum distance", 0.0, BVH_RAYCAST_DIST_MAX);
-
        /* return location and normal */
        parm = RNA_def_boolean(func, "result", 0, "", "");
        RNA_def_function_output(func, parm);
        parm = RNA_def_float_vector(func, "location", 3, NULL, -FLT_MAX, FLT_MAX, "Location",
                                    "The hit location of this ray cast", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_function_output(func, parm);
        parm = RNA_def_float_vector(func, "normal", 3, NULL, -FLT_MAX, FLT_MAX, "Normal",
                                    "The face normal at the ray cast hit location", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_function_output(func, parm);
        parm = RNA_def_int(func, "index", 0, 0, 0, "", "The face index, -1 when original data isn't available", 0, 0);
        RNA_def_function_output(func, parm);
@@ -355,29 +352,29 @@ void RNA_api_scene(StructRNA *srna)
        /* don't remove this, as COLLADA exporting cannot be done through operators in render() callback. */
        func = RNA_def_function(srna, "collada_export", "rna_Scene_collada_export");
        parm = RNA_def_string(func, "filepath", NULL, FILE_MAX, "File Path", "File path to write Collada file");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_property_subtype(parm, PROP_FILEPATH); /* allow non utf8 */
-       parm = RNA_def_boolean(func, "apply_modifiers", 0, "Apply Modifiers", "Apply modifiers");
-       parm = RNA_def_int(func, "export_mesh_type", 0, INT_MIN, INT_MAX,
+       RNA_def_boolean(func, "apply_modifiers", 0, "Apply Modifiers", "Apply modifiers");
+       RNA_def_int(func, "export_mesh_type", 0, INT_MIN, INT_MAX,
                    "Resolution", "Modifier resolution for export", INT_MIN, INT_MAX);
-       parm = RNA_def_boolean(func, "selected", 0, "Selection Only", "Export only selected elements");
-       parm = RNA_def_boolean(func, "include_children", 0, "Include Children", "Export all children of selected objects (even if not selected)");
-       parm = RNA_def_boolean(func, "include_armatures", 0, "Include Armatures", "Export related armatures (even if not selected)");
-       parm = RNA_def_boolean(func, "include_shapekeys", 0, "Include Shape Keys", "Export all Shape Keys from Mesh Objects");
-       parm = RNA_def_boolean(func, "deform_bones_only", 0, "Deform Bones only", "Only export deforming bones with armatures");
-
-       parm = RNA_def_boolean(func, "active_uv_only", 0, "Active UV Layer only", "Export only the active UV Layer");
-       parm = RNA_def_boolean(func, "include_uv_textures", 0, "Include UV Textures", "Export textures assigned to the object UV maps");
-       parm = RNA_def_boolean(func, "include_material_textures", 0, "Include Material Textures", "Export textures assigned to the object Materials");
-       parm = RNA_def_boolean(func, "use_texture_copies", 0, "copy", "Copy textures to same folder where the .dae file is exported");
-
-       parm = RNA_def_boolean(func, "use_ngons", 1, "Use NGons", "Keep NGons in Export");
-       parm = RNA_def_boolean(func, "use_object_instantiation", 1, "Use Object Instances", "Instantiate multiple Objects from same Data");
-       parm = RNA_def_boolean(func, "use_blender_profile", 1, "Use Blender Profile", "Export additional Blender specific information (for material, shaders, bones, etc.)");
-       parm = RNA_def_boolean(func, "sort_by_name", 0, "Sort by Object name", "Sort exported data by Object name");
-       parm = RNA_def_boolean(func, "open_sim", 0, "Export for SL/OpenSim", "Compatibility mode for SL, OpenSim and similar online worlds");
-
-       parm = RNA_def_int(func, "export_transformation_type", 0, INT_MIN, INT_MAX,
+       RNA_def_boolean(func, "selected", 0, "Selection Only", "Export only selected elements");
+       RNA_def_boolean(func, "include_children", 0, "Include Children", "Export all children of selected objects (even if not selected)");
+       RNA_def_boolean(func, "include_armatures", 0, "Include Armatures", "Export related armatures (even if not selected)");
+       RNA_def_boolean(func, "include_shapekeys", 0, "Include Shape Keys", "Export all Shape Keys from Mesh Objects");
+       RNA_def_boolean(func, "deform_bones_only", 0, "Deform Bones only", "Only export deforming bones with armatures");
+
+       RNA_def_boolean(func, "active_uv_only", 0, "Active UV Layer only", "Export only the active UV Layer");
+       RNA_def_boolean(func, "include_uv_textures", 0, "Include UV Textures", "Export textures assigned to the object UV maps");
+       RNA_def_boolean(func, "include_material_textures", 0, "Include Material Textures", "Export textures assigned to the object Materials");
+       RNA_def_boolean(func, "use_texture_copies", 0, "copy", "Copy textures to same folder where the .dae file is exported");
+
+       RNA_def_boolean(func, "use_ngons", 1, "Use NGons", "Keep NGons in Export");
+       RNA_def_boolean(func, "use_object_instantiation", 1, "Use Object Instances", "Instantiate multiple Objects from same Data");
+       RNA_def_boolean(func, "use_blender_profile", 1, "Use Blender Profile", "Export additional Blender specific information (for material, shaders, bones, etc.)");
+       RNA_def_boolean(func, "sort_by_name", 0, "Sort by Object name", "Sort exported data by Object name");
+       RNA_def_boolean(func, "open_sim", 0, "Export for SL/OpenSim", "Compatibility mode for SL, OpenSim and similar online worlds");
+
+       RNA_def_int(func, "export_transformation_type", 0, INT_MIN, INT_MAX,
                    "Transformation", "Transformation type for translation, scale and rotation", INT_MIN, INT_MAX);
 
        RNA_def_function_ui_description(func, "Export to collada file");
@@ -388,7 +385,7 @@ void RNA_api_scene(StructRNA *srna)
        RNA_def_function_ui_description(func, "Export to Alembic file");
 
        parm = RNA_def_string(func, "filepath", NULL, FILE_MAX, "File Path", "File path to write Alembic file");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_property_subtype(parm, PROP_FILEPATH); /* allow non utf8 */
 
        RNA_def_int(func, "frame_start", 1, INT_MIN, INT_MAX, "Start", "Start Frame", INT_MIN, INT_MAX);
@@ -428,13 +425,12 @@ void RNA_api_scene_render(StructRNA *srna)
        RNA_def_function_ui_description(func, "Return the absolute path to the filename to be written for a given frame");
        RNA_def_int(func, "frame", INT_MIN, INT_MIN, INT_MAX, "",
                    "Frame number to use, if unset the current frame will be used", MINAFRAME, MAXFRAME);
-       parm = RNA_def_boolean(func, "preview", 0, "Preview", "Use preview range");
-       parm = RNA_def_string_file_path(func, "view", NULL, FILE_MAX, "View",
+       RNA_def_boolean(func, "preview", 0, "Preview", "Use preview range");
+       RNA_def_string_file_path(func, "view", NULL, FILE_MAX, "View",
                                        "The name of the view to use to replace the \"%\" chars");
-
        parm = RNA_def_string_file_path(func, "filepath", NULL, FILE_MAX, "File Path",
                                        "The resulting filepath from the scenes render settings");
-       RNA_def_property_flag(parm, PROP_THICK_WRAP); /* needed for string return value */
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0); /* needed for string return value */
        RNA_def_function_output(func, parm);
 }
 
index 43d5cda17ae8d5530a7acccffe06b03e4a40286d..b44e404c364414dc7c5528d417ec54291fd0d668 100644 (file)
@@ -285,22 +285,22 @@ static void rna_def_view2d_api(StructRNA *srna)
        func = RNA_def_function(srna, "region_to_view", "rna_View2D_region_to_view");
        RNA_def_function_ui_description(func, "Transform region coordinates to 2D view");
        parm = RNA_def_int(func, "x", 0, INT_MIN, INT_MAX, "x", "Region x coordinate", -10000, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "y", 0, INT_MIN, INT_MAX, "y", "Region y coordinate", -10000, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_float_array(func, "result", 2, view_default, -FLT_MAX, FLT_MAX, "Result", "View coordinates", -10000.0f, 10000.0f);
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_function_output(func, parm);
 
        func = RNA_def_function(srna, "view_to_region", "rna_View2D_view_to_region");
        RNA_def_function_ui_description(func, "Transform 2D view coordinates to region");
        parm = RNA_def_float(func, "x", 0.0f, -FLT_MAX, FLT_MAX, "x", "2D View x coordinate", -10000.0f, 10000.0f);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_float(func, "y", 0.0f, -FLT_MAX, FLT_MAX, "y", "2D View y coordinate", -10000.0f, 10000.0f);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "clip", 1, "Clip", "Clip coordinates to the visible region");
        parm = RNA_def_int_array(func, "result", 2, region_default, INT_MIN, INT_MAX, "Result", "Region coordinates", -10000, 10000);
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_function_output(func, parm);
 }
 
index 476f0589bc95bc86fabfd8b2f6618f616fd5d357..b0c4109b1df7b5ca5708f000667afa1c178cfaff 100644 (file)
@@ -65,13 +65,13 @@ void RNA_api_sensor(StructRNA *srna)
        func = RNA_def_function(srna, "link", "rna_Sensor_link");
        RNA_def_function_ui_description(func, "Link the sensor to a controller");
        parm = RNA_def_pointer(func, "controller", "Controller", "", "Controller to link to");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_property_update(parm, NC_LOGIC, NULL);
 
        func = RNA_def_function(srna, "unlink", "rna_Sensor_unlink");
        RNA_def_function_ui_description(func, "Unlink the sensor from a controller");
        parm = RNA_def_pointer(func, "controller", "Controller", "", "Controller to unlink from");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_property_update(parm, NC_LOGIC, NULL);
 }
 
index bb9c2a6c2fdb4dd77125de95756d616aba577cda..ae444acc4322ebfcac8d33c9885fc53b4a8dd192 100644 (file)
@@ -1357,10 +1357,10 @@ static void rna_def_sequence_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Add a new modifier");
        parm = RNA_def_string(func, "name", "Name", 0, "", "New name for the modifier");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* modifier to add */
        parm = RNA_def_enum(func, "type", rna_enum_sequence_modifier_type_items, seqModifierType_ColorBalance, "", "Modifier type to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "modifier", "SequenceModifier", "", "Newly created modifier");
        RNA_def_function_return(func, parm);
@@ -1371,8 +1371,8 @@ static void rna_def_sequence_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove an existing modifier from the sequence");
        /* modifier to remove */
        parm = RNA_def_pointer(func, "modifier", "SequenceModifier", "", "Modifier to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        /* clear all modifiers */
        func = RNA_def_function(srna, "clear", "rna_Sequence_modifier_clear");
index 13fda02c7c84c040bc71121cb7a12277a75c7267..76f5a4934cf0855693d3cf0536eea44b38982e7e 100644 (file)
@@ -414,14 +414,14 @@ void RNA_api_sequence_strip(StructRNA *srna)
        RNA_def_function_ui_description(func, "Return the strip element from a given frame or None");
        parm = RNA_def_int(func, "frame", 0, -MAXFRAME, MAXFRAME, "Frame",
                           "The frame to get the strip element from", -MAXFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_function_return(func, RNA_def_pointer(func, "elem", "SequenceElement", "",
                                                      "strip element of the current frame"));
 
        func = RNA_def_function(srna, "swap", "rna_Sequence_swap_internal");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "other", "Sequence", "Other", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
 }
 
 void RNA_api_sequence_elements(BlenderRNA *brna, PropertyRNA *cprop)
@@ -439,7 +439,7 @@ void RNA_api_sequence_elements(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Push an image from ImageSequence.directory");
        parm = RNA_def_string(func, "filename", "File", 0, "", "Filepath to image");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "elem", "SequenceElement", "", "New SequenceElement");
        RNA_def_function_return(func, parm);
@@ -448,7 +448,7 @@ void RNA_api_sequence_elements(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Pop an image off the collection");
        parm = RNA_def_int(func, "index", -1, INT_MIN, INT_MAX, "", "Index of image to remove", INT_MIN, INT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
@@ -487,15 +487,15 @@ void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new movie clip sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "clip", "MovieClip", "", "Movie clip to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel",
                           "The channel for the new sequence", 1, MAXSEQ);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "",
                           "The start frame for the new sequence", -MAXFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence");
        RNA_def_function_return(func, parm);
@@ -504,15 +504,15 @@ void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new mask sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "mask", "Mask", "", "Mask to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel",
                           "The channel for the new sequence", 1, MAXSEQ);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "",
                           "The start frame for the new sequence", -MAXFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence");
        RNA_def_function_return(func, parm);
@@ -521,15 +521,15 @@ void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new scene sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "scene", "Scene", "", "Scene to add");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
        parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel",
                           "The channel for the new sequence", 1, MAXSEQ);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "",
                           "The start frame for the new sequence", -MAXFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence");
        RNA_def_function_return(func, parm);
@@ -538,15 +538,15 @@ void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new image sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_string(func, "filepath", "File", 0, "", "Filepath to image");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel",
                           "The channel for the new sequence", 1, MAXSEQ);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "",
                           "The start frame for the new sequence", -MAXFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence");
        RNA_def_function_return(func, parm);
@@ -555,15 +555,15 @@ void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new movie sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_string(func, "filepath", "File", 0, "", "Filepath to movie");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel",
                           "The channel for the new sequence", 1, MAXSEQ);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "",
                           "The start frame for the new sequence", -MAXFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence");
        RNA_def_function_return(func, parm);
@@ -572,15 +572,15 @@ void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID | FUNC_USE_MAIN);
        RNA_def_function_ui_description(func, "Add a new sound sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_string(func, "filepath", "File", 0, "", "Filepath to movie");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel",
                           "The channel for the new sequence", 1, MAXSEQ);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "",
                           "The start frame for the new sequence", -MAXFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        /* return type */
        parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence");
        RNA_def_function_return(func, parm);
@@ -589,17 +589,17 @@ void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new effect sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_enum(func, "type", seq_effect_items, 0, "Type",
                            "type for the new sequence");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel",
                           "The channel for the new sequence", 1, MAXSEQ);
        /* don't use MAXFRAME since it makes importer scripts fail */
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "frame_start", 0, INT_MIN, INT_MAX, "",
                           "The start frame for the new sequence", INT_MIN, INT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_int(func, "frame_end", 0, INT_MIN, INT_MAX, "",
                    "The end frame for the new sequence", INT_MIN, INT_MAX);
        RNA_def_pointer(func, "seq1", "Sequence", "", "Sequence 1 for effect");
@@ -614,8 +614,8 @@ void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_REPORTS);
        RNA_def_function_ui_description(func, "Remove a Sequence");
        parm = RNA_def_pointer(func, "sequence", "Sequence", "", "Sequence to remove");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 }
 
 
index b262e6412e35c62dd7b3cb5c68695ab55cd1283b..1feae9e0bcaa36d9962412fde6455b3c66dad9d8 100644 (file)
@@ -2320,8 +2320,8 @@ static void rna_def_backgroundImages(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove background image");
        RNA_def_function_flag(func, FUNC_USE_REPORTS);
        parm = RNA_def_pointer(func, "image", "BackgroundImage", "", "Image displayed as viewport background");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL | PROP_RNAPTR);
-       RNA_def_property_clear_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
+       RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
 
        func = RNA_def_function(srna, "clear", "rna_BackgroundImage_clear");
        RNA_def_function_ui_description(func, "Remove all background images");
@@ -4253,15 +4253,15 @@ static void rna_def_space_node_path_api(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Set the root node tree");
        RNA_def_function_flag(func, FUNC_USE_CONTEXT);
        parm = RNA_def_pointer(func, "node_tree", "NodeTree", "Node Tree", "");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED | PARM_RNAPTR);
 
        func = RNA_def_function(srna, "append", "rna_SpaceNodeEditor_path_append");
        RNA_def_function_ui_description(func, "Append a node group tree to the path");
        RNA_def_function_flag(func, FUNC_USE_CONTEXT);
        parm = RNA_def_pointer(func, "node_tree", "NodeTree", "Node Tree", "Node tree to append to the node editor path");
-       RNA_def_property_flag(parm, PROP_REQUIRED | PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED | PARM_RNAPTR);
        parm = RNA_def_pointer(func, "node", "Node", "Node", "Group node linking to this node tree");
-       RNA_def_property_flag(parm, PROP_RNAPTR);
+       RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
 
        func = RNA_def_function(srna, "pop", "rna_SpaceNodeEditor_path_pop");
        RNA_def_function_ui_description(func, "Remove the last node tree from the path");
index 3cfbd798ad6e4e8be2742c345786313d1848f4c2..c72d6d9e581bbdc78cdef8e5c06ac1a2d75c105c 100644 (file)
@@ -84,9 +84,9 @@ void RNA_api_space_node(StructRNA *srna)
        RNA_def_function_ui_description(func, "Set the cursor location using region coordinates");
        RNA_def_function_flag(func, FUNC_USE_CONTEXT);
        parm = RNA_def_int(func, "x", 0, INT_MIN, INT_MAX, "x", "Region x coordinate", -10000, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "y", 0, INT_MIN, INT_MAX, "y", "Region y coordinate", -10000, 10000);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 void RNA_api_space_text(StructRNA *srna)
@@ -98,9 +98,9 @@ void RNA_api_space_text(StructRNA *srna)
        RNA_def_function_ui_description(func, "Retrieve the region position from the given line and character position");
        RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        parm = RNA_def_int(func, "line", 0, INT_MIN, INT_MAX, "Line", "Line index", 0, INT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int(func, "column", 0, INT_MIN, INT_MAX, "Column", "Column index", 0, INT_MAX);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_int_array(func, "result", 2, NULL, -1, INT_MAX, "", "Region coordinates", -1, INT_MAX);
        RNA_def_function_output(func, parm);
 }
index 2478ad0fe1aec16023ad96d7c98a4155e12186ad..0287f74587b351e975f225ebfa899e2475b25d80 100644 (file)
@@ -55,15 +55,15 @@ static void rna_Text_write(Text *text, const char *str)
 void RNA_api_text(StructRNA *srna)
 {
        FunctionRNA *func;
-       PropertyRNA *prop;
+       PropertyRNA *parm;
 
        func = RNA_def_function(srna, "clear", "rna_Text_clear");
        RNA_def_function_ui_description(func, "clear the text block");
 
        func = RNA_def_function(srna, "write", "rna_Text_write");
        RNA_def_function_ui_description(func, "write text at the cursor location and advance to the end of the text block");
-       prop = RNA_def_string(func, "text", "Text", 0, "", "New text for this data-block");
-       RNA_def_property_flag(prop, PROP_REQUIRED);
+       parm = RNA_def_string(func, "text", "Text", 0, "", "New text for this data-block");
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 #endif
index ef1ef5e1469ff8eb48cfb67647d4f58d0fb12106..a8fcf0ca3b630211d587eafcb2b8faaa614f7493 100644 (file)
@@ -93,11 +93,11 @@ void RNA_api_texture(StructRNA *srna)
        RNA_def_function_ui_description(func, "Evaluate the texture at the coordinates given");
 
        parm = RNA_def_float_vector(func, "value", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        /* return location and normal */
        parm = RNA_def_float_vector(func, "result", 4, NULL, -FLT_MAX, FLT_MAX, "Result", NULL, -1e4, 1e4);
-       RNA_def_property_flag(parm, PROP_THICK_WRAP);
+       RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0);
        RNA_def_function_output(func, parm);
 
 }
@@ -119,7 +119,7 @@ void RNA_api_environment_map(StructRNA *srna)
        RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
 
        parm = RNA_def_string_file_name(func, "filepath", NULL, FILE_MAX, "File path", "Location of the output file");
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 
        RNA_def_pointer(func, "scene", "Scene", "", "Overrides the scene from which image parameters are taken");
 
index 2340345c1c633c1d2cb0318608b17a355ff1d81c..7a01e3a4f6b25778b2960c52c281026f07bee298 100644 (file)
@@ -1289,7 +1289,7 @@ static void rna_def_trackingMarkers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Get marker for specified frame");
        parm = RNA_def_int(func, "frame", 1, MINFRAME, MAXFRAME, "Frame",
                           "Frame number to find marker for", MINFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "exact", true, "Exact",
                        "Get marker at exact frame number rather than get estimated marker");
        parm = RNA_def_pointer(func, "marker", "MovieTrackingMarker", "", "Marker for specified frame");
@@ -1299,11 +1299,11 @@ static void rna_def_trackingMarkers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Insert a new marker at the specified frame");
        parm = RNA_def_int(func, "frame", 1, MINFRAME, MAXFRAME, "Frame",
                           "Frame number to insert marker to", MINFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_float_vector(func, "co", 2, NULL, -1.0, 1.0, "Coordinate",
                             "Place new marker at the given frame using specified in normalized space coordinates",
                             -1.0, 1.0);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "marker", "MovieTrackingMarker", "", "Newly created marker");
        RNA_def_function_return(func, parm);
 
@@ -1311,7 +1311,7 @@ static void rna_def_trackingMarkers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Delete marker at specified frame");
        parm = RNA_def_int(func, "frame", 1, MINFRAME, MAXFRAME, "Frame",
                           "Frame number to delete marker from", MINFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 static void rna_def_trackingTrack(BlenderRNA *brna)
@@ -1593,7 +1593,7 @@ static void rna_def_trackingPlaneMarkers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Get plane marker for specified frame");
        parm = RNA_def_int(func, "frame", 1, MINFRAME, MAXFRAME, "Frame",
                           "Frame number to find marker for", MINFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_boolean(func, "exact", true, "Exact",
                        "Get plane marker at exact frame number rather than get estimated marker");
        parm = RNA_def_pointer(func, "plane_marker", "MovieTrackingPlaneMarker", "", "Plane marker for specified frame");
@@ -1603,7 +1603,7 @@ static void rna_def_trackingPlaneMarkers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Insert a new plane marker at the specified frame");
        parm = RNA_def_int(func, "frame", 1, MINFRAME, MAXFRAME, "Frame",
                           "Frame number to insert marker to", MINFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        parm = RNA_def_pointer(func, "plane_marker", "MovieTrackingPlaneMarker", "", "Newly created plane marker");
        RNA_def_function_return(func, parm);
 
@@ -1611,7 +1611,7 @@ static void rna_def_trackingPlaneMarkers(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Delete plane marker at specified frame");
        parm = RNA_def_int(func, "frame", 1, MINFRAME, MAXFRAME, "Frame",
                           "Frame number to delete plane marker from", MINFRAME, MAXFRAME);
-       RNA_def_property_flag(parm, PROP_REQUIRED);
+       RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
 }
 
 static void rna_def_trackingPlaneTrack(BlenderRNA *brna)
@@ -1886,7 +1886,7 @@ static void rna_def_trackingReconstructedCameras(BlenderRNA *brna)
        RNA_def_int(func, "frame", 1, MINFRAME, MAXFRAME, "Frame", "Frame number to find camera for", MINFRAME, MAXFRAME);
        parm = RNA_def_float_matrix(func, "matrix", 4, 4, NULL, -FLT_MAX, FLT_MAX, "Matrix",