Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2008-09-14 07:51:51 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2008-09-14 07:51:51 +0400
commitd111983064296dc9dd2c1b3f1735efd38f95c9d1 (patch)
tree868178b412024c70aa1a34ea3377a6dc493dad8b
parentc4cde9a02724abdf1488634fc39d2d822907278e (diff)
Fix for bug #5758 and #17585: armatures with IK constraint did not
work in the game player, now the IK lib is linked into the player. Makefiles/Scons/CMake buildsystems have been updated. Fix materials nodes to work in the game player.
-rw-r--r--blenderplayer/CMakeLists.txt1
-rw-r--r--intern/iksolver/CMakeLists.txt2
-rw-r--r--intern/iksolver/SConscript3
-rw-r--r--source/Makefile4
-rw-r--r--source/blender/blenkernel/bad_level_call_stubs/stubs.c24
-rw-r--r--source/creator/CMakeLists.txt4
-rw-r--r--source/gameengine/GamePlayer/ghost/GPG_ghost.cpp5
7 files changed, 13 insertions, 30 deletions
diff --git a/blenderplayer/CMakeLists.txt b/blenderplayer/CMakeLists.txt
index e32390466c7..9786b7e61b2 100644
--- a/blenderplayer/CMakeLists.txt
+++ b/blenderplayer/CMakeLists.txt
@@ -86,6 +86,7 @@ IF(UNIX)
bf_oglrasterizer
bf_expressions
bf_scenegraph
+ bf_IK
bf_moto
bf_soundsystem
bf_kernel
diff --git a/intern/iksolver/CMakeLists.txt b/intern/iksolver/CMakeLists.txt
index da69f2a3332..736a2a78bb2 100644
--- a/intern/iksolver/CMakeLists.txt
+++ b/intern/iksolver/CMakeLists.txt
@@ -28,5 +28,5 @@ SET(INC intern ../moto/include ../memutil)
FILE(GLOB SRC intern/*.cpp)
-BLENDERLIB_NOLIST(blender_IK "${SRC}" "${INC}")
+BLENDERLIB(bf_IK "${SRC}" "${INC}")
#, libtype=['blender'], priority = [10] )
diff --git a/intern/iksolver/SConscript b/intern/iksolver/SConscript
index 81bf61dfcd8..543ee46487c 100644
--- a/intern/iksolver/SConscript
+++ b/intern/iksolver/SConscript
@@ -5,4 +5,5 @@ sources = env.Glob('intern/*.cpp')
incs = 'intern ../moto/include ../memutil'
-env.BlenderLib ('blender_IK', sources, Split(incs), [], libtype='blender', priority=10 )
+env.BlenderLib ('bf_IK', sources, Split(incs), [], libtype=['intern','player'], priority=[20,100] )
+
diff --git a/source/Makefile b/source/Makefile
index 37833a5829c..99155206987 100644
--- a/source/Makefile
+++ b/source/Makefile
@@ -100,6 +100,7 @@ COMLIB += $(OCGDIR)/blender/nodes_cmp/$(DEBUG_DIR)libnodes_cmp.a
COMLIB += $(OCGDIR)/blender/nodes/$(DEBUG_DIR)libnodes.a
COMLIB += $(OCGDIR)/blender/imbuf/$(DEBUG_DIR)libimbuf.a
COMLIB += $(OCGDIR)/blender/blenlib/$(DEBUG_DIR)libblenlib.a
+COMLIB += $(NAN_IKSOLVER)/lib/libiksolver.a
COMLIB += $(NAN_OPENNL)/lib/$(DEBUG_DIR)libopennl.a
COMLIB += $(NAN_SUPERLU)/lib/$(DEBUG_DIR)libsuperlu.a
COMLIB += $(OCGDIR)/blender/avi/$(DEBUG_DIR)libavi.a
@@ -227,8 +228,7 @@ ifeq ($(WITH_OPENEXR), true)
COMLIB += $(NAN_OPENEXR_LIBS)
endif
-PULIB = $(NAN_IKSOLVER)/lib/libiksolver.a
-PULIB += $(NAN_MOTO)/lib/libmoto.a
+PULIB = $(NAN_MOTO)/lib/libmoto.a
PULIB += $(NAN_ELBEEM)/lib/$(DEBUG_DIR)libelbeem.a
PULIB += $(OCGDIR)/blender/readblenfile/$(DEBUG_DIR)libreadblenfile.a
PULIB += $(OCGDIR)/blender/src/$(DEBUG_DIR)libsrcpublisher.a
diff --git a/source/blender/blenkernel/bad_level_call_stubs/stubs.c b/source/blender/blenkernel/bad_level_call_stubs/stubs.c
index 4b6cb5e0999..d7ef5cb54ff 100644
--- a/source/blender/blenkernel/bad_level_call_stubs/stubs.c
+++ b/source/blender/blenkernel/bad_level_call_stubs/stubs.c
@@ -216,30 +216,6 @@ struct EditEdge *findedgelist(struct EditVert *v1, struct EditVert *v2) { retur
void countall(void) {}
-
-/* IKsolver stubs */
-#include "IK_solver.h"
-
-IK_Segment *IK_CreateSegment(int flag) { return 0; }
-void IK_FreeSegment(IK_Segment *seg) {}
-
-void IK_SetParent(IK_Segment *seg, IK_Segment *parent) {}
-void IK_SetTransform(IK_Segment *seg, float start[3], float rest_basis[][3], float basis[][3], float length) {}
-void IK_GetBasisChange(IK_Segment *seg, float basis_change[][3]) {}
-void IK_GetTranslationChange(IK_Segment *seg, float *translation_change) {};
-void IK_SetLimit(IK_Segment *seg, IK_SegmentAxis axis, float lower, float upper) {};
-void IK_SetStiffness(IK_Segment *seg, IK_SegmentAxis axis, float stiffness) {};
-
-IK_Solver *IK_CreateSolver(IK_Segment *root) { return 0; }
-void IK_FreeSolver(IK_Solver *solver) {};
-
-void IK_SolverAddGoal(IK_Solver *solver, IK_Segment *tip, float goal[3], float weight) {}
-void IK_SolverAddGoalOrientation(IK_Solver *solver, IK_Segment *tip, float goal[][3], float weight) {}
-void IK_SolverSetPoleVectorConstraint(IK_Solver *solver, IK_Segment *tip, float goal[3], float polegoal[3], float poleangle, int getangle) {}
-float IK_SolverGetPoleAngle(IK_Solver *solver) { return 0.0f; }
-
-int IK_Solve(IK_Solver *solver, float tolerance, int max_iterations) { return 0; }
-
/* exotic.c */
int BPY_call_importloader(char *name)
{
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index 04219ac5868..93cc0e8afb5 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -191,7 +191,7 @@ ADD_DEPENDENCIES(blender makesdna)
FILE(READ ${CMAKE_BINARY_DIR}/cmake_blender_libs.txt BLENDER_LINK_LIBS)
-SET(BLENDER_LINK_LIBS bf_nodes ${BLENDER_LINK_LIBS} src blender_python blender_render blender_radiosity blender_IK bf_elbeem)
+SET(BLENDER_LINK_LIBS bf_nodes ${BLENDER_LINK_LIBS} src blender_python blender_render blender_radiosity bf_elbeem)
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
SET(BLENDER_LINK_LIBS ${BLENDER_LINK_LIBS} extern_binreloc)
@@ -226,7 +226,7 @@ IF(UNIX)
bf_decimation
bf_elbeem
bf_yafray
- blender_IK
+ bf_IK
bf_memutil
bf_guardedalloc
blender_CTR
diff --git a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
index b0950fece5f..a50577e2266 100644
--- a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
+++ b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
@@ -54,6 +54,7 @@ extern "C"
#endif // __cplusplus
#include "BKE_global.h"
#include "BKE_icons.h"
+#include "BKE_node.h"
#include "BLI_blenlib.h"
#include "DNA_scene_types.h"
#include "BLO_readfile.h"
@@ -376,6 +377,8 @@ int main(int argc, char** argv)
::DisposeNibReference(nibRef);
*/
#endif // __APPLE__
+
+ init_nodesystem();
GEN_init_messaging_system();
@@ -846,6 +849,8 @@ int main(int argc, char** argv)
}
}
+ free_nodesystem();
+
if (pyGlobalDictString) {
free(pyGlobalDictString);
pyGlobalDictString = NULL;