Revision: 37059
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37059
Author:   kupoman
Date:     2011-06-01 02:11:39 +0000 (Wed, 01 Jun 2011)
Log Message:
-----------
==UI==
* Added the option to change the exit key for the BGE. The UI currently just 
sets a number, and this feature most likely does not work for blenderplayer 
yet. More work on this to come.
* Removed the physics settings from the scene panel for the BGE.
* Added an Add menu in the logic brick header.

Modified Paths:
--------------
    branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_game.py
    branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_scene.py
    branches/soc-2011-cucumber/release/scripts/startup/bl_ui/space_logic.py
    branches/soc-2011-cucumber/source/blender/blenloader/intern/readfile.c
    branches/soc-2011-cucumber/source/blender/makesdna/DNA_scene_types.h
    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
    
branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.h

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-05-31 20:31:17 UTC (rev 37058)
+++ branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_game.py 
2011-06-01 02:11:39 UTC (rev 37059)
@@ -369,8 +369,8 @@
             col.prop(gs, "use_glsl_extra_textures", text="Extra Textures")
 
 
-class RENDER_PT_game_performance(RenderButtonsPanel, bpy.types.Panel):
-    bl_label = "Performance"
+class RENDER_PT_game_system(RenderButtonsPanel, bpy.types.Panel):
+    bl_label = "System"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
     def draw(self, context):
@@ -380,6 +380,9 @@
         row = layout.row()
         row.prop(gs, "use_frame_rate")
         row.prop(gs, "use_display_lists")
+        
+        row = layout.row()
+        row.prop(gs, "exitkey")
 
 
 class RENDER_PT_game_display(RenderButtonsPanel, bpy.types.Panel):

Modified: 
branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_scene.py
===================================================================
--- 
branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_scene.py    
    2011-05-31 20:31:17 UTC (rev 37058)
+++ 
branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_scene.py    
    2011-06-01 02:11:39 UTC (rev 37059)
@@ -28,12 +28,12 @@
 
     @classmethod
     def poll(cls, context):
-        return context.scene
+        rd = context.scene.render
+        return context.scene and (rd.engine in cls.COMPAT_ENGINES)
 
 
 class SCENE_PT_scene(SceneButtonsPanel, bpy.types.Panel):
     bl_label = "Scene"
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     def draw(self, context):
         layout = self.layout
@@ -45,7 +45,6 @@
 
 class SCENE_PT_unit(SceneButtonsPanel, bpy.types.Panel):
     bl_label = "Units"
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     def draw(self, context):
         layout = self.layout
@@ -163,7 +162,6 @@
 
 class SCENE_PT_simplify(SceneButtonsPanel, bpy.types.Panel):
     bl_label = "Simplify"
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     def draw_header(self, context):
         scene = context.scene

Modified: 
branches/soc-2011-cucumber/release/scripts/startup/bl_ui/space_logic.py
===================================================================
--- branches/soc-2011-cucumber/release/scripts/startup/bl_ui/space_logic.py     
2011-05-31 20:31:17 UTC (rev 37058)
+++ branches/soc-2011-cucumber/release/scripts/startup/bl_ui/space_logic.py     
2011-06-01 02:11:39 UTC (rev 37059)
@@ -72,8 +72,7 @@
         if context.area.show_menus:
             sub = row.row(align=True)
             sub.menu("LOGIC_MT_view")
-            #sub.menu("LOGIC_MT_select")
-            #sub.menu("LOGIC_MT_add")
+            sub.menu("LOGIC_MT_logicbricks_add")
 
 
 class LOGIC_MT_view(bpy.types.Menu):

Modified: branches/soc-2011-cucumber/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/soc-2011-cucumber/source/blender/blenloader/intern/readfile.c      
2011-05-31 20:31:17 UTC (rev 37058)
+++ branches/soc-2011-cucumber/source/blender/blenloader/intern/readfile.c      
2011-06-01 02:11:39 UTC (rev 37059)
@@ -11658,6 +11658,13 @@
                                }
                        }
                }
+               {
+                       /* Initialize BGE exit key to esc key */
+                       Scene *scene;
+                       for(scene= main->scene.first; scene; scene= 
scene->id.next) {
+                               scene->gm.exitkey = 130;
+                       }
+               }
        }
        
        /* WATCH IT!!!: pointers from libdata have not been converted yet here! 
*/

Modified: branches/soc-2011-cucumber/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- branches/soc-2011-cucumber/source/blender/makesdna/DNA_scene_types.h        
2011-05-31 20:31:17 UTC (rev 37058)
+++ branches/soc-2011-cucumber/source/blender/makesdna/DNA_scene_types.h        
2011-06-01 02:11:39 UTC (rev 37059)
@@ -445,10 +445,11 @@
         * bit 3: (gameengine): Activity culling is enabled.
         * bit 5: (gameengine) : enable Bullet DBVT tree for view frustrum 
culling
        */
-       short mode, flag, matmode, pad[3];
+       short mode, flag, matmode, pad[2];
        short occlusionRes;             /* resolution of occlusion Z buffer in 
pixel */
        short physicsEngine;
        short ticrate, maxlogicstep, physubstep, maxphystep;
+       short exitkey;
 
        /*  standalone player */
        struct GameFraming framing;

Modified: branches/soc-2011-cucumber/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- branches/soc-2011-cucumber/source/blender/makesrna/intern/rna_scene.c       
2011-05-31 20:31:17 UTC (rev 37058)
+++ branches/soc-2011-cucumber/source/blender/makesrna/intern/rna_scene.c       
2011-06-01 02:11:39 UTC (rev 37059)
@@ -1695,6 +1695,12 @@
        RNA_def_property_range(prop, 8, 32);
        RNA_def_property_ui_text(prop, "Bits", "Displays bit depth of full 
screen display");
        RNA_def_property_update(prop, NC_SCENE, NULL);
+
+       prop= RNA_def_property(srna, "exitkey", PROP_INT, PROP_UNSIGNED);
+       RNA_def_property_int_sdna(prop, NULL, "exitkey");
+       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);
        
        // 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-05-31 20:31:17 UTC (rev 37058)
+++ 
branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
        2011-06-01 02:11:39 UTC (rev 37059)
@@ -211,6 +211,8 @@
                
                // create the inputdevices
                KX_BlenderKeyboardDevice* keyboarddevice = new 
KX_BlenderKeyboardDevice();
+               keyboarddevice->SetExitKey((startscene->gm.exitkey) ? 
startscene->gm.exitkey : 130);
+
                KX_BlenderMouseDevice* mousedevice = new 
KX_BlenderMouseDevice();
                
                // create a networkdevice

Modified: 
branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.cpp
===================================================================
--- 
branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.cpp
   2011-05-31 20:31:17 UTC (rev 37058)
+++ 
branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.cpp
   2011-06-01 02:11:39 UTC (rev 37059)
@@ -41,7 +41,7 @@
 KX_BlenderKeyboardDevice::KX_BlenderKeyboardDevice()
        : m_hookesc(false)
 {
-
+       m_exit_key = 130;
 }
 KX_BlenderKeyboardDevice::~KX_BlenderKeyboardDevice()
 {
@@ -107,7 +107,7 @@
 
                if (val == KM_PRESS)
                {
-                       if (kxevent == KX_ESCKEY && val != 0 && !m_hookesc)
+                       if (kxevent == m_exit_key && val != 0 && !m_hookesc)
                                result = true;
                        if (kxevent == KX_PAUSEKEY && val && 
(IsPressed(KX_LEFTCTRLKEY) || IsPressed(KX_RIGHTCTRLKEY)))
                                result = true;
@@ -168,3 +168,8 @@
 {
        m_hookesc = true;
 }
+
+void KX_BlenderKeyboardDevice::SetExitKey(short key)
+{
+       m_exit_key = key;
+}

Modified: 
branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.h
===================================================================
--- 
branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.h
     2011-05-31 20:31:17 UTC (rev 37058)
+++ 
branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.h
     2011-06-01 02:11:39 UTC (rev 37059)
@@ -53,7 +53,13 @@
        virtual void    NextFrame();
        virtual void    HookEscape();
 
+       void                    SetExitKey(short key);
 
+       //virtual void  SetExitKey(short key);
+private:
+       short           m_exit_key;
+
+
 #ifdef WITH_CXX_GUARDEDALLOC
 public:
        void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, 
"GE:KX_BlenderKeyboardDevice"); }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to