Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-03-10 11:17:18 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-03-10 11:17:18 +0300
commit3d222c3de6a281b4e7165634eb6e01f8010ecbc2 (patch)
tree3a57ed012200f49f476962f798c947e1273835f1
parentb9211135ef9911678b776ed202f6ee4d0a73833b (diff)
- 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.
-rw-r--r--source/blender/blenkernel/intern/sequencer.c29
-rw-r--r--source/blender/makesrna/SConscript2
-rw-r--r--source/blenderplayer/bad_level_call_stubs/CMakeLists.txt4
-rw-r--r--source/blenderplayer/bad_level_call_stubs/SConscript3
-rw-r--r--source/blenderplayer/bad_level_call_stubs/stubs.c3
5 files changed, 26 insertions, 15 deletions
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index 601ead8654e..341d0a542e6 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -2107,7 +2107,6 @@ static void do_build_seq_ibuf(Scene *scene, Sequence * seq, TStripElem *se, int
}
} 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 @@ static void do_build_seq_ibuf(Scene *scene, Sequence * seq, TStripElem *se, int
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 @@ static void do_build_seq_ibuf(Scene *scene, Sequence * seq, TStripElem *se, int
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 @@ static void do_build_seq_ibuf(Scene *scene, Sequence * seq, TStripElem *se, int
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 @@ static void do_build_seq_ibuf(Scene *scene, Sequence * seq, TStripElem *se, int
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) {
diff --git a/source/blender/makesrna/SConscript b/source/blender/makesrna/SConscript
index f78f931b669..cf31fb8e0e5 100644
--- a/source/blender/makesrna/SConscript
+++ b/source/blender/makesrna/SConscript
@@ -44,7 +44,7 @@ if env['BF_UNIT_TEST']:
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']
diff --git a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
index a172ff71c11..9a53997fd66 100644
--- a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
+++ b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
@@ -38,6 +38,10 @@ SET(INC
../../../source/blender/makesrna
)
+IF(WITH_GAMEENGINE)
+ ADD_DEFINITIONS(-DGAMEBLENDER)
+ENDIF(WITH_GAMEENGINE)
+
IF(WITH_INTERNATIONAL)
ADD_DEFINITIONS(-DWITH_FREETYPE2)
ENDIF(WITH_INTERNATIONAL)
diff --git a/source/blenderplayer/bad_level_call_stubs/SConscript b/source/blenderplayer/bad_level_call_stubs/SConscript
index ab98e984cef..aafe4933b59 100644
--- a/source/blenderplayer/bad_level_call_stubs/SConscript
+++ b/source/blenderplayer/bad_level_call_stubs/SConscript
@@ -10,4 +10,7 @@ defs = ''
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] )
diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c
index 00c827bab94..dfdfec217aa 100644
--- a/source/blenderplayer/bad_level_call_stubs/stubs.c
+++ b/source/blenderplayer/bad_level_call_stubs/stubs.c
@@ -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 @@ int CSG_PerformBooleanOperation(
CSG_FaceIteratorDescriptor obBFaces,
CSG_VertexIteratorDescriptor obBVertices)
{ return 0;}
+
+#endif // GAMEBLENDER == 1