[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