diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 1f1b1d883bc..a043dbad3b8 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -25,9 +25,9 @@ # ***** END GPL LICENSE BLOCK ***** ADD_SUBDIRECTORY(blender) -ADD_SUBDIRECTORY(kernel) IF(WITH_GAMEENGINE) + ADD_SUBDIRECTORY(kernel) ADD_SUBDIRECTORY(gameengine) ENDIF(WITH_GAMEENGINE) diff --git a/source/SConscript b/source/SConscript index c452f21b8e2..8d08d9cca08 100644 --- a/source/SConscript +++ b/source/SConscript @@ -1,11 +1,10 @@ #!/usr/bin/python Import ('env') -SConscript(['blender/SConscript', - 'kernel/SConscript', - 'creator/SConscript']) +SConscript(['blender/SConscript', 'creator/SConscript']) + if env['WITH_BF_GAMEENGINE']: - SConscript (['gameengine/SConscript']) + SConscript (['kernel/SConscript', 'gameengine/SConscript']) if env['WITH_BF_PLAYER']: SConscript (['blenderplayer/bad_level_call_stubs/SConscript']) diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt index c39897af68a..efdcd47ea72 100644 --- a/source/blender/windowmanager/CMakeLists.txt +++ b/source/blender/windowmanager/CMakeLists.txt @@ -90,6 +90,10 @@ ELSE(WITH_PYTHON) ADD_DEFINITIONS(-DDISABLE_PYTHON) ENDIF(WITH_PYTHON) +IF(WITH_GAMEENGINE) + ADD_DEFINITIONS(-DGAMEBLENDER) +ENDIF(WITH_GAMEENGINE) + IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c index e373579577d..b9736009d32 100644 --- a/source/blender/windowmanager/intern/wm_init_exit.c +++ b/source/blender/windowmanager/intern/wm_init_exit.c @@ -65,7 +65,9 @@ #include "BPY_extern.h" #endif +#if GAMEBLENDER == 1 #include "SYS_System.h" +#endif #include "RNA_define.h" @@ -432,9 +434,9 @@ void WM_exit(bContext *C) wm_ghost_exit(); CTX_free(C); - +#if GAMEBLENDER == 1 SYS_DeleteSystem(SYS_GetSystem()); - +#endif if(MEM_get_memory_blocks_in_use()!=0) { printf("Error Totblock: %d\n", MEM_get_memory_blocks_in_use()); MEM_printmemlist(); diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 6d43e13718f..c32329e20ff 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -78,6 +78,10 @@ ELSE(WITH_PYTHON) ADD_DEFINITIONS(-DDISABLE_PYTHON) ENDIF(WITH_PYTHON) +IF(WITH_GAMEENGINE) + ADD_DEFINITIONS(-DGAMEBLENDER) +ENDIF(WITH_GAMEENGINE) + IF(NOT WITH_SDL) ADD_DEFINITIONS(-DDISABLE_SDL) ENDIF(NOT WITH_SDL) diff --git a/source/creator/creator.c b/source/creator/creator.c index 25f01ea0bea..7e53ad5d648 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -97,7 +97,11 @@ #include "GPU_extensions.h" /* for passing information between creator and gameengine */ +#if GAMEBLENDER == 1 #include "SYS_System.h" +#else /* dummy */ +#define SYS_SystemHandle int +#endif #include @@ -444,6 +448,9 @@ static int register_extension(int UNUSED(argc), char **UNUSED(argv), void *data) static int no_joystick(int UNUSED(argc), char **UNUSED(argv), void *data) { +#if GAMEBLENDER != 1 + (void)data; +#else SYS_SystemHandle *syshandle = data; /** @@ -452,6 +459,7 @@ static int no_joystick(int UNUSED(argc), char **UNUSED(argv), void *data) */ SYS_WriteCommandLineInt(*syshandle, "nojoystick",1); if (G.f & G_DEBUG) printf("disabling nojoystick\n"); +#endif return 0; } @@ -633,8 +641,13 @@ static int set_extension(int argc, char **argv, void *data) static int set_ge_parameters(int argc, char **argv, void *data) { - SYS_SystemHandle syshandle = *(SYS_SystemHandle*)data; int a = 0; +#if GAMEBLENDER == 1 + SYS_SystemHandle syshandle = *(SYS_SystemHandle*)data; +#else + (void)data; +#endif + /** gameengine parameters are automaticly put into system -g [paramname = value] @@ -655,7 +668,9 @@ example: { a++; /* assignment */ +#if GAMEBLENDER == 1 SYS_WriteCommandLineString(syshandle,paramname,argv[a]); +#endif } else { printf("error: argument assignment (%s) without value.\n",paramname); @@ -664,8 +679,9 @@ example: /* name arg eaten */ } else { +#if GAMEBLENDER == 1 SYS_WriteCommandLineInt(syshandle,argv[a],1); - +#endif /* doMipMap */ if (!strcmp(argv[a],"nomipmap")) { @@ -1077,8 +1093,12 @@ int main(int argc, char **argv) IMB_init(); +#if GAMEBLENDER == 1 syshandle = SYS_GetSystem(); GEN_init_messaging_system(); +#else + syshandle= 0; +#endif /* first test for background */ ba = BLI_argsInit(argc, argv); /* skip binary path */