[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24443] trunk/blender/source: Fix for [ #19852] Animation rendering not working in new scene

Matt Ebb matt at mke3.net
Tue Nov 10 05:56:57 CET 2009


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");





More information about the Bf-blender-cvs mailing list