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:
2009-04-19 14:57:52 +00:00
parent 8d2cb5bea4
commit 7dbc9dc719
63 changed files with 200 additions and 247 deletions

View File

@@ -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,

View File

@@ -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,

View File

@@ -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*/

View File

@@ -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));

View File

@@ -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);

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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;
}

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,