[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21736] branches/blender2.5/blender: fix for recent stereo changes+tweaks

Dalai Felinto dfelinto at gmail.com
Tue Jul 21 00:36:56 CEST 2009


Revision: 21736
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21736
Author:   dfelinto
Date:     2009-07-21 00:36:56 +0200 (Tue, 21 Jul 2009)

Log Message:
-----------
fix for recent stereo changes+tweaks
(it's the 3rd commit in a row. But as they say, the 3rd is always a charm ;)

I still think we have a little mess with the DEFINE parameters in BGE (as in RAS_IRasterizer::StereoMode).
We used to have them duplicated and hardcoded in 2.4xx, but I think we can do it in another way now.

(I didn't change gameplayer, but I can do it once we have it linking and building properly)

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/space_logic.py
    branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_scene.c
    branches/blender2.5/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp

Modified: branches/blender2.5/blender/release/ui/space_logic.py
===================================================================
--- branches/blender2.5/blender/release/ui/space_logic.py	2009-07-20 21:31:32 UTC (rev 21735)
+++ branches/blender2.5/blender/release/ui/space_logic.py	2009-07-20 22:36:56 UTC (rev 21736)
@@ -95,16 +95,16 @@
 		if stereo_mode == 'STEREO':
 			col = layout.column(align=True)
 			row = col.row()
+			row.item_enumR(gs, "stereo_mode", "ANAGLYPH")
 			row.item_enumR(gs, "stereo_mode", "QUADBUFFERED")
-			row.item_enumR(gs, "stereo_mode", "ABOVEBELOW")
 			
 			row = col.row()
 			row.item_enumR(gs, "stereo_mode", "INTERLACED")
-			row.item_enumR(gs, "stereo_mode", "ANAGLYPH")
+			row.item_enumR(gs, "stereo_mode", "VINTERLACE")
 			
 			row = col.row()
 			row.item_enumR(gs, "stereo_mode", "SIDEBYSIDE")
-			row.item_enumR(gs, "stereo_mode", "VINTERLACE")
+			row.item_enumR(gs, "stereo_mode", "ABOVEBELOW")
 
 #			row = layout.column_flow()
 #			row.itemR(gs, "stereo_mode")

Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-07-20 21:31:32 UTC (rev 21735)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-07-20 22:36:56 UTC (rev 21736)
@@ -9214,6 +9214,7 @@
 	/* TODO: should be moved into one of the version blocks once this branch moves to trunk and we can
 	   bump the version (or sub-version.) */
 	{
+		World *wo;
 		Object *ob;
 		Material *ma;
 		Scene *sce;
@@ -9347,7 +9348,7 @@
 				sce->gm.stereomode = STEREO_ANAGLYPH;
 			}
 			else
-				sce->gm.stereoflag = STEREO_ENABLE;
+				sce->gm.stereoflag = STEREO_ENABLED;
 
 			//Framing
 			sce->gm.framing = sce->framing;
@@ -9357,16 +9358,17 @@
 			sce->gm.depth= sce->r.depth;
 
 			//Physic (previously stored in world)
-			if (0){
-//			if (sce->world){ // XXX I think we need to run lib_link_all() before do_version()
-				sce->gm.gravity = sce->world->gravity;
-				sce->gm.physicsEngine= sce->world->physicsEngine;
-				sce->gm.mode = sce->world->mode;
-				sce->gm.occlusionRes = sce->world->occlusionRes;
-				sce->gm.ticrate = sce->world->ticrate;
-				sce->gm.maxlogicstep = sce->world->maxlogicstep;
-				sce->gm.physubstep = sce->world->physubstep;
-				sce->gm.maxphystep = sce->world->maxphystep;
+			//temporarily getting the correct world address
+			wo = newlibadr(fd, sce->id.lib, sce->world);
+			if (wo){
+				sce->gm.gravity = wo->gravity;
+				sce->gm.physicsEngine= wo->physicsEngine;
+				sce->gm.mode = wo->mode;
+				sce->gm.occlusionRes = wo->occlusionRes;
+				sce->gm.ticrate = wo->ticrate;
+				sce->gm.maxlogicstep = wo->maxlogicstep;
+				sce->gm.physubstep = wo->physubstep;
+				sce->gm.maxphystep = wo->maxphystep;
 			}
 			else{
 				sce->gm.gravity =9.8f;

Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h	2009-07-20 21:31:32 UTC (rev 21735)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h	2009-07-20 22:36:56 UTC (rev 21736)
@@ -403,7 +403,7 @@
 	float pad12;
 } GameData;
 #define STEREO_NOSTEREO		1
-#define STEREO_ENABLE 		2
+#define STEREO_ENABLED 		2
 #define STEREO_DOME	 		3
 
 //#define STEREO_NOSTEREO		 1

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_scene.c	2009-07-20 21:31:32 UTC (rev 21735)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_scene.c	2009-07-20 22:36:56 UTC (rev 21736)
@@ -586,7 +586,7 @@
 		
  	static EnumPropertyItem stereo_items[] ={
 		{STEREO_NOSTEREO, "NO_STEREO", 0, "No Stereo", ""},
-		{STEREO_ENABLE, "STEREO", 0, "Stereo", ""},
+		{STEREO_ENABLED, "STEREO", 0, "Stereo", ""},
 		{STEREO_DOME, "DOME", 0, "Dome", ""},
 		{0, NULL, 0, NULL, NULL}};
 

Modified: branches/blender2.5/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
===================================================================
--- branches/blender2.5/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp	2009-07-20 21:31:32 UTC (rev 21735)
+++ branches/blender2.5/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp	2009-07-20 22:36:56 UTC (rev 21736)
@@ -332,8 +332,10 @@
 			ketsjiengine->SetGame2IpoMode(game2ipo,startFrame);
 			
 			// Quad buffered needs a special window.
-			if (blscene->gm.stereomode != RAS_IRasterizer::RAS_STEREO_QUADBUFFERED)
-				rasterizer->SetStereoMode((RAS_IRasterizer::StereoMode) blscene->gm.stereomode);
+			if(blscene->gm.stereoflag == STEREO_ENABLED){
+				if (blscene->gm.stereomode != RAS_IRasterizer::RAS_STEREO_QUADBUFFERED)
+					rasterizer->SetStereoMode((RAS_IRasterizer::StereoMode) blscene->gm.stereomode);
+			}
 		}
 		
 		if (exitrequested != KX_EXIT_REQUEST_QUIT_GAME)
@@ -672,8 +674,10 @@
 		}
 
 		// Quad buffered needs a special window.
-		if (blscene->gm.stereomode != RAS_IRasterizer::RAS_STEREO_QUADBUFFERED)
-			rasterizer->SetStereoMode((RAS_IRasterizer::StereoMode) blscene->gm.stereomode);
+		if(blscene->gm.stereoflag == STEREO_ENABLED){
+			if (blscene->gm.stereomode != RAS_IRasterizer::RAS_STEREO_QUADBUFFERED)
+				rasterizer->SetStereoMode((RAS_IRasterizer::StereoMode) blscene->gm.stereomode);
+		}
 
 		if (exitrequested != KX_EXIT_REQUEST_QUIT_GAME)
 		{





More information about the Bf-blender-cvs mailing list