BGE Python API cleanup - no functionality changes
- comments to PyObjectPlus.h - remove unused/commented junk. - renamed PyDestructor to py_base_dealloc for consistency - all the PyTypeObject's were still using the sizeof() their class, can use sizeof(PyObjectPlus_Proxy) now which is smaller too.
This commit is contained in:
@@ -968,9 +968,9 @@ PyTypeObject BL_ActionActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"BL_ActionActuator",
|
||||
sizeof(BL_ActionActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -423,9 +423,9 @@ PyTypeObject BL_ShapeActionActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"BL_ShapeActionActuator",
|
||||
sizeof(BL_ShapeActionActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -223,10 +223,10 @@ PyTypeObject CListValue::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0, /*ob_size*/
|
||||
"CListValue", /*tp_name*/
|
||||
sizeof(CListValue), /*tp_basicsize*/
|
||||
sizeof(PyObjectPlus_Proxy), /*tp_basicsize*/
|
||||
0, /*tp_itemsize*/
|
||||
/* methods */
|
||||
PyDestructor, /*tp_dealloc*/
|
||||
py_base_dealloc, /*tp_dealloc*/
|
||||
0, /*tp_print*/
|
||||
0, /*tp_getattr*/
|
||||
0, /*tp_setattr*/
|
||||
|
||||
@@ -59,10 +59,10 @@ PyTypeObject PyObjectPlus::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0, /*ob_size*/
|
||||
"PyObjectPlus", /*tp_name*/
|
||||
sizeof(PyObjectPlus), /*tp_basicsize*/
|
||||
sizeof(PyObjectPlus_Proxy), /*tp_basicsize*/
|
||||
0, /*tp_itemsize*/
|
||||
/* methods */
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
@@ -85,7 +85,7 @@ PyObjectPlus::~PyObjectPlus()
|
||||
// assert(ob_refcnt==0);
|
||||
}
|
||||
|
||||
void PyObjectPlus::PyDestructor(PyObject *self) // python wrapper
|
||||
void PyObjectPlus::py_base_dealloc(PyObject *self) // python wrapper
|
||||
{
|
||||
PyObjectPlus *self_plus= BGE_PROXY_REF(self);
|
||||
if(self_plus) {
|
||||
@@ -108,7 +108,7 @@ PyObjectPlus::PyObjectPlus(PyTypeObject *T) // constructor
|
||||
* PyObjectPlus Methods -- Every class, even the abstract one should have a Methods
|
||||
------------------------------*/
|
||||
PyMethodDef PyObjectPlus::Methods[] = {
|
||||
{"isA", (PyCFunction) sPy_isA, METH_O},
|
||||
{"isA", (PyCFunction) sPyisA, METH_O},
|
||||
{NULL, NULL} /* Sentinel */
|
||||
};
|
||||
|
||||
@@ -130,6 +130,49 @@ PyParentObject PyObjectPlus::Parents[] = {&PyObjectPlus::Type, NULL};
|
||||
/*------------------------------
|
||||
* PyObjectPlus attributes -- attributes
|
||||
------------------------------*/
|
||||
|
||||
|
||||
/* This should be the entry in Type since it takes the C++ class from PyObjectPlus_Proxy */
|
||||
PyObject *PyObjectPlus::py_base_getattro(PyObject * self, PyObject *attr)
|
||||
{
|
||||
PyObjectPlus *self_plus= BGE_PROXY_REF(self);
|
||||
if(self_plus==NULL) {
|
||||
if(!strcmp("isValid", PyString_AsString(attr))) {
|
||||
Py_RETURN_TRUE;
|
||||
}
|
||||
PyErr_SetString(PyExc_RuntimeError, BGE_PROXY_ERROR_MSG);
|
||||
return NULL;
|
||||
}
|
||||
return self_plus->py_getattro(attr);
|
||||
}
|
||||
|
||||
/* This should be the entry in Type since it takes the C++ class from PyObjectPlus_Proxy */
|
||||
int PyObjectPlus::py_base_setattro(PyObject *self, PyObject *attr, PyObject *value)
|
||||
{
|
||||
PyObjectPlus *self_plus= BGE_PROXY_REF(self);
|
||||
if(self_plus==NULL) {
|
||||
PyErr_SetString(PyExc_RuntimeError, BGE_PROXY_ERROR_MSG);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (value==NULL)
|
||||
return self_plus->py_delattro(attr);
|
||||
|
||||
return self_plus->py_setattro(attr, value);
|
||||
}
|
||||
|
||||
PyObject *PyObjectPlus::py_base_repr(PyObject *self) // This should be the entry in Type.
|
||||
{
|
||||
|
||||
PyObjectPlus *self_plus= BGE_PROXY_REF(self);
|
||||
if(self_plus==NULL) {
|
||||
PyErr_SetString(PyExc_RuntimeError, BGE_PROXY_ERROR_MSG);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return self_plus->py_repr();
|
||||
}
|
||||
|
||||
PyObject *PyObjectPlus::py_getattro(PyObject* attr)
|
||||
{
|
||||
PyObject *descr = PyDict_GetItem(Type.tp_dict, attr); \
|
||||
@@ -151,8 +194,6 @@ PyObject *PyObjectPlus::py_getattro(PyObject* attr)
|
||||
}
|
||||
/* end py_getattro_up copy */
|
||||
}
|
||||
//if (streq(attr, "type"))
|
||||
// return Py_BuildValue("s", (*(GetParents()))->tp_name);
|
||||
}
|
||||
|
||||
int PyObjectPlus::py_delattro(PyObject* attr)
|
||||
@@ -163,8 +204,6 @@ int PyObjectPlus::py_delattro(PyObject* attr)
|
||||
|
||||
int PyObjectPlus::py_setattro(PyObject *attr, PyObject* value)
|
||||
{
|
||||
//return PyObject::py_setattro(attr,value);
|
||||
//cerr << "Unknown attribute" << endl;
|
||||
PyErr_SetString(PyExc_AttributeError, "attribute cant be set");
|
||||
return PY_SET_ATTR_MISSING;
|
||||
}
|
||||
@@ -275,20 +314,6 @@ PyObject *PyObjectPlus::py_get_attrdef(void *self, const PyAttributeDef *attrdef
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
PyObject *PyObjectPlus::py_getattro_self(const PyAttributeDef attrlist[], void *self, PyObject *attr)
|
||||
{
|
||||
char *attr_str= PyString_AsString(attr);
|
||||
const PyAttributeDef *attrdef;
|
||||
|
||||
for (attrdef=attrlist; attrdef->m_name != NULL; attrdef++)
|
||||
if (!strcmp(attr_str, attrdef->m_name))
|
||||
return py_get_attrdef(self, attrdef);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
int PyObjectPlus::py_set_attrdef(void *self, const PyAttributeDef *attrdef, PyObject *value)
|
||||
{
|
||||
void *undoBuffer = NULL;
|
||||
@@ -714,29 +739,7 @@ int PyObjectPlus::py_set_attrdef(void *self, const PyAttributeDef *attrdef, PyOb
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if 0
|
||||
int PyObjectPlus::py_setattro_self(const PyAttributeDef attrlist[], void *self, PyObject *attr, PyObject *value)
|
||||
{
|
||||
const PyAttributeDef *attrdef;
|
||||
char *attr_str= PyString_AsString(attr);
|
||||
|
||||
for (attrdef=attrlist; attrdef->m_name != NULL; attrdef++)
|
||||
{
|
||||
if (!strcmp(attr_str, attrdef->m_name))
|
||||
{
|
||||
if (attrdef->m_access == KX_PYATTRIBUTE_RO ||
|
||||
attrdef->m_type == KX_PYATTRIBUTE_TYPE_DUMMY)
|
||||
{
|
||||
PyErr_SetString(PyExc_AttributeError, "property is read-only");
|
||||
return PY_SET_ATTR_FAIL;
|
||||
}
|
||||
|
||||
return py_set_attrdef(self, attrdef, value);
|
||||
}
|
||||
}
|
||||
return PY_SET_ATTR_MISSING;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*------------------------------
|
||||
* PyObjectPlus repr -- representations
|
||||
@@ -777,7 +780,7 @@ bool PyObjectPlus::isA(const char *mytypename) // check typename of each parent
|
||||
return false;
|
||||
}
|
||||
|
||||
PyObject *PyObjectPlus::Py_isA(PyObject *value) // Python wrapper for isA
|
||||
PyObject *PyObjectPlus::PyisA(PyObject *self, PyObject *value) // Python wrapper for isA
|
||||
{
|
||||
if (PyType_Check(value)) {
|
||||
return PyBool_FromLong(isA((PyTypeObject *)value));
|
||||
|
||||
@@ -50,13 +50,13 @@
|
||||
also in api2_2x/gen_utils.h
|
||||
*/
|
||||
#ifndef Py_RETURN_NONE
|
||||
#define Py_RETURN_NONE return Py_BuildValue("O", Py_None)
|
||||
#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
|
||||
#endif
|
||||
#ifndef Py_RETURN_FALSE
|
||||
#define Py_RETURN_FALSE return PyBool_FromLong(0)
|
||||
#define Py_RETURN_FALSE return Py_INCREF(Py_False), Py_False
|
||||
#endif
|
||||
#ifndef Py_RETURN_TRUE
|
||||
#define Py_RETURN_TRUE return PyBool_FromLong(1)
|
||||
#define Py_RETURN_TRUE return Py_INCREF(Py_True), Py_True
|
||||
#endif
|
||||
|
||||
/* for pre Py 2.5 */
|
||||
@@ -92,7 +92,7 @@ typedef struct {
|
||||
#define BGE_PROXY_PYOWNS(_self) (((PyObjectPlus_Proxy *)_self)->py_owns)
|
||||
|
||||
/* Note, sometimes we dont care what BGE type this is as long as its a proxy */
|
||||
#define BGE_PROXY_CHECK_TYPE(_self) ((_self)->ob_type->tp_dealloc == PyDestructor)
|
||||
#define BGE_PROXY_CHECK_TYPE(_self) ((_self)->ob_type->tp_dealloc == py_base_dealloc)
|
||||
|
||||
|
||||
// This must be the first line of each
|
||||
@@ -429,80 +429,34 @@ public:
|
||||
PyObject *m_proxy; /* actually a PyObjectPlus_Proxy */
|
||||
|
||||
virtual ~PyObjectPlus(); // destructor
|
||||
static void PyDestructor(PyObject *self); // python wrapper
|
||||
|
||||
// void INCREF(void) {
|
||||
// Py_INCREF(this);
|
||||
// }; // incref method
|
||||
// void DECREF(void) {
|
||||
// Py_DECREF(this);
|
||||
// }; // decref method
|
||||
/* These static functions are referenced by ALL PyObjectPlus_Proxy types
|
||||
* they take the C++ reference from the PyObjectPlus_Proxy and call
|
||||
* its own virtual py_getattro, py_setattro etc. functions.
|
||||
*/
|
||||
static void py_base_dealloc(PyObject *self);
|
||||
static PyObject* py_base_getattro(PyObject * self, PyObject *attr);
|
||||
static int py_base_setattro(PyObject *self, PyObject *attr, PyObject *value);
|
||||
static PyObject* py_base_repr(PyObject *self);
|
||||
|
||||
virtual PyObject *py_getattro(PyObject *attr); // py_getattro method
|
||||
static PyObject *py_base_getattro(PyObject * self, PyObject *attr) // This should be the entry in Type.
|
||||
{
|
||||
PyObjectPlus *self_plus= BGE_PROXY_REF(self);
|
||||
if(self_plus==NULL) {
|
||||
if(!strcmp("isValid", PyString_AsString(attr))) {
|
||||
Py_RETURN_TRUE;
|
||||
}
|
||||
PyErr_SetString(PyExc_RuntimeError, "data has been removed");
|
||||
return NULL;
|
||||
}
|
||||
return self_plus->py_getattro(attr);
|
||||
}
|
||||
/* These are all virtual python methods that are defined in each class
|
||||
* Our own fake subclassing calls these on each class, then calls the parent */
|
||||
virtual PyObject* py_getattro(PyObject *attr);
|
||||
virtual int py_delattro(PyObject *attr);
|
||||
virtual int py_setattro(PyObject *attr, PyObject *value);
|
||||
virtual PyObject* py_repr(void);
|
||||
|
||||
static PyObject* py_get_attrdef(void *self, const PyAttributeDef *attrdef);
|
||||
static int py_set_attrdef(void *self, const PyAttributeDef *attrdef, PyObject *value);
|
||||
|
||||
#if 0
|
||||
static PyObject *py_getattro_self(const PyAttributeDef attrlist[], void *self, PyObject *attr);
|
||||
static int py_setattro_self(const PyAttributeDef attrlist[], void *self, PyObject *attr, PyObject *value);
|
||||
#endif
|
||||
|
||||
virtual int py_delattro(PyObject *attr);
|
||||
virtual int py_setattro(PyObject *attr, PyObject *value); // py_setattro method
|
||||
static int py_base_setattro(PyObject *self, PyObject *attr, PyObject *value) // the PyType should reference this
|
||||
{
|
||||
PyObjectPlus *self_plus= BGE_PROXY_REF(self);
|
||||
if(self_plus==NULL) {
|
||||
PyErr_SetString(PyExc_RuntimeError, "data has been removed");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (value==NULL)
|
||||
return self_plus->py_delattro(attr);
|
||||
|
||||
return self_plus->py_setattro(attr, value);
|
||||
}
|
||||
|
||||
virtual PyObject *py_repr(void); // py_repr method
|
||||
static PyObject *py_base_repr(PyObject *self) // This should be the entry in Type.
|
||||
{
|
||||
|
||||
PyObjectPlus *self_plus= BGE_PROXY_REF(self);
|
||||
if(self_plus==NULL) {
|
||||
PyErr_SetString(PyExc_RuntimeError, "data has been removed");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return self_plus->py_repr();
|
||||
}
|
||||
|
||||
// isA methods
|
||||
/* isA() methods, shonky replacement for pythons issubclass()
|
||||
* which we cant use because we have our own subclass system */
|
||||
bool isA(PyTypeObject *T);
|
||||
bool isA(const char *mytypename);
|
||||
PyObject *Py_isA(PyObject *value);
|
||||
static PyObject *sPy_isA(PyObject *self, PyObject *value)
|
||||
{
|
||||
PyObjectPlus *self_plus= BGE_PROXY_REF(self);
|
||||
if(self_plus==NULL) {
|
||||
PyErr_SetString(PyExc_RuntimeError, "data has been removed");
|
||||
return NULL;
|
||||
}
|
||||
PyObject *PyisA(PyObject *value);
|
||||
//static PyObject *sPy_isA(PyObject *self, PyObject *value);
|
||||
|
||||
return self_plus->Py_isA(value);
|
||||
}
|
||||
KX_PYMETHOD_O(PyObjectPlus,isA);
|
||||
|
||||
/* Kindof dumb, always returns True, the false case is checked for, before this function gets accessed */
|
||||
static PyObject* pyattr_get_is_valid(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
|
||||
|
||||
@@ -40,9 +40,9 @@ PyTypeObject CValue::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"CValue",
|
||||
sizeof(CValue),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -113,9 +113,9 @@ PyTypeObject SCA_2DFilterActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_2DFilterActuator",
|
||||
sizeof(SCA_2DFilterActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -110,9 +110,9 @@ PyTypeObject SCA_ANDController::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_ANDController",
|
||||
sizeof(SCA_ANDController),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -125,9 +125,9 @@ PyTypeObject SCA_ActuatorSensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_ActuatorSensor",
|
||||
sizeof(SCA_ActuatorSensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -108,9 +108,9 @@ PyTypeObject SCA_AlwaysSensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_AlwaysSensor",
|
||||
sizeof(SCA_AlwaysSensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -134,9 +134,9 @@ PyTypeObject SCA_DelaySensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_DelaySensor",
|
||||
sizeof(SCA_DelaySensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -220,9 +220,9 @@ PyTypeObject SCA_ILogicBrick::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_ILogicBrick",
|
||||
sizeof(SCA_ILogicBrick),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -378,9 +378,9 @@ PyTypeObject SCA_IObject::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_IObject",
|
||||
sizeof(SCA_IObject),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -396,9 +396,9 @@ PyTypeObject SCA_ISensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_ISensor",
|
||||
sizeof(SCA_ISensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -269,9 +269,9 @@ PyTypeObject SCA_JoystickSensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_JoystickSensor",
|
||||
sizeof(SCA_JoystickSensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -615,9 +615,9 @@ PyTypeObject SCA_KeyboardSensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_KeyboardSensor",
|
||||
sizeof(SCA_KeyboardSensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -303,9 +303,9 @@ PyTypeObject SCA_MouseSensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_MouseSensor",
|
||||
sizeof(SCA_MouseSensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -110,9 +110,9 @@ PyTypeObject SCA_NANDController::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_NANDController",
|
||||
sizeof(SCA_NANDController),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -110,9 +110,9 @@ PyTypeObject SCA_NORController::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_NORController",
|
||||
sizeof(SCA_NORController),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -102,9 +102,9 @@ PyTypeObject SCA_ORController::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_ORController",
|
||||
sizeof(SCA_ORController),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -236,9 +236,9 @@ PyTypeObject SCA_PropertyActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_PropertyActuator",
|
||||
sizeof(SCA_PropertyActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -309,9 +309,9 @@ PyTypeObject SCA_PropertySensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_PropertySensor",
|
||||
sizeof(SCA_PropertySensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -227,9 +227,9 @@ PyTypeObject SCA_PythonController::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_PythonController",
|
||||
sizeof(SCA_PythonController),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
@@ -441,9 +441,7 @@ SCA_PythonController::PyGetSensor(PyObject* self, PyObject* value)
|
||||
}
|
||||
}
|
||||
|
||||
char emsg[96];
|
||||
PyOS_snprintf( emsg, sizeof( emsg ), "Unable to find requested sensor \"%s\"", scriptArg );
|
||||
PyErr_SetString(PyExc_AttributeError, emsg);
|
||||
PyErr_Format(PyExc_AttributeError, "Unable to find requested sensor \"%s\"", scriptArg);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -470,9 +468,7 @@ SCA_PythonController::PyGetActuator(PyObject* self, PyObject* value)
|
||||
}
|
||||
}
|
||||
|
||||
char emsg[96];
|
||||
PyOS_snprintf( emsg, sizeof( emsg ), "Unable to find requested actuator \"%s\"", scriptArg );
|
||||
PyErr_SetString(PyExc_AttributeError, emsg);
|
||||
PyErr_Format(PyExc_AttributeError, "Unable to find requested actuator \"%s\"", scriptArg);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -315,9 +315,9 @@ PyTypeObject SCA_RandomActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_RandomActuator",
|
||||
sizeof(SCA_RandomActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -130,9 +130,9 @@ PyTypeObject SCA_RandomSensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_RandomSensor",
|
||||
sizeof(SCA_RandomSensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -114,9 +114,9 @@ PyTypeObject SCA_XNORController::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_XNORController",
|
||||
sizeof(SCA_XNORController),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -114,9 +114,9 @@ PyTypeObject SCA_XORController::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"SCA_XORController",
|
||||
sizeof(SCA_XORController),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -775,9 +775,9 @@ PyTypeObject BL_Shader::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"BL_Shader",
|
||||
sizeof(BL_Shader),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -108,9 +108,9 @@ PyTypeObject KX_NetworkMessageActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_NetworkMessageActuator",
|
||||
sizeof(KX_NetworkMessageActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -171,9 +171,9 @@ PyTypeObject KX_NetworkMessageSensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_NetworkMessageSensor",
|
||||
sizeof(KX_NetworkMessageSensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -756,9 +756,9 @@ PyTypeObject KX_BlenderMaterial::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_BlenderMaterial",
|
||||
sizeof(KX_BlenderMaterial),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -161,9 +161,9 @@ PyTypeObject KX_CDActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_SoundActuator",
|
||||
sizeof(KX_CDActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -509,9 +509,9 @@ PyTypeObject KX_Camera::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_Camera",
|
||||
sizeof(KX_Camera),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -374,9 +374,9 @@ PyTypeObject KX_CameraActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_CameraActuator",
|
||||
sizeof(KX_CameraActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -569,9 +569,9 @@ PyTypeObject KX_ConstraintActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_ConstraintActuator",
|
||||
sizeof(KX_ConstraintActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -72,9 +72,9 @@ PyTypeObject KX_ConstraintWrapper::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_ConstraintWrapper",
|
||||
sizeof(KX_ConstraintWrapper),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -211,9 +211,9 @@ PyTypeObject KX_GameActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_GameActuator",
|
||||
sizeof(KX_GameActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -1367,9 +1367,9 @@ PyTypeObject KX_GameObject::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_GameObject",
|
||||
sizeof(KX_GameObject),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -416,9 +416,9 @@ PyTypeObject KX_IpoActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_IpoActuator",
|
||||
sizeof(KX_IpoActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -328,9 +328,9 @@ PyTypeObject KX_LightObject::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_LightObject",
|
||||
sizeof(KX_LightObject),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -49,9 +49,9 @@ PyTypeObject KX_MeshProxy::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_MeshProxy",
|
||||
sizeof(KX_MeshProxy),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -338,9 +338,9 @@ PyTypeObject KX_MouseFocusSensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_MouseFocusSensor",
|
||||
sizeof(KX_MouseFocusSensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -289,9 +289,9 @@ PyTypeObject KX_NearSensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_NearSensor",
|
||||
sizeof(KX_NearSensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -280,9 +280,9 @@ PyTypeObject KX_ObjectActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_ObjectActuator",
|
||||
sizeof(KX_ObjectActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -142,9 +142,9 @@ PyTypeObject KX_ParentActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_ParentActuator",
|
||||
sizeof(KX_ParentActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -124,9 +124,9 @@ PyTypeObject KX_PhysicsObjectWrapper::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_PhysicsObjectWrapper",
|
||||
sizeof(KX_PhysicsObjectWrapper),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -42,9 +42,9 @@ PyTypeObject KX_PolyProxy::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_PolyProxy",
|
||||
sizeof(KX_PolyProxy),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -211,9 +211,9 @@ PyTypeObject KX_PolygonMaterial::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_PolygonMaterial",
|
||||
sizeof(KX_PolygonMaterial),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -254,9 +254,9 @@ PyTypeObject KX_RadarSensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_RadarSensor",
|
||||
sizeof(KX_RadarSensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -324,9 +324,9 @@ PyTypeObject KX_RaySensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_RaySensor",
|
||||
sizeof(KX_RaySensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -170,9 +170,9 @@ PyTypeObject KX_SCA_AddObjectActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_SCA_AddObjectActuator",
|
||||
sizeof(KX_SCA_AddObjectActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -54,9 +54,9 @@ KX_SCA_DynamicActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_SCA_DynamicActuator",
|
||||
sizeof(KX_SCA_DynamicActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -97,9 +97,9 @@ PyTypeObject KX_SCA_EndObjectActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_SCA_EndObjectActuator",
|
||||
sizeof(KX_SCA_EndObjectActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -56,9 +56,9 @@ KX_SCA_ReplaceMeshActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_SCA_ReplaceMeshActuator",
|
||||
sizeof(KX_SCA_ReplaceMeshActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -1582,9 +1582,9 @@ PyTypeObject KX_Scene::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_Scene",
|
||||
sizeof(KX_Scene),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -229,9 +229,9 @@ PyTypeObject KX_SceneActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_SceneActuator",
|
||||
sizeof(KX_SceneActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -237,9 +237,9 @@ PyTypeObject KX_SoundActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_SoundActuator",
|
||||
sizeof(KX_SoundActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -112,9 +112,9 @@ PyTypeObject KX_StateActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_StateActuator",
|
||||
sizeof(KX_StateActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -245,9 +245,9 @@ PyTypeObject KX_TouchSensor::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_TouchSensor",
|
||||
sizeof(KX_TouchSensor),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -428,9 +428,9 @@ PyTypeObject KX_TrackToActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_TrackToActuator",
|
||||
sizeof(KX_TrackToActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -305,9 +305,9 @@ PyTypeObject KX_VehicleWrapper::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_VehicleWrapper",
|
||||
sizeof(KX_VehicleWrapper),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -40,9 +40,9 @@ PyTypeObject KX_VertexProxy::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_VertexProxy",
|
||||
sizeof(KX_VertexProxy),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -97,9 +97,9 @@ PyTypeObject KX_VisibilityActuator::Type = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0,
|
||||
"KX_VisibilityActuator",
|
||||
sizeof(KX_VisibilityActuator),
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
PyDestructor,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
||||
Reference in New Issue
Block a user