[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19630] trunk/blender/source/gameengine: BGE Bugfix

Campbell Barton ideasman42 at gmail.com
Fri Apr 10 00:15:26 CEST 2009


Revision: 19630
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19630
Author:   campbellbarton
Date:     2009-04-10 00:15:26 +0200 (Fri, 10 Apr 2009)

Log Message:
-----------
BGE Bugfix
The End key didn't work work at all for the keyboard sensor.
Removed getEventList() since it was added since 2.48a release.

Modified Paths:
--------------
    trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.cpp
    trunk/blender/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp
    trunk/blender/source/gameengine/GamePlayer/common/GPC_KeyboardDevice.cpp
    trunk/blender/source/gameengine/PyDoc/SCA_KeyboardSensor.py

Modified: trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.cpp
===================================================================
--- trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.cpp	2009-04-09 21:15:44 UTC (rev 19629)
+++ trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.cpp	2009-04-09 22:15:26 UTC (rev 19630)
@@ -74,7 +74,7 @@
 	
 	// now convert justpressed keyevents into regular (active) keyevents
 	int previousTable = 1-m_currentTable;
-	for (int keyevent= KX_BEGINKEY; keyevent< KX_ENDKEY;keyevent++)
+	for (int keyevent= KX_BEGINKEY; keyevent<= KX_ENDKEY;keyevent++)
 	{
 		SCA_InputEvent& oldevent = m_eventStatusTables[previousTable][keyevent];
 		if (oldevent.m_status == SCA_InputEvent::KX_JUSTACTIVATED ||
@@ -100,7 +100,7 @@
 	KX_EnumInputs kxevent = this->ToNative(incode);
 
 	// only process it, if it's a key
-	if (kxevent >= KX_BEGINKEY && kxevent < KX_ENDKEY)
+	if (kxevent >= KX_BEGINKEY && kxevent <= KX_ENDKEY)
 	{
 		int previousTable = 1-m_currentTable;
 

Modified: trunk/blender/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp
===================================================================
--- trunk/blender/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp	2009-04-09 21:15:44 UTC (rev 19629)
+++ trunk/blender/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp	2009-04-09 22:15:26 UTC (rev 19630)
@@ -148,7 +148,7 @@
 		bool justreleased = false;
 		bool active = false;
 
-		for (int i=SCA_IInputDevice::KX_BEGINKEY ; i< SCA_IInputDevice::KX_ENDKEY;i++)
+		for (int i=SCA_IInputDevice::KX_BEGINKEY ; i<= SCA_IInputDevice::KX_ENDKEY;i++)
 		{
 			const SCA_InputEvent & inevent = inputdev->GetEventValue((SCA_IInputDevice::KX_EnumInputs) i);
 			switch (inevent.m_status) 
@@ -387,7 +387,7 @@
 		int index = 0;
 		/* Check on all keys whether they were pushed. This does not
          * untangle the ordering, so don't type too fast :) */
-		for (int i=SCA_IInputDevice::KX_BEGINKEY ; i< SCA_IInputDevice::KX_ENDKEY;i++)
+		for (int i=SCA_IInputDevice::KX_BEGINKEY ; i<= SCA_IInputDevice::KX_ENDKEY;i++)
 		{
 			const SCA_InputEvent & inevent = inputdev->GetEventValue((SCA_IInputDevice::KX_EnumInputs) i);
 			if (inevent.m_status == SCA_InputEvent::KX_JUSTACTIVATED) //NO_INPUTSTATUS)
@@ -522,7 +522,7 @@
 		
 		int index = 0;
 		
-		for (int i=SCA_IInputDevice::KX_BEGINKEY ; i< SCA_IInputDevice::KX_ENDKEY;i++)
+		for (int i=SCA_IInputDevice::KX_BEGINKEY ; i<= SCA_IInputDevice::KX_ENDKEY;i++)
 		{
 			const SCA_InputEvent & inevent = inputdev->GetEventValue((SCA_IInputDevice::KX_EnumInputs) i);
 			if ((inevent.m_status == SCA_InputEvent::KX_JUSTACTIVATED)
@@ -562,7 +562,7 @@
 	{
 		int index = 0;
 		
-		for (int i=SCA_IInputDevice::KX_BEGINKEY ; i< SCA_IInputDevice::KX_ENDKEY;i++)
+		for (int i=SCA_IInputDevice::KX_BEGINKEY ; i<= SCA_IInputDevice::KX_ENDKEY;i++)
 		{
 			const SCA_InputEvent & inevent = inputdev->GetEventValue((SCA_IInputDevice::KX_EnumInputs) i);
 			if ( (inevent.m_status == SCA_InputEvent::KX_ACTIVE)
@@ -583,30 +583,6 @@
 	return resultlist;
 }
 
-
-KX_PYMETHODDEF_DOC_NOARGS(SCA_KeyboardSensor, getEventList,
-"getEventList()\n"
-"\tGet the list of the keyboard events in this frame.\n")
-{
-	ShowDeprecationWarning("getEventList()", "events");
-	
-	SCA_IInputDevice* inputdev = m_pKeyboardMgr->GetInputDevice();
-
-	PyObject* resultlist = PyList_New(0);
-	
-	for (int i=SCA_IInputDevice::KX_BEGINKEY ; i< SCA_IInputDevice::KX_ENDKEY;i++)
-	{
-		const SCA_InputEvent & inevent = inputdev->GetEventValue((SCA_IInputDevice::KX_EnumInputs) i);
-		if (inevent.m_status != SCA_InputEvent::KX_NO_INPUTSTATUS)
-		{
-			PyObject* keypair = PyList_New(2);
-			PyList_SET_ITEM(keypair,0,PyInt_FromLong(i));
-			PyList_SetItem(keypair,1,PyInt_FromLong(inevent.m_status));
-			PyList_Append(resultlist,keypair);
-		}
-	}	
-	return resultlist;
-}
 //<---- Deprecated
 
 KX_PYMETHODDEF_DOC_O(SCA_KeyboardSensor, getKeyStatus,
@@ -673,7 +649,6 @@
 	{"getPressedKeys", (PyCFunction) SCA_KeyboardSensor::sPyGetPressedKeys, METH_VARARGS, (PY_METHODCHAR)GetPressedKeys_doc},
 	{"getCurrentlyPressedKeys", (PyCFunction) SCA_KeyboardSensor::sPyGetCurrentlyPressedKeys, METH_VARARGS, (PY_METHODCHAR)GetCurrentlyPressedKeys_doc},
 	//<----- Deprecated
-	KX_PYMETHODTABLE_NOARGS(SCA_KeyboardSensor, getEventList),
 	KX_PYMETHODTABLE_O(SCA_KeyboardSensor, getKeyStatus),
 	{NULL,NULL} //Sentinel
 };
@@ -709,7 +684,7 @@
 
 	PyObject* resultlist = PyList_New(0);
 	
-	for (int i=SCA_IInputDevice::KX_BEGINKEY ; i< SCA_IInputDevice::KX_ENDKEY;i++)
+	for (int i=SCA_IInputDevice::KX_BEGINKEY ; i<= SCA_IInputDevice::KX_ENDKEY;i++)
 	{
 		const SCA_InputEvent & inevent = inputdev->GetEventValue((SCA_IInputDevice::KX_EnumInputs) i);
 		if (inevent.m_status != SCA_InputEvent::KX_NO_INPUTSTATUS)

Modified: trunk/blender/source/gameengine/GamePlayer/common/GPC_KeyboardDevice.cpp
===================================================================
--- trunk/blender/source/gameengine/GamePlayer/common/GPC_KeyboardDevice.cpp	2009-04-09 21:15:44 UTC (rev 19629)
+++ trunk/blender/source/gameengine/GamePlayer/common/GPC_KeyboardDevice.cpp	2009-04-09 22:15:26 UTC (rev 19630)
@@ -42,7 +42,7 @@
 
 	// Now convert justpressed key events into regular (active) keyevents
 	int previousTable = 1-m_currentTable;
-	for (int keyevent= KX_BEGINKEY; keyevent< KX_ENDKEY;keyevent++)
+	for (int keyevent= KX_BEGINKEY; keyevent<= KX_ENDKEY;keyevent++)
 	{
 		SCA_InputEvent& oldevent = m_eventStatusTables[previousTable][keyevent];
 		if (oldevent.m_status == SCA_InputEvent::KX_JUSTACTIVATED ||
@@ -69,7 +69,7 @@
 	KX_EnumInputs kxevent = this->ToNative(incode);
 
 	// only process it, if it's a key
-	if (kxevent >= KX_BEGINKEY && kxevent < KX_ENDKEY)
+	if (kxevent >= KX_BEGINKEY && kxevent <= KX_ENDKEY)
 	{
 		int previousTable = 1-m_currentTable;
 
@@ -114,9 +114,7 @@
 				}
 			}
 		}
-	} else if(kxevent==KX_ENDKEY) {
-		exit(1);
-	}	
+	}
 	return result;
 }
 

Modified: trunk/blender/source/gameengine/PyDoc/SCA_KeyboardSensor.py
===================================================================
--- trunk/blender/source/gameengine/PyDoc/SCA_KeyboardSensor.py	2009-04-09 21:15:44 UTC (rev 19629)
+++ trunk/blender/source/gameengine/PyDoc/SCA_KeyboardSensor.py	2009-04-09 22:15:26 UTC (rev 19630)
@@ -31,15 +31,6 @@
 			
 	@type events: list [[keycode, status], ...]
 	"""
-	def getEventList():
-		"""
-		Get a list of pressed keys that have either been pressed, or just released, or are active this frame.
-		
-		B{DEPRECATED: Use the "events" property instead}.
-		
-		@rtype: list of key status. [[keycode, status]]
-		@return: A list of keyboard events
-		"""
 	
 	def getKeyStatus(keycode):
 		"""





More information about the Bf-blender-cvs mailing list