Hey, just wanted to thank you guys, and all the game engine devs. On Jun 15, 2015 2:29 PM, "tristan panzer" <[email protected]> wrote:
> I know it's a mistake, but i can't change the commit because it pushed. > > 2015-06-15 23:15 GMT+02:00 Jorge Bernal <[email protected]>: > > > Hi, > > Only to remark that the author of this patch is Quentin Wenger (Matpi). > > > > I know that after phabricator update is more difficult to find the > > author's mail which it is necessary to give correct acknowledgement using > > git. > > Perhaps, the easiest way is to modify the commit log including an author > > field. > > > > Regards, > > Jorge > > El 15/06/2015 21:47, "Porteries Tristan" <[email protected]> > > escribió: > > > >> Commit: 1c707a239258996e4f5a5873517ff34564eaf8da > >> Author: Porteries Tristan > >> Date: Mon Jun 15 21:20:47 2015 +0200 > >> Branches: master > >> > https://developer.blender.org/rB1c707a239258996e4f5a5873517ff34564eaf8da > >> > >> BGE: Fix T43918: adding submodule bge.app including attribute version. > >> > >> This patch adds the submodule app to bge. apps contains constants > similar > >> to bpy.app, particularly version (tuple of three ints like 2.75.1). > >> > >> It was requested in T43918 and set as TODO. > >> > >> The patch also adds rst doc for the module. > >> > >> Reviewers: moguri, kupoman, lordloki, panzergame, campbellbarton > >> > >> Reviewed By: lordloki, panzergame, campbellbarton > >> > >> Subscribers: marcino15 > >> > >> Projects: #game_logic, #game_python, #game_engine > >> > >> Differential Revision: https://developer.blender.org/D1348 > >> > >> =================================================================== > >> > >> A doc/python_api/rst/bge.app.rst > >> M doc/python_api/sphinx_doc_gen.py > >> M source/gameengine/Ketsji/KX_PythonInit.cpp > >> M source/gameengine/Ketsji/KX_PythonInit.h > >> > >> =================================================================== > >> > >> diff --git a/doc/python_api/rst/bge.app.rst > >> b/doc/python_api/rst/bge.app.rst > >> new file mode 100644 > >> index 0000000..a0c2cf3 > >> --- /dev/null > >> +++ b/doc/python_api/rst/bge.app.rst > >> @@ -0,0 +1,47 @@ > >> + > >> +Application Data (bge.app) > >> +========================== > >> + > >> +Module to access application values that remain unchanged during > runtime. > >> + > >> +.. module:: bge.app > >> + > >> +.. data:: version > >> + > >> + The Blender/BGE version as a tuple of 3 ints, eg. (2, 75, 1). > >> + > >> + .. note:: Version tuples can be compared simply with (in)equality > >> symbols; > >> + for example, ``(2, 74, 5) <= (2, 75, 0)`` returns True > >> (lexical order). > >> + > >> + :type: tuple of three ints > >> + > >> +.. data:: version_string > >> + > >> + The Blender/BGE version formatted as a string, eg. "2.75 (sub 1)". > >> + > >> + :type: str > >> + > >> +.. data:: version_char > >> + > >> + The Blender/BGE version character (for minor releases). > >> + > >> + :type: str > >> + > >> +.. data:: has_texture_ffmpeg > >> + > >> + True if the BGE has been built with FFmpeg support, enabling use of > >> :class:`~bge.texture.ImageFFmpeg` and :class:`~bge.texture.VideoFFmpeg`. > >> + > >> + :type: bool > >> + > >> +.. data:: has_joystick > >> + > >> + True if the BGE has been built with joystick support. > >> + > >> + :type: bool > >> + > >> +.. data:: has_physics > >> + > >> + True if the BGE has been built with physics support. > >> + > >> + :type: bool > >> + > >> diff --git a/doc/python_api/sphinx_doc_gen.py > >> b/doc/python_api/sphinx_doc_gen.py > >> index e5ce4c7..32776ef 100644 > >> --- a/doc/python_api/sphinx_doc_gen.py > >> +++ b/doc/python_api/sphinx_doc_gen.py > >> @@ -234,6 +234,7 @@ else: > >> EXCLUDE_MODULES = [ > >> "aud", > >> "bge", > >> + "bge.app" > >> "bge.constraints", > >> "bge.events", > >> "bge.logic", > >> @@ -1669,6 +1670,7 @@ def write_rst_contents(basepath): > >> fw(" bge.texture.rst\n\n") > >> fw(" bge.events.rst\n\n") > >> fw(" bge.constraints.rst\n\n") > >> + fw(" bge.app.rst\n\n") > >> > >> # rna generated change log > >> fw(title_string("API Info", "=", double=True)) > >> @@ -1825,6 +1827,7 @@ def copy_handwritten_rsts(basepath): > >> "bge.texture", > >> "bge.events", > >> "bge.constraints", > >> + "bge.app", > >> "bgl", # "Blender OpenGl wrapper" > >> "gpu", # "GPU Shader Module" > >> > >> diff --git a/source/gameengine/Ketsji/KX_PythonInit.cpp > >> b/source/gameengine/Ketsji/KX_PythonInit.cpp > >> index 80e56a4..a5fb2de 100644 > >> --- a/source/gameengine/Ketsji/KX_PythonInit.cpp > >> +++ b/source/gameengine/Ketsji/KX_PythonInit.cpp > >> @@ -138,6 +138,7 @@ extern "C" { > >> #include "BKE_global.h" > >> #include "BKE_library.h" > >> #include "BKE_appdir.h" > >> +#include "BKE_blender.h" > >> #include "BLI_blenlib.h" > >> #include "GPU_material.h" > >> #include "MEM_guardedalloc.h" > >> @@ -2027,6 +2028,11 @@ PyMODINIT_FUNC initBGE(void) > >> /* skip "bge." */ > >> #define SUBMOD (mod_full + 4) > >> > >> + mod_full = "bge.app"; > >> + PyModule_AddObject(mod, SUBMOD, (submodule = > >> initApplicationPythonBinding())); > >> + PyDict_SetItemString(sys_modules, mod_full, submodule); > >> + Py_INCREF(submodule); > >> + > >> mod_full = "bge.constraints"; > >> PyModule_AddObject(mod, SUBMOD, (submodule = > >> initConstraintPythonBinding())); > >> PyDict_SetItemString(sys_modules, mod_full, submodule); > >> @@ -2550,6 +2556,77 @@ PyMODINIT_FUNC initGameKeysPythonBinding() > >> return m; > >> } > >> > >> + > >> + > >> +/* > >> > ------------------------------------------------------------------------- */ > >> +/* Application: application values that remain unchanged during runtime > >> */ > >> +/* > >> > ------------------------------------------------------------------------- */ > >> + > >> +PyDoc_STRVAR(Application_module_documentation, > >> + "This module contains application values that remain unchanged > >> during runtime." > >> + ); > >> + > >> +static struct PyModuleDef Application_module_def = { > >> + PyModuleDef_HEAD_INIT, > >> + "bge.app", /* m_name */ > >> + Application_module_documentation, /* m_doc */ > >> + 0, /* m_size */ > >> + NULL, /* m_methods */ > >> + 0, /* m_reload */ > >> + 0, /* m_traverse */ > >> + 0, /* m_clear */ > >> + 0, /* m_free */ > >> +}; > >> + > >> +PyMODINIT_FUNC initApplicationPythonBinding() > >> +{ > >> + PyObject *m; > >> + PyObject *d; > >> + > >> + m = PyModule_Create(&Application_module_def); > >> + > >> + // Add some symbolic constants to the module > >> + d = PyModule_GetDict(m); > >> + > >> + PyDict_SetItemString(d, "version", Py_BuildValue("(iii)", > >> + BLENDER_VERSION / 100, BLENDER_VERSION % 100, > >> BLENDER_SUBVERSION)); > >> + PyDict_SetItemString(d, "version_string", > >> PyUnicode_FromFormat("%d.%02d (sub %d)", > >> + BLENDER_VERSION / 100, BLENDER_VERSION % 100, > >> BLENDER_SUBVERSION)); > >> + PyDict_SetItemString(d, "version_char", PyUnicode_FromString( > >> + STRINGIFY(BLENDER_VERSION_CHAR))); > >> + > >> + PyDict_SetItemString(d, "has_texture_ffmpeg", > >> +#ifdef WITH_FFMPEG > >> + Py_True > >> +#else > >> + Py_False > >> +#endif > >> + ); > >> + PyDict_SetItemString(d, "has_joystick", > >> +#ifdef WITH_SDL > >> + Py_True > >> +#else > >> + Py_False > >> +#endif > >> + ); > >> + PyDict_SetItemString(d, "has_physics", > >> +#ifdef WITH_BULLET > >> + Py_True > >> +#else > >> + Py_False > >> +#endif > >> + ); > >> + > >> + // Check for errors > >> + if (PyErr_Occurred()) { > >> + PyErr_Print(); > >> + PyErr_Clear(); > >> + } > >> + > >> + return m; > >> +} > >> + > >> + > >> // utility function for loading and saving the globalDict > >> int saveGamePythonConfig( char **marshal_buffer) > >> { > >> diff --git a/source/gameengine/Ketsji/KX_PythonInit.h > >> b/source/gameengine/Ketsji/KX_PythonInit.h > >> index f74a4b3..06aeb5a 100644 > >> --- a/source/gameengine/Ketsji/KX_PythonInit.h > >> +++ b/source/gameengine/Ketsji/KX_PythonInit.h > >> @@ -48,6 +48,7 @@ extern bool gUseVisibilityTemp; > >> > >> #ifdef WITH_PYTHON > >> PyMODINIT_FUNC initBGE(void); > >> +PyMODINIT_FUNC initApplicationPythonBinding(void); > >> PyMODINIT_FUNC initGameLogicPythonBinding(void); > >> PyMODINIT_FUNC initGameKeysPythonBinding(void); > >> PyMODINIT_FUNC initRasterizerPythonBinding(void); > >> > >> _______________________________________________ > >> Bf-blender-cvs mailing list > >> [email protected] > >> http://lists.blender.org/mailman/listinfo/bf-blender-cvs > >> > > > > _______________________________________________ > > Bf-blender-cvs mailing list > > [email protected] > > http://lists.blender.org/mailman/listinfo/bf-blender-cvs > > > > > _______________________________________________ > Bf-committers mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-committers > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
