[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21229] branches/blender2.5/blender/source /gameengine: BGE Py API using python3 c/api calls.

Campbell Barton ideasman42 at gmail.com
Mon Jun 29 04:25:55 CEST 2009


Revision: 21229
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21229
Author:   campbellbarton
Date:     2009-06-29 04:25:54 +0200 (Mon, 29 Jun 2009)

Log Message:
-----------
BGE Py API using python3 c/api calls. include bpy_compat.h to support py2.x

Modified Paths:
--------------
    branches/blender2.5/blender/source/gameengine/Converter/BL_ActionActuator.cpp
    branches/blender2.5/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp
    branches/blender2.5/blender/source/gameengine/Expressions/BoolValue.cpp
    branches/blender2.5/blender/source/gameengine/Expressions/IntValue.cpp
    branches/blender2.5/blender/source/gameengine/Expressions/ListValue.cpp
    branches/blender2.5/blender/source/gameengine/Expressions/PyObjectPlus.cpp
    branches/blender2.5/blender/source/gameengine/Expressions/PyObjectPlus.h
    branches/blender2.5/blender/source/gameengine/Expressions/StringValue.h
    branches/blender2.5/blender/source/gameengine/Expressions/Value.cpp
    branches/blender2.5/blender/source/gameengine/Expressions/Value.h
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_ActuatorSensor.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_DelaySensor.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_IController.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_ILogicBrick.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_ISensor.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_JoystickSensor.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_MouseSensor.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_PropertyActuator.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_PropertySensor.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_PythonController.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_RandomActuator.cpp
    branches/blender2.5/blender/source/gameengine/GameLogic/SCA_RandomSensor.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/BL_Shader.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/BL_Shader.h
    branches/blender2.5/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_BlenderMaterial.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_BlenderMaterial.h
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_CDActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_Camera.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_CameraActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_ConstraintActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_ConstraintWrapper.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_GameActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_GameObject.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_GameObject.h
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_IpoActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_Light.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_ObjectActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_ParentActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_PolyProxy.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_PolygonMaterial.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_PolygonMaterial.h
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_PythonSeq.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_SCA_DynamicActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_Scene.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_Scene.h
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_SceneActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_SoundActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_TouchSensor.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_TrackToActuator.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_VehicleWrapper.cpp
    branches/blender2.5/blender/source/gameengine/Ketsji/KX_VertexProxy.cpp
    branches/blender2.5/blender/source/gameengine/VideoTexture/FilterBlueScreen.cpp
    branches/blender2.5/blender/source/gameengine/VideoTexture/FilterColor.cpp
    branches/blender2.5/blender/source/gameengine/VideoTexture/FilterNormal.cpp
    branches/blender2.5/blender/source/gameengine/VideoTexture/ImageRender.cpp
    branches/blender2.5/blender/source/gameengine/VideoTexture/ImageViewport.cpp
    branches/blender2.5/blender/source/gameengine/VideoTexture/VideoBase.cpp
    branches/blender2.5/blender/source/gameengine/VideoTexture/VideoFFmpeg.cpp
    branches/blender2.5/blender/source/gameengine/VideoTexture/blendVideoTex.cpp

Modified: branches/blender2.5/blender/source/gameengine/Converter/BL_ActionActuator.cpp
===================================================================
--- branches/blender2.5/blender/source/gameengine/Converter/BL_ActionActuator.cpp	2009-06-29 01:00:35 UTC (rev 21228)
+++ branches/blender2.5/blender/source/gameengine/Converter/BL_ActionActuator.cpp	2009-06-29 02:25:54 UTC (rev 21229)
@@ -446,7 +446,7 @@
 	ShowDeprecationWarning("getAction()", "the action property");
 
 	if (m_action){
-		return PyString_FromString(m_action->id.name+2);
+		return PyUnicode_FromString(m_action->id.name+2);
 	}
 	Py_RETURN_NONE;
 }
@@ -796,7 +796,7 @@
 }
 
 PyObject* BL_ActionActuator::PyGetChannel(PyObject* value) {
-	char *string= PyString_AsString(value);
+	char *string= _PyUnicode_AsString(value);
 	
 	if (!string) {
 		PyErr_SetString(PyExc_TypeError, "expected a single string");
@@ -888,7 +888,7 @@
 PyObject* BL_ActionActuator::PyGetContinue() {
 	ShowDeprecationWarning("getContinue()", "the continue property");
 
-    return PyInt_FromLong((long)(m_end_reset==0));
+    return PyLong_FromSsize_t((long)(m_end_reset==0));
 }
 
 PyObject* BL_ActionActuator::PySetContinue(PyObject* value) {
@@ -1066,21 +1066,21 @@
 PyObject* BL_ActionActuator::pyattr_get_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
 {
 	BL_ActionActuator* self= static_cast<BL_ActionActuator*>(self_v);
-	return PyString_FromString(self->GetAction() ? self->GetAction()->id.name+2 : "");
+	return PyUnicode_FromString(self->GetAction() ? self->GetAction()->id.name+2 : "");
 }
 
 int BL_ActionActuator::pyattr_set_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
 {
 	BL_ActionActuator* self= static_cast<BL_ActionActuator*>(self_v);
 	
-	if (!PyString_Check(value))
+	if (!PyUnicode_Check(value))
 	{
 		PyErr_SetString(PyExc_ValueError, "actuator.action = val: Action Actuator, expected the string name of the action");
 		return PY_SET_ATTR_FAIL;
 	}
 
 	bAction *action= NULL;
-	STR_String val = PyString_AsString(value);
+	STR_String val = _PyUnicode_AsString(value);
 	
 	if (val != "")
 	{

Modified: branches/blender2.5/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp
===================================================================
--- branches/blender2.5/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp	2009-06-29 01:00:35 UTC (rev 21228)
+++ branches/blender2.5/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp	2009-06-29 02:25:54 UTC (rev 21229)
@@ -486,7 +486,7 @@
 PyObject* BL_ShapeActionActuator::PyGetAction() {
 	ShowDeprecationWarning("getAction()", "the action property");
 	if (m_action){
-		return PyString_FromString(m_action->id.name+2);
+		return PyUnicode_FromString(m_action->id.name+2);
 	}
 	Py_RETURN_NONE;
 }
@@ -845,21 +845,21 @@
 PyObject* BL_ShapeActionActuator::pyattr_get_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
 {
 	BL_ShapeActionActuator* self= static_cast<BL_ShapeActionActuator*>(self_v);
-	return PyString_FromString(self->GetAction() ? self->GetAction()->id.name+2 : "");
+	return PyUnicode_FromString(self->GetAction() ? self->GetAction()->id.name+2 : "");
 }
 
 int BL_ShapeActionActuator::pyattr_set_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
 {
 	BL_ShapeActionActuator* self= static_cast<BL_ShapeActionActuator*>(self_v);
 	/* exact copy of BL_ActionActuator's function from here down */
-	if (!PyString_Check(value))
+	if (!PyUnicode_Check(value))
 	{
 		PyErr_SetString(PyExc_ValueError, "actuator.action = val: Shape Action Actuator, expected the string name of the action");
 		return PY_SET_ATTR_FAIL;
 	}
 
 	bAction *action= NULL;
-	STR_String val = PyString_AsString(value);
+	STR_String val = _PyUnicode_AsString(value);
 	
 	if (val != "")
 	{

Modified: branches/blender2.5/blender/source/gameengine/Expressions/BoolValue.cpp
===================================================================
--- branches/blender2.5/blender/source/gameengine/Expressions/BoolValue.cpp	2009-06-29 01:00:35 UTC (rev 21228)
+++ branches/blender2.5/blender/source/gameengine/Expressions/BoolValue.cpp	2009-06-29 02:25:54 UTC (rev 21229)
@@ -210,5 +210,5 @@
 
 PyObject* CBoolValue::ConvertValueToPython()
 {
-	return PyInt_FromLong(m_bool != 0);
+	return PyBool_FromLong(m_bool != 0);
 }

Modified: branches/blender2.5/blender/source/gameengine/Expressions/IntValue.cpp
===================================================================
--- branches/blender2.5/blender/source/gameengine/Expressions/IntValue.cpp	2009-06-29 01:00:35 UTC (rev 21228)
+++ branches/blender2.5/blender/source/gameengine/Expressions/IntValue.cpp	2009-06-29 02:25:54 UTC (rev 21229)
@@ -330,7 +330,7 @@
 PyObject* CIntValue::ConvertValueToPython()
 {
 	if((m_int > INT_MIN) && (m_int < INT_MAX))
-		return PyInt_FromLong(m_int);
+		return PyLong_FromSsize_t(m_int);
 	else
 		return PyLong_FromLongLong(m_int);
 }

Modified: branches/blender2.5/blender/source/gameengine/Expressions/ListValue.cpp
===================================================================
--- branches/blender2.5/blender/source/gameengine/Expressions/ListValue.cpp	2009-06-29 01:00:35 UTC (rev 21228)
+++ branches/blender2.5/blender/source/gameengine/Expressions/ListValue.cpp	2009-06-29 02:25:54 UTC (rev 21229)
@@ -76,9 +76,9 @@
 		return NULL;
 	}
 	
-	if (PyString_Check(pyindex))
+	if (PyUnicode_Check(pyindex))
 	{
-		CValue *item = ((CListValue*) list)->FindValue(PyString_AsString(pyindex));
+		CValue *item = ((CListValue*) list)->FindValue(_PyUnicode_AsString(pyindex));
 		if (item) {
 			PyObject* pyobj = item->ConvertValueToPython();
 			if(pyobj)
@@ -87,14 +87,14 @@
 				return item->GetProxy();
 		}
 	}
-	else if (PyInt_Check(pyindex))
+	else if (PyLong_Check(pyindex))
 	{
-		int index = PyInt_AsLong(pyindex);
+		int index = PyLong_AsSsize_t(pyindex);
 		return listvalue_buffer_item(self, index); /* wont add a ref */
 	}
 	
 	PyObject *pyindex_str = PyObject_Repr(pyindex); /* new ref */
-	PyErr_Format(PyExc_KeyError, "CList[key]: '%s' key not in list", PyString_AsString(pyindex_str));
+	PyErr_Format(PyExc_KeyError, "CList[key]: '%s' key not in list", _PyUnicode_AsString(pyindex_str));
 	Py_DECREF(pyindex_str);
 	return NULL;
 }
@@ -220,8 +220,8 @@
 		return -1;
 	}
 	
-	if (PyString_Check(value)) {
-		if (self->FindValue((const char *)PyString_AsString(value))) {
+	if (PyUnicode_Check(value)) {
+		if (self->FindValue((const char *)_PyUnicode_AsString(value))) {
 			return 1;
 		}
 	}
@@ -542,7 +542,7 @@
 		CValue* elem = 			GetValue(i);
 		if (checkobj==elem || CheckEqual(checkobj,elem))
 		{
-			result = PyInt_FromLong(i);
+			result = PyLong_FromSsize_t(i);
 			break;
 		}
 	}
@@ -565,7 +565,7 @@
 	
 	if (checkobj==NULL) { /* in this case just return that there are no items in the list */
 		PyErr_Clear();
-		return PyInt_FromLong(0);
+		return PyLong_FromSsize_t(0);
 	}
 
 	int numelem = GetCount();
@@ -579,7 +579,7 @@
 	}
 	checkobj->Release();
 
-	return PyInt_FromLong(numfound);
+	return PyLong_FromSsize_t(numfound);
 }
 
 /* Matches python dict.get(key, [default]) */
@@ -606,7 +606,7 @@
 /* Matches python dict.has_key() */
 PyObject* CListValue::Pyhas_key(PyObject* value)
 {
-	if (PyString_Check(value) && FindValue((const char *)PyString_AsString(value)))
+	if (PyUnicode_Check(value) && FindValue((const char *)_PyUnicode_AsString(value)))
 		Py_RETURN_TRUE;
 	
 	Py_RETURN_FALSE;

Modified: branches/blender2.5/blender/source/gameengine/Expressions/PyObjectPlus.cpp
===================================================================
--- branches/blender2.5/blender/source/gameengine/Expressions/PyObjectPlus.cpp	2009-06-29 01:00:35 UTC (rev 21228)
+++ branches/blender2.5/blender/source/gameengine/Expressions/PyObjectPlus.cpp	2009-06-29 02:25:54 UTC (rev 21229)
@@ -183,14 +183,14 @@
 				{
 					bool *val = reinterpret_cast<bool*>(ptr);
 					ptr += sizeof(bool);
-					PyList_SET_ITEM(resultlist,i,PyInt_FromLong(*val));
+					PyList_SET_ITEM(resultlist,i,PyLong_FromSsize_t(*val));
 					break;
 				}
 			case KX_PYATTRIBUTE_TYPE_SHORT:
 				{
 					short int *val = reinterpret_cast<short int*>(ptr);
 					ptr += sizeof(short int);
-					PyList_SET_ITEM(resultlist,i,PyInt_FromLong(*val));
+					PyList_SET_ITEM(resultlist,i,PyLong_FromSsize_t(*val));
 					break;
 				}
 			case KX_PYATTRIBUTE_TYPE_ENUM:
@@ -205,7 +205,7 @@
 				{
 					int *val = reinterpret_cast<int*>(ptr);
 					ptr += sizeof(int);
-					PyList_SET_ITEM(resultlist,i,PyInt_FromLong(*val));
+					PyList_SET_ITEM(resultlist,i,PyLong_FromSsize_t(*val));
 					break;
 				}
 			case KX_PYATTRIBUTE_TYPE_FLOAT:
@@ -229,12 +229,12 @@
 		case KX_PYATTRIBUTE_TYPE_BOOL:
 			{
 				bool *val = reinterpret_cast<bool*>(ptr);
-				return PyInt_FromLong(*val);
+				return PyLong_FromSsize_t(*val);
 			}
 		case KX_PYATTRIBUTE_TYPE_SHORT:
 			{
 				short int *val = reinterpret_cast<short int*>(ptr);
-				return PyInt_FromLong(*val);
+				return PyLong_FromSsize_t(*val);
 			}
 		case KX_PYATTRIBUTE_TYPE_ENUM:
 			// enum are like int, just make sure the field size is the same
@@ -246,7 +246,7 @@
 		case KX_PYATTRIBUTE_TYPE_INT:
 			{
 				int *val = reinterpret_cast<int*>(ptr);
-				return PyInt_FromLong(*val);
+				return PyLong_FromSsize_t(*val);
 			}
 		case KX_PYATTRIBUTE_TYPE_FLOAT:
 			{
@@ -271,7 +271,7 @@
 		case KX_PYATTRIBUTE_TYPE_STRING:
 			{
 				STR_String *val = reinterpret_cast<STR_String*>(ptr);
-				return PyString_FromString(*val);
+				return PyUnicode_FromString(*val);
 			}
 		default:
 			return NULL;
@@ -352,9 +352,9 @@
 				{
 					bool *var = reinterpret_cast<bool*>(ptr);
 					ptr += sizeof(bool);
-					if (PyInt_Check(item)) 
+					if (PyLong_Check(item)) 
 					{
-						*var = (PyInt_AsLong(item) != 0);
+						*var = (PyLong_AsSsize_t(item) != 0);
 					} 
 					else if (PyBool_Check(item))
 					{
@@ -371,9 +371,9 @@
 				{
 					short int *var = reinterpret_cast<short int*>(ptr);
 					ptr += sizeof(short int);
-					if (PyInt_Check(item)) 
+					if (PyLong_Check(item)) 
 					{
-						long val = PyInt_AsLong(item);
+						long val = PyLong_AsSsize_t(item);
 						if (attrdef->m_clamp)
 						{
 							if (val < attrdef->m_imin)
@@ -407,9 +407,9 @@
 				{
 					int *var = reinterpret_cast<int*>(ptr);
 					ptr += sizeof(int);
-					if (PyInt_Check(item)) 
+					if (PyLong_Check(item)) 
 					{
-						long val = PyInt_AsLong(item);
+						long val = PyLong_AsSsize_t(item);
 						if (attrdef->m_clamp)
 						{
 							if (val < attrdef->m_imin)

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list