[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