Revision: 24443
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24443
Author:   broken
Date:     2009-11-10 05:56:55 +0100 (Tue, 10 Nov 2009)

Log Message:
-----------
Fix for [#19852] Animation rendering not working in new scene

As part of this commit, I moved the scene frame_step to RenderData, where the 
other frame-related data is.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/scene.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/makesdna/DNA_scene_types.h
    trunk/blender/source/blender/makesrna/intern/rna_scene.c
    trunk/blender/source/creator/creator.c

Modified: trunk/blender/source/blender/blenkernel/intern/scene.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/scene.c      2009-11-10 
04:03:29 UTC (rev 24442)
+++ trunk/blender/source/blender/blenkernel/intern/scene.c      2009-11-10 
04:56:55 UTC (rev 24443)
@@ -323,6 +323,7 @@
        sce->r.cfra= 1;
        sce->r.sfra= 1;
        sce->r.efra= 250;
+       sce->r.frame_step= 1;
        sce->r.xsch= 1920;
        sce->r.ysch= 1080;
        sce->r.xasp= 1;

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c   2009-11-10 
04:03:29 UTC (rev 24442)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c   2009-11-10 
04:56:55 UTC (rev 24443)
@@ -9157,15 +9157,6 @@
                }
        }
 
-       if (main->versionfile < 247 || (main->versionfile == 247 && 
main->subversionfile < 4)){
-               Scene *sce= main->scene.first;
-               while(sce) {
-                       if(sce->frame_step==0)
-                               sce->frame_step= 1;
-                       sce= sce->id.next;
-               }
-       }
-
        if (main->versionfile < 247 || (main->versionfile == 247 && 
main->subversionfile < 5)) {
                Lamp *la= main->lamp.first;
                for(; la; la= la->id.next) {
@@ -10036,6 +10027,14 @@
 
        /* put 2.50 compatibility code here until next subversion bump */
        {
+               {
+                       Scene *sce= main->scene.first;
+                       while(sce) {
+                               if(sce->r.frame_step==0)
+                                       sce->r.frame_step= 1;
+                               sce= sce->id.next;
+                       }
+               }
        }
 
        /* WATCH IT!!!: pointers from libdata have not been converted yet here! 
*/

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c    2009-11-10 
04:03:29 UTC (rev 24442)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c    2009-11-10 
04:56:55 UTC (rev 24443)
@@ -2672,7 +2672,7 @@
        RE_test_break_cb(re, NULL, (int (*)(void *)) blender_test_break);
        
        if(RNA_boolean_get(op->ptr, "animation"))
-               RE_BlenderAnim(re, scene, scene->r.sfra, scene->r.efra, 
scene->frame_step);
+               RE_BlenderAnim(re, scene, scene->r.sfra, scene->r.efra, 
scene->r.frame_step);
        else
                RE_BlenderFrame(re, scene, scene->r.cfra);
        
@@ -2892,7 +2892,7 @@
        rj->do_update= do_update;
        
        if(rj->anim)
-               RE_BlenderAnim(rj->re, rj->scene, rj->scene->r.sfra, 
rj->scene->r.efra, rj->scene->frame_step);
+               RE_BlenderAnim(rj->re, rj->scene, rj->scene->r.sfra, 
rj->scene->r.efra, rj->scene->r.frame_step);
        else
                RE_BlenderFrame(rj->re, rj->scene, rj->scene->r.cfra);
 }
@@ -3245,7 +3245,7 @@
        printf("\n");
        
        /* go to next frame */
-       oglrender->nfra += scene->frame_step;
+       oglrender->nfra += scene->r.frame_step;
        scene->r.cfra++;
 
        WM_event_add_notifier(C, NC_SCENE|ND_RENDER_RESULT, oglrender->scene);

Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h     2009-11-10 
04:03:29 UTC (rev 24442)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h     2009-11-10 
04:56:55 UTC (rev 24443)
@@ -191,7 +191,8 @@
        float edgeR, edgeG, edgeB;
        
        short fullscreen, xplay, yplay, freqplay;       /* standalone player */ 
 //  XXX deprecated since 2.5
-       short depth, attrib, rt1, rt2;                  /* standalone player */ 
 //  XXX deprecated since 2.5
+       short depth, attrib, rt2;                       /* standalone player */ 
 //  XXX deprecated since 2.5
+       short frame_step;               /* frames to jump during 
render/playback */
 
        short stereomode;       /* standalone player stereo settings */  //  
XXX deprecated since 2.5
        
@@ -738,10 +739,8 @@
        short recalc;                           /* recalc = counterpart of 
ob->recalc */
 
        short jumpframe;
+       int pad5;
 
-       /* frame step. */
-       int frame_step;
-       
        /* User-Defined KeyingSets */
        int active_keyingset;                   /* index of the active 
KeyingSet. first KeyingSet has index 1, 'none' active is 0, 'add new' is -1 */
        ListBase keyingsets;                    /* KeyingSets for the given 
frame */

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c    2009-11-10 
04:03:29 UTC (rev 24442)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c    2009-11-10 
04:56:55 UTC (rev 24443)
@@ -2287,7 +2287,7 @@
        
        prop= RNA_def_property(srna, "frame_step", PROP_INT, PROP_TIME);
        RNA_def_property_clear_flag(prop, PROP_ANIMATEABLE);
-       RNA_def_property_int_sdna(prop, NULL, "frame_step");
+       RNA_def_property_int_sdna(prop, NULL, "r.frame_step");
        RNA_def_property_range(prop, 0, MAXFRAME);
        RNA_def_property_ui_range(prop, 0, 100, 1, 0);
        RNA_def_property_ui_text(prop, "Frame Step", "Number of frames to skip 
forward while rendering/playing back each frame");

Modified: trunk/blender/source/creator/creator.c
===================================================================
--- trunk/blender/source/creator/creator.c      2009-11-10 04:03:29 UTC (rev 
24442)
+++ trunk/blender/source/creator/creator.c      2009-11-10 04:56:55 UTC (rev 
24443)
@@ -621,7 +621,7 @@
 
                                                frame = MIN2(MAXFRAME, 
MAX2(MINAFRAME, frame));
                                                
-                                               RE_BlenderAnim(re, scene, 
frame, frame, scene->frame_step);
+                                               RE_BlenderAnim(re, scene, 
frame, frame, scene->r.frame_step);
                                        }
                                } else {
                                        printf("\nError: no blend loaded. 
cannot use '-f'.\n");
@@ -631,7 +631,7 @@
                                if (CTX_data_scene(C)) {
                                        Scene *scene= CTX_data_scene(C);
                                        Render *re= 
RE_NewRender(scene->id.name);
-                                       RE_BlenderAnim(re, scene, 
scene->r.sfra, scene->r.efra, scene->frame_step);
+                                       RE_BlenderAnim(re, scene, 
scene->r.sfra, scene->r.efra, scene->r.frame_step);
                                } else {
                                        printf("\nError: no blend loaded. 
cannot use '-a'.\n");
                                }
@@ -671,7 +671,7 @@
                                        Scene *scene= CTX_data_scene(C);
                                        if (a < argc) {
                                                int frame = atoi(argv[a]);
-                                               (scene->frame_step) = 
MIN2(MAXFRAME, MAX2(1, frame));
+                                               (scene->r.frame_step) = 
MIN2(MAXFRAME, MAX2(1, frame));
                                        }
                                } else {
                                        printf("\nError: no blend loaded. 
cannot use '-j'.\n");


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

Reply via email to