Cycles: updates to follow code committed to trunk.
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Thu, 3 Nov 2011 10:18:58 +0000 (10:18 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Thu, 3 Nov 2011 10:18:58 +0000 (10:18 +0000)
18 files changed:
intern/cycles/blender/blender_sync.cpp
source/blender/blenkernel/intern/anim_sys.c
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/scene.c
source/blender/blenkernel/intern/world.c
source/blender/blenlib/BLI_callbacks.h
source/blender/editors/render/render_preview.c
source/blender/editors/space_node/node_draw.c
source/blender/editors/space_node/node_edit.c
source/blender/editors/space_node/node_select.c
source/blender/makesrna/intern/rna_ID.c
source/blender/makesrna/intern/rna_main_api.c
source/blender/makesrna/intern/rna_texture.c
source/blender/nodes/shader/node_shader_tree.c
source/blender/nodes/shader/nodes/node_shader_common.c
source/blender/python/intern/bpy_app_handlers.c
source/gameengine/Ketsji/BL_BlenderShader.cpp
source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp

index 3a9514efa3cbc6b5f1a5e8e7ca106a62a82bb4f7..d44fc3f29ca7092255aa071b57ace9641e8da995 100644 (file)
@@ -67,31 +67,31 @@ bool BlenderSync::sync_recalc()
        BL::BlendData::materials_iterator b_mat;
 
        for(b_data.materials.begin(b_mat); b_mat != b_data.materials.end(); ++b_mat)
-               if(b_mat->recalc())
+               if(b_mat->is_updated())
                        shader_map.set_recalc(*b_mat);
 
        BL::BlendData::lamps_iterator b_lamp;
 
        for(b_data.lamps.begin(b_lamp); b_lamp != b_data.lamps.end(); ++b_lamp)
-               if(b_lamp->recalc())
+               if(b_lamp->is_updated())
                        shader_map.set_recalc(*b_lamp);
 
        BL::BlendData::objects_iterator b_ob;
 
        for(b_data.objects.begin(b_ob); b_ob != b_data.objects.end(); ++b_ob) {
-               if(b_ob->recalc()) {
+               if(b_ob->is_updated()) {
                        object_map.set_recalc(*b_ob);
                        light_map.set_recalc(*b_ob);
                }
 
                if(object_is_mesh(*b_ob)) {
-                       if(b_ob->recalc_data() || b_ob->data().recalc()) {
+                       if(b_ob->is_updated_data() || b_ob->data().is_updated()) {
                                BL::ID key = object_is_modified(*b_ob)? *b_ob: b_ob->data();
                                mesh_map.set_recalc(key);
                        }
                }
                else if(object_is_light(*b_ob)) {
-                       if(b_ob->recalc_data() || b_ob->data().recalc())
+                       if(b_ob->is_updated_data() || b_ob->data().is_updated())
                                light_map.set_recalc(*b_ob);
                }
        }
@@ -99,13 +99,13 @@ bool BlenderSync::sync_recalc()
        BL::BlendData::meshes_iterator b_mesh;
 
        for(b_data.meshes.begin(b_mesh); b_mesh != b_data.meshes.end(); ++b_mesh)
-               if(b_mesh->recalc())
+               if(b_mesh->is_updated())
                        mesh_map.set_recalc(*b_mesh);
 
        BL::BlendData::worlds_iterator b_world;
 
        for(b_data.worlds.begin(b_world); b_world != b_data.worlds.end(); ++b_world)
-               if(world_map == b_world->ptr.data && b_world->recalc())
+               if(world_map == b_world->ptr.data && b_world->is_updated())
                        world_recalc = true;
 
        bool recalc =
@@ -113,7 +113,7 @@ bool BlenderSync::sync_recalc()
                object_map.has_recalc() ||
                light_map.has_recalc() ||
                mesh_map.has_recalc() ||
-               BlendDataObjects_recalc_get(&b_data.ptr) ||
+               BlendDataObjects_is_updated_get(&b_data.ptr) ||
                world_recalc;
 
        return recalc;
index 981c20d61652f27bfa9d09430e58f5081e5f9137..6d94b42a7ac9adab891138987e28199a8a1a450e 100644 (file)
@@ -51,6 +51,7 @@
 
 #include "BKE_animsys.h"
 #include "BKE_action.h"
+#include "BKE_depsgraph.h"
 #include "BKE_fcurve.h"
 #include "BKE_nla.h"
 #include "BKE_global.h"
@@ -1181,6 +1182,15 @@ static short animsys_write_rna_setting (PointerRNA *ptr, char *path, int array_i
                                        RNA_property_update_cache_add(&new_ptr, prop);
                        }
 #endif
+
+                       /* as long as we don't do property update, we still tag datablock
+                          as having been updated. this flag does not cause any updates to
+                          be run, it's for e.g. render engines to synchronize data */
+                       if(new_ptr.id.data) {
+                               ID *id= new_ptr.id.data;
+                               id->flag |= LIB_ID_RECALC;
+                               DAG_id_type_tag(G.main, GS(id->name));
+                       }
                }
                
                /* successful */
@@ -2322,7 +2332,7 @@ void BKE_animsys_evaluate_all_animation (Main *main, Scene *scene, float ctime)
        /* particles */
        EVAL_ANIM_IDS(main->particle.first, ADT_RECALC_ANIM);
        
-       /* lamps */
+       /* speakers */
        EVAL_ANIM_IDS(main->speaker.first, ADT_RECALC_ANIM);
 
        /* objects */
index 9c2b6cae751e0a5df2fd227a567f76576eaf6755..ce53ec3ac9b7e228658a0d3dc8b1b5a418efefbc 100644 (file)
@@ -1073,6 +1073,7 @@ void ntreeMakeLocal(bNodeTree *ntree)
                
                newtree->id.us= 0;
                
+
                cd.new_id = &newtree->id;
                treetype->foreach_nodetree(G.main, &cd, &ntreeMakeLocal_LinkNew);
        }
@@ -1862,7 +1863,7 @@ static void registerCompositNodes(ListBase *ntypelist)
 static void registerShaderNodes(ListBase *ntypelist) 
 {
        register_node_type_frame(ntypelist);
-
+       
        register_node_type_sh_group(ntypelist);
        //register_node_type_sh_forloop(ntypelist);
        //register_node_type_sh_whileloop(ntypelist);
index d7e51bf794cc44e684e02d11325b55738a2f93cd..7ba0a642cdd7fe64f922d58705c7ad48a42724a5 100644 (file)
@@ -992,6 +992,8 @@ void scene_update_tagged(Main *bmain, Scene *scene)
 {
        DAG_ids_flush_tagged(bmain);
 
+       BLI_exec_cb(bmain, &scene->id, BLI_CB_EVT_SCENE_UPDATE_PRE);
+
        scene->physics_settings.quick_cache_step= 0;
 
        /* update all objects: drivers, matrices, displists, etc. flags set
@@ -1013,6 +1015,8 @@ void scene_update_tagged(Main *bmain, Scene *scene)
 
        DAG_ids_check_recalc(bmain);
 
+       BLI_exec_cb(bmain, &scene->id, BLI_CB_EVT_SCENE_UPDATE_POST);
+
        /* in the future this should handle updates for all datablocks, not
           only objects and scenes. - brecht */
 }
@@ -1046,6 +1050,8 @@ void scene_update_for_newframe(Main *bmain, Scene *sce, unsigned int lay)
         * so dont call within 'scene_update_tagged_recursive' */
        DAG_scene_update_flags(bmain, sce, lay, TRUE);   // only stuff that moves or needs display still
 
+       BLI_exec_cb(bmain, (ID *)sce, BLI_CB_EVT_SCENE_UPDATE_PRE);
+
        /* All 'standard' (i.e. without any dependencies) animation is handled here,
         * with an 'local' to 'macro' order of evaluation. This should ensure that
         * settings stored nestled within a hierarchy (i.e. settings in a Texture block
@@ -1059,7 +1065,10 @@ void scene_update_for_newframe(Main *bmain, Scene *sce, unsigned int lay)
        scene_update_tagged_recursive(bmain, sce, sce);
 
        /* keep this last */
+       BLI_exec_cb(bmain, (ID *)sce, BLI_CB_EVT_SCENE_UPDATE_POST);
        BLI_exec_cb(bmain, (ID *)sce, BLI_CB_EVT_FRAME_CHANGE_POST);
+
+       DAG_ids_clear_recalc(bmain);
 }
 
 /* return default layer, also used to patch old files */
index 9a26cc61cfdc5d01abc20cc11b8140fb926a2e17..c7d2763774d83fc65467dace6da0e235f515eca3 100644 (file)
 #include "BLI_utildefines.h"
 #include "BLI_bpath.h"
 
-#include "BKE_world.h"
-#include "BKE_library.h"
 #include "BKE_animsys.h"
 #include "BKE_global.h"
 #include "BKE_icons.h"
 #include "BKE_library.h"
+#include "BKE_library.h"
 #include "BKE_main.h"
 #include "BKE_node.h"
+#include "BKE_world.h"
 
 void free_world(World *wrld)
 {
index 5322ce04a2e0590b59258ca7c41f0a299b19fae4..7e4fad54cdae60d6ab823e03b78f982f37830f11 100644 (file)
@@ -47,6 +47,8 @@ typedef enum {
        BLI_CB_EVT_LOAD_POST,
        BLI_CB_EVT_SAVE_PRE,
        BLI_CB_EVT_SAVE_POST,
+       BLI_CB_EVT_SCENE_UPDATE_PRE,
+       BLI_CB_EVT_SCENE_UPDATE_POST,
        BLI_CB_EVT_TOT
 } eCbEvent;
 
index 70108242bf90667cb2a84f30b793a5ac1874b6a6..9da160948cca1bd1f7d0472ef787ef0a9058723c 100644 (file)
@@ -86,7 +86,6 @@
 
 #include "PIL_time.h"
 
-#include "RE_engine.h"
 #include "RE_pipeline.h"
 
 
index bf4de211537ac22ece49471abd16b99de2852d40..5b5f79160a1d2e11b197d971197e4a9b43861d7d 100644 (file)
@@ -560,7 +560,6 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
        int color_id= node_get_colorid(node);
        char showname[128]; /* 128 used below */
        View2D *v2d = &ar->v2d;
-       int i;
        
        /* hurmf... another candidate for callback, have to see how this works first */
        if(node->id && node->block && snode->treetype==NTREE_SHADER)
@@ -684,7 +683,7 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
 
        
        /* socket inputs, buttons */
-       for(i= 0, sock= node->inputs.first; sock; sock= sock->next, i++) {
+       for(sock= node->inputs.first; sock; sock= sock->next) {
                bNodeSocketType *stype= ntreeGetSocketType(sock->type);
                
                if(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))
index b9f11a5593979ff4f049f4cbbcff1362e93809eb..7ff24ca3eb64c67fd7589c3057511f0984f8e7cf 100644 (file)
@@ -303,8 +303,8 @@ void ED_node_shader_default(Scene *scene, ID *id)
                }
                case ID_WO: {
                        World *wo= (World*)id;
-
                        wo->nodetree = ntree;
+
                        output_type = SH_NODE_OUTPUT_WORLD;
                        shader_type = SH_NODE_BACKGROUND;
 
@@ -314,8 +314,8 @@ void ED_node_shader_default(Scene *scene, ID *id)
                }
                case ID_LA: {
                        Lamp *la= (Lamp*)id;
+                       la->nodetree = ntree;
 
-                       ((Lamp*)id)->nodetree = ntree;
                        output_type = SH_NODE_OUTPUT_LAMP;
                        shader_type = SH_NODE_EMISSION;
 
index 60e6b9e550ed276a89249a899fceec97e843d9d6..593beedc765bf65d1eb9916941931c4fd6b19b4b 100644 (file)
@@ -35,7 +35,6 @@
 #include "DNA_scene_types.h"
 
 #include "BKE_context.h"
-#include "BKE_global.h"
 #include "BKE_main.h"
 
 #include "BLI_rect.h"
index ba7d2881ad87c80714faa9f35b769201e6152944..e4692d32338f89bfb42bf98a45a2a8eb7d21679b 100644 (file)
@@ -486,15 +486,15 @@ static void rna_def_ID(BlenderRNA *brna)
        RNA_def_property_flag(prop, PROP_LIB_EXCEPTION);
        RNA_def_property_ui_text(prop, "Tag", "Tools can use this to tag data (initial state is undefined)");
 
-       prop= RNA_def_property(srna, "recalc", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", LIB_ID_RECALC);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-       RNA_def_property_ui_text(prop, "Recalc", "Datablock is tagged for recalculation");
+       RNA_def_property_ui_text(prop, "Is Updated", "Datablock is tagged for recalculation");
 
-       prop= RNA_def_property(srna, "recalc_data", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "is_updated_data", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", LIB_ID_RECALC_DATA);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-       RNA_def_property_ui_text(prop, "Recalc Data", "Datablock data is tagged for recalculation");
+       RNA_def_property_ui_text(prop, "Is Updated Data", "Datablock data is tagged for recalculation");
 
        prop= RNA_def_property(srna, "library", PROP_POINTER, PROP_NONE);
        RNA_def_property_pointer_sdna(prop, NULL, "lib");
index 6e5b7d68ea942e290bf39799c28d41a049fe453a..a0402ed3593598ca6006a7061c96a0a59bce606d 100644 (file)
@@ -549,7 +549,33 @@ void rna_Main_actions_tag(Main *bmain, int value) { tag_main_lb(&bmain->action,
 void rna_Main_particles_tag(Main *bmain, int value) { tag_main_lb(&bmain->particle, value); }
 void rna_Main_gpencil_tag(Main *bmain, int value) { tag_main_lb(&bmain->gpencil, value); }
 
-static int rna_Main_objects_recalc_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_OB); }
+static int rna_Main_cameras_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_CA); }
+static int rna_Main_scenes_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_SCE); }
+static int rna_Main_objects_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_OB); }
+static int rna_Main_materials_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_MA); }
+static int rna_Main_node_groups_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_NT); }
+static int rna_Main_meshes_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_ME); }
+static int rna_Main_lamps_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_LA); }
+static int rna_Main_libraries_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_LI); }
+static int rna_Main_screens_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_SCR); }
+static int rna_Main_window_managers_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_WM); }
+static int rna_Main_images_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_IM); }
+static int rna_Main_lattices_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_LT); }
+static int rna_Main_curves_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_CU); }
+static int rna_Main_metaballs_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_MB); }
+static int rna_Main_fonts_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_VF); }
+static int rna_Main_textures_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_TE); }
+static int rna_Main_brushes_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_BR); }
+static int rna_Main_worlds_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_WO); }
+static int rna_Main_groups_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_GR); }
+static int rna_Main_shape_keys_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_KE); }
+static int rna_Main_texts_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_TXT); }
+static int rna_Main_speakers_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_SPK); }
+static int rna_Main_sounds_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_SO); }
+static int rna_Main_armatures_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_AR); }
+static int rna_Main_actions_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_AC); }
+static int rna_Main_particles_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_PA); }
+static int rna_Main_gpencil_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_GD); }
 
 #else
 
@@ -577,6 +603,7 @@ void RNA_def_main_cameras(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataCameras");
        srna= RNA_def_struct(brna, "BlendDataCameras", NULL);
@@ -600,6 +627,10 @@ void RNA_def_main_cameras(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_cameras_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_cameras_is_updated_get", NULL);
 }
 
 void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop)
@@ -607,6 +638,7 @@ void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataScenes");
        srna= RNA_def_struct(brna, "BlendDataScenes", NULL);
@@ -626,6 +658,10 @@ void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_ui_description(func, "Remove a scene from the current blendfile");
        parm= RNA_def_pointer(func, "scene", "Scene", "", "Scene to remove");
        RNA_def_property_flag(parm, PROP_REQUIRED|PROP_NEVER_NULL);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_scenes_is_updated_get", NULL);
 }
 
 void RNA_def_main_objects(BlenderRNA *brna, PropertyRNA *cprop)
@@ -662,9 +698,9 @@ void RNA_def_main_objects(BlenderRNA *brna, PropertyRNA *cprop)
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
 
-       prop= RNA_def_property(srna, "recalc", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-       RNA_def_property_boolean_funcs(prop, "rna_Main_objects_recalc_get", NULL);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_objects_is_updated_get", NULL);
 }
 
 void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop)
@@ -672,6 +708,7 @@ void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataMaterials");
        srna= RNA_def_struct(brna, "BlendDataMaterials", NULL);
@@ -695,12 +732,17 @@ void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_materials_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_materials_is_updated_get", NULL);
 }
 void RNA_def_main_node_groups(BlenderRNA *brna, PropertyRNA *cprop)
 {
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        static EnumPropertyItem node_nodetree_items[] = {
        {0, "SHADER",       0,    "Shader",       ""},
@@ -732,12 +774,17 @@ void RNA_def_main_node_groups(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_node_groups_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_node_groups_is_updated_get", NULL);
 }
 void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop)
 {
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataMeshes");
        srna= RNA_def_struct(brna, "BlendDataMeshes", NULL);
@@ -761,12 +808,17 @@ void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_meshes_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_meshes_is_updated_get", NULL);
 }
 void RNA_def_main_lamps(BlenderRNA *brna, PropertyRNA *cprop)
 {
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataLamps");
        srna= RNA_def_struct(brna, "BlendDataLamps", NULL);
@@ -792,6 +844,10 @@ void RNA_def_main_lamps(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_lamps_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_lamps_is_updated_get", NULL);
 }
 
 void RNA_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop)
@@ -799,6 +855,7 @@ void RNA_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataLibraries");
        srna= RNA_def_struct(brna, "BlendDataLibraries", NULL);
@@ -808,6 +865,10 @@ void RNA_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_libraries_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_libraries_is_updated_get", NULL);
 }
 
 void RNA_def_main_screens(BlenderRNA *brna, PropertyRNA *cprop)
@@ -815,6 +876,7 @@ void RNA_def_main_screens(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataScreens");
        srna= RNA_def_struct(brna, "BlendDataScreens", NULL);
@@ -824,6 +886,10 @@ void RNA_def_main_screens(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_screens_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_screens_is_updated_get", NULL);
 }
 
 void RNA_def_main_window_managers(BlenderRNA *brna, PropertyRNA *cprop)
@@ -831,6 +897,7 @@ void RNA_def_main_window_managers(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataWindowManagers");
        srna= RNA_def_struct(brna, "BlendDataWindowManagers", NULL);
@@ -840,12 +907,17 @@ void RNA_def_main_window_managers(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_window_managers_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_window_managers_is_updated_get", NULL);
 }
 void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop)
 {
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataImages");
        srna= RNA_def_struct(brna, "BlendDataImages", NULL);
@@ -884,6 +956,10 @@ void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_images_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_images_is_updated_get", NULL);
 }
 
 void RNA_def_main_lattices(BlenderRNA *brna, PropertyRNA *cprop)
@@ -891,6 +967,7 @@ void RNA_def_main_lattices(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataLattices");
        srna= RNA_def_struct(brna, "BlendDataLattices", NULL);
@@ -914,12 +991,17 @@ void RNA_def_main_lattices(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_lattices_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_lattices_is_updated_get", NULL);
 }
 void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop)
 {
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataCurves");
        srna= RNA_def_struct(brna, "BlendDataCurves", NULL);
@@ -945,12 +1027,17 @@ void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_curves_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_curves_is_updated_get", NULL);
 }
 void RNA_def_main_metaballs(BlenderRNA *brna, PropertyRNA *cprop)
 {
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataMetaBalls");
        srna= RNA_def_struct(brna, "BlendDataMetaBalls", NULL);
@@ -974,12 +1061,17 @@ void RNA_def_main_metaballs(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_metaballs_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_metaballs_is_updated_get", NULL);
 }
 void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop)
 {
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataFonts");
        srna= RNA_def_struct(brna, "BlendDataFonts", NULL);
@@ -1004,12 +1096,17 @@ void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_fonts_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_fonts_is_updated_get", NULL);
 }
 void RNA_def_main_textures(BlenderRNA *brna, PropertyRNA *cprop)
 {
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataTextures");
        srna= RNA_def_struct(brna, "BlendDataTextures", NULL);
@@ -1035,12 +1132,17 @@ void RNA_def_main_textures(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_textures_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_textures_is_updated_get", NULL);
 }
 void RNA_def_main_brushes(BlenderRNA *brna, PropertyRNA *cprop)
 {
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataBrushes");
        srna= RNA_def_struct(brna, "BlendDataBrushes", NULL);
@@ -1064,6 +1166,10 @@ void RNA_def_main_brushes(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_brushes_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_brushes_is_updated_get", NULL);
 }
 
 void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop)
@@ -1071,6 +1177,7 @@ void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataWorlds");
        srna= RNA_def_struct(brna, "BlendDataWorlds", NULL);
@@ -1094,6 +1201,10 @@ void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_worlds_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_worlds_is_updated_get", NULL);
 }
 
 void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop)
@@ -1101,6 +1212,7 @@ void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataGroups");
        srna= RNA_def_struct(brna, "BlendDataGroups", NULL);
@@ -1123,6 +1235,10 @@ void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_groups_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_groups_is_updated_get", NULL);
 }
 
 void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop)
@@ -1130,6 +1246,7 @@ void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataSpeakers");
        srna= RNA_def_struct(brna, "BlendDataSpeakers", NULL);
@@ -1153,6 +1270,10 @@ void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_speakers_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_speakers_is_updated_get", NULL);
 }
 
 void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
@@ -1160,6 +1281,7 @@ void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataTexts");
        srna= RNA_def_struct(brna, "BlendDataTexts", NULL);
@@ -1192,6 +1314,10 @@ void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_texts_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_texts_is_updated_get", NULL);
 }
 
 void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop)
@@ -1199,6 +1325,7 @@ void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataSounds");
        srna= RNA_def_struct(brna, "BlendDataSounds", NULL);
@@ -1210,6 +1337,10 @@ void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_sounds_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_sounds_is_updated_get", NULL);
 }
 
 void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop)
@@ -1217,6 +1348,7 @@ void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataArmatures");
        srna= RNA_def_struct(brna, "BlendDataArmatures", NULL);
@@ -1240,12 +1372,17 @@ void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_armatures_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_armatures_is_updated_get", NULL);
 }
 void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop)
 {
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataActions");
        srna= RNA_def_struct(brna, "BlendDataActions", NULL);
@@ -1269,12 +1406,17 @@ void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_actions_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_actions_is_updated_get", NULL);
 }
 void RNA_def_main_particles(BlenderRNA *brna, PropertyRNA *cprop)
 {
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataParticles");
        srna= RNA_def_struct(brna, "BlendDataParticles", NULL);
@@ -1298,6 +1440,10 @@ void RNA_def_main_particles(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_particles_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_particles_is_updated_get", NULL);
 }
 
 void RNA_def_main_gpencil(BlenderRNA *brna, PropertyRNA *cprop)
@@ -1305,6 +1451,7 @@ void RNA_def_main_gpencil(BlenderRNA *brna, PropertyRNA *cprop)
        StructRNA *srna;
        FunctionRNA *func;
        PropertyRNA *parm;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "BlendDataGreasePencils");
        srna= RNA_def_struct(brna, "BlendDataGreasePencils", NULL);
@@ -1314,6 +1461,10 @@ void RNA_def_main_gpencil(BlenderRNA *brna, PropertyRNA *cprop)
        func= RNA_def_function(srna, "tag", "rna_Main_gpencil_tag");
        parm= RNA_def_boolean(func, "value", 0, "Value", "");
        RNA_def_property_flag(parm, PROP_REQUIRED);
+
+       prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, "rna_Main_gpencil_is_updated_get", NULL);
 }
 
 #endif
index b7a5b6f52166a2d68046809c87a4b5836c45e6c4..c420ecefdae4df1969710b555df17540f2d98b1b 100644 (file)
@@ -345,16 +345,6 @@ static void rna_Texture_use_nodes_set(PointerRNA *ptr, int v)
                ED_node_texture_default(tex);
 }
 
-static void rna_Texture_use_nodes_update(Main *bmain, Scene *scene, PointerRNA *ptr)
-{
-       Tex *tex= (Tex*)ptr->data;
-
-       if(tex->use_nodes && tex->nodetree==NULL)
-               ED_node_shader_default(scene, &tex->id);
-       
-       rna_Texture_nodes_update(bmain, scene, ptr);
-}
-
 static void rna_ImageTexture_mipmap_set(PointerRNA *ptr, int value)
 {
        Tex *tex= (Tex*)ptr->data;
@@ -1839,9 +1829,8 @@ static void rna_def_texture(BlenderRNA *brna)
        prop= RNA_def_property(srna, "use_nodes", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "use_nodes", 1);
        RNA_def_property_boolean_funcs(prop, NULL, "rna_Texture_use_nodes_set");
-       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_ui_text(prop, "Use Nodes", "Make this a node-based texture");
-       RNA_def_property_update(prop, 0, "rna_Texture_use_nodes_update");
+       RNA_def_property_update(prop, 0, "rna_Texture_nodes_update");
        
        prop= RNA_def_property(srna, "node_tree", PROP_POINTER, PROP_NONE);
        RNA_def_property_pointer_sdna(prop, NULL, "nodetree");
index 5ca8f2c3d9a80057bfab1f504e5e48fa6898fa02..a5dbfdc930e4894661539a7f449dbbdebf8b5d17 100644 (file)
@@ -35,7 +35,6 @@
 #include "DNA_lamp_types.h"
 #include "DNA_material_types.h"
 #include "DNA_node_types.h"
-#include "DNA_texture_types.h"
 #include "DNA_world_types.h"
 
 #include "BLI_listbase.h"
@@ -61,7 +60,6 @@ static void foreach_nodetree(Main *main, void *calldata, bNodeTreeCallback func)
        Material *ma;
        Lamp *la;
        World *wo;
-       Tex *tex;
 
        for(ma= main->mat.first; ma; ma= ma->id.next)
                if(ma->nodetree)
@@ -74,10 +72,6 @@ static void foreach_nodetree(Main *main, void *calldata, bNodeTreeCallback func)
        for(wo= main->world.first; wo; wo= wo->id.next)
                if(wo->nodetree)
                        func(calldata, &wo->id, wo->nodetree);
-
-       for(tex= main->tex.first; tex; tex= tex->id.next)
-               if(tex->nodetree)
-                       func(calldata, &tex->id, tex->nodetree);
 }
 
 static void local_sync(bNodeTree *localtree, bNodeTree *ntree)
index 5732228de41e5e07645b93528f0591602db7919c..ff995e02ca68a05ea24ca4a330352901adfdbc5c 100644 (file)
@@ -185,7 +185,6 @@ void register_node_type_sh_group(ListBase *lb)
        static bNodeType ntype;
 
        node_type_base(&ntype, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS|NODE_CONST_OUTPUT);
-       node_type_compatibility(&ntype, NODE_NEW_SHADING|NODE_OLD_SHADING);
        node_type_socket_templates(&ntype, NULL, NULL);
        node_type_size(&ntype, 120, 60, 200);
        node_type_label(&ntype, node_group_label);
@@ -248,7 +247,6 @@ void register_node_type_sh_forloop(ListBase *lb)
        static bNodeType ntype;
 
        node_type_base(&ntype, NODE_FORLOOP, "For", NODE_CLASS_GROUP, NODE_OPTIONS);
-       node_type_compatibility(&ntype, NODE_OLD_SHADING);
        node_type_socket_templates(&ntype, NULL, NULL);
        node_type_size(&ntype, 120, 60, 200);
        node_type_label(&ntype, node_group_label);
@@ -311,7 +309,6 @@ void register_node_type_sh_whileloop(ListBase *lb)
        static bNodeType ntype;
 
        node_type_base(&ntype, NODE_WHILELOOP, "While", NODE_CLASS_GROUP, NODE_OPTIONS);
-       node_type_compatibility(&ntype, NODE_OLD_SHADING);
        node_type_socket_templates(&ntype, NULL, NULL);
        node_type_size(&ntype, 120, 60, 200);
        node_type_label(&ntype, node_group_label);
index 7008aeda07427103a42cd5f8036bc861c5a183d7..e7f74569f1a94e53f86c3c71db18150e48ed2519 100644 (file)
@@ -47,6 +47,8 @@ static PyStructSequence_Field app_cb_info_fields[]= {
        {(char *)"load_post", NULL},
        {(char *)"save_pre", NULL},
        {(char *)"save_post", NULL},
+       {(char *)"scene_update_pre", NULL},
+       {(char *)"scene_update_post", NULL},
        {NULL}
 };
 
index ffc301fb715fa3de09a743adda30e173d705639a..6680e9556b9d70de2b6a291458ff57c3a4555bcc 100644 (file)
@@ -4,7 +4,6 @@
 
 #include "DNA_customdata_types.h"
 #include "DNA_material_types.h"
-#include "DNA_object_types.h"
 #include "DNA_scene_types.h"
 
 #include "BKE_global.h"
index e50eb9bfde59cb422b747a0885b9fd89fdc73ddf..56c0f46865ad552272864a450680910ac917b5b5 100644 (file)
@@ -50,7 +50,6 @@
 #include "DNA_image_types.h"
 #include "DNA_meshdata_types.h"
 #include "DNA_material_types.h"
-#include "DNA_object_types.h"
 #include "DNA_scene_types.h"
 
 #include "BKE_DerivedMesh.h"