forked from bartvdbraak/blender
BGE: python API cleanup - adding proper initialization to GameTypes
This commit is contained in:
parent
e67bd30bdf
commit
0e0af4f772
@ -171,8 +171,10 @@ void initPyTypes(void)
|
|||||||
* .....
|
* .....
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Use existing module where possible */
|
||||||
|
PyObject *mod = initGameTypesPythonBinding();
|
||||||
|
|
||||||
/* For now just do PyType_Ready */
|
/* For now just do PyType_Ready */
|
||||||
PyObject *mod = PyModule_New("GameTypes");
|
|
||||||
PyObject *dict = PyModule_GetDict(mod);
|
PyObject *dict = PyModule_GetDict(mod);
|
||||||
PyDict_SetItemString(PySys_GetObject("modules"), "GameTypes", mod);
|
PyDict_SetItemString(PySys_GetObject("modules"), "GameTypes", mod);
|
||||||
Py_DECREF(mod);
|
Py_DECREF(mod);
|
||||||
@ -269,4 +271,42 @@ void initPyTypes(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
PyDoc_STRVAR(GameTypes_module_documentation,
|
||||||
|
"This module provides access to the game engine data types."
|
||||||
|
);
|
||||||
|
static struct PyModuleDef GameTypes_module_def = {
|
||||||
|
PyModuleDef_HEAD_INIT,
|
||||||
|
"GameTypes", /* m_name */
|
||||||
|
GameTypes_module_documentation, /* m_doc */
|
||||||
|
0, /* m_size */
|
||||||
|
NULL, /* m_methods */
|
||||||
|
NULL, /* m_reload */
|
||||||
|
NULL, /* m_traverse */
|
||||||
|
NULL, /* m_clear */
|
||||||
|
NULL, /* m_free */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
PyMODINIT_FUNC initGameTypesPythonBinding(void)
|
||||||
|
{
|
||||||
|
PyObject *m;
|
||||||
|
|
||||||
|
/* Use existing module where possible */
|
||||||
|
m = PyImport_ImportModule( "GameTypes" );
|
||||||
|
if (m) {
|
||||||
|
Py_DECREF(m);
|
||||||
|
return m;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
PyErr_Clear();
|
||||||
|
|
||||||
|
// Create the module and add the functions
|
||||||
|
m = PyModule_Create(&GameTypes_module_def);
|
||||||
|
PyDict_SetItemString(PySys_GetObject("modules"), GameTypes_module_def.m_name, m);
|
||||||
|
}
|
||||||
|
|
||||||
|
return m;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // WITH_PYTHON
|
#endif // WITH_PYTHON
|
||||||
|
@ -33,7 +33,9 @@
|
|||||||
#define __KX_PYTHON_INIT_TYPES__
|
#define __KX_PYTHON_INIT_TYPES__
|
||||||
|
|
||||||
#ifdef WITH_PYTHON
|
#ifdef WITH_PYTHON
|
||||||
|
#include <Python.h>
|
||||||
void initPyTypes(void);
|
void initPyTypes(void);
|
||||||
|
PyMODINIT_FUNC initGameTypesPythonBinding(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __KX_PYTHON_INIT_TYPES__ */
|
#endif /* __KX_PYTHON_INIT_TYPES__ */
|
||||||
|
Loading…
Reference in New Issue
Block a user