[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27381] trunk/blender/source/blender: - scene sequencer camera override wasnt working for render strips ( only opengl)

Campbell Barton ideasman42 at gmail.com
Wed Mar 10 09:17:18 CET 2010


Revision: 27381
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27381
Author:   campbellbarton
Date:     2010-03-10 09:17:18 +0100 (Wed, 10 Mar 2010)

Log Message:
-----------
- scene sequencer camera override wasnt working for render strips (only opengl)
- temp disable camera switching with override by clearning markers (hack)
- check for GAMEBLENDER define else eclipse gets confused by multiple definitions of functons in the stub.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/sequencer.c
    trunk/blender/source/blender/makesrna/SConscript
    trunk/blender/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
    trunk/blender/source/blenderplayer/bad_level_call_stubs/SConscript
    trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c

Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequencer.c	2010-03-10 07:41:16 UTC (rev 27380)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c	2010-03-10 08:17:18 UTC (rev 27381)
@@ -2107,7 +2107,6 @@
 		}
 	} else if(seq->type == SEQ_SCENE) {	// scene can be NULL after deletions
 		Scene *sce= seq->scene;// *oldsce= scene;
-		Render *re;
 		int have_seq= FALSE;
 		int sce_valid= FALSE;
 
@@ -2137,6 +2136,7 @@
 			int frame= seq->sfra + se->nr + seq->anim_startofs;
 			int oldcfra = seq->scene->r.cfra;
 			Object *oldcamera= seq->scene->camera;
+			ListBase oldmarkers;
 
 			/* Hack! This function can be called from do_render_seq(), in that case
 			   the seq->scene can already have a Render initialized with same name,
@@ -2158,23 +2158,24 @@
 			scene->r.scemode &= ~R_DOSEQ;
 
 			seq->scene->r.cfra= frame;
+			if(seq->scene_camera)	seq->scene->camera= seq->scene_camera;
+			else					scene_camera_switch_update(seq->scene);
 
+#ifdef DURIAN_CAMERA_SWITCH
+			/* stooping to new low's in hackyness :( */
+			oldmarkers= seq->scene->markers;
+			seq->scene->markers.first= seq->scene->markers.last= NULL;
+#endif
+
 			if(sequencer_view3d_cb && (seq->flag & SEQ_USE_SCENE_OPENGL) && (seq->scene == scene || have_seq==0)) {
 				/* opengl offscreen render */
-				if(seq->scene_camera)	seq->scene->camera= seq->scene_camera;
-				else					scene_camera_switch_update(seq->scene);
-
 				scene_update_for_newframe(seq->scene, seq->scene->lay);
 				se->ibuf= sequencer_view3d_cb(seq->scene, seqrectx, seqrecty);
 			}
 			else {
+				Render *re;
 				RenderResult rres;
 
-#ifdef DURIAN_CAMERA_SWITCH
-				/* stooping to new low's in hackyness :( */
-				scene_marker_tfm_translate(seq->scene, MAXFRAME*2, 0);
-#endif
-
 				if(rendering)
 					re= RE_NewRender(" do_build_seq_ibuf", RE_SLOT_DEFAULT);
 				else
@@ -2199,11 +2200,6 @@
 				RE_ReleaseResultImage(re);
 
 				// BIF_end_render_callbacks();
-
-#ifdef DURIAN_CAMERA_SWITCH
-				/* stooping to new low's in hackyness :( */
-				scene_marker_tfm_translate(seq->scene, MAXFRAME*-2, 0);
-#endif
 			}
 			
 			/* restore */
@@ -2212,6 +2208,11 @@
 			seq->scene->r.cfra = oldcfra;
 			seq->scene->camera= oldcamera;
 
+#ifdef DURIAN_CAMERA_SWITCH
+			/* stooping to new low's in hackyness :( */
+			seq->scene->markers= oldmarkers;
+#endif
+
 			copy_to_ibuf_still(seq, se);
 
 			if (!build_proxy_run) {

Modified: trunk/blender/source/blender/makesrna/SConscript
===================================================================
--- trunk/blender/source/blender/makesrna/SConscript	2010-03-10 07:41:16 UTC (rev 27380)
+++ trunk/blender/source/blender/makesrna/SConscript	2010-03-10 08:17:18 UTC (rev 27381)
@@ -44,7 +44,7 @@
 
 if env['OURPLATFORM'] == 'linux2':
 	cflags='-pthread'
-    	incs += ' ../../../extern/binreloc/include'
+	incs += ' ../../../extern/binreloc/include'
 
 if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
 	incs += ' ' + env['BF_PTHREADS_INC']

Modified: trunk/blender/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
===================================================================
--- trunk/blender/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt	2010-03-10 07:41:16 UTC (rev 27380)
+++ trunk/blender/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt	2010-03-10 08:17:18 UTC (rev 27381)
@@ -38,6 +38,10 @@
 	../../../source/blender/makesrna  
 )
 
+IF(WITH_GAMEENGINE)
+	ADD_DEFINITIONS(-DGAMEBLENDER)
+ENDIF(WITH_GAMEENGINE)
+
 IF(WITH_INTERNATIONAL)
 	ADD_DEFINITIONS(-DWITH_FREETYPE2)
 ENDIF(WITH_INTERNATIONAL)

Modified: trunk/blender/source/blenderplayer/bad_level_call_stubs/SConscript
===================================================================
--- trunk/blender/source/blenderplayer/bad_level_call_stubs/SConscript	2010-03-10 07:41:16 UTC (rev 27380)
+++ trunk/blender/source/blenderplayer/bad_level_call_stubs/SConscript	2010-03-10 08:17:18 UTC (rev 27381)
@@ -10,4 +10,7 @@
 if env['WITH_BF_INTERNATIONAL']:
     defs += 'WITH_FREETYPE2'
 
+if env['WITH_BF_GAMEENGINE']:
+	defs.append('GAMEBLENDER=1')
+
 env.BlenderLib ('blenkernel_blc', sources = Split(sources), includes=Split(incs), defines=Split(defs), libtype=['player'],priority=[220] )

Modified: trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c
===================================================================
--- trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c	2010-03-10 07:41:16 UTC (rev 27380)
+++ trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c	2010-03-10 08:17:18 UTC (rev 27381)
@@ -28,6 +28,7 @@
  * BKE_bad_level_calls function stubs
  */
 
+#if GAMEBLENDER == 1
 #include <stdlib.h>
 #include "DNA_listBase.h"
 #include "RNA_types.h"
@@ -373,3 +374,5 @@
 	CSG_FaceIteratorDescriptor		obBFaces,
 	CSG_VertexIteratorDescriptor	obBVertices)
 	{ return 0;}
+
+#endif // GAMEBLENDER == 1





More information about the Bf-blender-cvs mailing list