Changeset View
Changeset View
Standalone View
Standalone View
source/gameengine/Ketsji/KX_PythonInit.cpp
| Show First 20 Lines • Show All 2,014 Lines • ▼ Show 20 Lines | static struct PyModuleDef BGE_module_def = { | ||||
| NULL, /* m_free */ | NULL, /* m_free */ | ||||
| }; | }; | ||||
| PyMODINIT_FUNC initBGE(void) | PyMODINIT_FUNC initBGE(void) | ||||
| { | { | ||||
| PyObject *mod; | PyObject *mod; | ||||
| PyObject *submodule; | PyObject *submodule; | ||||
| PyObject *sys_modules = PyThreadState_GET()->interp->modules; | PyObject *sys_modules = PyThreadState_GET()->interp->modules; | ||||
| const char *mod_full; | |||||
| mod = PyModule_Create(&BGE_module_def); | mod = PyModule_Create(&BGE_module_def); | ||||
| PyModule_AddObject(mod, "constraints", (submodule = initConstraintPythonBinding())); | /* skip "bge." */ | ||||
| PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); | #define SUBMOD (mod_full + 4) | ||||
| mod_full = "bge.constraints"; | |||||
| PyModule_AddObject(mod, SUBMOD, (submodule = initConstraintPythonBinding())); | |||||
| PyDict_SetItemString(sys_modules, mod_full, submodule); | |||||
| Py_INCREF(submodule); | Py_INCREF(submodule); | ||||
| PyModule_AddObject(mod, "events", (submodule = initGameKeysPythonBinding())); | mod_full = "bge.events"; | ||||
| PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); | PyModule_AddObject(mod, SUBMOD, (submodule = initGameKeysPythonBinding())); | ||||
| PyDict_SetItemString(sys_modules, mod_full, submodule); | |||||
| Py_INCREF(submodule); | Py_INCREF(submodule); | ||||
| PyModule_AddObject(mod, "logic", (submodule = initGameLogicPythonBinding())); | mod_full = "bge.logic"; | ||||
| PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); | PyModule_AddObject(mod, SUBMOD, (submodule = initGameLogicPythonBinding())); | ||||
| PyDict_SetItemString(sys_modules, mod_full, submodule); | |||||
| Py_INCREF(submodule); | Py_INCREF(submodule); | ||||
| PyModule_AddObject(mod, "render", (submodule = initRasterizerPythonBinding())); | mod_full = "bge.render"; | ||||
| PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); | PyModule_AddObject(mod, SUBMOD, (submodule = initRasterizerPythonBinding())); | ||||
| PyDict_SetItemString(sys_modules, mod_full, submodule); | |||||
| Py_INCREF(submodule); | Py_INCREF(submodule); | ||||
| PyModule_AddObject(mod, "texture", (submodule = initVideoTexturePythonBinding())); | mod_full = "bge.texture"; | ||||
| PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); | PyModule_AddObject(mod, SUBMOD, (submodule = initVideoTexturePythonBinding())); | ||||
| PyDict_SetItemString(sys_modules, mod_full, submodule); | |||||
| Py_INCREF(submodule); | Py_INCREF(submodule); | ||||
| PyModule_AddObject(mod, "types", (submodule = initGameTypesPythonBinding())); | mod_full = "bge.types"; | ||||
| PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); | PyModule_AddObject(mod, SUBMOD, (submodule = initGameTypesPythonBinding())); | ||||
| PyDict_SetItemString(sys_modules, mod_full, submodule); | |||||
| Py_INCREF(submodule); | Py_INCREF(submodule); | ||||
| #undef SUBMOD | |||||
| return mod; | return mod; | ||||
| } | } | ||||
| /* minimal required blender modules to run blenderplayer */ | /* minimal required blender modules to run blenderplayer */ | ||||
| static struct _inittab bge_internal_modules[] = { | static struct _inittab bge_internal_modules[] = { | ||||
| {"mathutils", PyInit_mathutils}, | {"mathutils", PyInit_mathutils}, | ||||
| {"bgl", BPyInit_bgl}, | {"bgl", BPyInit_bgl}, | ||||
| ▲ Show 20 Lines • Show All 586 Lines • Show Last 20 Lines | |||||