Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2009-02-02 14:51:10 +0300
committerJoshua Leung <aligorith@gmail.com>2009-02-02 14:51:10 +0300
commitc67952a4757c2ec0c29de3f0cd4e8ca445f3ce1b (patch)
treeb67d84962d35d8ee59bbeab6fecfbef6890438e5 /source/blender/makesrna/intern
parent9c2e4571ccffcaf1c1e1db94a79636a933e89086 (diff)
Animato RNA wrapping:
It's about time that the RNA wrapping for various parts of the animation system were cleaned up for my recent changes. I've moved some code around (and/or deleted a file or two) in the process.
Diffstat (limited to 'source/blender/makesrna/intern')
-rw-r--r--source/blender/makesrna/intern/makesrna.c3
-rw-r--r--source/blender/makesrna/intern/rna_ID.c2
-rwxr-xr-xsource/blender/makesrna/intern/rna_action.c274
-rw-r--r--source/blender/makesrna/intern/rna_camera.c2
-rw-r--r--source/blender/makesrna/intern/rna_curve.c171
-rw-r--r--source/blender/makesrna/intern/rna_fluidsim.c4
-rw-r--r--source/blender/makesrna/intern/rna_internal.h6
-rw-r--r--source/blender/makesrna/intern/rna_ipo.c336
-rw-r--r--source/blender/makesrna/intern/rna_key.c2
-rw-r--r--source/blender/makesrna/intern/rna_lattice.c2
-rw-r--r--source/blender/makesrna/intern/rna_main.c7
-rw-r--r--source/blender/makesrna/intern/rna_material.c2
-rw-r--r--source/blender/makesrna/intern/rna_mesh.c8
-rw-r--r--source/blender/makesrna/intern/rna_meta.c1
-rw-r--r--source/blender/makesrna/intern/rna_object.c26
-rwxr-xr-xsource/blender/makesrna/intern/rna_pose.c23
-rw-r--r--source/blender/makesrna/intern/rna_sequence.c4
-rw-r--r--source/blender/makesrna/intern/rna_sound.c2
-rw-r--r--source/blender/makesrna/intern/rna_space.c8
-rw-r--r--source/blender/makesrna/intern/rna_texture.c2
-rw-r--r--source/blender/makesrna/intern/rna_userdef.c50
-rw-r--r--source/blender/makesrna/intern/rna_world.c2
22 files changed, 458 insertions, 479 deletions
diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c
index 29c3ee36758..b3dac41efed 100644
--- a/source/blender/makesrna/intern/makesrna.c
+++ b/source/blender/makesrna/intern/makesrna.c
@@ -936,7 +936,7 @@ typedef struct RNAProcessItem {
RNAProcessItem PROCESS_ITEMS[]= {
{"rna_ID.c", RNA_def_ID},
{"rna_texture.c", RNA_def_texture},
- {"rna_action.c", RNA_def_action},
+ {"rna_action.c", RNA_def_animation},
{"rna_actuator.c", RNA_def_actuator},
{"rna_armature.c", RNA_def_armature},
{"rna_brush.c", RNA_def_brush},
@@ -949,7 +949,6 @@ RNAProcessItem PROCESS_ITEMS[]= {
{"rna_fluidsim.c", RNA_def_fluidsim},
{"rna_group.c", RNA_def_group},
{"rna_image.c", RNA_def_image},
- {"rna_ipo.c", RNA_def_ipo},
{"rna_key.c", RNA_def_key},
{"rna_lamp.c", RNA_def_lamp},
{"rna_lattice.c", RNA_def_lattice},
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c
index ea2b052b7fd..74caa4d17e0 100644
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@ -65,7 +65,7 @@ StructRNA *rna_ID_refine(PointerRNA *ptr)
case ID_CU: return &RNA_Curve;
case ID_GR: return &RNA_Group;
case ID_IM: return &RNA_Image;
- case ID_IP: return &RNA_Ipo;
+ //case ID_IP: return &RNA_Ipo;
case ID_KE: return &RNA_Key;
case ID_LA: return &RNA_Lamp;
case ID_LI: return &RNA_Library;
diff --git a/source/blender/makesrna/intern/rna_action.c b/source/blender/makesrna/intern/rna_action.c
index 8c088b29334..c8f2254edd5 100755
--- a/source/blender/makesrna/intern/rna_action.c
+++ b/source/blender/makesrna/intern/rna_action.c
@@ -29,74 +29,172 @@
#include "rna_internal.h"
+#include "DNA_anim_types.h"
#include "DNA_action_types.h"
-#include "DNA_constraint_types.h"
#include "DNA_scene_types.h"
+#include "MEM_guardedalloc.h"
#ifdef RNA_RUNTIME
-#else
-
-void rna_def_action_channel(BlenderRNA *brna)
+static void rna_Driver_RnaPath_get(PointerRNA *ptr, char *value)
{
- StructRNA *srna;
- PropertyRNA *prop;
+ ChannelDriver *driver= (ChannelDriver *)ptr->data;
- srna= RNA_def_struct(brna, "ActionChannel", NULL);
- RNA_def_struct_sdna(srna, "bActionChannel");
- RNA_def_struct_ui_text(srna, "Action Channel", "A channel for one object or bone's Ipos in an Action.");
-
- prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
- RNA_def_property_ui_text(prop, "Name", "");
- RNA_def_struct_name_property(srna, prop);
+ if (driver->rna_path)
+ strcpy(value, driver->rna_path);
+ else
+ strcpy(value, "");
+}
- prop= RNA_def_property(srna, "group", PROP_POINTER, PROP_NONE);
- RNA_def_property_pointer_sdna(prop, NULL, "grp");
- RNA_def_property_struct_type(prop, "ActionGroup");
- RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
- RNA_def_property_ui_text(prop, "Group", "Action Group that this Action Channel belongs to.");
+static int rna_Driver_RnaPath_length(PointerRNA *ptr)
+{
+ ChannelDriver *driver= (ChannelDriver *)ptr->data;
+
+ if (driver->rna_path)
+ return strlen(driver->rna_path);
+ else
+ return 0;
+}
- prop= RNA_def_property(srna, "ipo", PROP_POINTER, PROP_NEVER_NULL);
- RNA_def_property_struct_type(prop, "Ipo");
- RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
- RNA_def_property_ui_text(prop, "Ipo", "Ipo block this Action Channel uses.");
+static void rna_Driver_RnaPath_set(PointerRNA *ptr, const char *value)
+{
+ ChannelDriver *driver= (ChannelDriver *)ptr->data;
+
+ if (driver->rna_path)
+ MEM_freeN(driver->rna_path);
+
+ if (strlen(value))
+ driver->rna_path= BLI_strdup(value);
+ else
+ driver->rna_path= NULL;
+}
- /* constraint channel rna not yet implemented */
- /*prop= RNA_def_property(srna, "constraint_channels", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_collection_sdna(prop, NULL, "ConstraintChannel", NULL);
- RNA_def_property_struct_type(prop, "ConstraintChannel");
- RNA_def_property_ui_text(prop, "Constraint Channels", "Ipos of Constraints attached to this object or bone."); */
- prop= RNA_def_property(srna, "selected", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_SELECTED);
- RNA_def_property_ui_text(prop, "Selected", "Action Channel is selected.");
+static void rna_FCurve_RnaPath_get(PointerRNA *ptr, char *value)
+{
+ FCurve *fcu= (FCurve *)ptr->data;
- prop= RNA_def_property(srna, "highlighted", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_HILIGHTED);
- RNA_def_property_ui_text(prop, "Highlighted", "Action Channel is highlighted.");
+ if (fcu->rna_path)
+ strcpy(value, fcu->rna_path);
+ else
+ strcpy(value, "");
+}
- prop= RNA_def_property(srna, "hidden", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_HIDDEN);
- RNA_def_property_ui_text(prop, "Hidden", "Action Channel is hidden.");
+static int rna_FCurve_RnaPath_length(PointerRNA *ptr)
+{
+ FCurve *fcu= (FCurve *)ptr->data;
+
+ if (fcu->rna_path)
+ return strlen(fcu->rna_path);
+ else
+ return 0;
+}
- prop= RNA_def_property(srna, "protected", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_PROTECTED);
- RNA_def_property_ui_text(prop, "Protected", "Action Channel is protected.");
+static void rna_FCurve_RnaPath_set(PointerRNA *ptr, const char *value)
+{
+ FCurve *fcu= (FCurve *)ptr->data;
+
+ if (fcu->rna_path)
+ MEM_freeN(fcu->rna_path);
+
+ if (strlen(value))
+ fcu->rna_path= BLI_strdup(value);
+ else
+ fcu->rna_path= NULL;
+}
- prop= RNA_def_property(srna, "expanded", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_EXPANDED);
- RNA_def_property_ui_text(prop, "Expanded", "Action Channel is expanded.");
+#else
- prop= RNA_def_property(srna, "show_ipo", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_SHOWIPO);
- RNA_def_property_ui_text(prop, "Show Ipo", "Action Channel's Ipos are visible.");
+// XXX maybe this should be in a separate file?
+void rna_def_channeldriver(BlenderRNA *brna)
+{
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ static EnumPropertyItem prop_type_items[] = {
+ {DRIVER_TYPE_CHANNEL, "NORMAL", "Normal", ""},
+ {DRIVER_TYPE_PYTHON, "SCRIPTED", "Scripted Expression", ""},
+ {DRIVER_TYPE_ROTDIFF, "ROTDIFF", "Rotational Difference", ""},
+ {0, NULL, NULL, NULL}};
+
+ srna= RNA_def_struct(brna, "ChannelDriver", NULL);
+ RNA_def_struct_ui_text(srna, "Driver", "Driver for the value of a setting based on an external value.");
+
+ /* Enums */
+ prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_items(prop, prop_type_items);
+ RNA_def_property_ui_text(prop, "Type", "Driver types.");
+
+ /* String values */
+ prop= RNA_def_property(srna, "expression", PROP_STRING, PROP_NONE);
+ RNA_def_property_ui_text(prop, "Expression", "Expression to use for Scripted Expression.");
+
+ /* Pointers */
+ prop= RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "id");
+ RNA_def_property_ui_text(prop, "Driver Object", "Object that controls this Driver.");
+
+ prop= RNA_def_property(srna, "rna_path", PROP_STRING, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+ RNA_def_property_string_funcs(prop, "rna_Driver_RnaPath_get", "rna_Driver_RnaPath_length", "rna_Driver_RnaPath_set");
+ RNA_def_property_ui_text(prop, "Driver RNA Path", "RNA Path (from Driver Object) to property used as Driver.");
+
+ prop= RNA_def_property(srna, "array_index", PROP_INT, PROP_NONE);
+ RNA_def_property_ui_text(prop, "Driver RNA Array Index", "Index to the specific property used as Driver if applicable.");
+}
- prop= RNA_def_property(srna, "show_constraints", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_SHOWCONS);
- RNA_def_property_ui_text(prop, "Show Constraints", "Action Channel's constraints are visible.");
+// XXX maybe this should be in a separate file?
+void rna_def_fcurve(BlenderRNA *brna)
+{
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ static EnumPropertyItem prop_mode_extend_items[] = {
+ {FCURVE_EXTRAPOLATE_CONSTANT, "CONSTANT", "Constant", ""},
+ {FCURVE_EXTRAPOLATE_LINEAR, "LINEAR", "Linear", ""},
+ {0, NULL, NULL, NULL}};
+
+ srna= RNA_def_struct(brna, "FCurve", NULL);
+ RNA_def_struct_ui_text(srna, "F-Curve", "F-Curve defining values of a period of time.");
+
+ /* Enums */
+ prop= RNA_def_property(srna, "extrapolation", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "extend");
+ RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+ RNA_def_property_enum_items(prop, prop_mode_extend_items);
+ RNA_def_property_ui_text(prop, "Extrapolation", "");
+
+ /* Pointers */
+ //prop= RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE);
+ //RNA_def_property_pointer_sdna(prop, NULL, "driver");
+ //RNA_def_property_ui_text(prop, "Driver", "");
+
+ /* Path + Array Index */
+ prop= RNA_def_property(srna, "rna_path", PROP_STRING, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+ RNA_def_property_string_funcs(prop, "rna_FCurve_RnaPath_get", "rna_FCurve_RnaPath_length", "rna_FCurve_RnaPath_set");
+ RNA_def_property_ui_text(prop, "RNA Path", "RNA Path to property affected by F-Curve.");
+
+ prop= RNA_def_property(srna, "array_index", PROP_INT, PROP_NONE);
+ RNA_def_property_ui_text(prop, "RNA Array Index", "Index to the specific property affected by F-Curve if applicable.");
+
+ /* Collections */
+ prop= RNA_def_property(srna, "sampled_points", PROP_COLLECTION, PROP_NONE);
+ RNA_def_property_collection_sdna(prop, NULL, "fpt", "totvert");
+ RNA_def_property_struct_type(prop, "CurvePoint");
+ RNA_def_property_ui_text(prop, "Sampled Points", "Sampled animation data");
+
+ prop= RNA_def_property(srna, "keyframe_points", PROP_COLLECTION, PROP_NONE);
+ RNA_def_property_collection_sdna(prop, NULL, "bezt", "totvert");
+ RNA_def_property_struct_type(prop, "BezierCurvePoint");
+ RNA_def_property_ui_text(prop, "Keyframes", "User-editable keyframes");
+
+ // XXX to add modifiers...
}
+/* --- */
+
void rna_def_action_group(BlenderRNA *brna)
{
StructRNA *srna;
@@ -104,7 +202,7 @@ void rna_def_action_group(BlenderRNA *brna)
srna= RNA_def_struct(brna, "ActionGroup", NULL);
RNA_def_struct_sdna(srna, "bActionGroup");
- RNA_def_struct_ui_text(srna, "Action Group", "Groups of Actions Channels.");
+ RNA_def_struct_ui_text(srna, "Action Group", "Groups of F-Curves.");
prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
RNA_def_property_ui_text(prop, "Name", "");
@@ -115,8 +213,8 @@ void rna_def_action_group(BlenderRNA *brna)
probably shed some more light on why this is */
/*prop= RNA_def_property(srna, "channels", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_sdna(prop, NULL, "channels", NULL);
- RNA_def_property_struct_type(prop, "ActionChannel");
- RNA_def_property_ui_text(prop, "Channels", "Action channels in this action.");*/
+ RNA_def_property_struct_type(prop, "FCurve");
+ RNA_def_property_ui_text(prop, "Channels", "F-Curves in this group.");*/
prop= RNA_def_property(srna, "selected", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", AGRP_SELECTED);
@@ -135,27 +233,24 @@ void rna_def_action_group(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Custom Color", "Index of custom color set.");
}
-void RNA_def_action(BlenderRNA *brna)
+void rna_def_action(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
-
- rna_def_action_channel(brna);
- rna_def_action_group(brna);
-
+
srna= RNA_def_struct(brna, "Action", "ID");
RNA_def_struct_sdna(srna, "bAction");
- RNA_def_struct_ui_text(srna, "Action", "A collection of Ipos for animation.");
+ RNA_def_struct_ui_text(srna, "Action", "A collection of F-Curves for animation.");
- prop= RNA_def_property(srna, "channels", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_collection_sdna(prop, NULL, "chanbase", NULL);
- RNA_def_property_struct_type(prop, "ActionChannel");
- RNA_def_property_ui_text(prop, "Channels", "The individual animation channels that make up the Action.");
+ prop= RNA_def_property(srna, "fcurves", PROP_COLLECTION, PROP_NONE);
+ RNA_def_property_collection_sdna(prop, NULL, "curves", NULL);
+ RNA_def_property_struct_type(prop, "FCurve");
+ RNA_def_property_ui_text(prop, "F-Curves", "The individual F-Curves that make up the Action.");
prop= RNA_def_property(srna, "groups", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_sdna(prop, NULL, "groups", NULL);
RNA_def_property_struct_type(prop, "ActionGroup");
- RNA_def_property_ui_text(prop, "Groups", "Convenient groupings of Action Channels.");
+ RNA_def_property_ui_text(prop, "Groups", "Convenient groupings of F-Curves.");
prop= RNA_def_property(srna, "pose_markers", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_sdna(prop, NULL, "markers", NULL);
@@ -163,4 +258,59 @@ void RNA_def_action(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Pose Markers", "Markers specific to this Action, for labeling poses.");
}
+/* --- */
+
+void rna_def_animdata_common(StructRNA *srna)
+{
+ PropertyRNA *prop;
+
+ prop= RNA_def_property(srna, "animation_data", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "adt");
+ RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+ RNA_def_property_ui_text(prop, "Animation Data", "Animation data for this datablock.");
+}
+
+void rna_def_animdata(BlenderRNA *brna)
+{
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ srna= RNA_def_struct(brna, "AnimData", NULL);
+ //RNA_def_struct_sdna(srna, "AnimData");
+ RNA_def_struct_ui_text(srna, "Animation Data", "Animation data for datablock.");
+
+ /* NLA */
+ prop= RNA_def_property(srna, "nla_tracks", PROP_COLLECTION, PROP_NONE);
+ RNA_def_property_collection_sdna(prop, NULL, "nla_tracks", NULL);
+ RNA_def_property_struct_type(prop, "UnknownType"); // XXX!
+ RNA_def_property_ui_text(prop, "NLA Tracks", "NLA Tracks (i.e. Animation Layers).");
+
+ /* Action */
+ prop= RNA_def_property(srna, "action", PROP_POINTER, PROP_NONE);
+ RNA_def_property_ui_text(prop, "Action", "Active Action for this datablock.");
+
+ /* Drivers */
+ prop= RNA_def_property(srna, "drivers", PROP_COLLECTION, PROP_NONE);
+ RNA_def_property_collection_sdna(prop, NULL, "drivers", NULL);
+ RNA_def_property_struct_type(prop, "FCurve");
+ RNA_def_property_ui_text(prop, "Drivers", "The Drivers/Expressions for this datablock.");
+
+ /* Settings */
+}
+
+/* --- */
+
+void RNA_def_animation(BlenderRNA *brna)
+{
+ // XXX move this into its own file?
+ rna_def_animdata(brna);
+
+ rna_def_action(brna);
+ rna_def_action_group(brna);
+
+ // XXX move these to their own file?
+ rna_def_fcurve(brna);
+ rna_def_channeldriver(brna);
+}
+
#endif
diff --git a/source/blender/makesrna/intern/rna_camera.c b/source/blender/makesrna/intern/rna_camera.c
index 71ecbbe5517..c884bad3353 100644
--- a/source/blender/makesrna/intern/rna_camera.c
+++ b/source/blender/makesrna/intern/rna_camera.c
@@ -152,7 +152,7 @@ void RNA_def_camera(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Lens Unit", "Unit to edit lens in for the user interface.");
/* pointers */
- rna_def_ipo_common(srna);
+ rna_def_animdata_common(srna);
prop= RNA_def_property(srna, "dof_object", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "Object");
diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c
index 9e6dc4e8173..1f51b84a2c1 100644
--- a/source/blender/makesrna/intern/rna_curve.c
+++ b/source/blender/makesrna/intern/rna_curve.c
@@ -33,6 +33,43 @@
#ifdef RNA_RUNTIME
+
+static float rna_BezTriple_handle1_get(PointerRNA *ptr, int index)
+{
+ BezTriple *bt= (BezTriple*)ptr->data;
+ return bt->vec[0][index];
+}
+
+static void rna_BezTriple_handle1_set(PointerRNA *ptr, int index, float value)
+{
+ BezTriple *bt= (BezTriple*)ptr->data;
+ bt->vec[0][index]= value;
+}
+
+static float rna_BezTriple_handle2_get(PointerRNA *ptr, int index)
+{
+ BezTriple *bt= (BezTriple*)ptr->data;
+ return bt->vec[2][index];
+}
+
+static void rna_BezTriple_handle2_set(PointerRNA *ptr, int index, float value)
+{
+ BezTriple *bt= (BezTriple*)ptr->data;
+ bt->vec[2][index]= value;
+}
+
+static float rna_BezTriple_ctrlpoint_get(PointerRNA *ptr, int index)
+{
+ BezTriple *bt= (BezTriple*)ptr->data;
+ return bt->vec[1][index];
+}
+
+static void rna_BezTriple_ctrlpoint_set(PointerRNA *ptr, int index, float value)
+{
+ BezTriple *bt= (BezTriple*)ptr->data;
+ bt->vec[1][index]= value;
+}
+
static int rna_Curve_texspace_editable(PointerRNA *ptr)
{
Curve *cu= (Curve*)ptr->data;
@@ -41,6 +78,136 @@ static int rna_Curve_texspace_editable(PointerRNA *ptr)
#else
+
+void rna_def_bpoint(BlenderRNA *brna)
+{
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ srna= RNA_def_struct(brna, "CurvePoint", NULL);
+ RNA_def_struct_sdna(srna, "BPoint");
+ RNA_def_struct_ui_text(srna, "CurvePoint", "Curve point without handles.");
+
+ /* Boolean values */
+ prop= RNA_def_property(srna, "selected", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "f1", 0);
+ RNA_def_property_ui_text(prop, "Selected", "Selection status");
+
+ prop= RNA_def_property(srna, "hidden", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "hide", 0);
+ RNA_def_property_ui_text(prop, "Hidden", "Visibility status");
+
+ /* Vector value */
+ prop= RNA_def_property(srna, "point", PROP_FLOAT, PROP_VECTOR);
+ RNA_def_property_array(prop, 4);
+ RNA_def_property_float_sdna(prop, NULL, "vec");
+ RNA_def_property_ui_text(prop, "Point", "Point coordinates");
+
+ /* Number values */
+ prop= RNA_def_property(srna, "tilt", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "alfa");
+ /*RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);*/
+ RNA_def_property_ui_text(prop, "Tilt", "Tilt in 3d View");
+
+ prop= RNA_def_property(srna, "weight", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_range(prop, 0.01f, 100.0f);
+ RNA_def_property_ui_text(prop, "Weight", "Softbody goal weight");
+
+ prop= RNA_def_property(srna, "bevel_radius", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "radius");
+ /*RNA_def_property_range(prop, 0.0f, 1.0f);*/
+ RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+ RNA_def_property_ui_text(prop, "Bevel Radius", "Radius for bevelling");
+}
+
+void rna_def_beztriple(BlenderRNA *brna)
+{
+ StructRNA *srna;
+ PropertyRNA *prop;
+ static EnumPropertyItem prop_handle_type_items[] = {
+ {HD_FREE, "FREE", "Free", ""},
+ {HD_AUTO, "AUTO", "Auto", ""},
+ {HD_VECT, "VECTOR", "Vector", ""},
+ {HD_ALIGN, "ALIGNED", "Aligned", ""},
+ {HD_AUTO_ANIM, "AUTO_CLAMPED", "Auto Clamped", ""},
+ {0, NULL, NULL, NULL}};
+ static EnumPropertyItem prop_mode_interpolation_items[] = {
+ {BEZT_IPO_CONST, "CONSTANT", "Constant", ""},
+ {BEZT_IPO_LIN, "LINEAR", "Linear", ""},
+ {BEZT_IPO_BEZ, "BEZIER", "Bezier", ""},
+ {0, NULL, NULL, NULL}};
+
+ srna= RNA_def_struct(brna, "BezierCurvePoint", NULL);
+ RNA_def_struct_sdna(srna, "BezTriple");
+ RNA_def_struct_ui_text(srna, "Bezier Curve Point", "Bezier curve point with two handles.");
+
+ /* Boolean values */
+ prop= RNA_def_property(srna, "selected_handle1", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "f1", 0);
+ RNA_def_property_ui_text(prop, "Handle 1 selected", "Handle 1 selection status");
+
+ prop= RNA_def_property(srna, "selected_handle2", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "f3", 0);
+ RNA_def_property_ui_text(prop, "Handle 2 selected", "Handle 2 selection status");
+
+ prop= RNA_def_property(srna, "selected_control_point", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "f2", 0);
+ RNA_def_property_ui_text(prop, "Control Point selected", "Control point selection status");
+
+ prop= RNA_def_property(srna, "hidden", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "hide", 0);
+ RNA_def_property_ui_text(prop, "Hidden", "Visibility status");
+
+ /* Enums */
+ prop= RNA_def_property(srna, "handle1_type", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "h1");
+ RNA_def_property_enum_items(prop, prop_handle_type_items);
+ RNA_def_property_ui_text(prop, "Handle 1 Type", "Handle types");
+
+ prop= RNA_def_property(srna, "handle2_type", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "h2");
+ RNA_def_property_enum_items(prop, prop_handle_type_items);
+ RNA_def_property_ui_text(prop, "Handle 2 Type", "Handle types");
+
+ prop= RNA_def_property(srna, "interpolation", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "ipo");
+ RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+ RNA_def_property_enum_items(prop, prop_mode_interpolation_items);
+ RNA_def_property_ui_text(prop, "Interpolation", "(For F-Curves Only) Interpolation to use for segment of curve starting from current BezTriple.");
+
+ /* Vector values */
+ prop= RNA_def_property(srna, "handle1", PROP_FLOAT, PROP_VECTOR);
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_float_funcs(prop, "rna_BezTriple_handle1_get", "rna_BezTriple_handle1_set", NULL);
+ RNA_def_property_ui_text(prop, "Handle 1", "Coordinates of the first handle");
+
+ prop= RNA_def_property(srna, "control_point", PROP_FLOAT, PROP_VECTOR);
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_float_funcs(prop, "rna_BezTriple_ctrlpoint_get", "rna_BezTriple_ctrlpoint_set", NULL);
+ RNA_def_property_ui_text(prop, "Control Point", "Coordinates of the control point");
+
+ prop= RNA_def_property(srna, "handle2", PROP_FLOAT, PROP_VECTOR);
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_float_funcs(prop, "rna_BezTriple_handle2_get", "rna_BezTriple_handle2_set", NULL);
+ RNA_def_property_ui_text(prop, "Handle 2", "Coordinates of the second handle");
+
+ /* Number values */
+ prop= RNA_def_property(srna, "tilt", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "alfa");
+ /*RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);*/
+ RNA_def_property_ui_text(prop, "Tilt", "Tilt in 3d View");
+
+ prop= RNA_def_property(srna, "weight", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_range(prop, 0.01f, 100.0f);
+ RNA_def_property_ui_text(prop, "Weight", "Softbody goal weight");
+
+ prop= RNA_def_property(srna, "bevel_radius", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "radius");
+ /*RNA_def_property_range(prop, 0.0f, 1.0f);*/
+ RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+ RNA_def_property_ui_text(prop, "Bevel Radius", "Radius for bevelling");
+}
+
static void rna_def_path(BlenderRNA *brna, StructRNA *srna)
{
PropertyRNA *prop;
@@ -262,7 +429,7 @@ void rna_def_curve(BlenderRNA *brna)
srna= RNA_def_struct(brna, "Curve", "ID");
RNA_def_struct_ui_text(srna, "Curve", "Curve datablock storing curves, splines and NURBS.");
- rna_def_ipo_common(srna);
+ rna_def_animdata_common(srna);
rna_def_texmat_common(srna, "rna_Curve_texspace_editable");
prop= RNA_def_property(srna, "shape_keys", PROP_POINTER, PROP_NONE);
@@ -346,6 +513,8 @@ void RNA_def_curve(BlenderRNA *brna)
rna_def_curve(brna);
rna_def_textbox(brna);
rna_def_charinfo(brna);
+ rna_def_bpoint(brna);
+ rna_def_beztriple(brna);
}
#endif
diff --git a/source/blender/makesrna/intern/rna_fluidsim.c b/source/blender/makesrna/intern/rna_fluidsim.c
index fe5ad51d06f..89431604006 100644
--- a/source/blender/makesrna/intern/rna_fluidsim.c
+++ b/source/blender/makesrna/intern/rna_fluidsim.c
@@ -422,8 +422,8 @@ void RNA_def_fluidsim(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_NOT_EDITABLE); // needs to update variables
RNA_def_property_ui_text(prop, "Type", "Type of participation in the fluid simulation.");
- prop= RNA_def_property(srna, "ipo", PROP_POINTER, PROP_NONE);
- RNA_def_property_ui_text(prop, "Ipo Curves", "Ipo curves used by fluid simulation settings.");
+ //prop= RNA_def_property(srna, "ipo", PROP_POINTER, PROP_NONE);
+ //RNA_def_property_ui_text(prop, "Ipo Curves", "Ipo curves used by fluid simulation settings.");
/* types */
diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h
index c4a44a5a8d5..6ac96f7f4f6 100644
--- a/source/blender/makesrna/intern/rna_internal.h
+++ b/source/blender/makesrna/intern/rna_internal.h
@@ -95,7 +95,7 @@ extern BlenderDefRNA DefRNA;
extern BlenderRNA BLENDER_RNA;
void RNA_def_ID(struct BlenderRNA *brna);
-void RNA_def_action(struct BlenderRNA *brna);
+void RNA_def_animation(struct BlenderRNA *brna);
void RNA_def_armature(struct BlenderRNA *brna);
void RNA_def_actuator(struct BlenderRNA *brna);
void RNA_def_brush(struct BlenderRNA *brna);
@@ -110,7 +110,6 @@ void RNA_def_fluidsim(struct BlenderRNA *brna);
void RNA_def_gameproperty(struct BlenderRNA *brna);
void RNA_def_group(struct BlenderRNA *brna);
void RNA_def_image(struct BlenderRNA *brna);
-void RNA_def_ipo(struct BlenderRNA *brna);
void RNA_def_key(struct BlenderRNA *brna);
void RNA_def_lamp(struct BlenderRNA *brna);
void RNA_def_lattice(struct BlenderRNA *brna);
@@ -142,7 +141,8 @@ void RNA_def_vpaint(struct BlenderRNA *brna);
void RNA_def_wm(struct BlenderRNA *brna);
void RNA_def_world(struct BlenderRNA *brna);
-void rna_def_ipo_common(struct StructRNA *srna);
+void rna_def_animdata_common(struct StructRNA *srna);
+
void rna_def_texmat_common(struct StructRNA *srna, const char *texspace_editable);
void rna_def_mtex_common(struct StructRNA *srna, const char *begin, const char *activeget, const char *structname);
diff --git a/source/blender/makesrna/intern/rna_ipo.c b/source/blender/makesrna/intern/rna_ipo.c
deleted file mode 100644
index 01aff0348b6..00000000000
--- a/source/blender/makesrna/intern/rna_ipo.c
+++ /dev/null
@@ -1,336 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * Contributor(s): Blender Foundation (2008).
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#include <stdlib.h>
-
-#include "RNA_define.h"
-#include "RNA_types.h"
-
-#include "rna_internal.h"
-
-#include "DNA_ipo_types.h"
-
-#ifdef RNA_RUNTIME
-
-static float rna_BezTriple_handle1_get(PointerRNA *ptr, int index)
-{
- BezTriple *bt= (BezTriple*)ptr->data;
- return bt->vec[0][index];
-}
-
-static void rna_BezTriple_handle1_set(PointerRNA *ptr, int index, float value)
-{
- BezTriple *bt= (BezTriple*)ptr->data;
- bt->vec[0][index]= value;
-}
-
-static float rna_BezTriple_handle2_get(PointerRNA *ptr, int index)
-{
- BezTriple *bt= (BezTriple*)ptr->data;
- return bt->vec[2][index];
-}
-
-static void rna_BezTriple_handle2_set(PointerRNA *ptr, int index, float value)
-{
- BezTriple *bt= (BezTriple*)ptr->data;
- bt->vec[2][index]= value;
-}
-
-static float rna_BezTriple_ctrlpoint_get(PointerRNA *ptr, int index)
-{
- BezTriple *bt= (BezTriple*)ptr->data;
- return bt->vec[1][index];
-}
-
-static void rna_BezTriple_ctrlpoint_set(PointerRNA *ptr, int index, float value)
-{
- BezTriple *bt= (BezTriple*)ptr->data;
- bt->vec[1][index]= value;
-}
-
-#else
-
-void rna_def_bpoint(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
-
- srna= RNA_def_struct(brna, "CurvePoint", NULL);
- RNA_def_struct_sdna(srna, "BPoint");
- RNA_def_struct_ui_text(srna, "CurvePoint", "Curve point without handles.");
-
- /* Boolean values */
- prop= RNA_def_property(srna, "selected", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "f1", 0);
- RNA_def_property_ui_text(prop, "Selected", "Selection status");
-
- prop= RNA_def_property(srna, "hidden", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "hide", 0);
- RNA_def_property_ui_text(prop, "Hidden", "Visibility status");
-
- /* Vector value */
- prop= RNA_def_property(srna, "point", PROP_FLOAT, PROP_VECTOR);
- RNA_def_property_array(prop, 4);
- RNA_def_property_float_sdna(prop, NULL, "vec");
- RNA_def_property_ui_text(prop, "Point", "Point coordinates");
-
- /* Number values */
- prop= RNA_def_property(srna, "tilt", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "alfa");
- /*RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);*/
- RNA_def_property_ui_text(prop, "Tilt", "Tilt in 3d View");
-
- prop= RNA_def_property(srna, "weight", PROP_FLOAT, PROP_NONE);
- RNA_def_property_range(prop, 0.01f, 100.0f);
- RNA_def_property_ui_text(prop, "Weight", "Softbody goal weight");
-
- prop= RNA_def_property(srna, "bevel_radius", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "radius");
- /*RNA_def_property_range(prop, 0.0f, 1.0f);*/
- RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
- RNA_def_property_ui_text(prop, "Bevel Radius", "Radius for bevelling");
-}
-
-void rna_def_beztriple(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
- static EnumPropertyItem prop_handle_type_items[] = {
- {HD_FREE, "FREE", "Free", ""},
- {HD_AUTO, "AUTO", "Auto", ""},
- {HD_VECT, "VECTOR", "Vector", ""},
- {HD_ALIGN, "ALIGNED", "Aligned", ""},
- {HD_AUTO_ANIM, "AUTO_CLAMPED", "Auto Clamped", ""},
- {0, NULL, NULL, NULL}};
- static EnumPropertyItem prop_mode_interpolation_items[] = {
- {IPO_CONST, "CONSTANT", "Constant", ""},
- {IPO_LIN, "LINEAR", "Linear", ""},
- {IPO_BEZ, "BEZIER", "Bezier", ""},
- {0, NULL, NULL, NULL}};
-
- srna= RNA_def_struct(brna, "BezierCurvePoint", NULL);
- RNA_def_struct_sdna(srna, "BezTriple");
- RNA_def_struct_ui_text(srna, "Bezier Curve Point", "Bezier curve point with two handles.");
-
- /* Boolean values */
- prop= RNA_def_property(srna, "selected_handle1", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "f1", 0);
- RNA_def_property_ui_text(prop, "Handle 1 selected", "Handle 1 selection status");
-
- prop= RNA_def_property(srna, "selected_handle2", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "f3", 0);
- RNA_def_property_ui_text(prop, "Handle 2 selected", "Handle 2 selection status");
-
- prop= RNA_def_property(srna, "selected_control_point", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "f2", 0);
- RNA_def_property_ui_text(prop, "Control Point selected", "Control point selection status");
-
- prop= RNA_def_property(srna, "hidden", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "hide", 0);
- RNA_def_property_ui_text(prop, "Hidden", "Visibility status");
-
- /* Enums */
- prop= RNA_def_property(srna, "handle1_type", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_sdna(prop, NULL, "h1");
- RNA_def_property_enum_items(prop, prop_handle_type_items);
- RNA_def_property_ui_text(prop, "Handle 1 Type", "Handle types");
-
- prop= RNA_def_property(srna, "handle2_type", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_sdna(prop, NULL, "h2");
- RNA_def_property_enum_items(prop, prop_handle_type_items);
- RNA_def_property_ui_text(prop, "Handle 2 Type", "Handle types");
-
- prop= RNA_def_property(srna, "interpolation", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_sdna(prop, NULL, "ipo");
- RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
- RNA_def_property_enum_items(prop, prop_mode_interpolation_items);
- RNA_def_property_ui_text(prop, "Interpolation", "");
-
- /* Vector values */
- prop= RNA_def_property(srna, "handle1", PROP_FLOAT, PROP_VECTOR);
- RNA_def_property_array(prop, 3);
- RNA_def_property_float_funcs(prop, "rna_BezTriple_handle1_get", "rna_BezTriple_handle1_set", NULL);
- RNA_def_property_ui_text(prop, "Handle 1", "Coordinates of the first handle");
-
- prop= RNA_def_property(srna, "control_point", PROP_FLOAT, PROP_VECTOR);
- RNA_def_property_array(prop, 3);
- RNA_def_property_float_funcs(prop, "rna_BezTriple_ctrlpoint_get", "rna_BezTriple_ctrlpoint_set", NULL);
- RNA_def_property_ui_text(prop, "Control Point", "Coordinates of the control point");
-
- prop= RNA_def_property(srna, "handle2", PROP_FLOAT, PROP_VECTOR);
- RNA_def_property_array(prop, 3);
- RNA_def_property_float_funcs(prop, "rna_BezTriple_handle2_get", "rna_BezTriple_handle2_set", NULL);
- RNA_def_property_ui_text(prop, "Handle 2", "Coordinates of the second handle");
-
- /* Number values */
- prop= RNA_def_property(srna, "tilt", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "alfa");
- /*RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);*/
- RNA_def_property_ui_text(prop, "Tilt", "Tilt in 3d View");
-
- prop= RNA_def_property(srna, "weight", PROP_FLOAT, PROP_NONE);
- RNA_def_property_range(prop, 0.01f, 100.0f);
- RNA_def_property_ui_text(prop, "Weight", "Softbody goal weight");
-
- prop= RNA_def_property(srna, "bevel_radius", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "radius");
- /*RNA_def_property_range(prop, 0.0f, 1.0f);*/
- RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
- RNA_def_property_ui_text(prop, "Bevel Radius", "Radius for bevelling");
-}
-
-void rna_def_ipodriver(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
- static EnumPropertyItem prop_type_items[] = {
- {IPO_DRIVER_TYPE_NORMAL, "NORMAL", "Normal", ""},
- {IPO_DRIVER_TYPE_PYTHON, "SCRIPTED", "Scripted", ""},
- {0, NULL, NULL, NULL}};
-
- srna= RNA_def_struct(brna, "IpoDriver", NULL);
- RNA_def_struct_ui_text(srna, "Ipo Driver", "Driver for the ipo curve value based on an external value.");
-
- /* Enums */
- prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_items(prop, prop_type_items);
- RNA_def_property_ui_text(prop, "Type", "Ipo Driver types.");
-
- /* String values */
- prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
- RNA_def_property_ui_text(prop, "Name", "Bone name or scripting expression.");
-
- /* Pointers */
- prop= RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE);
- RNA_def_property_pointer_sdna(prop, NULL, "ob");
- RNA_def_property_ui_text(prop, "Driver Object", "Object that controls this Ipo Driver.");
-}
-
-void rna_def_ipocurve(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
- static EnumPropertyItem prop_mode_interpolation_items[] = {
- {IPO_CONST, "CONSTANT", "Constant", ""},
- {IPO_LIN, "LINEAR", "Linear", ""},
- {IPO_BEZ, "BEZIER", "Bezier", ""},
- {0, NULL, NULL, NULL}};
- static EnumPropertyItem prop_mode_extend_items[] = {
- {IPO_HORIZ, "CONSTANT", "Constant", ""},
- {IPO_DIR, "EXTRAP", "Extrapolation", ""},
- {IPO_CYCL, "CYCLIC", "Cyclic", ""},
- {IPO_CYCLX, "CYCLICX", "Cyclic Extrapolation", ""},
- {0, NULL, NULL, NULL}};
-
- srna= RNA_def_struct(brna, "IpoCurve", NULL);
- RNA_def_struct_ui_text(srna, "Ipo Curve", "Ipo curve defining values of a period of time.");
-
- /* Enums */
- prop= RNA_def_property(srna, "interpolation", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_sdna(prop, NULL, "ipo");
- RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
- RNA_def_property_enum_items(prop, prop_mode_interpolation_items);
- RNA_def_property_ui_text(prop, "Interpolation", "");
-
- prop= RNA_def_property(srna, "extrapolation", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_sdna(prop, NULL, "extrap");
- RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
- RNA_def_property_enum_items(prop, prop_mode_extend_items);
- RNA_def_property_ui_text(prop, "Extrapolation", "");
-
- /* Pointers */
- prop= RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE);
- RNA_def_property_pointer_sdna(prop, NULL, "driver");
- RNA_def_property_ui_text(prop, "Ipo Driver", "");
-
- /* Collections XXX */
- prop= RNA_def_property(srna, "points", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_collection_sdna(prop, NULL, "bp", "totvert");
- RNA_def_property_struct_type(prop, "CurvePoint");
- RNA_def_property_ui_text(prop, "Points", "");
-
- prop= RNA_def_property(srna, "bezier_points", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_collection_sdna(prop, NULL, "bezt", "totvert");
- RNA_def_property_struct_type(prop, "BezierCurvePoint");
- RNA_def_property_ui_text(prop, "Bezier Points", "");
-}
-
-void rna_def_ipo(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
- static EnumPropertyItem prop_blocktype_items[] = {
- {ID_OB, "OBJECT", "Object", ""},
- {ID_MA, "MATERIAL", "Material", ""},
- {ID_TE, "TEXTURE", "Texture", ""},
- {ID_SEQ, "SEQUENCE", "Sequence", ""},
- {ID_CU, "CURVE", "Curve", ""},
- {ID_KE, "KEY", "Key", ""},
- {ID_WO, "WORLD", "World", ""},
- {ID_LA, "LAMP", "Lamp", ""},
- {ID_CA, "CAMERA", "Camera", ""},
- {ID_SO, "SOUND", "Sound", ""},
- {ID_PO, "POSECHANNEL", "PoseChannel", ""},
- {ID_CO, "CONSTRAINT", "Constraint", ""},
- {ID_FLUIDSIM, "FLUIDSIM", "FluidSim", ""},
- {ID_PA, "PARTICLES", "Particles", ""},
- {0, NULL, NULL, NULL}};
-
- srna= RNA_def_struct(brna, "Ipo", "ID");
- RNA_def_struct_ui_text(srna, "Ipo", "Ipo datablock containing Ipo curves for animation of a datablock.");
-
- /* Enums */
- prop= RNA_def_property(srna, "block_type", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_sdna(prop, NULL, "blocktype");
- RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
- RNA_def_property_enum_items(prop, prop_blocktype_items);
- RNA_def_property_ui_text(prop, "Block Type", "");
-
- /* Boolean values */
- prop= RNA_def_property(srna, "show_keys", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "showkey", 0);
- RNA_def_property_ui_text(prop, "Show Keys", "Show Ipo Keys.");
-
- prop= RNA_def_property(srna, "mute", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "muteipo", 0);
- RNA_def_property_ui_text(prop, "Mute", "Mute this Ipo block.");
-
- /* Collection */
- prop= RNA_def_property(srna, "curves", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_collection_sdna(prop, NULL, "curve", NULL);
- RNA_def_property_struct_type(prop, "IpoCurve");
- RNA_def_property_ui_text(prop, "Curves", "");
-}
-
-void RNA_def_ipo(BlenderRNA *brna)
-{
- rna_def_ipo(brna);
- rna_def_ipocurve(brna);
- rna_def_bpoint(brna);
- rna_def_beztriple(brna);
- rna_def_ipodriver(brna);
-}
-
-#endif
-
diff --git a/source/blender/makesrna/intern/rna_key.c b/source/blender/makesrna/intern/rna_key.c
index 48fc116d0bb..2337bb46d60 100644
--- a/source/blender/makesrna/intern/rna_key.c
+++ b/source/blender/makesrna/intern/rna_key.c
@@ -327,7 +327,7 @@ static void rna_def_key(BlenderRNA *brna)
RNA_def_property_struct_type(prop, "ShapeKey");
RNA_def_property_ui_text(prop, "Keys", "Shape keys.");
- rna_def_ipo_common(srna);
+ rna_def_animdata_common(srna);
prop= RNA_def_property(srna, "user", PROP_POINTER, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "from");
diff --git a/source/blender/makesrna/intern/rna_lattice.c b/source/blender/makesrna/intern/rna_lattice.c
index 5fb4d37c5d4..37414abef88 100644
--- a/source/blender/makesrna/intern/rna_lattice.c
+++ b/source/blender/makesrna/intern/rna_lattice.c
@@ -158,8 +158,6 @@ static void rna_def_lattice(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flag", LT_OUTSIDE);
RNA_def_property_ui_text(prop, "Outside", "Only draw, and take into account, the outer vertices.");
- rna_def_ipo_common(srna);
-
prop= RNA_def_property(srna, "shape_keys", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "key");
RNA_def_property_ui_text(prop, "Shape Keys", "");
diff --git a/source/blender/makesrna/intern/rna_main.c b/source/blender/makesrna/intern/rna_main.c
index 150b4e290ef..a3500cecff9 100644
--- a/source/blender/makesrna/intern/rna_main.c
+++ b/source/blender/makesrna/intern/rna_main.c
@@ -124,12 +124,6 @@ static void rna_Main_camera_begin(CollectionPropertyIterator *iter, PointerRNA *
rna_iterator_listbase_begin(iter, &bmain->camera, NULL);
}
-static void rna_Main_ipo_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
-{
- Main *bmain= (Main*)ptr->data;
- rna_iterator_listbase_begin(iter, &bmain->ipo, NULL);
-}
-
static void rna_Main_key_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
Main *bmain= (Main*)ptr->data;
@@ -237,7 +231,6 @@ void RNA_def_main(BlenderRNA *brna)
{"metaballs", "MetaBall", "rna_Main_mball_begin", "Metaballs", "Metaball datablocks."},
{"vfonts", "VectorFont", "rna_Main_vfont_begin", "Vector Fonts", "Vector font datablocks."},
{"textures", "Texture", "rna_Main_tex_begin", "Textures", "Texture datablocks."},
- {"ipos", "Ipo", "rna_Main_ipo_begin", "Ipos", "Ipo datablocks."},
{"brushes", "Brush", "rna_Main_brush_begin", "Brushes", "Brush datablocks."},
{"worlds", "World", "rna_Main_world_begin", "Worlds", "World datablocks."},
{"groups", "Group", "rna_Main_group_begin", "Groups", "Group datablocks."},
diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c
index 6f37b38f1da..e9370012e72 100644
--- a/source/blender/makesrna/intern/rna_material.c
+++ b/source/blender/makesrna/intern/rna_material.c
@@ -791,7 +791,7 @@ void RNA_def_material(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Node Tree", "Node tree for node based materials.");
/* common */
- rna_def_ipo_common(srna);
+ rna_def_animdata_common(srna);
rna_def_mtex_common(srna, "rna_Material_mtex_begin", "rna_Material_active_texture_get", "MaterialTextureSlot");
prop= RNA_def_property(srna, "script_link", PROP_POINTER, PROP_NEVER_NULL);
diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c
index 77047135e98..66239d03dd8 100644
--- a/source/blender/makesrna/intern/rna_mesh.c
+++ b/source/blender/makesrna/intern/rna_mesh.c
@@ -893,13 +893,6 @@ void rna_def_texmat_common(StructRNA *srna, const char *texspace_editable)
RNA_def_property_ui_text(prop, "Materials", "");
}
-void rna_def_ipo_common(StructRNA *srna)
-{
- PropertyRNA *prop;
-
- prop= RNA_def_property(srna, "ipo", PROP_POINTER, PROP_NONE);
- RNA_def_property_ui_text(prop, "Ipo Curves", "Ipo curves used by this datablock.");
-}
static void rna_def_mesh(BlenderRNA *brna)
{
@@ -989,7 +982,6 @@ static void rna_def_mesh(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Shape Keys", "");
rna_def_texmat_common(srna, "rna_Mesh_texspace_editable");
- rna_def_ipo_common(srna);
}
void RNA_def_mesh(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_meta.c b/source/blender/makesrna/intern/rna_meta.c
index f187e12225c..5107ed0df70 100644
--- a/source/blender/makesrna/intern/rna_meta.c
+++ b/source/blender/makesrna/intern/rna_meta.c
@@ -141,7 +141,6 @@ void rna_def_metaball(BlenderRNA *brna)
/* materials, textures */
rna_def_texmat_common(srna, "rna_Meta_texspace_editable");
- rna_def_ipo_common(srna);
}
void RNA_def_meta(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c
index 4819d677b79..a9164e6acee 100644
--- a/source/blender/makesrna/intern/rna_object.c
+++ b/source/blender/makesrna/intern/rna_object.c
@@ -600,20 +600,10 @@ static StructRNA *rna_def_object(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Lock Scale", "Lock editing of scale in the interface.");
/* collections */
-
- prop= RNA_def_property(srna, "ipo", PROP_POINTER, PROP_NONE);
- RNA_def_property_struct_type(prop, "Ipo");
- RNA_def_property_ui_text(prop, "Ipo Curves", "Ipo curves used by the object.");
-
prop= RNA_def_property(srna, "constraints", PROP_COLLECTION, PROP_NONE);
RNA_def_property_struct_type(prop, "Constraint");
RNA_def_property_ui_text(prop, "Constraints", "Constraints of the object.");
- prop= RNA_def_property(srna, "constraint_channels", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_collection_sdna(prop, NULL, "constraintChannels", NULL);
- RNA_def_property_struct_type(prop, "Constraint");
- RNA_def_property_ui_text(prop, "Constraint Channels", "Ipo curves for the object constraints.");
-
prop= RNA_def_property(srna, "modifiers", PROP_COLLECTION, PROP_NONE);
RNA_def_property_struct_type(prop, "Modifier");
RNA_def_property_ui_text(prop, "Modifiers", "Modifiers affecting the geometric data of the Object.");
@@ -697,6 +687,8 @@ static StructRNA *rna_def_object(BlenderRNA *brna)
/* anim */
+ rna_def_animdata_common(srna);
+
prop= RNA_def_property(srna, "draw_keys", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "ipoflag", OB_DRAWKEY);
RNA_def_property_flag(prop, PROP_NOT_EDITABLE); // update ipo flag indirect
@@ -750,7 +742,7 @@ static StructRNA *rna_def_object(BlenderRNA *brna)
prop= RNA_def_property(srna, "dupli_faces_scale", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "dupfacesca");
- RNA_def_property_range(prop, 0.001, 10000.0);
+ RNA_def_property_range(prop, 0.001f, 10000.0f);
RNA_def_property_ui_text(prop, "Dupli Faces Scale", "Scale the DupliFace objects.");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
@@ -861,12 +853,7 @@ static StructRNA *rna_def_object(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "X-Ray", "Makes the object draw in front of others.");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
- /* action / pose / nla */
-
- prop= RNA_def_property(srna, "action", PROP_POINTER, PROP_NONE);
- RNA_def_property_struct_type(prop, "Action");
- RNA_def_property_ui_text(prop, "Action", "Action used by object to define Ipo curves.");
-
+ /* pose */
prop= RNA_def_property(srna, "pose_library", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "poselib");
RNA_def_property_struct_type(prop, "Action");
@@ -882,6 +869,8 @@ static StructRNA *rna_def_object(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
RNA_def_property_ui_text(prop, "Pose Mode", "Object with armature data is in pose mode.");
+ // XXX this stuff should be moved to AnimData...
+/*
prop= RNA_def_property(srna, "nla_disable_path", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "nlaflag", OB_DISABLE_PATH);
RNA_def_property_ui_text(prop, "NLA Disable Path", "Disable path temporally, for editing cycles.");
@@ -901,7 +890,8 @@ static StructRNA *rna_def_object(BlenderRNA *brna)
RNA_def_property_struct_type(prop, "UnknownType");
RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
RNA_def_property_ui_text(prop, "NLA Strips", "NLA strips of the object.");
-
+*/
+
/* shape keys */
prop= RNA_def_property(srna, "shape_key_lock", PROP_BOOLEAN, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_pose.c b/source/blender/makesrna/intern/rna_pose.c
index 3731efb294c..f3fd9350710 100755
--- a/source/blender/makesrna/intern/rna_pose.c
+++ b/source/blender/makesrna/intern/rna_pose.c
@@ -45,6 +45,11 @@
static void rna_def_pose_channel(BlenderRNA *brna)
{
+ static EnumPropertyItem prop_rotmode_items[] = {
+ {PCHAN_ROT_QUAT, "QUATERNION", "Quaternion (WXYZ)", "No Gimbal Lock (default)"},
+ {PCHAN_ROT_EUL, "EULER", "Euler (XYZ)", "Prone to Gimbal Lock"},
+ {0, NULL, NULL, NULL}};
+
StructRNA *srna;
PropertyRNA *prop;
@@ -90,10 +95,10 @@ static void rna_def_pose_channel(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "selectflag", BONE_SELECTED);
RNA_def_property_ui_text(prop, "Selected", "");
- // XXX note: bone groups are stored internally as bActionGroups :) - Aligorith
- //prop= RNA_def_property(srna, "bone_group_index", PROP_INT, PROP_NONE);
- //RNA_def_property_int_sdna(prop, NULL, "agrp_index");
- //RNA_def_property_ui_text(prop, "Bone Group Index", "Bone Group this pose channel belongs to (0=no group).");
+ /* XXX note: bone groups are stored internally as bActionGroups :) - Aligorith */
+ prop= RNA_def_property(srna, "bone_group_index", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "agrp_index");
+ RNA_def_property_ui_text(prop, "Bone Group Index", "Bone Group this pose channel belongs to (0=no group).");
prop= RNA_def_property(srna, "path_start_frame", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "pathsf");
@@ -131,6 +136,16 @@ static void rna_def_pose_channel(BlenderRNA *brna)
prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ROTATION);
RNA_def_property_float_sdna(prop, NULL, "quat");
RNA_def_property_ui_text(prop, "Rotation", "Rotation in Quaternions.");
+
+ prop= RNA_def_property(srna, "euler_rotation", PROP_FLOAT, PROP_ROTATION);
+ RNA_def_property_float_sdna(prop, NULL, "eul");
+ RNA_def_property_ui_text(prop, "Rotation", "Rotation in Eulers.");
+
+ prop= RNA_def_property(srna, "rotation_mode", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "rotmode");
+ RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+ RNA_def_property_enum_items(prop, prop_rotmode_items);
+ RNA_def_property_ui_text(prop, "Rotation Mode", "");
/* These three matrix properties await an implementation of the PROP_MATRIX subtype, which currently doesn't exist. */
/* prop= RNA_def_property(srna, "channel_matrix", PROP_FLOAT, PROP_MATRIX);
diff --git a/source/blender/makesrna/intern/rna_sequence.c b/source/blender/makesrna/intern/rna_sequence.c
index 2a6b60b1fe9..19b832deb7d 100644
--- a/source/blender/makesrna/intern/rna_sequence.c
+++ b/source/blender/makesrna/intern/rna_sequence.c
@@ -287,8 +287,8 @@ static void rna_def_sequence(BlenderRNA *brna)
RNA_def_property_enum_items(prop, seq_type_items);
RNA_def_property_ui_text(prop, "Type", "");
- prop= RNA_def_property(srna, "ipo", PROP_POINTER, PROP_NONE);
- RNA_def_property_ui_text(prop, "Ipo Curves", "Ipo curves used by this sequence.");
+ //prop= RNA_def_property(srna, "ipo", PROP_POINTER, PROP_NONE);
+ //RNA_def_property_ui_text(prop, "Ipo Curves", "Ipo curves used by this sequence.");
/* flags */
diff --git a/source/blender/makesrna/intern/rna_sound.c b/source/blender/makesrna/intern/rna_sound.c
index 60e7dd8dea2..953a2de8b90 100644
--- a/source/blender/makesrna/intern/rna_sound.c
+++ b/source/blender/makesrna/intern/rna_sound.c
@@ -135,7 +135,7 @@ static void rna_def_sound(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "bSound");
RNA_def_struct_ui_text(srna, "Sound", "Sound datablock referencing an external or packed sound file.");
- rna_def_ipo_common(srna);
+ //rna_def_ipo_common(srna);
/*prop= RNA_def_property(srna, "sample", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "SoundSample");
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index 25542fd6d65..37deb252fbe 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -41,7 +41,7 @@ static StructRNA* rna_Space_refine(struct PointerRNA *ptr)
/*case SPACE_VIEW3D:
return &RNA_SpaceView3D;
case SPACE_IPO:
- return &RNA_SpaceIpoEditor;
+ return &RNA_SpaceGraphEditor;
case SPACE_OOPS:
return &RNA_SpaceOutliner;
case SPACE_BUTS:
@@ -61,7 +61,7 @@ static StructRNA* rna_Space_refine(struct PointerRNA *ptr)
case SPACE_SOUND:
return &RNA_SpaceAudioWindow;
case SPACE_ACTION:
- return &RNA_SpaceActionEditor;
+ return &RNA_SpaceDopeSheetEditor;
case SPACE_NLA:
return &RNA_SpaceNLAEditor;
case SPACE_SCRIPT:
@@ -90,7 +90,7 @@ static void rna_def_space(BlenderRNA *brna)
static EnumPropertyItem type_items[] = {
{SPACE_EMPTY, "EMPTY", "Empty", ""},
{SPACE_VIEW3D, "VIEW_3D", "3D View", ""},
- {SPACE_IPO, "IPO_EDITOR", "Ipo Editor", ""},
+ {SPACE_IPO, "GRAPH_EDITOR", "Graph Editor", ""},
{SPACE_OOPS, "OUTLINER", "Outliner", ""},
{SPACE_BUTS, "BUTTONS_WINDOW", "Buttons Window", ""},
{SPACE_FILE, "FILE_BROWSER", "File Browser", ""},
@@ -100,7 +100,7 @@ static void rna_def_space(BlenderRNA *brna)
{SPACE_TEXT, "TEXT_EDITOR", "Text Editor", ""},
//{SPACE_IMASEL, "IMAGE_BROWSER", "Image Browser", ""},
{SPACE_SOUND, "AUDIO_WINDOW", "Audio Window", ""},
- {SPACE_ACTION, "ACTION_EDITOR", "Action Editor", ""},
+ {SPACE_ACTION, "DOPESHEET_EDITOR", "DopeSheet Editor", ""},
{SPACE_NLA, "NLA_EDITOR", "NLA Editor", ""},
{SPACE_SCRIPT, "SCRIPTS_WINDOW", "Scripts Window", ""},
{SPACE_TIME, "TIMELINE", "Timeline", ""},
diff --git a/source/blender/makesrna/intern/rna_texture.c b/source/blender/makesrna/intern/rna_texture.c
index e2b4506f377..8a001168302 100644
--- a/source/blender/makesrna/intern/rna_texture.c
+++ b/source/blender/makesrna/intern/rna_texture.c
@@ -423,7 +423,7 @@ void RNA_def_texture(BlenderRNA *brna)
RNA_def_property_range(prop, 0, 25);
RNA_def_property_ui_text(prop, "Normal Factor", "Amount the texture affects normal values.");
- rna_def_ipo_common(srna);
+ rna_def_animdata_common(srna);
prop= RNA_def_property(srna, "image", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "ima");
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index de78be51290..0f6a5361277 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -29,8 +29,8 @@
#include "rna_internal.h"
+#include "DNA_curve_types.h"
#include "DNA_userdef_types.h"
-#include "DNA_ipo_types.h"
#ifdef RNA_RUNTIME
@@ -365,9 +365,9 @@ static void rna_def_userdef_theme_space_ipo(BlenderRNA *brna)
/* space_ipo */
- srna= RNA_def_struct(brna, "ThemeIpoEditor", NULL);
+ srna= RNA_def_struct(brna, "ThemeGraphEditor", NULL);
RNA_def_struct_sdna(srna, "ThemeSpace");
- RNA_def_struct_ui_text(srna, "Theme Ipo Editor", "Theme settings for the Ipo Editor.");
+ RNA_def_struct_ui_text(srna, "Theme Graph Editor", "Theme settings for the Ipo Editor.");
rna_def_userdef_theme_spaces_main(srna);
@@ -384,10 +384,10 @@ static void rna_def_userdef_theme_space_ipo(BlenderRNA *brna)
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Window Sliders", "");
- prop= RNA_def_property(srna, "ipo_channels", PROP_FLOAT, PROP_COLOR);
+ prop= RNA_def_property(srna, "channels_region", PROP_FLOAT, PROP_COLOR);
RNA_def_property_float_sdna(prop, NULL, "shade2");
RNA_def_property_array(prop, 3);
- RNA_def_property_ui_text(prop, "Ipo Channels", "");
+ RNA_def_property_ui_text(prop, "Channels Region", "");
rna_def_userdef_theme_spaces_vertex(srna);
@@ -764,9 +764,9 @@ static void rna_def_userdef_theme_space_action(BlenderRNA *brna)
/* space_action */
- srna= RNA_def_struct(brna, "ThemeActionEditor", NULL);
+ srna= RNA_def_struct(brna, "ThemeDopeSheetEditor", NULL);
RNA_def_struct_sdna(srna, "ThemeSpace");
- RNA_def_struct_ui_text(srna, "Theme Action Editor", "Theme settings for the Action Editor.");
+ RNA_def_struct_ui_text(srna, "Theme DopeSheet Editor", "Theme settings for the DopeSheet Editor.");
rna_def_userdef_theme_spaces_main(srna);
@@ -774,10 +774,10 @@ static void rna_def_userdef_theme_space_action(BlenderRNA *brna)
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Grid", "");
- prop= RNA_def_property(srna, "rvk_sliders", PROP_FLOAT, PROP_COLOR);
+ prop= RNA_def_property(srna, "value_sliders", PROP_FLOAT, PROP_COLOR);
RNA_def_property_float_sdna(prop, NULL, "face");
RNA_def_property_array(prop, 3);
- RNA_def_property_ui_text(prop, "RVK Sliders", "");
+ RNA_def_property_ui_text(prop, "Value Sliders", "");
prop= RNA_def_property(srna, "view_sliders", PROP_FLOAT, PROP_COLOR);
RNA_def_property_float_sdna(prop, NULL, "shade1");
@@ -818,6 +818,16 @@ static void rna_def_userdef_theme_space_action(BlenderRNA *brna)
RNA_def_property_float_sdna(prop, NULL, "cframe");
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Current Frame", "");
+
+ prop= RNA_def_property(srna, "dopesheet_channel", PROP_FLOAT, PROP_COLOR);
+ RNA_def_property_float_sdna(prop, NULL, "ds_channel");
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "DopeSheet Channel", "");
+
+ prop= RNA_def_property(srna, "dopesheet_subchannel", PROP_FLOAT, PROP_COLOR);
+ RNA_def_property_float_sdna(prop, NULL, "ds_subchannel");
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "DopeSheet Sub-Channel", "");
}
static void rna_def_userdef_theme_space_nla(BlenderRNA *brna)
@@ -919,10 +929,10 @@ static void rna_def_userdef_themes(BlenderRNA *brna)
RNA_def_property_struct_type(prop, "ThemeView3D");
RNA_def_property_ui_text(prop, "3D View", "");
- prop= RNA_def_property(srna, "ipo_curve_editor", PROP_POINTER, PROP_NEVER_NULL);
+ prop= RNA_def_property(srna, "graph_editor", PROP_POINTER, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "tipo");
- RNA_def_property_struct_type(prop, "ThemeIpoEditor");
- RNA_def_property_ui_text(prop, "Ipo Curve Editor", "");
+ RNA_def_property_struct_type(prop, "ThemeGraphEditor");
+ RNA_def_property_ui_text(prop, "Graph Editor", "");
prop= RNA_def_property(srna, "file_browser", PROP_POINTER, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "tfile");
@@ -934,10 +944,10 @@ static void rna_def_userdef_themes(BlenderRNA *brna)
RNA_def_property_struct_type(prop, "ThemeNLAEditor");
RNA_def_property_ui_text(prop, "NLA Editor", "");
- prop= RNA_def_property(srna, "action_editor", PROP_POINTER, PROP_NEVER_NULL);
+ prop= RNA_def_property(srna, "dopesheet_editor", PROP_POINTER, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "tact");
- RNA_def_property_struct_type(prop, "ThemeActionEditor");
- RNA_def_property_ui_text(prop, "Action Editor", "");
+ RNA_def_property_struct_type(prop, "ThemeDopeSheetEditor");
+ RNA_def_property_ui_text(prop, "DopeSheet Editor", "");
prop= RNA_def_property(srna, "image_editor", PROP_POINTER, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "tima");
@@ -1271,10 +1281,10 @@ static void rna_def_userdef_edit(BlenderRNA *brna)
{AUTOKEY_MODE_EDITKEYS, "REPLACE_KEYS", "Replace Keys", ""},
{0, NULL, NULL, NULL}};
- static EnumPropertyItem new_ipo_curve_types[] = {
- {IPO_CONST, "CONSTANT", "Constant", ""},
- {IPO_LIN, "LINEAR", "Linear", ""},
- {IPO_BEZ, "BEZIER", "Bezier", ""},
+ static EnumPropertyItem new_interpolation_types[] = {
+ {BEZT_IPO_CONST, "CONSTANT", "Constant", ""},
+ {BEZT_IPO_LIN, "LINEAR", "Linear", ""},
+ {BEZT_IPO_BEZ, "BEZIER", "Bezier", ""},
{0, NULL, NULL, NULL}};
srna= RNA_def_struct(brna, "UserPreferencesEdit", NULL);
@@ -1339,7 +1349,7 @@ static void rna_def_userdef_edit(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Visual Keying", "Use Visual keying automatically for constrained objects.");
prop= RNA_def_property(srna, "new_interpolation_type", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_items(prop, new_ipo_curve_types);
+ RNA_def_property_enum_items(prop, new_interpolation_types);
RNA_def_property_enum_sdna(prop, NULL, "ipo_new");
RNA_def_property_ui_text(prop, "New Interpolation Type", "");
diff --git a/source/blender/makesrna/intern/rna_world.c b/source/blender/makesrna/intern/rna_world.c
index 261ae6d1fe4..918e2191588 100644
--- a/source/blender/makesrna/intern/rna_world.c
+++ b/source/blender/makesrna/intern/rna_world.c
@@ -339,7 +339,7 @@ void RNA_def_world(BlenderRNA *brna)
srna= RNA_def_struct(brna, "World", "ID");
RNA_def_struct_ui_text(srna, "World", "World datablock describing the environment and ambient lighting of a scene.");
- rna_def_ipo_common(srna);
+ rna_def_animdata_common(srna);
rna_def_mtex_common(srna, "rna_World_mtex_begin", "rna_World_active_texture_get", "WorldTextureSlot");
/* colors */