[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22602] branches/blender2.5/blender: 2.5: Game Engine

Brecht Van Lommel brecht at blender.org
Tue Aug 18 17:27:48 CEST 2009


Revision: 22602
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22602
Author:   blendix
Date:     2009-08-18 17:27:48 +0200 (Tue, 18 Aug 2009)

Log Message:
-----------
2.5: Game Engine

* Added Shading and Performance panels in the scene buttons,
  containing the options previously in the 2.4x game menu.
* Added show framerate/debug/physics/warnings back in game menu.
* Moved these settings from G.fileflags to scene GameData.
* Enabled Display Lists by default.
* Some other small game scene button tweaks.

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/buttons_game.py
    branches/blender2.5/blender/release/ui/space_info.py
    branches/blender2.5/blender/source/blender/blenkernel/BKE_blender.h
    branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
    branches/blender2.5/blender/source/blender/blenkernel/intern/scene.c
    branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
    branches/blender2.5/blender/source/blender/blenloader/intern/readfile.h
    branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c
    branches/blender2.5/blender/source/blender/gpu/intern/gpu_material.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
    branches/blender2.5/blender/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_PythonInit.cpp

Modified: branches/blender2.5/blender/release/ui/buttons_game.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_game.py	2009-08-18 15:20:29 UTC (rev 22601)
+++ branches/blender2.5/blender/release/ui/buttons_game.py	2009-08-18 15:27:48 UTC (rev 22602)
@@ -192,7 +192,7 @@
 		row.itemL()
 
 class SCENE_PT_game_player(SceneButtonsPanel):
-	__label__ = "Player"
+	__label__ = "Standalone Player"
 
 	def draw(self, context):
 		layout = self.layout
@@ -219,8 +219,8 @@
 		col = layout.column()
 		col.itemL(text="Framing:")
 		col.row().itemR(gs, "framing_type", expand=True)
-		sub = col.column()
-		sub.itemR(gs, "framing_color", text="")
+		if gs.framing_type == 'LETTERBOX':
+			col.itemR(gs, "framing_color", text="")
 
 class SCENE_PT_game_stereo(SceneButtonsPanel):
 	__label__ = "Stereo"
@@ -271,9 +271,55 @@
 		
 			layout.itemR(gs, "dome_text")
 
+class SCENE_PT_game_shading(SceneButtonsPanel):
+	__label__ = "Shading"
+
+	def draw(self, context):
+		layout = self.layout
+		
+		gs = context.scene.game_data
+		layout.itemR(gs, "material_mode", expand=True)
+ 
+		if gs.material_mode == 'GLSL':
+			split = layout.split()
+
+			col = split.column()
+			col.itemR(gs, "glsl_lights", text="Lights")
+			col.itemR(gs, "glsl_shaders", text="Shaders")
+			col.itemR(gs, "glsl_shadows", text="Shadows")
+
+			col = split.column()
+			col.itemR(gs, "glsl_ramps", text="Ramps")
+			col.itemR(gs, "glsl_nodes", text="Nodes")
+			col.itemR(gs, "glsl_extra_textures", text="Extra Textures")
+
+class SCENE_PT_game_performance(SceneButtonsPanel):
+	__label__ = "Performance"
+
+	def draw(self, context):
+		layout = self.layout
+		
+		gs = context.scene.game_data
+
+		split = layout.split()
+
+		col = split.column()
+		col.itemL(text="Show:")
+		col.itemR(gs, "show_debug_properties", text="Debug Properties")
+		col.itemR(gs, "show_framerate_profile", text="Framerate and Profile")
+		col.itemR(gs, "show_physics_visualization", text="Physics Visualization")
+		col.itemR(gs, "deprecation_warnings")
+ 
+		col = split.column()
+		col.itemL(text="Render:")
+		col.itemR(gs, "all_frames")
+		col.itemR(gs, "display_lists")
+
 bpy.types.register(SCENE_PT_game)
 bpy.types.register(SCENE_PT_game_player)
 bpy.types.register(SCENE_PT_game_stereo)
+bpy.types.register(SCENE_PT_game_shading)
+bpy.types.register(SCENE_PT_game_performance)
 
 class WorldButtonsPanel(bpy.types.Panel):
 	__space_type__ = "PROPERTIES"

Modified: branches/blender2.5/blender/release/ui/space_info.py
===================================================================
--- branches/blender2.5/blender/release/ui/space_info.py	2009-08-18 15:20:29 UTC (rev 22601)
+++ branches/blender2.5/blender/release/ui/space_info.py	2009-08-18 15:27:48 UTC (rev 22602)
@@ -135,8 +135,17 @@
 	def draw(self, context):
 		layout = self.layout
 
+		gs = context.scene.game_data
+
 		layout.itemO("view3d.game_start")
 
+		layout.itemS()
+
+		layout.itemR(gs, "show_debug_properties")
+		layout.itemR(gs, "show_framerate_profile")
+		layout.itemR(gs, "show_physics_visualization")
+		layout.itemR(gs, "deprecation_warnings")
+
 class INFO_MT_render(bpy.types.Menu):
 	__space_type__ = "INFO"
 	__label__ = "Render"

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_blender.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_blender.h	2009-08-18 15:20:29 UTC (rev 22601)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_blender.h	2009-08-18 15:27:48 UTC (rev 22602)
@@ -43,7 +43,7 @@
 struct ReportList;
 
 #define BLENDER_VERSION			250
-#define BLENDER_SUBVERSION		1
+#define BLENDER_SUBVERSION		2
 
 #define BLENDER_MINVERSION		250
 #define BLENDER_MINSUBVERSION	0

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h	2009-08-18 15:20:29 UTC (rev 22601)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h	2009-08-18 15:27:48 UTC (rev 22602)
@@ -126,26 +126,26 @@
 #define G_AUTOPACK               (1 << 0)
 #define G_FILE_COMPRESS          (1 << 1)
 #define G_FILE_AUTOPLAY          (1 << 2)
-#define G_FILE_ENABLE_ALL_FRAMES (1 << 3)
-#define G_FILE_SHOW_DEBUG_PROPS  (1 << 4)
-#define G_FILE_SHOW_FRAMERATE    (1 << 5)
-#define G_FILE_SHOW_PROFILE      (1 << 6)
+#define G_FILE_ENABLE_ALL_FRAMES (1 << 3)				/* deprecated */
+#define G_FILE_SHOW_DEBUG_PROPS  (1 << 4)				/* deprecated */
+#define G_FILE_SHOW_FRAMERATE    (1 << 5)				/* deprecated */
+#define G_FILE_SHOW_PROFILE      (1 << 6)				/* deprecated */
 #define G_FILE_LOCK              (1 << 7)
 #define G_FILE_SIGN              (1 << 8)
 #define G_FIle_PUBLISH			 (1 << 9)
 #define G_FILE_NO_UI			 (1 << 10)
-#define G_FILE_GAME_TO_IPO		 (1 << 11)
-#define G_FILE_GAME_MAT			 (1 << 12)
-#define G_FILE_DISPLAY_LISTS	 (1 << 13)
-#define G_FILE_SHOW_PHYSICS		 (1 << 14)
-#define G_FILE_GAME_MAT_GLSL	 (1 << 15)
-#define G_FILE_GLSL_NO_LIGHTS	 (1 << 16)
-#define G_FILE_GLSL_NO_SHADERS	 (1 << 17)
-#define G_FILE_GLSL_NO_SHADOWS	 (1 << 18)
-#define G_FILE_GLSL_NO_RAMPS	 (1 << 19)
-#define G_FILE_GLSL_NO_NODES	 (1 << 20)
-#define G_FILE_GLSL_NO_EXTRA_TEX (1 << 21)
-#define G_FILE_IGNORE_DEPRECATION_WARNINGS	(1 << 22)
+#define G_FILE_GAME_TO_IPO		 (1 << 11)				/* deprecated */
+#define G_FILE_GAME_MAT			 (1 << 12)				/* deprecated */
+#define G_FILE_DISPLAY_LISTS	 (1 << 13)				/* deprecated */
+#define G_FILE_SHOW_PHYSICS		 (1 << 14)				/* deprecated */
+#define G_FILE_GAME_MAT_GLSL	 (1 << 15)				/* deprecated */
+#define G_FILE_GLSL_NO_LIGHTS	 (1 << 16)				/* deprecated */
+#define G_FILE_GLSL_NO_SHADERS	 (1 << 17)				/* deprecated */
+#define G_FILE_GLSL_NO_SHADOWS	 (1 << 18)				/* deprecated */
+#define G_FILE_GLSL_NO_RAMPS	 (1 << 19)				/* deprecated */
+#define G_FILE_GLSL_NO_NODES	 (1 << 20)				/* deprecated */
+#define G_FILE_GLSL_NO_EXTRA_TEX (1 << 21)				/* deprecated */
+#define G_FILE_IGNORE_DEPRECATION_WARNINGS	(1 << 22)	/* deprecated */
 
 /* G.windowstate */
 #define G_WINDOWSTATE_USERDEF		0

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/scene.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/scene.c	2009-08-18 15:20:29 UTC (rev 22601)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/scene.c	2009-08-18 15:27:48 UTC (rev 22602)
@@ -442,6 +442,9 @@
 	sce->gm.physubstep = 1;
 	sce->gm.maxphystep = 5;
 
+	sce->gm.flag = GAME_DISPLAY_LISTS;
+	sce->gm.matmode = GAME_MAT_MULTITEX;
+
 	return sce;
 }
 

Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-08-18 15:20:29 UTC (rev 22601)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-08-18 15:27:48 UTC (rev 22602)
@@ -5345,6 +5345,9 @@
 	bfd->curscene= fg->curscene;
 	
 	MEM_freeN(fg);
+
+	fd->globalf= bfd->globalf;
+	fd->fileflags= bfd->fileflags;
 	
 	return blo_nextbhead(fd, bhead);
 }
@@ -9560,6 +9563,42 @@
 		}
 	}
 
+	if (main->versionfile < 250 || (main->versionfile == 250 && main->subversionfile < 2)) {
+		Scene *sce;
+
+		for(sce = main->scene.first; sce; sce = sce->id.next) {
+			if(fd->fileflags & G_FILE_ENABLE_ALL_FRAMES)
+				sce->gm.flag |= GAME_ENABLE_ALL_FRAMES;
+			if(fd->fileflags & G_FILE_SHOW_DEBUG_PROPS)
+				sce->gm.flag |= GAME_SHOW_DEBUG_PROPS;
+			if(fd->fileflags & G_FILE_SHOW_FRAMERATE)
+				sce->gm.flag |= GAME_SHOW_FRAMERATE;
+			if(fd->fileflags & G_FILE_SHOW_PHYSICS)
+				sce->gm.flag |= GAME_SHOW_PHYSICS;
+			if(fd->fileflags & G_FILE_GLSL_NO_SHADOWS)
+				sce->gm.flag |= GAME_GLSL_NO_SHADOWS;
+			if(fd->fileflags & G_FILE_GLSL_NO_SHADERS)
+				sce->gm.flag |= GAME_GLSL_NO_SHADERS;
+			if(fd->fileflags & G_FILE_GLSL_NO_RAMPS)
+				sce->gm.flag |= GAME_GLSL_NO_RAMPS;
+			if(fd->fileflags & G_FILE_GLSL_NO_NODES)
+				sce->gm.flag |= GAME_GLSL_NO_NODES;
+			if(fd->fileflags & G_FILE_GLSL_NO_EXTRA_TEX)
+				sce->gm.flag |= GAME_GLSL_NO_EXTRA_TEX;
+			if(fd->fileflags & G_FILE_IGNORE_DEPRECATION_WARNINGS)
+				sce->gm.flag |= GAME_IGNORE_DEPRECATION_WARNINGS;
+
+			if(fd->fileflags & G_FILE_GAME_MAT_GLSL)
+				sce->gm.matmode= GAME_MAT_GLSL;
+			else if(fd->fileflags & G_FILE_GAME_MAT)
+				sce->gm.matmode= GAME_MAT_MULTITEX;
+			else
+				sce->gm.matmode= GAME_MAT_TEXFACE;
+
+			sce->gm.flag |= GAME_DISPLAY_LISTS;
+		}
+	}
+
 	/* put 2.50 compatibility code here until next subversion bump */
 	{
 	}

Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.h	2009-08-18 15:20:29 UTC (rev 22601)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.h	2009-08-18 15:27:48 UTC (rev 22602)
@@ -69,6 +69,7 @@
 	
 	int fileversion;
 	int id_name_offs;		/* used to retrieve ID names from (bhead+1) */
+	int globalf, fileflags;	/* for do_versions patching */
 	
 	struct OldNewMap *datamap;
 	struct OldNewMap *globmap;

Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c	2009-08-18 15:20:29 UTC (rev 22601)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c	2009-08-18 15:27:48 UTC (rev 22602)
@@ -216,8 +216,7 @@
 	if(ob==OBACT && (ob && ob->mode & OB_MODE_WEIGHT_PAINT))
 		return 0;
 	
-	return ((G.fileflags & G_FILE_GAME_MAT) &&
-	   (G.fileflags & G_FILE_GAME_MAT_GLSL) && (dt >= OB_SHADED));
+	return (scene->gm.matmode == GAME_MAT_GLSL) && (dt >= OB_SHADED);
 }
 
 static int check_material_alpha(Base *base, Mesh *me, int glsl)

Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c	2009-08-18 15:20:29 UTC (rev 22601)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c	2009-08-18 15:27:48 UTC (rev 22602)

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list