diff options
Diffstat (limited to 'source/blender/makesrna')
30 files changed, 169 insertions, 117 deletions
diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c index efe72c6c98b..57bfe3d93d2 100644 --- a/source/blender/makesrna/intern/makesrna.c +++ b/source/blender/makesrna/intern/makesrna.c @@ -687,15 +687,15 @@ static void rna_clamp_value_range(FILE *f, PropertyRNA *prop) if (prop->type == PROP_FLOAT) { FloatPropertyRNA *fprop = (FloatPropertyRNA*)prop; if (fprop->range) { - fprintf(f, " float prop_clamp_min, prop_clamp_max;\n"); - fprintf(f, " %s(ptr, &prop_clamp_min, &prop_clamp_max);\n", rna_function_string(fprop->range)); + fprintf(f, " float prop_clamp_min = -FLT_MAX, prop_clamp_max = FLT_MAX, prop_soft_min, prop_soft_max;\n"); + fprintf(f, " %s(ptr, &prop_clamp_min, &prop_clamp_max, &prop_soft_min, &prop_soft_max);\n", rna_function_string(fprop->range)); } } else if (prop->type == PROP_INT) { IntPropertyRNA *iprop = (IntPropertyRNA*)prop; if (iprop->range) { - fprintf(f, " int prop_clamp_min, prop_clamp_max;\n"); - fprintf(f, " %s(ptr, &prop_clamp_min, &prop_clamp_max);\n", rna_function_string(iprop->range)); + fprintf(f, " int prop_clamp_min = INT_MIN, prop_clamp_max = INT_MAX, prop_soft_min, prop_soft_max;\n"); + fprintf(f, " %s(ptr, &prop_clamp_min, &prop_clamp_max, &prop_soft_min, &prop_soft_max);\n", rna_function_string(iprop->range)); } } } diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index d2537f9fabd..d5363b33fe9 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -901,6 +901,7 @@ int RNA_property_array_item_index(PropertyRNA *prop, char name) void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax) { IntPropertyRNA *iprop = (IntPropertyRNA*)rna_ensure_property(prop); + int softmin, softmax; if (prop->magic != RNA_MAGIC) { /* attempt to get the local ID values */ @@ -920,7 +921,10 @@ void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, in } if (iprop->range) { - iprop->range(ptr, hardmin, hardmax); + *hardmin = INT_MIN; + *hardmax = INT_MAX; + + iprop->range(ptr, hardmin, hardmax, &softmin, &softmax); } else { *hardmin = iprop->hardmin; @@ -953,14 +957,17 @@ void RNA_property_int_ui_range(PointerRNA *ptr, PropertyRNA *prop, int *softmin, } } + *softmin = iprop->softmin; + *softmax = iprop->softmax; + if (iprop->range) { - iprop->range(ptr, &hardmin, &hardmax); - *softmin = MAX2(iprop->softmin, hardmin); - *softmax = MIN2(iprop->softmax, hardmax); - } - else { - *softmin = iprop->softmin; - *softmax = iprop->softmax; + hardmin = INT_MIN; + hardmax = INT_MAX; + + iprop->range(ptr, &hardmin, &hardmax, softmin, softmax); + + *softmin = MAX2(*softmin, hardmin); + *softmax = MIN2(*softmax, hardmax); } *step = iprop->step; @@ -969,6 +976,7 @@ void RNA_property_int_ui_range(PointerRNA *ptr, PropertyRNA *prop, int *softmin, void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax) { FloatPropertyRNA *fprop = (FloatPropertyRNA*)rna_ensure_property(prop); + float softmin, softmax; if (prop->magic != RNA_MAGIC) { /* attempt to get the local ID values */ @@ -988,7 +996,10 @@ void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin } if (fprop->range) { - fprop->range(ptr, hardmin, hardmax); + *hardmin = -FLT_MAX; + *hardmax = FLT_MAX; + + fprop->range(ptr, hardmin, hardmax, &softmin, &softmax); } else { *hardmin = fprop->hardmin; @@ -1025,14 +1036,17 @@ void RNA_property_float_ui_range(PointerRNA *ptr, PropertyRNA *prop, float *soft } } + *softmin = fprop->softmin; + *softmax = fprop->softmax; + if (fprop->range) { - fprop->range(ptr, &hardmin, &hardmax); - *softmin = MAX2(fprop->softmin, hardmin); - *softmax = MIN2(fprop->softmax, hardmax); - } - else { - *softmin = fprop->softmin; - *softmax = fprop->softmax; + hardmin = -FLT_MAX; + hardmax = FLT_MAX; + + fprop->range(ptr, &hardmin, &hardmax, softmin, softmax); + + *softmin = MAX2(*softmin, hardmin); + *softmax = MIN2(*softmax, hardmax); } *step = fprop->step; diff --git a/source/blender/makesrna/intern/rna_action.c b/source/blender/makesrna/intern/rna_action.c index 382458ac3f5..76af6309ecf 100644 --- a/source/blender/makesrna/intern/rna_action.c +++ b/source/blender/makesrna/intern/rna_action.c @@ -180,7 +180,7 @@ static void rna_Action_active_pose_marker_index_set(PointerRNA *ptr, int value) act->active_marker = value+1; } -static void rna_Action_active_pose_marker_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_Action_active_pose_marker_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { bAction *act = (bAction*)ptr->data; diff --git a/source/blender/makesrna/intern/rna_animation.c b/source/blender/makesrna/intern/rna_animation.c index fce618228b3..94ea79099c2 100644 --- a/source/blender/makesrna/intern/rna_animation.c +++ b/source/blender/makesrna/intern/rna_animation.c @@ -321,7 +321,7 @@ static void rna_KeyingSet_active_ksPath_index_set(PointerRNA *ptr, int value) ks->active_path = value+1; } -static void rna_KeyingSet_active_ksPath_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_KeyingSet_active_ksPath_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { KeyingSet *ks = (KeyingSet *)ptr->data; diff --git a/source/blender/makesrna/intern/rna_boid.c b/source/blender/makesrna/intern/rna_boid.c index 3767a019a62..1e77959a971 100644 --- a/source/blender/makesrna/intern/rna_boid.c +++ b/source/blender/makesrna/intern/rna_boid.c @@ -151,7 +151,7 @@ static PointerRNA rna_BoidState_active_boid_rule_get(PointerRNA *ptr) } return rna_pointer_inherit_refine(ptr, &RNA_BoidRule, NULL); } -static void rna_BoidState_active_boid_rule_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_BoidState_active_boid_rule_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { BoidState *state = (BoidState*)ptr->data; *min = 0; @@ -217,7 +217,7 @@ static PointerRNA rna_BoidSettings_active_boid_state_get(PointerRNA *ptr) } return rna_pointer_inherit_refine(ptr, &RNA_BoidState, NULL); } -static void rna_BoidSettings_active_boid_state_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_BoidSettings_active_boid_state_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { BoidSettings *boids = (BoidSettings*)ptr->data; *min = 0; diff --git a/source/blender/makesrna/intern/rna_color.c b/source/blender/makesrna/intern/rna_color.c index 1cb286d972a..4793310e192 100644 --- a/source/blender/makesrna/intern/rna_color.c +++ b/source/blender/makesrna/intern/rna_color.c @@ -101,7 +101,7 @@ static void rna_CurveMapping_white_level_set(PointerRNA *ptr, const float *value curvemapping_set_black_white(cumap, NULL, NULL); } -static void rna_CurveMapping_clipminx_range(PointerRNA *ptr, float *min, float *max) +static void rna_CurveMapping_clipminx_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { CurveMapping *cumap = (CurveMapping*)ptr->data; @@ -109,7 +109,7 @@ static void rna_CurveMapping_clipminx_range(PointerRNA *ptr, float *min, float * *max = cumap->clipr.xmax; } -static void rna_CurveMapping_clipminy_range(PointerRNA *ptr, float *min, float *max) +static void rna_CurveMapping_clipminy_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { CurveMapping *cumap = (CurveMapping*)ptr->data; @@ -117,7 +117,7 @@ static void rna_CurveMapping_clipminy_range(PointerRNA *ptr, float *min, float * *max = cumap->clipr.ymax; } -static void rna_CurveMapping_clipmaxx_range(PointerRNA *ptr, float *min, float *max) +static void rna_CurveMapping_clipmaxx_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { CurveMapping *cumap = (CurveMapping*)ptr->data; @@ -125,7 +125,7 @@ static void rna_CurveMapping_clipmaxx_range(PointerRNA *ptr, float *min, float * *max = 100.0f; } -static void rna_CurveMapping_clipmaxy_range(PointerRNA *ptr, float *min, float *max) +static void rna_CurveMapping_clipmaxy_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { CurveMapping *cumap = (CurveMapping*)ptr->data; @@ -306,7 +306,7 @@ static void rna_ColorRamp_update(Main *bmain, Scene *UNUSED(scene), PointerRNA * } } -static void rna_ColorRamp_eval(struct ColorBand *coba, float position, float color[4]) +void rna_ColorRamp_eval(struct ColorBand *coba, float position, float color[4]) { do_colorband(coba, position, color); } diff --git a/source/blender/makesrna/intern/rna_constraint.c b/source/blender/makesrna/intern/rna_constraint.c index 8c219e94407..6519b9ad5a0 100644 --- a/source/blender/makesrna/intern/rna_constraint.c +++ b/source/blender/makesrna/intern/rna_constraint.c @@ -211,7 +211,7 @@ static void rna_Constraint_name_set(PointerRNA *ptr, const char *value) } /* fix all the animation data which may link to this */ - BKE_all_animdata_fix_paths_rename("constraints", oldname, con->name); + BKE_all_animdata_fix_paths_rename(NULL, "constraints", oldname, con->name); } static char *rna_Constraint_path(PointerRNA *ptr) @@ -307,7 +307,7 @@ static EnumPropertyItem *rna_Constraint_target_space_itemf(bContext *UNUSED(C), return space_object_items; } -static void rna_ActionConstraint_minmax_range(PointerRNA *ptr, float *min, float *max) +static void rna_ActionConstraint_minmax_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { bConstraint *con = (bConstraint*)ptr->data; bActionConstraint *acon = (bActionConstraint *)con->data; diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c index 94ef3018812..17023e391a2 100644 --- a/source/blender/makesrna/intern/rna_curve.c +++ b/source/blender/makesrna/intern/rna_curve.c @@ -248,7 +248,7 @@ static void rna_Curve_texspace_size_set(PointerRNA *ptr, const float *values) copy_v3_v3(cu->size, values); } -static void rna_Curve_material_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_Curve_material_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { Curve *cu = (Curve*)ptr->id.data; *min = 0; @@ -256,7 +256,7 @@ static void rna_Curve_material_index_range(PointerRNA *ptr, int *min, int *max) *max = MAX2(0, *max); } -static void rna_Curve_active_textbox_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_Curve_active_textbox_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { Curve *cu = (Curve*)ptr->id.data; *min = 0; diff --git a/source/blender/makesrna/intern/rna_dynamicpaint.c b/source/blender/makesrna/intern/rna_dynamicpaint.c index 1e47965be15..b3e89a4e5f8 100644 --- a/source/blender/makesrna/intern/rna_dynamicpaint.c +++ b/source/blender/makesrna/intern/rna_dynamicpaint.c @@ -186,7 +186,7 @@ static void rna_Surface_active_point_index_set(struct PointerRNA *ptr, int value return; } -static void rna_Surface_active_point_range(PointerRNA *ptr, int *min, int *max) +static void rna_Surface_active_point_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { DynamicPaintCanvasSettings *canvas = (DynamicPaintCanvasSettings*)ptr->data; diff --git a/source/blender/makesrna/intern/rna_fcurve.c b/source/blender/makesrna/intern/rna_fcurve.c index 2108daf23be..c7eeb633e25 100644 --- a/source/blender/makesrna/intern/rna_fcurve.c +++ b/source/blender/makesrna/intern/rna_fcurve.c @@ -351,7 +351,7 @@ static void rna_FCurve_group_set(PointerRNA *ptr, PointerRNA value) } else if (value.data && (pid != vid)) { /* id's differ, cant do this, should raise an error */ - printf("ERROR: ID's differ - ptr=%p vs value=%p \n", pid, vid); + printf("ERROR: ID's differ - ptr=%p vs value=%p\n", pid, vid); return; } @@ -453,7 +453,7 @@ static void rna_FModifier_active_set(PointerRNA *ptr, int UNUSED(value)) fm->flag |= FMODIFIER_FLAG_ACTIVE; } -static void rna_FModifier_start_frame_range(PointerRNA *ptr, float *min, float *max) +static void rna_FModifier_start_frame_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { FModifier *fcm = (FModifier*)ptr->data; @@ -461,7 +461,7 @@ static void rna_FModifier_start_frame_range(PointerRNA *ptr, float *min, float * *max = (fcm->flag & FMODIFIER_FLAG_RANGERESTRICT)? fcm->efra : MAXFRAMEF; } -static void rna_FModifier_end_frame_range(PointerRNA *ptr, float *min, float *max) +static void rna_FModifier_end_frame_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { FModifier *fcm = (FModifier*)ptr->data; @@ -469,7 +469,7 @@ static void rna_FModifier_end_frame_range(PointerRNA *ptr, float *min, float *ma *max = MAXFRAMEF; } -static void rna_FModifier_blending_range(PointerRNA *ptr, float *min, float *max) +static void rna_FModifier_blending_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { FModifier *fcm = (FModifier*)ptr->data; @@ -520,7 +520,7 @@ static void rna_FModifierGenerator_coefficients_set(PointerRNA *ptr, const float memcpy(gen->coefficients, values, gen->arraysize * sizeof(float)); } -static void rna_FModifierLimits_minx_range(PointerRNA *ptr, float *min, float *max) +static void rna_FModifierLimits_minx_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { FModifier *fcm = (FModifier*)ptr->data; FMod_Limits *data = fcm->data; @@ -529,7 +529,7 @@ static void rna_FModifierLimits_minx_range(PointerRNA *ptr, float *min, float *m *max = (data->flag & FCM_LIMIT_XMAX)? data->rect.xmax : MAXFRAMEF; } -static void rna_FModifierLimits_maxx_range(PointerRNA *ptr, float *min, float *max) +static void rna_FModifierLimits_maxx_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { FModifier *fcm = (FModifier*)ptr->data; FMod_Limits *data = fcm->data; @@ -538,7 +538,7 @@ static void rna_FModifierLimits_maxx_range(PointerRNA *ptr, float *min, float *m *max = MAXFRAMEF; } -static void rna_FModifierLimits_miny_range(PointerRNA *ptr, float *min, float *max) +static void rna_FModifierLimits_miny_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { FModifier *fcm = (FModifier*)ptr->data; FMod_Limits *data = fcm->data; @@ -547,7 +547,7 @@ static void rna_FModifierLimits_miny_range(PointerRNA *ptr, float *min, float *m *max = (data->flag & FCM_LIMIT_YMAX)? data->rect.ymax : FLT_MAX; } -static void rna_FModifierLimits_maxy_range(PointerRNA *ptr, float *min, float *max) +static void rna_FModifierLimits_maxy_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { FModifier *fcm = (FModifier*)ptr->data; FMod_Limits *data = fcm->data; @@ -557,7 +557,7 @@ static void rna_FModifierLimits_maxy_range(PointerRNA *ptr, float *min, float *m } -static void rna_FModifierStepped_start_frame_range(PointerRNA *ptr, float *min, float *max) +static void rna_FModifierStepped_start_frame_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { FModifier *fcm = (FModifier*)ptr->data; FMod_Stepped *data = fcm->data; @@ -566,7 +566,7 @@ static void rna_FModifierStepped_start_frame_range(PointerRNA *ptr, float *min, *max = (data->flag & FCM_STEPPED_NO_AFTER)? data->end_frame : MAXFRAMEF; } -static void rna_FModifierStepped_end_frame_range(PointerRNA *ptr, float *min, float *max) +static void rna_FModifierStepped_end_frame_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { FModifier *fcm = (FModifier*)ptr->data; FMod_Stepped *data = fcm->data; diff --git a/source/blender/makesrna/intern/rna_image.c b/source/blender/makesrna/intern/rna_image.c index e5a0f43baf3..792635ba5ae 100644 --- a/source/blender/makesrna/intern/rna_image.c +++ b/source/blender/makesrna/intern/rna_image.c @@ -597,6 +597,11 @@ static void rna_def_image(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Bindcode", "OpenGL bindcode"); RNA_def_property_update(prop, NC_IMAGE|ND_DISPLAY, NULL); + prop = RNA_def_property(srna, "render_slot", PROP_INT, PROP_UNSIGNED); + RNA_def_property_range(prop, 0, IMA_MAX_RENDER_SLOT - 1); + RNA_def_property_ui_text(prop, "Render Slot", "The current render slot displayed, only for viewer type images"); + RNA_def_property_update(prop, NC_IMAGE|ND_DISPLAY, NULL); + /* Image.has_data and Image.depth are temporary, Update import_obj.py when they are replaced (Arystan) diff --git a/source/blender/makesrna/intern/rna_internal_types.h b/source/blender/makesrna/intern/rna_internal_types.h index 3fc6b0e4599..ccfb83b61e3 100644 --- a/source/blender/makesrna/intern/rna_internal_types.h +++ b/source/blender/makesrna/intern/rna_internal_types.h @@ -77,12 +77,12 @@ typedef int (*PropIntGetFunc)(struct PointerRNA *ptr); typedef void (*PropIntSetFunc)(struct PointerRNA *ptr, int value); typedef void (*PropIntArrayGetFunc)(struct PointerRNA *ptr, int *values); typedef void (*PropIntArraySetFunc)(struct PointerRNA *ptr, const int *values); -typedef void (*PropIntRangeFunc)(struct PointerRNA *ptr, int *min, int *max); +typedef void (*PropIntRangeFunc)(struct PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax); typedef float (*PropFloatGetFunc)(struct PointerRNA *ptr); typedef void (*PropFloatSetFunc)(struct PointerRNA *ptr, float value); typedef void (*PropFloatArrayGetFunc)(struct PointerRNA *ptr, float *values); typedef void (*PropFloatArraySetFunc)(struct PointerRNA *ptr, const float *values); -typedef void (*PropFloatRangeFunc)(struct PointerRNA *ptr, float *min, float *max); +typedef void (*PropFloatRangeFunc)(struct PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax); typedef void (*PropStringGetFunc)(struct PointerRNA *ptr, char *value); typedef int (*PropStringLengthFunc)(struct PointerRNA *ptr); typedef void (*PropStringSetFunc)(struct PointerRNA *ptr, const char *value); diff --git a/source/blender/makesrna/intern/rna_key.c b/source/blender/makesrna/intern/rna_key.c index 834a9fd18dd..304af04ec27 100644 --- a/source/blender/makesrna/intern/rna_key.c +++ b/source/blender/makesrna/intern/rna_key.c @@ -83,7 +83,7 @@ void rna_ShapeKey_name_set(PointerRNA *ptr, const char *value) } /* fix all the animation data which may link to this */ - BKE_all_animdata_fix_paths_rename("key_blocks", oldname, kb->name); + BKE_all_animdata_fix_paths_rename(NULL, "key_blocks", oldname, kb->name); } static void rna_ShapeKey_value_set(PointerRNA *ptr, float value) @@ -93,7 +93,7 @@ static void rna_ShapeKey_value_set(PointerRNA *ptr, float value) data->curval = value; } -static void rna_ShapeKey_value_range(PointerRNA *ptr, float *min, float *max) +static void rna_ShapeKey_value_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { KeyBlock *data = (KeyBlock*)ptr->data; @@ -104,7 +104,7 @@ static void rna_ShapeKey_value_range(PointerRNA *ptr, float *min, float *max) /* epsilon for how close one end of shapekey range can get to the other */ #define SHAPEKEY_SLIDER_TOL 0.001f -static void rna_ShapeKey_slider_min_range(PointerRNA *ptr, float *min, float *max) +static void rna_ShapeKey_slider_min_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { KeyBlock *data = (KeyBlock*)ptr->data; @@ -115,14 +115,14 @@ static void rna_ShapeKey_slider_min_range(PointerRNA *ptr, float *min, float *ma static void rna_ShapeKey_slider_min_set(PointerRNA *ptr, float value) { KeyBlock *data = (KeyBlock*)ptr->data; - float min, max; + float min, max, softmin, softmax; - rna_ShapeKey_slider_min_range(ptr, &min, &max); + rna_ShapeKey_slider_min_range(ptr, &min, &max, &softmin, &softmax); CLAMP(value, min, max); data->slidermin = value; } -static void rna_ShapeKey_slider_max_range(PointerRNA *ptr, float *min, float *max) +static void rna_ShapeKey_slider_max_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { KeyBlock *data = (KeyBlock*)ptr->data; @@ -133,9 +133,9 @@ static void rna_ShapeKey_slider_max_range(PointerRNA *ptr, float *min, float *ma static void rna_ShapeKey_slider_max_set(PointerRNA *ptr, float value) { KeyBlock *data = (KeyBlock*)ptr->data; - float min, max; + float min, max, softmin, softmax; - rna_ShapeKey_slider_max_range(ptr, &min, &max); + rna_ShapeKey_slider_max_range(ptr, &min, &max, &softmin, &softmax); CLAMP(value, min, max); data->slidermax = value; } diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c index a765cbb6690..7802241a25b 100644 --- a/source/blender/makesrna/intern/rna_material.c +++ b/source/blender/makesrna/intern/rna_material.c @@ -195,7 +195,7 @@ static void rna_Material_active_node_material_set(PointerRNA *ptr, PointerRNA va nodeSetActiveID(ma->nodetree, ID_MA, &ma_act->id); } -static void rna_MaterialStrand_start_size_range(PointerRNA *ptr, float *min, float *max) +static void rna_MaterialStrand_start_size_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { Material *ma = (Material*)ptr->id.data; @@ -209,7 +209,7 @@ static void rna_MaterialStrand_start_size_range(PointerRNA *ptr, float *min, flo } } -static void rna_MaterialStrand_end_size_range(PointerRNA *ptr, float *min, float *max) +static void rna_MaterialStrand_end_size_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { Material *ma = (Material*)ptr->id.data; diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c index e4bf5b7163a..33acc924af1 100644 --- a/source/blender/makesrna/intern/rna_mesh.c +++ b/source/blender/makesrna/intern/rna_mesh.c @@ -483,13 +483,20 @@ static int rna_CustomDataLayer_clone_get(PointerRNA *ptr, CustomData *data, int static void rna_CustomDataLayer_active_set(PointerRNA *ptr, CustomData *data, int value, int type, int render) { - int n = ((CustomDataLayer*)ptr->data) - data->layers; + int n = (((CustomDataLayer*)ptr->data) - data->layers) - CustomData_get_layer_index(data, type); if (value == 0) return; - if (render) CustomData_set_layer_render_index(data, type, n); - else CustomData_set_layer_active_index(data, type, n); + if (render) CustomData_set_layer_render(data, type, n); + else CustomData_set_layer_active(data, type, n); + + /* sync loop layer */ + if (type == CD_MTEXPOLY) { + CustomData *ldata = rna_mesh_ldata(ptr); + if (render) CustomData_set_layer_render(ldata, CD_MLOOPUV, n); + else CustomData_set_layer_active(ldata, CD_MLOOPUV, n); + } } static void rna_CustomDataLayer_clone_set(PointerRNA *ptr, CustomData *data, int value, int type, int render) @@ -930,7 +937,7 @@ static void rna_MeshPoly_vertices_set(PointerRNA *ptr, const int *values) } } -static void rna_MeshPoly_material_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_MeshPoly_material_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { Mesh *me = rna_mesh(ptr); *min = 0; @@ -2146,7 +2153,7 @@ static void rna_def_mesh_edges(BlenderRNA *brna, PropertyRNA *cprop) } /* mesh.faces */ -static void rna_def_mesh_faces(BlenderRNA *brna, PropertyRNA *cprop) +static void rna_def_mesh_tessfaces(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; PropertyRNA *prop; @@ -2154,8 +2161,8 @@ static void rna_def_mesh_faces(BlenderRNA *brna, PropertyRNA *cprop) FunctionRNA *func; /* PropertyRNA *parm; */ - RNA_def_property_srna(cprop, "MeshFaces"); - srna = RNA_def_struct(brna, "MeshFaces", NULL); + RNA_def_property_srna(cprop, "MeshTessFaces"); + srna = RNA_def_struct(brna, "MeshTessFaces", NULL); RNA_def_struct_sdna(srna, "Mesh"); RNA_def_struct_ui_text(srna, "Mesh Faces", "Collection of mesh faces"); @@ -2163,7 +2170,7 @@ static void rna_def_mesh_faces(BlenderRNA *brna, PropertyRNA *cprop) RNA_def_property_int_sdna(prop, NULL, "act_face"); RNA_def_property_ui_text(prop, "Active Face", "The active face for this mesh"); - func = RNA_def_function(srna, "add", "ED_mesh_faces_add"); + func = RNA_def_function(srna, "add", "ED_mesh_tessfaces_add"); RNA_def_function_flag(func, FUNC_USE_REPORTS); RNA_def_int(func, "count", 0, 0, INT_MAX, "Count", "Number of faces to add", 0, INT_MAX); #if 0 /* BMESH_TODO Remove until BMesh merge */ @@ -2188,12 +2195,6 @@ static void rna_def_mesh_loops(BlenderRNA *brna, PropertyRNA *cprop) RNA_def_struct_sdna(srna, "Mesh"); RNA_def_struct_ui_text(srna, "Mesh Loops", "Collection of mesh loops"); -#if 0 /* BMESH_TODO */ - prop = RNA_def_property(srna, "active", PROP_INT, PROP_NONE); - RNA_def_property_int_sdna(prop, NULL, "act_face"); - RNA_def_property_ui_text(prop, "Active Polygon", "The active polygon for this mesh"); -#endif - func = RNA_def_function(srna, "add", "ED_mesh_loops_add"); RNA_def_function_flag(func, FUNC_USE_REPORTS); RNA_def_int(func, "count", 0, 0, INT_MAX, "Count", "Number of loops to add", 0, INT_MAX); @@ -2505,7 +2506,7 @@ static void rna_def_mesh(BlenderRNA *brna) RNA_def_property_collection_sdna(prop, NULL, "mface", "totface"); RNA_def_property_struct_type(prop, "MeshTessFace"); RNA_def_property_ui_text(prop, "TessFaces", "Tessellation faces of the mesh (derived from polygons)"); - rna_def_mesh_faces(brna, prop); + rna_def_mesh_tessfaces(brna, prop); prop = RNA_def_property(srna, "loops", PROP_COLLECTION, PROP_NONE); RNA_def_property_collection_sdna(prop, NULL, "mloop", "totloop"); diff --git a/source/blender/makesrna/intern/rna_mesh_api.c b/source/blender/makesrna/intern/rna_mesh_api.c index c6aea38b55c..41b232fdf8b 100644 --- a/source/blender/makesrna/intern/rna_mesh_api.c +++ b/source/blender/makesrna/intern/rna_mesh_api.c @@ -65,6 +65,9 @@ void RNA_api_mesh(StructRNA *srna) func = RNA_def_function(srna, "calc_normals", "ED_mesh_calc_normals"); RNA_def_function_ui_description(func, "Calculate vertex normals"); + func = RNA_def_function(srna, "calc_tessface", "ED_mesh_calc_tessface"); + RNA_def_function_ui_description(func, "Calculate face tessellation (supports editmode too)"); + func = RNA_def_function(srna, "update", "ED_mesh_update"); RNA_def_boolean(func, "calc_edges", 0, "Calculate Edges", "Force recalculation of edges"); RNA_def_boolean(func, "calc_tessface", 0, "Calculate Tessellation", "Force recalculation of tessellation faces"); diff --git a/source/blender/makesrna/intern/rna_mesh_utils.h b/source/blender/makesrna/intern/rna_mesh_utils.h index b00271f0e16..932a69680af 100644 --- a/source/blender/makesrna/intern/rna_mesh_utils.h +++ b/source/blender/makesrna/intern/rna_mesh_utils.h @@ -64,7 +64,8 @@ return data ? CustomData_number_of_layers(data, layer_type) : 0; \ } \ /* index range */ \ - static void rna_Mesh_##collection_name##_index_range(PointerRNA *ptr, int *min, int *max) \ + static void rna_Mesh_##collection_name##_index_range(PointerRNA *ptr, int *min, int *max, \ + int *softmin, int *softmax) \ { \ CustomData *data = rna_mesh_##customdata_type(ptr); \ *min = 0; \ @@ -99,9 +100,16 @@ int a; \ if (data) { \ CustomDataLayer *layer; \ - for (layer = data->layers, a = 0; a<data->totlayer; layer++, a++) { \ + int layer_index = CustomData_get_layer_index(data, layer_type); \ + for (layer = data->layers, a = 0; layer_index + a < data->totlayer; layer++, a++) { \ if (value.data == layer) { \ - CustomData_set_layer_##active_type##_index(data, layer_type, a); \ + CustomData_set_layer_##active_type(data, layer_type, a); \ + \ + /* keep loops in sync */ \ + if (layer_type == CD_MTEXPOLY) { \ + CustomData *ldata = rna_mesh_ldata_helper(me); \ + CustomData_set_layer_##active_type(ldata, CD_MLOOPUV, a); \ + } \ mesh_update_customdata_pointers(me, TRUE); \ return; \ } \ @@ -126,6 +134,11 @@ CustomData *data = rna_mesh_##customdata_type(ptr); \ if (data) { \ CustomData_set_layer_##active_type(data, layer_type, value); \ + /* keep loops in sync */ \ + if (layer_type == CD_MTEXPOLY) { \ + CustomData *ldata = rna_mesh_ldata_helper(me); \ + CustomData_set_layer_##active_type(ldata, CD_MLOOPUV, value); \ + } \ mesh_update_customdata_pointers(me, TRUE); \ } \ } diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c index e40ed254dba..8b2bf6197dd 100644 --- a/source/blender/makesrna/intern/rna_modifier.c +++ b/source/blender/makesrna/intern/rna_modifier.c @@ -227,7 +227,7 @@ void rna_Modifier_name_set(PointerRNA *ptr, const char *value) } /* fix all the animation data which may link to this */ - BKE_all_animdata_fix_paths_rename("modifiers", oldname, md->name); + BKE_all_animdata_fix_paths_rename(NULL, "modifiers", oldname, md->name); } static char *rna_Modifier_path(PointerRNA *ptr) @@ -470,7 +470,7 @@ static void rna_WeightVGModifier_mask_uvlayer_set(PointerRNA *ptr, const char *v } } -static void rna_MultiresModifier_level_range(PointerRNA *ptr, int *min, int *max) +static void rna_MultiresModifier_level_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { MultiresModifierData *mmd = (MultiresModifierData*)ptr->data; @@ -960,6 +960,12 @@ static void rna_def_modifier_lattice(BlenderRNA *brna) "Name of Vertex Group which determines influence of modifier per point"); RNA_def_property_string_funcs(prop, NULL, NULL, "rna_LatticeModifier_vgroup_set"); RNA_def_property_update(prop, 0, "rna_Modifier_update"); + + prop = RNA_def_property(srna, "strength", PROP_FLOAT, PROP_NONE); + RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); + RNA_def_property_ui_range(prop, 0, 1, 10, 2); + RNA_def_property_ui_text(prop, "Strength", "Strength of modifier effect"); + RNA_def_property_update(prop, 0, "rna_Modifier_update"); } static void rna_def_modifier_curve(BlenderRNA *brna) diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index bad993c9c72..b14f2b7fb90 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -401,7 +401,7 @@ static void rna_Node_name_set(PointerRNA *ptr, const char *value) nodeUniqueName(ntree, node); /* fix all the animation data which may link to this */ - BKE_all_animdata_fix_paths_rename("nodes", oldname, node->name); + BKE_all_animdata_fix_paths_rename(NULL, "nodes", oldname, node->name); } static void rna_NodeSocket_update(Main *bmain, Scene *scene, PointerRNA *ptr) @@ -436,28 +436,28 @@ static void rna_NodeLink_update(Main *bmain, Scene *scene, PointerRNA *ptr) } #endif -static void rna_NodeSocketInt_range(PointerRNA *ptr, int *min, int *max) +static void rna_NodeSocketInt_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { bNodeSocket *sock = (bNodeSocket*)ptr->data; bNodeSocketValueInt *val = (bNodeSocketValueInt*)sock->default_value; - *min = val->min; - *max = val->max; + *softmin = val->min; + *softmax = val->max; } -static void rna_NodeSocketFloat_range(PointerRNA *ptr, float *min, float *max) +static void rna_NodeSocketFloat_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { bNodeSocket *sock = (bNodeSocket*)ptr->data; bNodeSocketValueFloat *val = (bNodeSocketValueFloat*)sock->default_value; - *min = val->min; - *max = val->max; + *softmin = val->min; + *softmax = val->max; } -static void rna_NodeSocketVector_range(PointerRNA *ptr, float *min, float *max) +static void rna_NodeSocketVector_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { bNodeSocket *sock = (bNodeSocket*)ptr->data; bNodeSocketValueVector *val = (bNodeSocketValueVector*)sock->default_value; - *min = val->min; - *max = val->max; + *softmin = val->min; + *softmax = val->max; } static void rna_Node_image_layer_update(Main *bmain, Scene *scene, PointerRNA *ptr) @@ -578,7 +578,7 @@ static EnumPropertyItem *rna_Node_channel_itemf(bContext *UNUSED(C), PointerRNA return item; } -static bNode *rna_NodeTree_node_new(bNodeTree *ntree, bContext *UNUSED(C), ReportList *reports, +static bNode *rna_NodeTree_node_new(bNodeTree *ntree, bContext *C, ReportList *reports, int type, bNodeTree *group) { bNode *node; @@ -591,6 +591,8 @@ static bNode *rna_NodeTree_node_new(bNodeTree *ntree, bContext *UNUSED(C), Repor ntemp.type = type; ntemp.ngroup = group; + ntemp.scene = CTX_data_scene(C); + ntemp.main = CTX_data_main(C); node = nodeAddNode(ntree, &ntemp); if (node == NULL) { diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c index e3cf9af6c39..d06dfdb8e7f 100644 --- a/source/blender/makesrna/intern/rna_object.c +++ b/source/blender/makesrna/intern/rna_object.c @@ -228,8 +228,8 @@ void rna_Object_active_shape_update(Main *bmain, Scene *scene, PointerRNA *ptr) /* exit/enter editmode to get new shape */ switch (ob->type) { case OB_MESH: - EDBM_LoadEditBMesh(scene, ob); - EDBM_MakeEditBMesh(scene->toolsettings, scene, ob); + EDBM_mesh_load(ob); + EDBM_mesh_make(scene->toolsettings, scene, ob); BMEdit_RecalcTessellation(((Mesh*)ob->data)->edit_btmesh); break; case OB_CURVE: @@ -506,7 +506,7 @@ static void rna_Object_active_vertex_group_index_set(PointerRNA *ptr, int value) ob->actdef = value+1; } -static void rna_Object_active_vertex_group_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_Object_active_vertex_group_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { Object *ob = (Object*)ptr->id.data; @@ -618,7 +618,7 @@ static void rna_Object_active_material_index_set(PointerRNA *ptr, int value) } } -static void rna_Object_active_material_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_Object_active_material_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { Object *ob = (Object*)ptr->id.data; *min = 0; @@ -643,7 +643,7 @@ static void rna_Object_active_material_set(PointerRNA *ptr, PointerRNA value) assign_material(ob, value.data, ob->actcol); } -static void rna_Object_active_particle_system_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_Object_active_particle_system_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { Object *ob = (Object*)ptr->id.data; *min = 0; @@ -1066,7 +1066,7 @@ static void rna_GameObjectSettings_used_state_get(PointerRNA *ptr, int *values) } } -static void rna_Object_active_shape_key_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_Object_active_shape_key_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { Object *ob = (Object*)ptr->id.data; Key *key = ob_get_key(ob); diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c index 0e97729c52c..09e7d1d9be5 100644 --- a/source/blender/makesrna/intern/rna_object_api.c +++ b/source/blender/makesrna/intern/rna_object_api.c @@ -389,6 +389,7 @@ static void rna_Mesh_assign_verts_to_group(Object *ob, bDeformGroup *group, int } #endif +/* BMESH_TODO, return polygon index, not tessface */ void rna_Object_ray_cast(Object *ob, ReportList *reports, float ray_start[3], float ray_end[3], float r_location[3], float r_normal[3], int *index) { diff --git a/source/blender/makesrna/intern/rna_object_force.c b/source/blender/makesrna/intern/rna_object_force.c index be28300eb01..7a4361d1504 100644 --- a/source/blender/makesrna/intern/rna_object_force.c +++ b/source/blender/makesrna/intern/rna_object_force.c @@ -225,7 +225,7 @@ static void rna_Cache_list_begin(CollectionPropertyIterator *iter, PointerRNA *p rna_iterator_listbase_begin(iter, &lb, NULL); } -static void rna_Cache_active_point_cache_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_Cache_active_point_cache_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { Object *ob = ptr->id.data; PointCache *cache = ptr->data; @@ -289,7 +289,7 @@ static void rna_Cache_active_point_cache_index_set(struct PointerRNA *ptr, int v BLI_freelistN(&pidlist); } -static void rna_PointCache_frame_step_range(PointerRNA *ptr, int *min, int *max) +static void rna_PointCache_frame_step_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { Object *ob = ptr->id.data; PointCache *cache = ptr->data; diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c index b10639443c0..18bbf2bca12 100644 --- a/source/blender/makesrna/intern/rna_particle.c +++ b/source/blender/makesrna/intern/rna_particle.c @@ -470,7 +470,7 @@ static float rna_PartSetting_linelentail_get(struct PointerRNA *ptr) ParticleSettings *settings = (ParticleSettings*)ptr->data; return settings->draw_line[0]; } -static void rna_PartSetting_pathstartend_range(PointerRNA *ptr, float *min, float *max) +static void rna_PartSetting_pathstartend_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax) { ParticleSettings *settings = (ParticleSettings*)ptr->data; @@ -526,7 +526,7 @@ static PointerRNA rna_ParticleSystem_active_particle_target_get(PointerRNA *ptr) } return rna_pointer_inherit_refine(ptr, &RNA_ParticleTarget, NULL); } -static void rna_ParticleSystem_active_particle_target_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_ParticleSystem_active_particle_target_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { ParticleSystem *psys = (ParticleSystem*)ptr->data; *min = 0; @@ -666,7 +666,7 @@ static PointerRNA rna_ParticleDupliWeight_active_get(PointerRNA *ptr) } return rna_pointer_inherit_refine(ptr, &RNA_ParticleTarget, NULL); } -static void rna_ParticleDupliWeight_active_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_ParticleDupliWeight_active_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { ParticleSettings *part = (ParticleSettings*)ptr->id.data; *min = 0; @@ -1766,7 +1766,7 @@ static void rna_def_particle_settings(BlenderRNA *brna) RNA_def_property_enum_sdna(prop, NULL, "rotmode"); RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); RNA_def_property_enum_items(prop, rot_mode_items); - RNA_def_property_ui_text(prop, "Orientation axis", "Particle orientation axis (does not effect eplode modifier results)"); + RNA_def_property_ui_text(prop, "Orientation axis", "Particle orientation axis (does not affect Explode modifier's results)"); RNA_def_property_update(prop, 0, "rna_Particle_reset"); prop = RNA_def_property(srna, "angular_velocity_mode", PROP_ENUM, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_pose.c b/source/blender/makesrna/intern/rna_pose.c index 4b1090c2ae0..b6153162fc7 100644 --- a/source/blender/makesrna/intern/rna_pose.c +++ b/source/blender/makesrna/intern/rna_pose.c @@ -365,7 +365,7 @@ static void rna_PoseChannel_bone_group_index_set(PointerRNA *ptr, int value) pchan->agrp_index = value+1; } -static void rna_PoseChannel_bone_group_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_PoseChannel_bone_group_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { Object *ob = (Object*)ptr->id.data; bPose *pose = (ob) ? ob->pose : NULL; @@ -404,7 +404,7 @@ static void rna_Pose_active_bone_group_index_set(PointerRNA *ptr, int value) pose->active_group = value+1; } -static void rna_Pose_active_bone_group_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_Pose_active_bone_group_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { bPose *pose = (bPose*)ptr->data; diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 40987d13593..b565c65c071 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -965,7 +965,7 @@ static void rna_RenderSettings_active_layer_index_set(PointerRNA *ptr, int value rd->actlay = value; } -static void rna_RenderSettings_active_layer_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_RenderSettings_active_layer_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { RenderData *rd = (RenderData*)ptr->data; @@ -1143,12 +1143,14 @@ static void rna_SceneRenderLayer_layer_set(PointerRNA *ptr, const int *values) rl->lay = ED_view3d_scene_layer_set(rl->lay, values, NULL); } -static void rna_SceneRenderLayer_pass_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) +static void rna_SceneRenderLayer_pass_update(Main *bmain, Scene *activescene, PointerRNA *ptr) { Scene *scene = (Scene*)ptr->id.data; if (scene->nodetree) ntreeCompositForceHidden(scene->nodetree, scene); + + rna_Scene_glsl_update(bmain, activescene, ptr); } static void rna_Scene_use_nodes_set(PointerRNA *ptr, int value) @@ -1931,14 +1933,14 @@ void rna_def_render_layer_common(StructRNA *srna, int scene) RNA_def_property_ui_text(prop, "Visible Layers", "Scene layers included in this render layer"); if (scene) RNA_def_property_boolean_funcs(prop, NULL, "rna_SceneRenderLayer_layer_set"); else RNA_def_property_boolean_funcs(prop, NULL, "rna_RenderLayer_layer_set"); - if (scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL); + if (scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_Scene_glsl_update"); else RNA_def_property_clear_flag(prop, PROP_EDITABLE); prop = RNA_def_property(srna, "layers_zmask", PROP_BOOLEAN, PROP_LAYER); RNA_def_property_boolean_sdna(prop, NULL, "lay_zmask", 1); RNA_def_property_array(prop, 20); RNA_def_property_ui_text(prop, "Zmask Layers", "Zmask scene layers for solid faces"); - if (scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL); + if (scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_Scene_glsl_update"); else RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* layer options */ @@ -1951,14 +1953,14 @@ void rna_def_render_layer_common(StructRNA *srna, int scene) prop = RNA_def_property(srna, "use_zmask", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "layflag", SCE_LAY_ZMASK); RNA_def_property_ui_text(prop, "Zmask", "Only render what's in front of the solid z values"); - if (scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL); + if (scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_Scene_glsl_update"); else RNA_def_property_clear_flag(prop, PROP_EDITABLE); prop = RNA_def_property(srna, "invert_zmask", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "layflag", SCE_LAY_NEG_ZMASK); RNA_def_property_ui_text(prop, "Zmask Negate", "For Zmask, only render what is behind solid z values instead of in front"); - if (scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL); + if (scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_Scene_glsl_update"); else RNA_def_property_clear_flag(prop, PROP_EDITABLE); prop = RNA_def_property(srna, "use_all_z", PROP_BOOLEAN, PROP_NONE); @@ -3117,7 +3119,7 @@ static void rna_def_render_layers(BlenderRNA *brna, PropertyRNA *cprop) "rna_RenderSettings_active_layer_index_set", "rna_RenderSettings_active_layer_index_range"); RNA_def_property_ui_text(prop, "Active Layer Index", "Active index in render layer array"); - RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL); + RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_Scene_glsl_update"); prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_UNSIGNED); RNA_def_property_struct_type(prop, "SceneRenderLayer"); @@ -3125,7 +3127,7 @@ static void rna_def_render_layers(BlenderRNA *brna, PropertyRNA *cprop) "rna_RenderSettings_active_layer_set", NULL, NULL); RNA_def_property_flag(prop, PROP_EDITABLE|PROP_NEVER_NULL); RNA_def_property_ui_text(prop, "Active Render Layer", "Active Render Layer"); - RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL); + RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_Scene_glsl_update"); func = RNA_def_function(srna, "new", "rna_RenderLayer_new"); RNA_def_function_ui_description(func, "Add a render layer to scene"); diff --git a/source/blender/makesrna/intern/rna_screen.c b/source/blender/makesrna/intern/rna_screen.c index 7a43c8cb770..67a4bafb8ee 100644 --- a/source/blender/makesrna/intern/rna_screen.c +++ b/source/blender/makesrna/intern/rna_screen.c @@ -75,7 +75,7 @@ static void rna_Screen_scene_update(bContext *C, PointerRNA *ptr) ED_screen_set_scene(C, sc, sc->newscene); WM_event_add_notifier(C, NC_SCENE|ND_SCENEBROWSE, sc->newscene); - if (G.f & G_DEBUG) + if (G.debug & G_DEBUG) printf("scene set %p\n", sc->newscene); sc->newscene = NULL; diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c index 3491371ac06..2ed2f295cb6 100644 --- a/source/blender/makesrna/intern/rna_sequencer.c +++ b/source/blender/makesrna/intern/rna_sequencer.c @@ -378,10 +378,10 @@ static void rna_Sequence_name_set(PointerRNA *ptr, const char *value) /* fix all the animation data which may link to this */ /* don't rename everywhere because these are per scene */ - /* BKE_all_animdata_fix_paths_rename("sequence_editor.sequences_all", oldname, seq->name+2); */ + /* BKE_all_animdata_fix_paths_rename(NULL, "sequence_editor.sequences_all", oldname, seq->name+2); */ adt = BKE_animdata_from_id(&scene->id); if (adt) - BKE_animdata_fix_paths_rename(&scene->id, adt, "sequence_editor.sequences_all", oldname, seq->name+2, 0, 0, 1); + BKE_animdata_fix_paths_rename(&scene->id, adt, NULL, "sequence_editor.sequences_all", oldname, seq->name+2, 0, 0, 1); } static StructRNA* rna_Sequence_refine(struct PointerRNA *ptr) diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 7cf2475f9de..42e83e662d1 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -776,7 +776,7 @@ static void rna_ConsoleLine_body_set(PointerRNA *ptr, const char *value) ci->cursor = len; } -static void rna_ConsoleLine_cursor_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_ConsoleLine_cursor_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { ConsoleLine *ci = (ConsoleLine*)ptr->data; @@ -1467,12 +1467,14 @@ static void rna_def_space_view3d(BlenderRNA *brna) prop = RNA_def_property(srna, "clip_start", PROP_FLOAT, PROP_DISTANCE); RNA_def_property_float_sdna(prop, NULL, "near"); RNA_def_property_range(prop, 0.001f, FLT_MAX); + RNA_def_property_float_default(prop, 0.1f); RNA_def_property_ui_text(prop, "Clip Start", "3D View near clipping distance"); RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); prop = RNA_def_property(srna, "clip_end", PROP_FLOAT, PROP_DISTANCE); RNA_def_property_float_sdna(prop, NULL, "far"); RNA_def_property_range(prop, 1.0f, FLT_MAX); + RNA_def_property_float_default(prop, 1000.0f); RNA_def_property_ui_text(prop, "Clip End", "3D View far clipping distance"); RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); @@ -1480,18 +1482,21 @@ static void rna_def_space_view3d(BlenderRNA *brna) RNA_def_property_float_sdna(prop, NULL, "grid"); RNA_def_property_ui_text(prop, "Grid Scale", "Distance between 3D View grid lines"); RNA_def_property_range(prop, 0.0f, FLT_MAX); + RNA_def_property_float_default(prop, 1.0f); RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); prop = RNA_def_property(srna, "grid_lines", PROP_INT, PROP_NONE); RNA_def_property_int_sdna(prop, NULL, "gridlines"); RNA_def_property_ui_text(prop, "Grid Lines", "Number of grid lines to display in perspective view"); RNA_def_property_range(prop, 0, 1024); + RNA_def_property_int_default(prop, 16); RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); prop = RNA_def_property(srna, "grid_subdivisions", PROP_INT, PROP_NONE); RNA_def_property_int_sdna(prop, NULL, "gridsubdiv"); RNA_def_property_ui_text(prop, "Grid Subdivisions", "Number of subdivisions between grid lines"); RNA_def_property_range(prop, 1, 1024); + RNA_def_property_int_default(prop, 10); RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); prop = RNA_def_property(srna, "show_floor", PROP_BOOLEAN, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_tracking.c b/source/blender/makesrna/intern/rna_tracking.c index 70af5599a15..5fe13336e83 100644 --- a/source/blender/makesrna/intern/rna_tracking.c +++ b/source/blender/makesrna/intern/rna_tracking.c @@ -128,7 +128,7 @@ static void rna_tracking_active_object_index_set(PointerRNA *ptr, int value) clip->tracking.objectnr = value; } -static void rna_tracking_active_object_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_tracking_active_object_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { MovieClip *clip = (MovieClip*)ptr->id.data; @@ -302,7 +302,7 @@ static void rna_tracking_stabTracks_active_index_set(PointerRNA *ptr, int value) clip->tracking.stabilization.act_track = value; } -static void rna_tracking_stabTracks_active_index_range(PointerRNA *ptr, int *min, int *max) +static void rna_tracking_stabTracks_active_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax) { MovieClip *clip = (MovieClip*)ptr->id.data; diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 1e6a8d92a7a..c53a64c0a07 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -2879,7 +2879,7 @@ static void rna_def_userdef_system(BlenderRNA *brna) { 0, "", 0, "In progress", ""}, /* using the utf8 flipped form of Arabic (العربية) */ {21, "ARABIC", 0, "Arabic (ﺔﻴﺑﺮﻌﻟﺍ)", "ar_EG"}, - {12, "BRAZILIAN_PORTUGUESE", 0, "Brazilian Portuguese (Português do Brasil)", "pt_BR"}, + {12, "BRAZILIAN_PORTUGUESE", 0, "Portuguese (Português)", "pt"}, {22, "BULGARIAN", 0, "Bulgarian (Български)", "bg_BG"}, {10, "CATALAN", 0, "Catalan (Català)", "ca_AD"}, {16, "CROATIAN", 0, "Croatian (Hrvatski)", "hr_HR"}, @@ -2890,7 +2890,7 @@ static void rna_def_userdef_system(BlenderRNA *brna) {23, "GREEK", 0, "Greek (Ελληνικά)", "el_GR"}, {27, "INDONESIAN", 0, "Indonesian (Bahasa indonesia)", "id_ID"}, { 2, "JAPANESE", 0, "Japanese (日本語)", "ja_JP"}, - {29, "KYRGYZ", 0, "Kyrgyz (Kyrgyz tili)", "ki"}, + {29, "KYRGYZ", 0, "Kyrgyz (Кыргыз тили)", "ki_KG"}, {24, "KOREAN", 0, "Korean (한국 언어)", "ko_KR"}, {25, "NEPALI", 0, "Nepali (नेपाली)", "ne_NP"}, /* using the utf8 flipped form of Persian (فارسی) */ |