From fd666b2c78bdf74bebdcde3c6a9192a435d58bdd Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 6 Aug 2012 14:29:25 +0000 Subject: [PATCH] fix for bge module imports so you can do for eg: import bge.render as render --- source/gameengine/Ketsji/KX_PythonInit.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/source/gameengine/Ketsji/KX_PythonInit.cpp b/source/gameengine/Ketsji/KX_PythonInit.cpp index 536b32cbd77..a7ec1b52bd8 100644 --- a/source/gameengine/Ketsji/KX_PythonInit.cpp +++ b/source/gameengine/Ketsji/KX_PythonInit.cpp @@ -2007,13 +2007,21 @@ void setupGamePython(KX_KetsjiEngine* ketsjiengine, KX_Scene* startscene, Main * /* could be done a lot more nicely, but for now a quick way to get bge.* working */ PyRun_SimpleString("sys = __import__('sys');" - "mod = sys.modules['bge'] = type(sys)('bge');" - "mod.__dict__.update({'logic':__import__('GameLogic'), " + "bge = type(sys)('bge');" + "bge.__dict__.update({'logic':__import__('GameLogic'), " "'render':__import__('Rasterizer'), " "'events':__import__('GameKeys'), " "'constraints':__import__('PhysicsConstraints'), " "'types':__import__('GameTypes'), " "'texture':__import__('VideoTexture')});" + /* so we can do 'import bge.foo as bar' */ + "sys.modules.update({'bge': bge, " + "'bge.logic':bge.logic, " + "'bge.render':bge.render, " + "'bge.events':bge.events, " + "'bge.constraints':bge.constraints, " + "'bge.types':bge.types, " + "'bge.texture':bge.texture})" ); }