[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37416] branches/soc-2011-cucumber: Making the exit key UI element accept key presses instead of numbers.

Daniel Stokes kupomail at gmail.com
Sat Jun 11 21:10:55 CEST 2011


Revision: 37416
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37416
Author:   kupoman
Date:     2011-06-11 19:10:55 +0000 (Sat, 11 Jun 2011)
Log Message:
-----------
Making the exit key UI element accept key presses instead of numbers. It still does not work for the Blenderplayer, and it does not limit the input to key presses (other events don't work for exiting)

Modified Paths:
--------------
    branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_game.py
    branches/soc-2011-cucumber/source/blender/blenloader/intern/readfile.c
    branches/soc-2011-cucumber/source/blender/makesrna/intern/rna_scene.c
    branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.cpp

Modified: branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_game.py
===================================================================
--- branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_game.py	2011-06-11 18:30:39 UTC (rev 37415)
+++ branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_game.py	2011-06-11 19:10:55 UTC (rev 37416)
@@ -382,7 +382,8 @@
         row.prop(gs, "use_display_lists")
         
         row = layout.row()
-        row.prop(gs, "exitkey")
+        row.label("Exit Key")
+        row.prop(gs, "exit_key", text="", event=True)
 
 
 class RENDER_PT_game_display(RenderButtonsPanel, bpy.types.Panel):

Modified: branches/soc-2011-cucumber/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/soc-2011-cucumber/source/blender/blenloader/intern/readfile.c	2011-06-11 18:30:39 UTC (rev 37415)
+++ branches/soc-2011-cucumber/source/blender/blenloader/intern/readfile.c	2011-06-11 19:10:55 UTC (rev 37416)
@@ -11662,7 +11662,7 @@
 			/* Initialize BGE exit key to esc key */
 			Scene *scene;
 			for(scene= main->scene.first; scene; scene= scene->id.next) {
-				scene->gm.exitkey = 130;
+				scene->gm.exitkey = 218;
 			}
 		}
 	}

Modified: branches/soc-2011-cucumber/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- branches/soc-2011-cucumber/source/blender/makesrna/intern/rna_scene.c	2011-06-11 18:30:39 UTC (rev 37415)
+++ branches/soc-2011-cucumber/source/blender/makesrna/intern/rna_scene.c	2011-06-11 19:10:55 UTC (rev 37416)
@@ -974,6 +974,14 @@
 		G.fileflags &= ~G_FILE_AUTOPLAY;
 }
 
+static void rna_GameSettings_exit_key_set(PointerRNA *ptr, int value)
+{
+	Scene *scene = (Scene*)ptr->data;
+	
+	//printf("%d\n", scene->gm.exitkey);
+	if(ISKEYBOARD(value))
+		scene->gm.exitkey=value;
+}
 
 static TimeMarker *rna_TimeLine_add(Scene *scene, const char name[])
 {
@@ -1701,6 +1709,13 @@
 	RNA_def_property_range(prop, 0, 198);
 	RNA_def_property_ui_text(prop, "Exit Key", "The key used to exit the game engine");
 	RNA_def_property_update(prop, NC_SCENE, NULL);
+
+	prop= RNA_def_property(srna, "exit_key", PROP_ENUM, PROP_NONE);
+	RNA_def_property_enum_sdna(prop, NULL, "exitkey");
+	RNA_def_property_enum_items(prop, event_type_items);
+	//RNA_def_property_enum_funcs(prop, NULL, "rna_GameSettings_exit_key_set", NULL);
+	RNA_def_property_ui_text(prop, "Exit Key",  "Sets the key that exits the Game Engine");
+	RNA_def_property_update(prop, NC_SCENE, NULL);
 	
 	// Do we need it here ? (since we already have it in World
 	prop= RNA_def_property(srna, "frequency", PROP_INT, PROP_NONE);

Modified: branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
===================================================================
--- branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp	2011-06-11 18:30:39 UTC (rev 37415)
+++ branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp	2011-06-11 19:10:55 UTC (rev 37416)
@@ -211,7 +211,7 @@
 		
 		// create the inputdevices
 		KX_BlenderKeyboardDevice* keyboarddevice = new KX_BlenderKeyboardDevice();
-		keyboarddevice->SetExitKey((startscene->gm.exitkey) ? startscene->gm.exitkey : 130);
+		keyboarddevice->SetExitKey(startscene->gm.exitkey);
 
 		KX_BlenderMouseDevice* mousedevice = new KX_BlenderMouseDevice();
 		

Modified: branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.cpp
===================================================================
--- branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.cpp	2011-06-11 18:30:39 UTC (rev 37415)
+++ branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.cpp	2011-06-11 19:10:55 UTC (rev 37416)
@@ -171,5 +171,5 @@
 
 void KX_BlenderKeyboardDevice::SetExitKey(short key)
 {
-	m_exit_key = key;
+	m_exit_key = ToNative(key);
 }




More information about the Bf-blender-cvs mailing list