Page 12 of 14
Character Controller
Posted: Mon Jun 06, 2011 9:52 pm
by nyfinscyf
Hey everyone,
I've noticed on the IrrBp homepage it lists a few things that have been completed:
Wrapper Status: 75%
Rigid Bodies
Basic Soft Bodies
Constraints
Animators
Character Controllers
Multithread (BETA)
The character controller is what I need the most at the moment, however, I cannot seem to find an implementation for it anywhere in IrrBp.
If anyone has any help with this, or alternative ways to implement a character I will greatly appreciate it.
Thanks,
Nyfinscyf
Compiling Example with SVN
Posted: Mon Jun 13, 2011 9:06 pm
by spacetime
Hi, back again and need some help.
Downloaded latest SVN and compiled. Had some problems but solved it.
When compiling the example compiler error:
irrVectorToBulletVector was not declared in this scope - solved by adding
Code: Select all
#include "convert.h"
using namespace bullet
in IrrBP.h
Added
libBulletMultiThreaded.a in front of Bullet libraries to solve a bunch of undefined reference errors
Now linker complaining about two errors, both are the same:
CIrrBPCamera.cpp|65|undefined reference to `CSceneNodeAnimatorCameraFPS::CSceneNodeAnimatorCameraFPS(CIrrBPRigidBody*, irr::gui::ICursorControl*, float, float, float, irr::SKeyMap*, unsigned int, bool, bool)'
Any ideas
THX
Posted: Sun Jun 19, 2011 7:36 pm
by spacetime
bump !
anyone ? any ideas
linker error -> undefined reference to
Posted: Thu Jun 23, 2011 10:14 pm
by spacetime

I found the problem
you have to add
Code: Select all
#include "CSceneNodeAnimatorCameraFPS.cpp"
in CIrrBPCamera.h to other includes. The class is forward declared but not defined so the linker does not know about it.
Happy I found it.
linker error -> undefined reference to `CSceneNodeAnimato
Posted: Sun Jun 26, 2011 10:49 pm
by spacetime
the solution I posted worked for the example but not for my project (which is actually only a test)
So this things worked for me for both:
1. adding "BulletMultiThread.a" for linking
2. adding "using namespace bullet" in my program (left IrrBP.h unchanged)
3. and finally - the main problem -
CSceneNodeAnimatorCameraFPS.h and CSceneNodeAnimatorCameraFPS.cpp are not in the CodeBlocks project !!!!
You have to add them to the project before you make your lib.
Now everything compiles and links fine

Posted: Tue Jun 28, 2011 10:04 am
by Zurzaza
Thank you all for the support.
In the last month i had a lot of works to do, so i was away from my PC.
In the next days i'll release a new svn update (and a minor packet release) with all your updates.
@nyfinscyf: Character controllers have been implemented, but in a "virtual" classs. So if you want something more specific (that isn't a vehicle), you have to implement it.
Re: irrBP - An Irrlicht - Bullet Physics Wrapper
Posted: Fri Jul 01, 2011 11:32 pm
by spacetime
Glad you're back.
I was not able to remove the constraint. It compiles but nothing happens

Re: irrBP - An Irrlicht - Bullet Physics Wrapper
Posted: Sun Jul 10, 2011 9:02 pm
by spacetime
I have added an option in the example to remove constraint and it works perfectly. In my code id does not

.So it's my code. I will have to figure it out by myself.
Re: irrBP - An Irrlicht - Bullet Physics Wrapper
Posted: Wed Jul 13, 2011 2:08 pm
by user-r3
Hi there,
I just wanted to try this out and use it in my current project (FPS)
But I am not able to use the camera...
Well...
I tried the following:
Code: Select all
bulletmgr->createCamera(camera, 100);
camera is my FPS Cam
My problem:
I only fall (get affected by gravity), when I move (press WASD)
And I just don't get it, how to implement cameras correctly... At the moment the support forum seems to be offline...
So could anybody be so kind and tell me how to do that...?
Thanks and sorry for my stupidity...
Re: irrBP - An Irrlicht - Bullet Physics Wrapper
Posted: Thu Jul 21, 2011 8:30 pm
by spacetime
I would not affect camera by the physics. Try to follow your actor with the camera by setting the position and rotation to the camera when moving the actor depending on actor position and rotation
Re: irrBP - An Irrlicht - Bullet Physics Wrapper
Posted: Thu Jul 21, 2011 10:37 pm
by Radikalizm
spacetime wrote:I would not affect camera by the physics. Try to follow your actor with the camera by setting the position and rotation to the camera when moving the actor depending on actor position and rotation
True, camera movement should be defined by the actor it's following, but you don't want your camera to be able to go through terrain or other objects since it could cause your view to get obstructed, so it should incorporate some form of collision detection provided by the physics engine
Re: irrBP - An Irrlicht - Bullet Physics Wrapper
Posted: Thu Sep 08, 2011 1:17 am
by LookingForAPath
-Scratch, you can delete this post if you want too, it was about my linker error problems-
I rebuilt all IrrBP and bullet 2.77 and added the additional dependencies a different way, solving all my linker problems.
Thanks

Re: irrBP - An Irrlicht - Bullet Physics Wrapper
Posted: Thu Jan 12, 2012 7:47 pm
by mubashar
Hello i triend to compile in VS 2008 and get this i am including libraries in that order
#pragma comment(lib, "Irrlicht.lib")
#pragma comment(lib, "irrBPLib.lib")
#pragma comment(lib, "BulletSoftBody.lib")
#pragma comment(lib, "BulletCollision.lib")
#pragma comment(lib, "LinearMath.lib")
also included as additional dependencies whats the problem ...
1>Linking...
1>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __heap_alloc already defined in LIBCMT.lib(malloc.obj)
1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __recalloc already defined in LIBCMT.lib(recalloc.obj)
1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __msize already defined in LIBCMT.lib(msize.obj)
1>LIBCMTD.lib(malloc.obj) : error LNK2005: _V6_HeapAlloc already defined in LIBCMT.lib(malloc.obj)
1>LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook already defined in LIBCMT.lib(dbghook.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_pHeaderDefer already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: __get_sbh_threshold already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: __set_sbh_threshold already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: __set_amblksiz already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: __get_amblksiz already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_heap_init already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_find_block already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_free_block already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_alloc_block already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_alloc_new_region already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_alloc_new_group already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_resize_block already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_heapmin already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_heap_check already defined in LIBCMT.lib(sbheap.obj)
1>LIBCMTD.lib(isctype.obj) : error LNK2005: __isctype_l already defined in LIBCMT.lib(isctype.obj)
1>LIBCMTD.lib(isctype.obj) : error LNK2005: __isctype already defined in LIBCMT.lib(isctype.obj)
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _sprintf already defined in LIBCMT.lib(sprintf.obj)
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _printf already defined in LIBCMT.lib(printf.obj)
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj)
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _free already defined in LIBCMT.lib(free.obj)
1>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
1>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>IrrBPLib.lib(CIrrBPWorld.obj) : error LNK2001: unresolved external symbol "public: __thiscall SpuGatheringCollisionDispatcher::SpuGatheringCollisionDispatcher(class btThreadSupportInterface *,unsigned int,class btCollisionConfiguration *)" (??0SpuGatheringCollisionDispatcher@@QAE@PAVbtThreadSupportInterface@@IPAVbtCollisionConfiguration@@@Z)
1>IrrBPLib.lib(CIrrBPWorld.obj) : error LNK2001: unresolved external symbol "void * __cdecl SolverlsMemoryFunc(void)" (?SolverlsMemoryFunc@@YAPAXXZ)
1>IrrBPLib.lib(CIrrBPWorld.obj) : error LNK2001: unresolved external symbol "void * __cdecl createCollisionLocalStoreMemory(void)" (?createCollisionLocalStoreMemory@@YAPAXXZ)
1>IrrBPLib.lib(CIrrBPWorld.obj) : error LNK2001: unresolved external symbol "public: __thiscall btParallelConstraintSolver::btParallelConstraintSolver(class btThreadSupportInterface *)" (??0btParallelConstraintSolver@@QAE@PAVbtThreadSupportInterface@@@Z)
1>IrrBPLib.lib(CIrrBPWorld.obj) : error LNK2001: unresolved external symbol "public: __thiscall Win32ThreadSupport::Win32ThreadSupport(struct Win32ThreadSupport::Win32ThreadConstructionInfo const &)" (??0Win32ThreadSupport@@QAE@ABUWin32ThreadConstructionInfo@0@@Z)
1>IrrBPLib.lib(CIrrBPWorld.obj) : error LNK2001: unresolved external symbol "void __cdecl SolverThreadFunc(void *,void *)" (?SolverThreadFunc@@YAXPAX0@Z)
1>IrrBPLib.lib(CIrrBPWorld.obj) : error LNK2001: unresolved external symbol "void __cdecl processCollisionTask(void *,void *)" (?processCollisionTask@@YAXPAX0@Z)
Re: irrBP - An Irrlicht - Bullet Physics Wrapper
Posted: Thu Jan 12, 2012 8:10 pm
by zerochen
you have to change your projekt settings or the settings of the lib
in your project and all libs this setting must be the same
properties -> C/C++ -> code generation -> runtime lib
Re: irrBP - An Irrlicht - Bullet Physics Wrapper
Posted: Thu Jan 12, 2012 10:12 pm
by mubashar
@zerochen i have recompiled bullet 2.77 for visual studio 2008 i am using Multithreaded in C/C++->Code Gen->Run Time lib and still getting these errors