[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34470] trunk/blender: BGE: option in the UI to start with the mouse cursor visible.
Dalai Felinto
dfelinto at gmail.com
Sun Jan 23 18:25:28 CET 2011
Revision: 34470
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34470
Author: dfelinto
Date: 2011-01-23 17:25:27 +0000 (Sun, 23 Jan 2011)
Log Message:
-----------
BGE: option in the UI to start with the mouse cursor visible. Patch by Vitor Balbio, changes by me.
----------------------------------
While we are more and more moving towards enabling features in the Python API, it's also important to have Logic Bricks working with no scripts.
This option allows you to start the game with the mouse cursor on (it's on Render Buttons). The defalt is still off (no do_version needed here).
Modified Paths:
--------------
trunk/blender/release/scripts/ui/properties_game.py
trunk/blender/source/blender/makesdna/DNA_scene_types.h
trunk/blender/source/blender/makesrna/intern/rna_scene.c
trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
trunk/blender/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
Modified: trunk/blender/release/scripts/ui/properties_game.py
===================================================================
--- trunk/blender/release/scripts/ui/properties_game.py 2011-01-23 17:17:21 UTC (rev 34469)
+++ trunk/blender/release/scripts/ui/properties_game.py 2011-01-23 17:25:27 UTC (rev 34470)
@@ -217,7 +217,9 @@
gs = context.scene.game_settings
- layout.prop(gs, "show_fullscreen")
+ row = layout.row()
+ row.prop(gs, "show_fullscreen")
+ row.prop(gs, "show_mouse")
split = layout.split()
Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h 2011-01-23 17:17:21 UTC (rev 34469)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h 2011-01-23 17:25:27 UTC (rev 34470)
@@ -492,6 +492,7 @@
#define GAME_GLSL_NO_EXTRA_TEX (1 << 11)
#define GAME_IGNORE_DEPRECATION_WARNINGS (1 << 12)
#define GAME_ENABLE_ANIMATION_RECORD (1 << 13)
+#define GAME_SHOW_MOUSE (1 << 14)
/* GameData.matmode */
#define GAME_MAT_TEXFACE 0
Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c 2011-01-23 17:17:21 UTC (rev 34469)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c 2011-01-23 17:25:27 UTC (rev 34470)
@@ -1811,6 +1811,10 @@
RNA_def_property_boolean_sdna(prop, NULL, "flag", GAME_SHOW_PHYSICS);
RNA_def_property_ui_text(prop, "Show Physics Visualization", "Show a visualization of physics bounds and interactions");
+ prop= RNA_def_property(srna, "show_mouse", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", GAME_SHOW_MOUSE);
+ RNA_def_property_ui_text(prop, "Show Mouse", "Start player with a visible mouse cursor");
+
prop= RNA_def_property(srna, "use_frame_rate", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", GAME_ENABLE_ALL_FRAMES);
RNA_def_property_ui_text(prop, "Use Frame Rate", "Respect the frame rate rather than rendering as many frames as possible");
Modified: trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
===================================================================
--- trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp 2011-01-23 17:17:21 UTC (rev 34469)
+++ trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp 2011-01-23 17:25:27 UTC (rev 34470)
@@ -176,11 +176,18 @@
bool nodepwarnings = (SYS_GetCommandLineInt(syshandle, "ignore_deprecation_warnings", 0) != 0);
#endif
bool novertexarrays = (SYS_GetCommandLineInt(syshandle, "novertexarrays", 0) != 0);
+ bool mouse_state = startscene->gm.flag & GAME_SHOW_MOUSE;
+
if(animation_record) usefixed= true; /* override since you's always want fixed time for sim recording */
// create the canvas, rasterizer and rendertools
RAS_ICanvas* canvas = new KX_BlenderCanvas(win, area_rect, ar);
- canvas->SetMouseState(RAS_ICanvas::MOUSE_INVISIBLE);
+
+ // default mouse state set on render panel
+ if (mouse_state)
+ canvas->SetMouseState(RAS_ICanvas::MOUSE_NORMAL);
+ else
+ canvas->SetMouseState(RAS_ICanvas::MOUSE_INVISIBLE);
RAS_IRenderTools* rendertools = new KX_BlenderRenderTools();
RAS_IRasterizer* rasterizer = NULL;
Modified: trunk/blender/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
===================================================================
--- trunk/blender/source/gameengine/GamePlayer/ghost/GPG_Application.cpp 2011-01-23 17:17:21 UTC (rev 34469)
+++ trunk/blender/source/gameengine/GamePlayer/ghost/GPG_Application.cpp 2011-01-23 17:25:27 UTC (rev 34470)
@@ -546,7 +546,10 @@
if (!m_canvas)
return false;
- m_canvas->Init();
+ m_canvas->Init();
+ if (gm->flag & GAME_SHOW_MOUSE)
+ m_canvas->SetMouseState(RAS_ICanvas::MOUSE_NORMAL);
+
m_rendertools = new GPC_RenderTools();
if (!m_rendertools)
goto initFailed;
More information about the Bf-blender-cvs
mailing list