Revision: 27079
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27079
Author:   campbellbarton
Date:     2010-02-22 13:25:58 +0100 (Mon, 22 Feb 2010)

Log Message:
-----------
game engine support for recording animation back & some other minor changes.

Modified Paths:
--------------
    trunk/blender/release/scripts/op/fcurve_euler_filter.py
    trunk/blender/release/scripts/ui/properties_game.py
    trunk/blender/release/scripts/ui/space_graph.py
    trunk/blender/release/scripts/ui/space_info.py
    trunk/blender/source/blender/editors/space_view3d/view3d_view.c
    trunk/blender/source/blender/makesdna/DNA_scene_types.h
    trunk/blender/source/blender/makesrna/intern/rna_scene.c
    trunk/blender/source/blender/python/intern/bpy_rna.c
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
    trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c
    trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
    trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.h
    trunk/blender/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
    trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
    trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.h

Modified: trunk/blender/release/scripts/op/fcurve_euler_filter.py
===================================================================
--- trunk/blender/release/scripts/op/fcurve_euler_filter.py     2010-02-22 
10:36:53 UTC (rev 27078)
+++ trunk/blender/release/scripts/op/fcurve_euler_filter.py     2010-02-22 
12:25:58 UTC (rev 27079)
@@ -45,7 +45,7 @@
 
 class DiscontFilterOp(bpy.types.Operator):
     """Fixes the most common causes of gimbal lock in the fcurves of the 
active bone"""
-    bl_idname = "graph.discont_filter"
+    bl_idname = "graph.euler_filter"
     bl_label = "Filter out discontinuities in the active fcurves"
 
     def poll(self, context):
@@ -63,4 +63,3 @@
 
 if __name__ == "__main__":
     register()
-

Modified: trunk/blender/release/scripts/ui/properties_game.py
===================================================================
--- trunk/blender/release/scripts/ui/properties_game.py 2010-02-22 10:36:53 UTC 
(rev 27078)
+++ trunk/blender/release/scripts/ui/properties_game.py 2010-02-22 12:25:58 UTC 
(rev 27079)
@@ -357,13 +357,13 @@
         col.prop(gs, "show_debug_properties", text="Debug Properties")
         col.prop(gs, "show_framerate_profile", text="Framerate and Profile")
         col.prop(gs, "show_physics_visualization", text="Physics 
Visualization")
-        col.prop(gs, "deprecation_warnings")
+        col.prop(gs, "use_deprecation_warnings")
 
         if wide_ui:
             col = split.column()
         col.label(text="Render:")
-        col.prop(gs, "all_frames")
-        col.prop(gs, "display_lists")
+        col.prop(gs, "use_frame_rate")
+        col.prop(gs, "use_display_lists")
 
 
 class RENDER_PT_game_sound(RenderButtonsPanel):

Modified: trunk/blender/release/scripts/ui/space_graph.py
===================================================================
--- trunk/blender/release/scripts/ui/space_graph.py     2010-02-22 10:36:53 UTC 
(rev 27078)
+++ trunk/blender/release/scripts/ui/space_graph.py     2010-02-22 12:25:58 UTC 
(rev 27079)
@@ -148,7 +148,7 @@
         layout.operator("anim.channels_collapse")
 
         layout.separator()
-        layout.operator("graph.discont_filter", text="Discontinuity (Euler) 
Filter")
+        layout.operator("graph.euler_filter", text="Discontinuity (Euler) 
Filter")
 
 
 class GRAPH_MT_key(bpy.types.Menu):

Modified: trunk/blender/release/scripts/ui/space_info.py
===================================================================
--- trunk/blender/release/scripts/ui/space_info.py      2010-02-22 10:36:53 UTC 
(rev 27078)
+++ trunk/blender/release/scripts/ui/space_info.py      2010-02-22 12:25:58 UTC 
(rev 27079)
@@ -253,7 +253,8 @@
         layout.prop(gs, "show_debug_properties")
         layout.prop(gs, "show_framerate_profile")
         layout.prop(gs, "show_physics_visualization")
-        layout.prop(gs, "deprecation_warnings")
+        layout.prop(gs, "use_deprecation_warnings")
+        layout.prop(gs, "use_animation_record")
 
 
 class INFO_MT_render(bpy.types.Menu):

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_view.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_view.c     
2010-02-22 10:36:53 UTC (rev 27078)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_view.c     
2010-02-22 12:25:58 UTC (rev 27079)
@@ -1690,8 +1690,8 @@
                test= (gm->flag & GAME_ENABLE_ALL_FRAMES);
                SYS_WriteCommandLineInt(syshandle, "fixedtime", test);
 
-//             a= (G.fileflags & G_FILE_GAME_TO_IPO);
-//             SYS_WriteCommandLineInt(syshandle, "game2ipo", a);
+               test= (gm->flag & GAME_ENABLE_ANIMATION_RECORD);
+               SYS_WriteCommandLineInt(syshandle, "animation_record", test);
 
                test= (gm->flag & GAME_IGNORE_DEPRECATION_WARNINGS);
                SYS_WriteCommandLineInt(syshandle, 
"ignore_deprecation_warnings", test);

Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h     2010-02-22 
10:36:53 UTC (rev 27078)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h     2010-02-22 
12:25:58 UTC (rev 27079)
@@ -487,6 +487,7 @@
 #define GAME_GLSL_NO_NODES                                     (1 << 10)
 #define GAME_GLSL_NO_EXTRA_TEX                         (1 << 11)
 #define GAME_IGNORE_DEPRECATION_WARNINGS       (1 << 12)
+#define GAME_ENABLE_ANIMATION_RECORD           (1 << 13)
 
 /* GameData.matmode */
 #define GAME_MAT_TEXFACE       0

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c    2010-02-22 
10:36:53 UTC (rev 27078)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c    2010-02-22 
12:25:58 UTC (rev 27079)
@@ -1501,52 +1501,47 @@
        prop= RNA_def_property(srna, "use_occlusion_culling", PROP_BOOLEAN, 
PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "mode", (1 << 5)); //XXX mode 
hardcoded // WO_DBVT_CULLING
        RNA_def_property_ui_text(prop, "DBVT culling", "Use optimized Bullet 
DBVT tree for view frustrum and occlusion culling");
-       RNA_def_property_update(prop, NC_SCENE, NULL);
        
        // not used // deprecated !!!!!!!!!!!!!
        prop= RNA_def_property(srna, "activity_culling", PROP_BOOLEAN, 
PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "mode", (1 << 3)); //XXX mode 
hardcoded
        RNA_def_property_ui_text(prop, "Activity Culling", "Activity culling is 
enabled");
-       RNA_def_property_update(prop, NC_SCENE, NULL);
 
        // not used // deprecated !!!!!!!!!!!!!
        prop= RNA_def_property(srna, "activity_culling_box_radius", PROP_FLOAT, 
PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "activityBoxRadius");
        RNA_def_property_range(prop, 0.0, 1000.0);
        RNA_def_property_ui_text(prop, "box radius", "Radius of the activity 
bubble, in Manhattan length. Objects outside the box are activity-culled");
-       RNA_def_property_update(prop, NC_SCENE, NULL);
 
        /* booleans */
-       prop= RNA_def_property(srna, "all_frames", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flag", 
GAME_ENABLE_ALL_FRAMES);
-       RNA_def_property_ui_text(prop, "All Frames", "Render as many frames as 
possible, rather than respecting framerate");
-       RNA_def_property_update(prop, NC_SCENE, NULL);
-
        prop= RNA_def_property(srna, "show_debug_properties", PROP_BOOLEAN, 
PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", 
GAME_SHOW_DEBUG_PROPS);
        RNA_def_property_ui_text(prop, "Show Debug Properties", "Show 
properties marked for debugging while the game runs");
-       RNA_def_property_update(prop, NC_SCENE, NULL);
 
        prop= RNA_def_property(srna, "show_framerate_profile", PROP_BOOLEAN, 
PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", GAME_SHOW_FRAMERATE);
        RNA_def_property_ui_text(prop, "Show Framerate and Profile", "Show 
framerate and profiling information while the game runs");
-       RNA_def_property_update(prop, NC_SCENE, NULL);
 
        prop= RNA_def_property(srna, "show_physics_visualization", 
PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", GAME_SHOW_PHYSICS);
        RNA_def_property_ui_text(prop, "Show Physics Visualization", "Show a 
visualization of physics bounds and interactions");
-       RNA_def_property_update(prop, NC_SCENE, NULL);
 
-       prop= RNA_def_property(srna, "display_lists", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "use_frame_rate", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", 
GAME_ENABLE_ALL_FRAMES);
+       RNA_def_property_ui_text(prop, "Use Frame Rate", "Respect the frame 
rate rather then rendering as many frames as possible");
+
+       prop= RNA_def_property(srna, "use_display_lists", PROP_BOOLEAN, 
PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", GAME_DISPLAY_LISTS);
        RNA_def_property_ui_text(prop, "Display Lists", "Use display lists to 
speed up rendering by keeping geometry on the GPU");
-       RNA_def_property_update(prop, NC_SCENE, NULL);
 
-       prop= RNA_def_property(srna, "deprecation_warnings", PROP_BOOLEAN, 
PROP_NONE);
+       prop= RNA_def_property(srna, "use_deprecation_warnings", PROP_BOOLEAN, 
PROP_NONE);
        RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", 
GAME_IGNORE_DEPRECATION_WARNINGS);
        RNA_def_property_ui_text(prop, "Deprecation Warnings", "Print warnings 
when using deprecated features in the python API");
-       RNA_def_property_update(prop, NC_SCENE, NULL);
 
+       prop= RNA_def_property(srna, "use_animation_record", PROP_BOOLEAN, 
PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "flag", 
GAME_ENABLE_ANIMATION_RECORD);
+       RNA_def_property_ui_text(prop, "Record Animation", "Record animation to 
fcurves");
+
        /* materials */
        prop= RNA_def_property(srna, "material_mode", PROP_ENUM, PROP_NONE);
        RNA_def_property_enum_sdna(prop, NULL, "matmode");

Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c        2010-02-22 
10:36:53 UTC (rev 27078)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c        2010-02-22 
12:25:58 UTC (rev 27079)
@@ -1639,48 +1639,82 @@
        return BPy_Wrap_GetValues(self->ptr.id.data, group);
 }
 
-static PyObject *pyrna_struct_keyframe_insert(BPy_StructRNA *self, PyObject 
*args)
+/* internal use for insert and delete */
+int pyrna_struct_keyframe_parse(PointerRNA *ptr, PyObject *args, char 
*error_prefix,
+       char **path_full, int *index, float *cfra) /* return values */
 {
-       char *path, *path_full;
-       int index= -1; /* default to all */
-       float cfra = CTX_data_scene(BPy_GetContext())->r.cfra;
+       char *path;
        PropertyRNA *prop;
-       PyObject *result;
 
-       if (!PyArg_ParseTuple(args, "s|if:keyframe_insert", &path, &index, 
&cfra))
-               return NULL;
+       if (!PyArg_ParseTuple(args, "s|if", &path, &index, &cfra)) {
+               PyErr_Format(PyExc_TypeError, "%.200s: expected a string and 
optionally an int and float arguments", error_prefix);
+               return -1;
+       }
 
-       if (self->ptr.data==NULL) {
-               PyErr_Format( PyExc_TypeError, "keyframe_insert, this struct 
has no data, cant be animated", path);
-               return NULL;
+       if (ptr->data==NULL) {
+               PyErr_Format(PyExc_TypeError, "%.200s: this struct has no data, 
can't be animated", error_prefix);
+               return -1;
        }
 
-       prop = RNA_struct_find_property(&self->ptr, path);
+       prop = RNA_struct_find_property(ptr, path);
 
        if (prop==NULL) {
-               PyErr_Format( PyExc_TypeError, "keyframe_insert, property 
\"%s\" not found", path);
-               return NULL;

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to