diff options
author | Joerg Mueller <nexyon@gmail.com> | 2011-06-04 03:24:01 +0400 |
---|---|---|
committer | Joerg Mueller <nexyon@gmail.com> | 2011-06-04 03:24:01 +0400 |
commit | cd04cff1800e8f60a06d8da6e79ac436808c9a7d (patch) | |
tree | 8c6aa631dab983e845ff8626725537d8b71dc9e4 /source/gameengine | |
parent | 71419c46471586e93884aa151f5b160863025886 (diff) | |
parent | d84c6a3cdb60c4e31db75efc4c6f9a3ea9e9f034 (diff) |
Merge with trunk revision 37149.
Diffstat (limited to 'source/gameengine')
22 files changed, 112 insertions, 44 deletions
diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp index 13f0551d01b..cac801c80ef 100644 --- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp +++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp @@ -429,22 +429,22 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c { // first check if we want to exit exitrequested = ketsjiengine->GetExitCode(); - - if(draw_letterbox) { - // Clear screen to border color - // We do this here since we set the canvas to be within the frames. This means the engine - // itself is unaware of the extra space, so we clear the whole region for it. - glClearColor(scene->gm.framing.col[0], scene->gm.framing.col[1], scene->gm.framing.col[2], 1.0f); - glViewport(ar->winrct.xmin, ar->winrct.ymin, - ar->winrct.xmax - ar->winrct.xmin, ar->winrct.ymax - ar->winrct.ymin); - glClear(GL_COLOR_BUFFER_BIT); - } // kick the engine bool render = ketsjiengine->NextFrame(); if (render) { + if(draw_letterbox) { + // Clear screen to border color + // We do this here since we set the canvas to be within the frames. This means the engine + // itself is unaware of the extra space, so we clear the whole region for it. + glClearColor(scene->gm.framing.col[0], scene->gm.framing.col[1], scene->gm.framing.col[2], 1.0f); + glViewport(ar->winrct.xmin, ar->winrct.ymin, + ar->winrct.xmax - ar->winrct.xmin, ar->winrct.ymax - ar->winrct.ymin); + glClear(GL_COLOR_BUFFER_BIT); + } + // render the frame ketsjiengine->Render(); } diff --git a/source/gameengine/BlenderRoutines/CMakeLists.txt b/source/gameengine/BlenderRoutines/CMakeLists.txt index 6a17017f261..a67e2eb7038 100644 --- a/source/gameengine/BlenderRoutines/CMakeLists.txt +++ b/source/gameengine/BlenderRoutines/CMakeLists.txt @@ -32,6 +32,10 @@ set(INC ${GLEW_INCLUDE_PATH} ) +set(INC_SYS + +) + set(SRC BL_KetsjiEmbedStart.cpp BL_System.cpp @@ -59,4 +63,4 @@ if(WITH_CODEC_FFMPEG) add_definitions(-DWITH_FFMPEG) endif() -blender_add_lib(ge_blen_routines "${SRC}" "${INC}") +blender_add_lib(ge_blen_routines "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp index 1fb30925446..af768050bb6 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp +++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp @@ -2608,6 +2608,9 @@ void BL_ConvertBlenderObjects(struct Main* maggie, bConstraint *curcon; conlist = get_active_constraints2(blenderobject); + if((gameobj->GetLayer()&activeLayerBitInfo)==0) + continue; + if (conlist) { for (curcon = (bConstraint *)conlist->first; curcon; curcon=(bConstraint *)curcon->next) { if (curcon->type==CONSTRAINT_TYPE_RIGIDBODYJOINT){ @@ -2621,7 +2624,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie, if (dat->tar) { KX_GameObject *gotar=getGameOb(dat->tar->id.name+2,sumolist); - if (gotar && gotar->GetPhysicsController()) + if (gotar && ((gotar->GetLayer()&activeLayerBitInfo)!=0) && gotar->GetPhysicsController()) physctr2 = (PHY_IPhysicsController*) gotar->GetPhysicsController()->GetUserData(); } diff --git a/source/gameengine/Converter/CMakeLists.txt b/source/gameengine/Converter/CMakeLists.txt index bdd0769e0a3..6cfd8c9b42b 100644 --- a/source/gameengine/Converter/CMakeLists.txt +++ b/source/gameengine/Converter/CMakeLists.txt @@ -59,6 +59,10 @@ set(INC ../../../extern/bullet2/src ) +set(INC_SYS + +) + set(SRC BL_ActionActuator.cpp BL_ArmatureActuator.cpp @@ -109,4 +113,4 @@ if(WITH_BULLET) add_definitions(-DUSE_BULLET) endif() -blender_add_lib(ge_converter "${SRC}" "${INC}") +blender_add_lib(ge_converter "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Expressions/CMakeLists.txt b/source/gameengine/Expressions/CMakeLists.txt index 8cda0e2dc77..83d44e1b318 100644 --- a/source/gameengine/Expressions/CMakeLists.txt +++ b/source/gameengine/Expressions/CMakeLists.txt @@ -33,6 +33,10 @@ set(INC ../../../source/blender/blenloader ) +set(INC_SYS + +) + set(SRC BoolValue.cpp ConstExpr.cpp @@ -77,4 +81,4 @@ set(SRC VoidValue.h ) -blender_add_lib(ge_logic_expressions "${SRC}" "${INC}") +blender_add_lib(ge_logic_expressions "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Expressions/PyObjectPlus.cpp b/source/gameengine/Expressions/PyObjectPlus.cpp index 65c20cad518..10906cdae02 100644 --- a/source/gameengine/Expressions/PyObjectPlus.cpp +++ b/source/gameengine/Expressions/PyObjectPlus.cpp @@ -1198,14 +1198,13 @@ void PyDebugLine() f_lineno= PyObject_GetAttrString(frame, "f_lineno"); f_code= PyObject_GetAttrString(frame, "f_code"); if (f_lineno && f_code) { - co_filename= PyObject_GetAttrString(f_code, "co_filename"); + co_filename= ((PyCodeObject *)f_code)->co_filename; /* borrow */ if (co_filename) { printf("\t%s:%d\n", _PyUnicode_AsString(co_filename), (int)PyLong_AsSsize_t(f_lineno)); Py_DECREF(f_lineno); Py_DECREF(f_code); - Py_DECREF(co_filename); Py_DECREF(frame); return; } diff --git a/source/gameengine/GameLogic/CMakeLists.txt b/source/gameengine/GameLogic/CMakeLists.txt index 2acf07584b1..b6721650bad 100644 --- a/source/gameengine/GameLogic/CMakeLists.txt +++ b/source/gameengine/GameLogic/CMakeLists.txt @@ -34,6 +34,10 @@ set(INC ../../../source/gameengine/Rasterizer ) +set(INC_SYS + +) + set(SRC Joystick/SCA_Joystick.cpp Joystick/SCA_JoystickEvents.cpp @@ -124,9 +128,9 @@ set(SRC ) if(WITH_SDL) - set(INC ${INC} ${SDL_INCLUDE_DIR}) + list(APPEND INC_SYS ${SDL_INCLUDE_DIR}) else() add_definitions(-DDISABLE_SDL) endif() -blender_add_lib(ge_logic "${SRC}" "${INC}") +blender_add_lib(ge_logic "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/GameLogic/SCA_PythonController.cpp b/source/gameengine/GameLogic/SCA_PythonController.cpp index d0c1155de96..19ddce13757 100644 --- a/source/gameengine/GameLogic/SCA_PythonController.cpp +++ b/source/gameengine/GameLogic/SCA_PythonController.cpp @@ -357,14 +357,7 @@ bool SCA_PythonController::Import() m_function_argc = 0; /* rare cases this could be a function that isnt defined in python, assume zero args */ if (PyFunction_Check(m_function)) { - PyObject *py_arg_count = PyObject_GetAttrString(PyFunction_GET_CODE(m_function), "co_argcount"); - if(py_arg_count) { - m_function_argc = PyLong_AsLong(py_arg_count); - Py_DECREF(py_arg_count); - } - else { - PyErr_Clear(); /* unlikely to fail but just incase */ - } + m_function_argc= ((PyCodeObject *)PyFunction_GET_CODE(m_function))->co_argcount; } if(m_function_argc > 1) { diff --git a/source/gameengine/GamePlayer/common/CMakeLists.txt b/source/gameengine/GamePlayer/common/CMakeLists.txt index afbc49ea38d..d16ec6a2f22 100644 --- a/source/gameengine/GamePlayer/common/CMakeLists.txt +++ b/source/gameengine/GamePlayer/common/CMakeLists.txt @@ -51,6 +51,9 @@ set(INC ../../../../source/gameengine/GamePlayer/ghost ../../../../source/blender/blenloader ../../../../source/blender/gpu +) + +set(INC_SYS ${GLEW_INCLUDE_PATH} ${PYTHON_INCLUDE_DIRS} ${PNG_INCLUDE_DIR} @@ -82,4 +85,4 @@ set(SRC add_definitions(-DGLEW_STATIC) -blender_add_lib_nolist(ge_player_common "${SRC}" "${INC}") +blender_add_lib_nolist(ge_player_common "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/GamePlayer/ghost/CMakeLists.txt b/source/gameengine/GamePlayer/ghost/CMakeLists.txt index 389300efc21..5ac121099c3 100644 --- a/source/gameengine/GamePlayer/ghost/CMakeLists.txt +++ b/source/gameengine/GamePlayer/ghost/CMakeLists.txt @@ -52,6 +52,9 @@ set(INC ../../../../source/gameengine/GamePlayer/common ../../../../source/blender/blenloader ../../../../source/blender/gpu +) + +set(INC_SYS ${GLEW_INCLUDE_PATH} ${PYTHON_INCLUDE_DIRS} ) @@ -75,4 +78,4 @@ if(WITH_CODEC_FFMPEG) add_definitions(-DWITH_FFMPEG) endif() -blender_add_lib_nolist(ge_player_ghost "${SRC}" "${INC}") +blender_add_lib_nolist(ge_player_ghost "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp index 75181b6c330..121f38eef02 100644 --- a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp +++ b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp @@ -62,7 +62,8 @@ extern "C" #include "BKE_global.h" #include "BKE_icons.h" #include "BKE_node.h" -#include "BKE_report.h" +#include "BKE_report.h" +#include "BKE_library.h" #include "BLI_blenlib.h" #include "DNA_scene_types.h" #include "DNA_userdef_types.h" @@ -70,6 +71,7 @@ extern "C" #include "BLO_runtime.h" #include "IMB_imbuf.h" #include "BKE_text.h" +#include "BKE_sound.h" int GHOST_HACK_getFirstFile(char buf[]); @@ -404,6 +406,9 @@ int main(int argc, char** argv) initglobals(); + // We load our own G.main, so free the one that initglobals() gives us + free_main(G.main); + IMB_init(); // Setup builtin font for BLF (mostly copied from creator.c, wm_init_exit.c and interface_style.c) @@ -445,6 +450,8 @@ int main(int argc, char** argv) U.audioformat = 0x24; U.audiochannels = 2; + sound_init_once(); + /* if running blenderplayer the last argument can't be parsed since it has to be the filename. */ isBlenderPlayer = !BLO_is_a_runtime(argv[0]); if (isBlenderPlayer) diff --git a/source/gameengine/Ketsji/CMakeLists.txt b/source/gameengine/Ketsji/CMakeLists.txt index 1e61359d329..6fe793bd475 100644 --- a/source/gameengine/Ketsji/CMakeLists.txt +++ b/source/gameengine/Ketsji/CMakeLists.txt @@ -54,6 +54,9 @@ set(INC ../../../intern/audaspace/intern ../../../source/blender/blenloader ../../../source/blender/gpu +) + +set(INC_SYS ${GLEW_INCLUDE_PATH} ) @@ -212,7 +215,7 @@ set(SRC add_definitions(-DGLEW_STATIC) if(WITH_SDL) - set(INC ${INC} ${SDL_INCLUDE_DIR}) + list(APPEND INC_SYS ${SDL_INCLUDE_DIR}) else() add_definitions(-DDISABLE_SDL) endif() @@ -222,9 +225,11 @@ if(WITH_CODEC_FFMPEG) endif() if(WITH_BULLET) + list(APPEND INC + ../../../extern/bullet2/src + ../../../source/gameengine/Physics/Bullet + ) add_definitions(-DUSE_BULLET) - list(APPEND INC ../../../extern/bullet2/src) - list(APPEND INC ../../../source/gameengine/Physics/Bullet ) endif() -blender_add_lib(ge_logic_ketsji "${SRC}" "${INC}") +blender_add_lib(ge_logic_ketsji "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt b/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt index 17a5929420d..b8149566801 100644 --- a/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt +++ b/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt @@ -36,6 +36,10 @@ set(INC ../../../../source/gameengine/Network ) +set(INC_SYS + +) + set(SRC KX_NetworkEventManager.cpp KX_NetworkMessageActuator.cpp @@ -50,4 +54,4 @@ set(SRC KX_NetworkObjectSensor.h ) -blender_add_lib(ge_logic_network "${SRC}" "${INC}") +blender_add_lib(ge_logic_network "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Network/CMakeLists.txt b/source/gameengine/Network/CMakeLists.txt index 7f4c7c357da..e1f3bfaac77 100644 --- a/source/gameengine/Network/CMakeLists.txt +++ b/source/gameengine/Network/CMakeLists.txt @@ -31,6 +31,10 @@ set(INC ../../../intern/moto/include ) +set(INC_SYS + +) + set(SRC NG_NetworkMessage.cpp NG_NetworkObject.cpp @@ -42,4 +46,4 @@ set(SRC NG_NetworkScene.h ) -blender_add_lib(ge_logic_ngnetwork "${SRC}" "${INC}") +blender_add_lib(ge_logic_ngnetwork "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt b/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt index d7b88304474..9c3936987f2 100644 --- a/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt +++ b/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt @@ -31,10 +31,14 @@ set(INC ../../../../source/gameengine/Network ) +set(INC_SYS + +) + set(SRC NG_LoopBackNetworkDeviceInterface.cpp NG_LoopBackNetworkDeviceInterface.h ) -blender_add_lib(ge_logic_loopbacknetwork "${SRC}" "${INC}") +blender_add_lib(ge_logic_loopbacknetwork "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Physics/Bullet/CMakeLists.txt b/source/gameengine/Physics/Bullet/CMakeLists.txt index a984d0436f0..aadd11cc036 100644 --- a/source/gameengine/Physics/Bullet/CMakeLists.txt +++ b/source/gameengine/Physics/Bullet/CMakeLists.txt @@ -43,6 +43,9 @@ set(INC ../../../../source/blender/makesdna ../../../../source/blender/blenlib ../../../../source/blender/blenkernel +) + +set(INC_SYS ${GLEW_INCLUDE_PATH} ${PYTHON_INCLUDE_DIRS} ) @@ -61,4 +64,4 @@ if(WITH_BULLET) add_definitions(-DUSE_BULLET) endif() -blender_add_lib(ge_phys_bullet "${SRC}" "${INC}") +blender_add_lib(ge_phys_bullet "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Physics/Dummy/CMakeLists.txt b/source/gameengine/Physics/Dummy/CMakeLists.txt index fd7f37897eb..11230bbe571 100644 --- a/source/gameengine/Physics/Dummy/CMakeLists.txt +++ b/source/gameengine/Physics/Dummy/CMakeLists.txt @@ -29,10 +29,14 @@ set(INC ../common ) +set(INC_SYS + +) + set(SRC DummyPhysicsEnvironment.cpp DummyPhysicsEnvironment.h ) -blender_add_lib(ge_phys_dummy "${SRC}" "${INC}") +blender_add_lib(ge_phys_dummy "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Physics/common/CMakeLists.txt b/source/gameengine/Physics/common/CMakeLists.txt index 50aa9083089..9da7aaa6ba7 100644 --- a/source/gameengine/Physics/common/CMakeLists.txt +++ b/source/gameengine/Physics/common/CMakeLists.txt @@ -29,6 +29,10 @@ set(INC ../Dummy ) +set(INC_SYS + +) + set(SRC PHY_IMotionState.cpp PHY_IController.cpp @@ -47,4 +51,4 @@ set(SRC PHY_Pro.h ) -blender_add_lib(ge_phys_common "${SRC}" "${INC}") +blender_add_lib(ge_phys_common "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Rasterizer/CMakeLists.txt b/source/gameengine/Rasterizer/CMakeLists.txt index 2bfb3f8f328..b705d3151b2 100644 --- a/source/gameengine/Rasterizer/CMakeLists.txt +++ b/source/gameengine/Rasterizer/CMakeLists.txt @@ -34,6 +34,9 @@ set(INC ../../../intern/moto/include ../../../intern/guardedalloc ../Expressions +) + +set(INC_SYS ${GLEW_INCLUDE_PATH} ${PYTHON_INCLUDE_DIRS} ) @@ -81,4 +84,4 @@ set(SRC add_definitions(-DGLEW_STATIC) -blender_add_lib(ge_rasterizer "${SRC}" "${INC}") +blender_add_lib(ge_rasterizer "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt index 99068aa1bb8..a005bb1108d 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt @@ -37,6 +37,9 @@ set(INC ../../../../source/blender/blenkernel ../../../../source/blender/blenlib ../../../../source/blender/blenloader +) + +set(INC_SYS ${GLEW_INCLUDE_PATH} ) @@ -54,4 +57,4 @@ set(SRC add_definitions(-DGLEW_STATIC) -blender_add_lib(ge_oglrasterizer "${SRC}" "${INC}") +blender_add_lib(ge_oglrasterizer "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/SceneGraph/CMakeLists.txt b/source/gameengine/SceneGraph/CMakeLists.txt index a054252ea0b..2f6b90a21a7 100644 --- a/source/gameengine/SceneGraph/CMakeLists.txt +++ b/source/gameengine/SceneGraph/CMakeLists.txt @@ -29,6 +29,10 @@ set(INC ../../../intern/moto/include ) +set(INC_SYS + +) + set(SRC SG_BBox.cpp SG_Controller.cpp @@ -48,4 +52,4 @@ set(SRC SG_Tree.h ) -blender_add_lib(ge_scenegraph "${SRC}" "${INC}") +blender_add_lib(ge_scenegraph "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/VideoTexture/CMakeLists.txt b/source/gameengine/VideoTexture/CMakeLists.txt index b544139d4a7..201714be74a 100644 --- a/source/gameengine/VideoTexture/CMakeLists.txt +++ b/source/gameengine/VideoTexture/CMakeLists.txt @@ -46,6 +46,9 @@ set(INC ../../../intern/moto/include ../../../intern/guardedalloc ../../../intern/ffmpeg +) + +set(INC_SYS ${GLEW_INCLUDE_PATH} ) @@ -87,9 +90,12 @@ set(SRC ) if(WITH_CODEC_FFMPEG) - set(INC ${INC} ${FFMPEG_INC} ${PTHREADS_INC}) + list(APPEND INC_SYS + ${FFMPEG_INC} + ${PTHREADS_INC} + ) add_definitions(-DWITH_FFMPEG) add_definitions(-D__STDC_CONSTANT_MACROS) endif() -blender_add_lib(ge_videotex "${SRC}" "${INC}") +blender_add_lib(ge_videotex "${SRC}" "${INC}" "${INC_SYS}") |