RNA
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Fri, 2 Jan 2009 13:47:33 +0000 (13:47 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Fri, 2 Jan 2009 13:47:33 +0000 (13:47 +0000)
* Added skeleton code for particle/object_force/userdef.
* More Object properties wrapped.
* Added User Preferences display in outliner.

24 files changed:
source/blender/editors/space_outliner/outliner.c
source/blender/editors/space_outliner/outliner_header.c
source/blender/makesdna/DNA_space_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/intern/makesrna.c
source/blender/makesrna/intern/rna_actuator.c
source/blender/makesrna/intern/rna_brush.c
source/blender/makesrna/intern/rna_color.c
source/blender/makesrna/intern/rna_controller.c
source/blender/makesrna/intern/rna_define.c
source/blender/makesrna/intern/rna_internal.h
source/blender/makesrna/intern/rna_lamp.c
source/blender/makesrna/intern/rna_material.c
source/blender/makesrna/intern/rna_object.c
source/blender/makesrna/intern/rna_object_force.c [new file with mode: 0644]
source/blender/makesrna/intern/rna_particle.c [new file with mode: 0644]
source/blender/makesrna/intern/rna_property.c
source/blender/makesrna/intern/rna_rna.c
source/blender/makesrna/intern/rna_sensor.c
source/blender/makesrna/intern/rna_sequence.c
source/blender/makesrna/intern/rna_sound.c
source/blender/makesrna/intern/rna_text.c
source/blender/makesrna/intern/rna_userdef.c [new file with mode: 0644]
source/blender/makesrna/intern/rna_world.c

index bbf08b6..6f97010 100644 (file)
@@ -567,6 +567,11 @@ static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *i
        ID *id= idv;
        int a;
        
+       if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
+               id= ((PointerRNA*)idv)->id.data;
+               if(!id) id= ((PointerRNA*)idv)->data;
+       }
+
        if(id==NULL) return NULL;
 
        te= MEM_callocN(sizeof(TreeElement), "tree elem");
@@ -998,7 +1003,7 @@ static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *i
                /* we do lazy build, for speed and to avoid infinite recusion */
 
                if(ptr->data == NULL) {
-                       te->name= "<null>";
+                       te->name= "(empty)";
                }
                else if(type == TSE_RNA_STRUCT) {
                        /* struct */
@@ -1342,6 +1347,18 @@ static void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops)
                        tselem->flag &= ~TSE_CLOSED;
                }
        }
+       else if(soops->outlinevis==SO_USERDEF) {
+               PointerRNA userdefptr;
+
+               RNA_pointer_create(NULL, NULL, &RNA_UserPreferences, &U, &userdefptr);
+
+               ten= outliner_add_element(soops, &soops->tree, (void*)&userdefptr, NULL, TSE_RNA_STRUCT, -1);
+
+               if(show_opened)  {
+                       tselem= TREESTORE(ten);
+                       tselem->flag &= ~TSE_CLOSED;
+               }
+       }
        else {
                ten= outliner_add_element(soops, &soops->tree, OBACT, NULL, 0, 0);
                if(ten) ten->directdata= BASACT;
@@ -3179,8 +3196,10 @@ static int tselem_rna_icon(PointerRNA *ptr)
                return ICON_LAMP;
        else if(rnatype == &RNA_Group)
                return ICON_GROUP;
-       /*else if(rnatype == &RNA_Particle)
-               return ICON_PARTICLES;*/
+       else if(rnatype == &RNA_ParticleSystem)
+               return ICON_PARTICLES;
+       else if(rnatype == &RNA_ParticleSettings)
+               return ICON_PARTICLES;
        else if(rnatype == &RNA_Material)
                return ICON_MATERIAL;
        /*else if(rnatype == &RNA_Texture)
@@ -3686,7 +3705,7 @@ static void outliner_draw_tree(Scene *scene, ARegion *ar, SpaceOops *soops)
        
        glBlendFunc(GL_SRC_ALPHA,  GL_ONE_MINUS_SRC_ALPHA); // only once
        
-       if(soops->outlinevis == SO_DATABLOCKS) {
+       if(ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
                // struct marks
                UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
                //UI_ThemeColorShade(TH_BACK, -20);
@@ -4260,7 +4279,7 @@ void draw_outliner(const bContext *C)
        block= uiBeginBlock(C, ar, "outliner buttons", UI_EMBOSS, UI_HELV);
        outliner_buttons(block, ar, soops, &soops->tree);
        
-       if(soops->outlinevis==SO_DATABLOCKS) {
+       if(ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
                /* draw rna buttons */
                outliner_rna_width(soops, &soops->tree, &sizex, 0);
                outliner_draw_rnacols(ar, soops, sizex);
index e6eed05..3c494df 100644 (file)
@@ -201,14 +201,14 @@ void outliner_header_buttons(const bContext *C, ARegion *ar)
        
        if(soutliner->type==SO_OUTLINER) {
                if(G.main->library.first) 
-                       uiDefButS(block, MENU, B_REDR, "Outliner Display%t|Libraries %x7|All Scenes %x0|Current Scene %x1|Visible Layers %x2|Groups %x6|Same Types %x5|Selected %x3|Active %x4|Sequence %x10|Datablocks %x11",   xco, yco, 100, 20,  &soutliner->outlinevis, 0, 0, 0, 0, "");
+                       uiDefButS(block, MENU, B_REDR, "Outliner Display%t|Libraries %x7|All Scenes %x0|Current Scene %x1|Visible Layers %x2|Groups %x6|Same Types %x5|Selected %x3|Active %x4|Sequence %x10|Datablocks %x11|User Preferences %x12",     xco, yco, 120, 20,  &soutliner->outlinevis, 0, 0, 0, 0, "");
                else
-                       uiDefButS(block, MENU, B_REDR, "Outliner Display%t|All Scenes %x0|Current Scene %x1|Visible Layers %x2|Groups %x6|Same Types %x5|Selected %x3|Active %x4|Sequence %x10|Datablocks %x11",         xco, yco, 100, 20,  &soutliner->outlinevis, 0, 0, 0, 0, "");
+                       uiDefButS(block, MENU, B_REDR, "Outliner Display%t|All Scenes %x0|Current Scene %x1|Visible Layers %x2|Groups %x6|Same Types %x5|Selected %x3|Active %x4|Sequence %x10|Datablocks %x11|User Preferences %x12",   xco, yco, 120, 20,  &soutliner->outlinevis, 0, 0, 0, 0, "");
        }
        
        
        /* always as last  */
-       UI_view2d_totRect_set(&ar->v2d, xco+XIC+80, ar->v2d.tot.ymax-ar->v2d.tot.ymin);
+       UI_view2d_totRect_set(&ar->v2d, xco+XIC+100, ar->v2d.tot.ymax-ar->v2d.tot.ymin);
        
        uiEndBlock(C, block);
        uiDrawBlock(C, block);
index 9cd1675..170542a 100644 (file)
@@ -656,6 +656,7 @@ typedef struct SpaceImaSel {
 #define SO_VERSE_MS            9
 #define SO_SEQUENCE            10
 #define SO_DATABLOCKS  11
+#define SO_USERDEF             12
 
 /* SpaceOops->storeflag */
 #define SO_TREESTORE_CLEANUP   1
index a104057..8be08e0 100644 (file)
@@ -42,13 +42,13 @@ extern StructRNA RNA_AndController;
 extern StructRNA RNA_Armature;
 extern StructRNA RNA_ArmatureModifier;
 extern StructRNA RNA_ArrayModifier;
+extern StructRNA RNA_BPoint;
 extern StructRNA RNA_BevelModifier;
 extern StructRNA RNA_BezTriple;
 extern StructRNA RNA_BlenderRNA;
 extern StructRNA RNA_Bone;
 extern StructRNA RNA_BooleanModifier;
 extern StructRNA RNA_BooleanProperty;
-extern StructRNA RNA_BPoint;
 extern StructRNA RNA_Brush;
 extern StructRNA RNA_BuildModifier;
 extern StructRNA RNA_Camera;
@@ -58,6 +58,7 @@ extern StructRNA RNA_ClothModifier;
 extern StructRNA RNA_CollectionProperty;
 extern StructRNA RNA_CollisionModifier;
 extern StructRNA RNA_CollisionSensor;
+extern StructRNA RNA_CollisionSettings;
 extern StructRNA RNA_ColorSequence;
 extern StructRNA RNA_Constraint;
 extern StructRNA RNA_ControlFluidSettings;
@@ -77,6 +78,7 @@ extern StructRNA RNA_EnumProperty;
 extern StructRNA RNA_EnumPropertyItem;
 extern StructRNA RNA_ExplodeModifier;
 extern StructRNA RNA_ExpressionController;
+extern StructRNA RNA_FieldSettings;
 extern StructRNA RNA_FloatProperty;
 extern StructRNA RNA_FluidFluidSettings;
 extern StructRNA RNA_FluidSettings;
@@ -85,6 +87,7 @@ extern StructRNA RNA_GameBooleanProperty;
 extern StructRNA RNA_GameFloatProperty;
 extern StructRNA RNA_GameIntProperty;
 extern StructRNA RNA_GameProperty;
+extern StructRNA RNA_GameSoftBodySettings;
 extern StructRNA RNA_GameStringProperty;
 extern StructRNA RNA_GameTimeProperty;
 extern StructRNA RNA_GlowSequence;
@@ -154,8 +157,11 @@ extern StructRNA RNA_PackedFile;
 extern StructRNA RNA_Panel;
 extern StructRNA RNA_ParticleFluidSettings;
 extern StructRNA RNA_ParticleInstanceModifier;
+extern StructRNA RNA_ParticleSettings;
+extern StructRNA RNA_ParticleSystem;
 extern StructRNA RNA_ParticleSystemModifier;
 extern StructRNA RNA_PluginSequence;
+extern StructRNA RNA_PointCache;
 extern StructRNA RNA_PointerProperty;
 extern StructRNA RNA_Property;
 extern StructRNA RNA_PropertySensor;
@@ -186,8 +192,10 @@ extern StructRNA RNA_ShapeKeyPoint;
 extern StructRNA RNA_ShrinkwrapModifier;
 extern StructRNA RNA_SimpleDeformModifier;
 extern StructRNA RNA_SmoothModifier;
+extern StructRNA RNA_SoftBodySettings;
 extern StructRNA RNA_SoftbodyModifier;
 extern StructRNA RNA_Sound;
+extern StructRNA RNA_SoundListener;
 extern StructRNA RNA_SoundSequence;
 extern StructRNA RNA_SpeedControlSequence;
 extern StructRNA RNA_StringProperty;
@@ -195,11 +203,15 @@ extern StructRNA RNA_Struct;
 extern StructRNA RNA_SubsurfModifier;
 extern StructRNA RNA_Text;
 extern StructRNA RNA_TextBox;
+extern StructRNA RNA_TextLine;
+extern StructRNA RNA_TextMarker;
 extern StructRNA RNA_TouchSensor;
 extern StructRNA RNA_TransformSequence;
 extern StructRNA RNA_UVProjectModifier;
 extern StructRNA RNA_UnknownType;
+extern StructRNA RNA_UserPreferences;
 extern StructRNA RNA_VectorFont;
+extern StructRNA RNA_VertexGroup;
 extern StructRNA RNA_WaveModifier;
 extern StructRNA RNA_WindowManager;
 extern StructRNA RNA_WipeSequence;
index 603533c..8a915c2 100644 (file)
@@ -920,7 +920,9 @@ RNAProcessItem PROCESS_ITEMS[]= {
        {"rna_modifier.c", RNA_def_modifier},
        {"rna_nodetree.c", RNA_def_nodetree},
        {"rna_object.c", RNA_def_object},
+       {"rna_object_force.c", RNA_def_object_force},
        {"rna_packedfile.c", RNA_def_packedfile},
+       {"rna_particle.c", RNA_def_particle},
        {"rna_property.c", RNA_def_gameproperty},
        {"rna_radio.c", RNA_def_radio},
        {"rna_rna.c", RNA_def_rna},
@@ -930,6 +932,7 @@ RNAProcessItem PROCESS_ITEMS[]= {
        {"rna_sequence.c", RNA_def_sequence},
        {"rna_text.c", RNA_def_text},
        {"rna_sound.c", RNA_def_sound},
+       {"rna_userdef.c", RNA_def_userdef},
        {"rna_vfont.c", RNA_def_vfont},
        {"rna_wm.c", RNA_def_wm},
        {"rna_world.c", RNA_def_world}, 
index 1848fd0..a6e359a 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <stdlib.h>
 
-#include "RNA_access.h"
 #include "RNA_define.h"
 #include "RNA_types.h"
 
index 53de254..0a5cc57 100644 (file)
@@ -81,7 +81,6 @@ void rna_def_brush(BlenderRNA *brna)
        prop= RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_float_sdna(prop, NULL, "rgb");
        RNA_def_property_ui_text(prop, "Color", "");
-       RNA_def_property_ui_range(prop, 0.0f , 1.0f, 10.0f, 3);
        
        prop= RNA_def_property(srna, "opacity", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "alpha");
index 97000de..83c6da5 100644 (file)
@@ -214,13 +214,11 @@ static void rna_def_curvemapping(BlenderRNA *brna)
 
        prop= RNA_def_property(srna, "black_level", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_float_sdna(prop, NULL, "black");
-       RNA_def_property_ui_range(prop, 0.0f, 1.0f, 10, 3);
        RNA_def_property_ui_text(prop, "Black Level", "");
        RNA_def_property_float_funcs(prop, NULL, "rna_CurveMapping_black_level_set", NULL);
 
        prop= RNA_def_property(srna, "white_level", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_float_sdna(prop, NULL, "white");
-       RNA_def_property_ui_range(prop, 0.0f, 1.0f, 10, 3);
        RNA_def_property_ui_text(prop, "White Level", "");
        RNA_def_property_float_funcs(prop, NULL, "rna_CurveMapping_white_level_set", NULL);
 }
index dc8f6c4..f9766e3 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <stdlib.h>
 
-#include "RNA_access.h"
 #include "RNA_define.h"
 #include "RNA_types.h"
 
index 6c3e21c..3193265 100644 (file)
@@ -597,8 +597,14 @@ PropertyRNA *RNA_def_property(StructRNA *srna, const char *identifier, int type,
                        fprop->hardmin= (subtype == PROP_UNSIGNED)? 0.0f: -FLT_MAX;
                        fprop->hardmax= FLT_MAX;
 
-                       fprop->softmin= (subtype == PROP_UNSIGNED)? 0.0f: -10000.0f; /* rather arbitrary .. */
-                       fprop->softmax= 10000.0f;
+                       if(subtype == PROP_COLOR) {
+                               fprop->softmin= 0.0f;
+                               fprop->softmax= 1.0f;
+                       }
+                       else {
+                               fprop->softmin= (subtype == PROP_UNSIGNED)? 0.0f: -10000.0f; /* rather arbitrary .. */
+                               fprop->softmax= 10000.0f;
+                       }
                        fprop->step= 10;
                        fprop->precision= 3;
                        break;
@@ -851,7 +857,7 @@ void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item
                        break;
                }
                default:
-                       fprintf(stderr, "RNA_def_property_struct_type: %s.%s, invalid type for struct type.\n", srna->identifier, prop->identifier);
+                       fprintf(stderr, "RNA_def_property_enum_items: %s.%s, invalid type for struct type.\n", srna->identifier, prop->identifier);
                        DefRNA.error= 1;
                        break;
        }
index e5c9fa3..af9fced 100644 (file)
@@ -118,7 +118,9 @@ void RNA_def_meta(struct BlenderRNA *brna);
 void RNA_def_modifier(struct BlenderRNA *brna);
 void RNA_def_nodetree(struct BlenderRNA *brna);
 void RNA_def_object(struct BlenderRNA *brna);
+void RNA_def_object_force(struct BlenderRNA *brna);
 void RNA_def_packedfile(struct BlenderRNA *brna);
+void RNA_def_particle(struct BlenderRNA *brna);
 void RNA_def_radio(struct BlenderRNA *brna);
 void RNA_def_rna(struct BlenderRNA *brna);
 void RNA_def_scene(struct BlenderRNA *brna);
@@ -127,6 +129,7 @@ void RNA_def_sensor(struct BlenderRNA *brna);
 void RNA_def_sequence(struct BlenderRNA *brna);
 void RNA_def_text(struct BlenderRNA *brna);
 void RNA_def_sound(struct BlenderRNA *brna);
+void RNA_def_userdef(struct BlenderRNA *brna);
 void RNA_def_vfont(struct BlenderRNA *brna);
 void RNA_def_wm(struct BlenderRNA *brna);
 void RNA_def_world(struct BlenderRNA *brna);
index 9dd7f07..bc555ab 100644 (file)
@@ -306,13 +306,11 @@ void RNA_def_lamp(BlenderRNA *brna)
        RNA_def_property_float_sdna(prop, NULL, "r");
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Color", "");
-       RNA_def_property_ui_range(prop, 0.0f, 1.0f, 10.0f, 3);
 
        prop= RNA_def_property(srna, "shadow_color", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_float_sdna(prop, NULL, "shdwr");
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Shadow Color", "");
-       RNA_def_property_ui_range(prop, 0.0f, 1.0f, 10.0f, 3);
 
        /* Booleans */
        prop= RNA_def_property(srna, "auto_clip_start", PROP_BOOLEAN, PROP_NONE);
index 26245ef..784ca82 100644 (file)
@@ -64,25 +64,21 @@ static void rna_def_material_colors(StructRNA *srna, PropertyRNA *prop)
        RNA_def_property_float_sdna(prop, NULL, "r");
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Diffuse Color", "");
-       RNA_def_property_ui_range(prop, 0.0f , 1.0f, 10.0f, 3);
        
        prop= RNA_def_property(srna, "specular_color", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_float_sdna(prop, NULL, "specr");
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Specular Color", "");
-       RNA_def_property_ui_range(prop, 0.0f , 1.0f, 10.0f, 3);
        
        prop= RNA_def_property(srna, "mirror_color", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_float_sdna(prop, NULL, "mirr");
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Mirror Color", "");
-       RNA_def_property_ui_range(prop, 0.0f , 1.0f, 10.0f, 3);
                
        prop= RNA_def_property(srna, "ambient_color", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_float_sdna(prop, NULL, "ambr");
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Ambient Color", "");
-       RNA_def_property_ui_range(prop, 0.0f , 1.0f, 10.0f, 3);
        
        prop= RNA_def_property(srna, "alpha", PROP_FLOAT, PROP_NONE);
        RNA_def_property_range(prop, 0.0f, 1.0f);
index d1a91e2..5c84650 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <stdlib.h>
 
-#include "RNA_access.h"
 #include "RNA_define.h"
 #include "RNA_types.h"
 
@@ -32,6 +31,7 @@
 
 #include "DNA_object_types.h"
 #include "DNA_property_types.h"
+#include "DNA_scene_types.h"
 
 #include "WM_types.h"
 
@@ -58,6 +58,13 @@ static void *rna_Object_active_vertex_group_get(PointerRNA *ptr)
        return BLI_findlink(&ob->defbase, ob->actdef);
 }
 
+static void rna_Object_active_material_range(PointerRNA *ptr, int *min, int *max)
+{
+       Object *ob= (Object*)ptr->id.data;
+       *min= 0;
+       *max= ob->totcol-1;
+}
+
 static void *rna_Object_game_settings_get(PointerRNA *ptr)
 {
        return ptr->id.data;
@@ -239,13 +246,39 @@ static void rna_def_object_game_settings(BlenderRNA *brna)
        RNA_def_property_boolean_sdna(prop, NULL, "init_state", 1);
        RNA_def_property_array(prop, 30);
        RNA_def_property_ui_text(prop, "Initial State", "Initial state when the game starts.");
+
+       prop= RNA_def_property(srna, "soft_body", PROP_POINTER, PROP_NONE);
+       RNA_def_property_pointer_sdna(prop, NULL, "bsoft");
+       RNA_def_property_ui_text(prop, "Soft Body Settings", "Settings for Bullet soft body simulation.");
 }
 
 static void rna_def_object(BlenderRNA *brna)
 {
        StructRNA *srna;
        PropertyRNA *prop;
-       
+
+       static EnumPropertyItem parent_type_items[] = {
+               {PAROBJECT, "OBJECT", "Object", ""},
+               {PARCURVE, "CURVE", "Curve", ""},
+               //{PARKEY, "KEY", "Key", ""},
+               {PARSKEL, "ARMATURE", "Armature", ""},
+               {PARSKEL, "LATTICE", "Lattice", ""}, // PARSKEL reuse will give issues
+               {PARVERT1, "VERTEX", "Vertex", ""},
+               {PARVERT3, "VERTEX_3", "3 Vertices", ""},
+               {PARBONE, "BONE", "Bone", ""},
+               {0, NULL, NULL, NULL}};
+
+       static EnumPropertyItem empty_drawtype_items[] = {
+               {OB_ARROWS, "ARROWS", "Arrows", ""},
+               {OB_SINGLE_ARROW, "SINGLE_ARROW", "Single Arrow", ""},
+               {OB_PLAINAXES, "PLAIN_AXES", "Plain Axes", ""},
+               {OB_CIRCLE, "CIRCLE", "Circle", ""},
+               {OB_CUBE, "CUBE", "Cube", ""},
+               {OB_EMPTY_SPHERE, "SPHERE", "Sphere", ""},
+               {OB_EMPTY_CONE, "CONE", "Cone", ""},
+               {0, NULL, NULL, NULL}};
+
+
        srna= RNA_def_struct(brna, "Object", "ID");
        RNA_def_struct_ui_text(srna, "Object", "DOC_BROKEN");
 
@@ -264,9 +297,61 @@ static void rna_def_object(BlenderRNA *brna)
        prop= RNA_def_property(srna, "parent", PROP_POINTER, PROP_NONE);
        RNA_def_property_ui_text(prop, "Parent", "Parent Object");
 
+       prop= RNA_def_property(srna, "parent_type", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_bitflag_sdna(prop, NULL, "partype");
+       RNA_def_property_enum_items(prop, parent_type_items);
+       RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+       RNA_def_property_ui_text(prop, "Parent Type", "Type of parent relation.");
+
+       prop= RNA_def_property(srna, "parent_vertices", PROP_INT, PROP_UNSIGNED);
+       RNA_def_property_int_sdna(prop, NULL, "par1");
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+       RNA_def_property_ui_text(prop, "Parent Vertices", "Indices of vertices in cases of a vertex parenting relation.");
+
+       prop= RNA_def_property(srna, "parent_bone", PROP_STRING, PROP_NONE);
+       RNA_def_property_string_sdna(prop, NULL, "parsubstr");
+       RNA_def_property_ui_text(prop, "Parent Bone", "Name of parent bone in case of a bone parenting relation.");
+
        prop= RNA_def_property(srna, "track", PROP_POINTER, PROP_NONE);
        RNA_def_property_ui_text(prop, "Track", "Object being tracked to define the rotation (Old Track).");
 
+       /* proxy */
+
+       prop= RNA_def_property(srna, "proxy", PROP_POINTER, PROP_NONE);
+       RNA_def_property_ui_text(prop, "Proxy", "Library object this proxy object controls.");
+
+       prop= RNA_def_property(srna, "proxy_group", PROP_POINTER, PROP_NONE);
+       RNA_def_property_ui_text(prop, "Proxy Group", "Library group duplicator object this proxy object controls.");
+
+       /* action / pose */
+
+       prop= RNA_def_property(srna, "action", PROP_POINTER, PROP_NONE);
+       RNA_def_property_struct_type(prop, "UnknownType");
+       RNA_def_property_ui_text(prop, "Action", "Action used by object to define Ipo curves.");
+
+       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, "UnknownType");
+       RNA_def_property_ui_text(prop, "Pose Library", "Action used as a pose library for armatures.");
+
+       prop= RNA_def_property(srna, "pose", PROP_POINTER, PROP_NONE);
+       RNA_def_property_pointer_sdna(prop, NULL, "pose");
+       RNA_def_property_struct_type(prop, "UnknownType");
+       RNA_def_property_ui_text(prop, "Pose", "Current pose for armatures.");
+
+       /* materials */
+
+       prop= RNA_def_property(srna, "materials", PROP_COLLECTION, PROP_NONE);
+       RNA_def_property_collection_sdna(prop, NULL, "mat", "totcol");
+       RNA_def_property_struct_type(prop, "Material");
+       RNA_def_property_ui_text(prop, "Materials", "");
+
+       prop= RNA_def_property(srna, "active_material", PROP_INT, PROP_UNSIGNED);
+       RNA_def_property_int_sdna(prop, NULL, "actcol");
+       RNA_def_property_int_funcs(prop, NULL, NULL, "rna_Object_active_material_range");
+       RNA_def_property_ui_text(prop, "Active Material", "Index of active material.");
+
        /* transform */
 
        prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_VECTOR);
@@ -299,15 +384,35 @@ static void rna_def_object(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Delta Scale", "Extra added scaling to the scale of the object.");
        RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update");
 
+       prop= RNA_def_property(srna, "lock_location", PROP_BOOLEAN, PROP_VECTOR);
+       RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_LOCX);
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Lock Location", "Lock editing of location in the interface.");
+
+       prop= RNA_def_property(srna, "lock_rotation", PROP_BOOLEAN, PROP_VECTOR);
+       RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_ROTX);
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Lock Rotation", "Lock editing of rotation in the interface.");
+
+       prop= RNA_def_property(srna, "lock_scale", PROP_BOOLEAN, PROP_VECTOR);
+       RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_SCALEX);
+       RNA_def_property_array(prop, 3);
+       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", "DOC_BROKEN");
+       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", "DOC_BROKEN");
+       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, "UnknownType");
+       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");
@@ -315,7 +420,7 @@ static void rna_def_object(BlenderRNA *brna)
 
        /* game engine */
 
-       prop= RNA_def_property(srna, "game_settings", PROP_POINTER, PROP_NONE);
+       prop= RNA_def_property(srna, "game", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "ObjectGameSettings");
        RNA_def_property_pointer_funcs(prop, "rna_Object_game_settings_get", NULL, NULL);
        RNA_def_property_ui_text(prop, "Game Settings", "Game engine related settings for the object.");
@@ -332,6 +437,18 @@ static void rna_def_object(BlenderRNA *brna)
        RNA_def_property_pointer_funcs(prop, "rna_Object_active_vertex_group_get", NULL, NULL);
        RNA_def_property_ui_text(prop, "Active Vertex Group", "Vertex groups of the object.");
 
+       /* empty */
+
+       prop= RNA_def_property(srna, "empty_draw_type", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_sdna(prop, NULL, "empty_drawtype");
+       RNA_def_property_enum_items(prop, empty_drawtype_items);
+       RNA_def_property_ui_text(prop, "Empty Draw Type", "Viewport display style for empties.");
+
+       prop= RNA_def_property(srna, "empty_draw_size", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "empty_drawsize");
+       RNA_def_property_range(prop, 0.01, 10.0);
+       RNA_def_property_ui_text(prop, "Empty Draw Size", "Size of of display for empties in the viewport.");
+
        /* various */
 
        prop= RNA_def_property(srna, "pass_index", PROP_INT, PROP_UNSIGNED);
@@ -341,13 +458,53 @@ static void rna_def_object(BlenderRNA *brna)
        prop= RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_float_sdna(prop, NULL, "col");
        RNA_def_property_ui_text(prop, "Color", "Object color and alpha, used when faces have the ObColor mode enabled.");
+
+       prop= RNA_def_property(srna, "time_offset", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "sf");
+       RNA_def_property_range(prop, -MAXFRAMEF, MAXFRAMEF);
+       RNA_def_property_ui_text(prop, "Time Offset", "Animation offset in frames for ipo's and dupligroup instances.");
+
+       /* physics */
+
+       prop= RNA_def_property(srna, "field", PROP_POINTER, PROP_NONE);
+       RNA_def_property_pointer_sdna(prop, NULL, "pd");
+       RNA_def_property_struct_type(prop, "FieldSettings");
+       RNA_def_property_ui_text(prop, "Field Settings", "Settings for using the objects as a field in physics simulation.");
+
+       prop= RNA_def_property(srna, "collision", PROP_POINTER, PROP_NONE);
+       RNA_def_property_pointer_sdna(prop, NULL, "pd");
+       RNA_def_property_struct_type(prop, "CollisionSettings");
+       RNA_def_property_ui_text(prop, "Collision Settings", "Settings for using the objects as a collider in physics simulation.");
+
+       prop= RNA_def_property(srna, "soft_body", PROP_POINTER, PROP_NONE);
+       RNA_def_property_pointer_sdna(prop, NULL, "soft");
+       RNA_def_property_ui_text(prop, "Soft Body Settings", "Settings for soft body simulation.");
+
+       prop= RNA_def_property(srna, "particle_systems", PROP_COLLECTION, PROP_NONE);
+       RNA_def_property_collection_sdna(prop, NULL, "particlesystem", NULL);
+       RNA_def_property_struct_type(prop, "ParticleSystem");
+       RNA_def_property_ui_text(prop, "Particle Systems", "Particle systems emitted from the object.");
+
+       /* restrict */
+
+       prop= RNA_def_property(srna, "restrict_view", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "restrictflag", OB_RESTRICT_VIEW);
+       RNA_def_property_ui_text(prop, "Restrict View", "Restrict visibility in the viewport.");
+
+       prop= RNA_def_property(srna, "restrict_select", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "restrictflag", OB_RESTRICT_SELECT);
+       RNA_def_property_ui_text(prop, "Restrict Select", "Restrict selection in the viewport.");
+
+       prop= RNA_def_property(srna, "restrict_render", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "restrictflag", OB_RESTRICT_RENDER);
+       RNA_def_property_ui_text(prop, "Restrict Render", "Restrict renderability.");
 }
 
 void RNA_def_object(BlenderRNA *brna)
 {
-       rna_def_vertex_group(brna);
-       rna_def_object_game_settings(brna);
        rna_def_object(brna);
+       rna_def_object_game_settings(brna);
+       rna_def_vertex_group(brna);
 }
 
 #endif
diff --git a/source/blender/makesrna/intern/rna_object_force.c b/source/blender/makesrna/intern/rna_object_force.c
new file mode 100644 (file)
index 0000000..5ae919d
--- /dev/null
@@ -0,0 +1,93 @@
+/**
+ * $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_object_types.h"
+#include "DNA_object_force.h"
+
+#ifdef RNA_RUNTIME
+
+#else
+
+static void rna_def_pointcache(BlenderRNA *brna)
+{
+       StructRNA *srna;
+
+       srna= RNA_def_struct(brna, "PointCache", NULL);
+       RNA_def_struct_ui_text(srna, "Point Cache", "Point cache for physics simulations.");
+}
+
+static void rna_def_collision(BlenderRNA *brna)
+{
+       StructRNA *srna;
+
+       srna= RNA_def_struct(brna, "CollisionSettings", NULL);
+       RNA_def_struct_sdna(srna, "PartDeflect");
+       RNA_def_struct_ui_text(srna, "Collision Settings", "Collision settings for physics simulation.");
+}
+
+static void rna_def_field(BlenderRNA *brna)
+{
+       StructRNA *srna;
+
+       srna= RNA_def_struct(brna, "FieldSettings", NULL);
+       RNA_def_struct_sdna(srna, "PartDeflect");
+       RNA_def_struct_ui_text(srna, "Field Settings", "Field settings for physics simulation.");
+}
+
+static void rna_def_game_softbody(BlenderRNA *brna)
+{
+       StructRNA *srna;
+
+       srna= RNA_def_struct(brna, "GameSoftBodySettings", NULL);
+       RNA_def_struct_sdna(srna, "BulletSoftBody");
+       RNA_def_struct_ui_text(srna, "Game Soft Body Settings", "Soft body simulation settings for an object in the game engine.");
+}
+
+static void rna_def_softbody(BlenderRNA *brna)
+{
+       StructRNA *srna;
+
+       srna= RNA_def_struct(brna, "SoftBodySettings", NULL);
+       RNA_def_struct_sdna(srna, "SoftBody");
+       RNA_def_struct_ui_text(srna, "Soft Body Settings", "Soft body simulation settings for an object.");
+}
+
+void RNA_def_object_force(BlenderRNA *brna)
+{
+       rna_def_pointcache(brna);
+       rna_def_collision(brna);
+       rna_def_field(brna);
+       rna_def_game_softbody(brna);
+       rna_def_softbody(brna);
+}
+
+#endif
+
diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c
new file mode 100644 (file)
index 0000000..25e3df4
--- /dev/null
@@ -0,0 +1,66 @@
+/**
+ * $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_particle_types.h"
+
+#ifdef RNA_RUNTIME
+
+#else
+
+static void rna_def_particlesettings(BlenderRNA *brna)
+{
+       StructRNA *srna;
+
+       srna= RNA_def_struct(brna, "ParticleSettings", "ID");
+       RNA_def_struct_ui_text(srna, "Particle Settings", "Particle settings, reusable by multiple particle systems.");
+}
+
+static void rna_def_particlesystem(BlenderRNA *brna)
+{
+       StructRNA *srna;
+       PropertyRNA *prop;
+
+       srna= RNA_def_struct(brna, "ParticleSystem", NULL);
+       RNA_def_struct_ui_text(srna, "Particle System", "Particle system in an object.");
+
+       prop= RNA_def_property(srna, "settings", PROP_POINTER, PROP_NONE);
+       RNA_def_property_pointer_sdna(prop, NULL, "part");
+       RNA_def_property_ui_text(prop, "Settings", "Particle system settings.");
+}
+
+void RNA_def_particle(BlenderRNA *brna)
+{
+       rna_def_particlesystem(brna);
+       rna_def_particlesettings(brna);
+}
+
+#endif
+
index 4e21d03..12fdb4a 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <stdlib.h>
 
-#include "RNA_access.h"
 #include "RNA_define.h"
 #include "RNA_types.h"
 
index b4d414c..aead0ca 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <stdlib.h>
 
-#include "RNA_access.h"
 #include "RNA_define.h"
 #include "RNA_types.h"
 
index daad0a5..1db3abe 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <stdlib.h>
 
-#include "RNA_access.h"
 #include "RNA_define.h"
 #include "RNA_types.h"
 
index 7b5d2e8..4344c93 100644 (file)
@@ -193,15 +193,12 @@ static void rna_def_strip_color_balance(BlenderRNA *brna)
 
        prop= RNA_def_property(srna, "lift", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_ui_text(prop, "Lift", "Color balance lift (shadows).");
-       RNA_def_property_ui_range(prop, 0.0f, 1.0f, 10, 3);
        
        prop= RNA_def_property(srna, "gamma", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_ui_text(prop, "Gamma", "Color balance gamma (midtones).");
-       RNA_def_property_ui_range(prop, 0.0f, 1.0f, 10, 3);
        
        prop= RNA_def_property(srna, "gain", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_ui_text(prop, "Gain", "Color balance gain (highlights).");
-       RNA_def_property_ui_range(prop, 0.0f, 1.0f, 10, 3);
        
        prop= RNA_def_property(srna, "inverse_gain", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", SEQ_COLOR_BALANCE_INVERSE_GAIN);
index 5d35811..6a74a32 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <stdlib.h>
 
-#include "RNA_access.h"
 #include "RNA_define.h"
 #include "RNA_types.h"
 
 
 #else
 
-void RNA_def_sample(BlenderRNA *brna)
+#if 0
+static void rna_def_sample(BlenderRNA *brna)
 {
        StructRNA *srna;
        PropertyRNA *prop;
 
        /* sound types */
        static EnumPropertyItem prop_sample_type_items[] = {
-               {SAMPLE_INVALID, "SAMPLE_INVALID", "Invalid", ""},
-               {SAMPLE_UNKNOWN, "SAMPLE_UNKNOWN", "Unknown", ""},
-               {SAMPLE_RAW, "SAMPLE_RAW", "Raw", ""},
-               {SAMPLE_WAV, "SAMPLE_WAV", "WAV", "Uncompressed"},
-               {SAMPLE_MP2, "SAMPLE_MP2", "MP2", "MPEG-1 Audio Layer 2"},
-               {SAMPLE_MP3, "SAMPLE_MP3", "MP3", "MPEG-1 Audio Layer 3"},
-               {SAMPLE_OGG_VORBIS, "SAMPLE_OGG_VORBIS", "Ogg Vorbis", ""},
-               {SAMPLE_WMA, "SAMPLE_WMA", "WMA", "Windows Media Audio"},
-               {SAMPLE_ASF, "SAMPLE_ASF", "ASF", "Windows Advanced Systems Format"},
-               {SAMPLE_AIFF, "SAMPLE_AIFF", "AIFF", "Audio Interchange File Format"},
+               {SAMPLE_INVALID, "INVALID", "Invalid", ""},
+               {SAMPLE_UNKNOWN, "UNKNOWN", "Unknown", ""},
+               {SAMPLE_RAW, "RAW", "Raw", ""},
+               {SAMPLE_WAV, "WAV", "WAV", "Uncompressed"},
+               {SAMPLE_MP2, "MP2", "MP2", "MPEG-1 Audio Layer 2"},
+               {SAMPLE_MP3, "MP3", "MP3", "MPEG-1 Audio Layer 3"},
+               {SAMPLE_OGG_VORBIS, "OGG_VORBIS", "Ogg Vorbis", ""},
+               {SAMPLE_WMA, "WMA", "WMA", "Windows Media Audio"},
+               {SAMPLE_ASF, "ASF", "ASF", "Windows Advanced Systems Format"},
+               {SAMPLE_AIFF, "AIFF", "AIFF", "Audio Interchange File Format"},
                {0, NULL, NULL, NULL}};
        
-       srna= RNA_def_struct(brna, "Sample", "ID");
+       srna= RNA_def_struct(brna, "SoundSample", "ID");
        RNA_def_struct_sdna(srna, "bSample");
        RNA_def_struct_ui_text(srna, "SoundSample", "Sound Sample");
 
        prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
        RNA_def_property_enum_items(prop, prop_sample_type_items);
+       RNA_def_property_flag(prop, PROP_NOT_EDITABLE); 
        RNA_def_property_ui_text(prop, "Types", "");
 
        prop= RNA_def_property(srna, "filename", PROP_STRING, PROP_FILEPATH);
@@ -85,10 +86,10 @@ void RNA_def_sample(BlenderRNA *brna)
        prop= RNA_def_property(srna, "channels", PROP_INT, PROP_UNSIGNED);
        RNA_def_property_ui_text(prop, "Channels", "Number of channels (mono=1; stereo=2)");
        RNA_def_property_flag(prop, PROP_NOT_EDITABLE); 
-
 }
+#endif
 
-void RNA_def_soundlistener(BlenderRNA *brna)
+static void rna_def_soundlistener(BlenderRNA *brna)
 {
 
        StructRNA *srna;
@@ -121,10 +122,9 @@ void RNA_def_soundlistener(BlenderRNA *brna)
        RNA_def_property_int_sdna(prop, NULL, "numsoundsgameengine");
        RNA_def_property_ui_text(prop, "Total Sounds in Game Engine", "The total number of sounds in the Game Engine.");
        RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
-
 }
 
-void RNA_def_sound(BlenderRNA *brna)
+static void rna_def_sound(BlenderRNA *brna)
 {
 
        StructRNA *srna;
@@ -213,7 +213,13 @@ void RNA_def_sound(BlenderRNA *brna)
        RNA_def_property_boolean_sdna(prop, NULL, "flags", SOUND_FLAGS_SEQUENCE); /* use bitflags */
        RNA_def_property_ui_text(prop, "Priority", "DOC_BROKEN");
        RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
-       
+}
+
+void RNA_def_sound(BlenderRNA *brna)
+{
+       //rna_def_sample(brna);
+       rna_def_soundlistener(brna);
+       rna_def_sound(brna);
 }
 
 #endif
index 50fdd97..77cff4f 100644 (file)
@@ -163,7 +163,6 @@ static void rna_def_text_marker(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Edit All", "Edit all markers of the same group as one.");
        
        prop= RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR);
-       RNA_def_property_range(prop, 0.0f, 1.0f);
        RNA_def_property_float_funcs(prop, "rna_TextMarker_color_get", "rna_TextMarker_color_set", NULL);
        RNA_def_property_ui_text(prop, "Color", "Color to display the marker with.");
 }
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
new file mode 100644 (file)
index 0000000..a26c3e5
--- /dev/null
@@ -0,0 +1,58 @@
+/**
+ * $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_userdef_types.h"
+
+#ifdef RNA_RUNTIME
+
+#else
+
+static void rna_def_userdef(BlenderRNA *brna)
+{
+       StructRNA *srna;
+       PropertyRNA *prop;
+
+       srna= RNA_def_struct(brna, "UserPreferences", NULL);
+       RNA_def_struct_sdna(srna, "UserDef");
+       RNA_def_struct_ui_text(srna, "User Preferences", "");
+
+       prop= RNA_def_property(srna, "auto_save_temporary_files", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_AUTOSAVE);
+       RNA_def_property_ui_text(prop, "Auto Save Temporary Files", "Automatic saving of temporary files.");
+}
+
+void RNA_def_userdef(BlenderRNA *brna)
+{
+       rna_def_userdef(brna);
+}
+
+#endif
+
index faf8a17..ef6905a 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <stdlib.h>
 
-#include "RNA_access.h"
 #include "RNA_define.h"
 #include "RNA_types.h"
 
@@ -68,19 +67,16 @@ void RNA_def_world(BlenderRNA *brna)
        prop= RNA_def_property(srna, "horizon_color", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_float_sdna(prop, NULL, "horr");
        RNA_def_property_array(prop, 3);
-       RNA_def_property_range(prop, 0.0, 1.0);
        RNA_def_property_ui_text(prop, "Horizon Color", "Color at the horizon.");
 
        prop= RNA_def_property(srna, "zenith_color", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_float_sdna(prop, NULL, "zenr");
        RNA_def_property_array(prop, 3);
-       RNA_def_property_range(prop, 0.0, 1.0);
        RNA_def_property_ui_text(prop, "Zenith Color", "Color at the zenith.");
 
        prop= RNA_def_property(srna, "ambient_color", PROP_FLOAT, PROP_COLOR);
        RNA_def_property_float_sdna(prop, NULL, "ambr");
        RNA_def_property_array(prop, 3);
-       RNA_def_property_range(prop, 0.0, 1.0);
        RNA_def_property_ui_text(prop, "Ambient Color", "");
 
        /* exp, range */