irrBullet 0.1.8 - Bullet physics wrapper

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
grumpymonkey
Posts: 222
Joined: Mon Jan 19, 2009 10:03 pm
Location: Miami, Florida
Contact:

Post by grumpymonkey »

ok I finally got it to build thanks :)

but why did you remove the include files for 0.1.65?

EDIT:
also, when I try to compile this project it crashes at runtime

Code: Select all

#include<irrlicht.h>
#include<irrBullet.h>
#include "clock.h"
using namespace irr;
using namespace core;
using namespace video;
using namespace scene;
using namespace std;

int main(){
	IrrlichtDevice *device = createDevice(EDT_DIRECT3D9);
	ISceneManager *smgr = device->getSceneManager();
	IVideoDriver *vid = device->getVideoDriver();
	smgr->addCameraSceneNodeFPS();

	smgr->loadScene("Media/grass.irr");
	irrBulletWorld *world = createIrrBulletWorld(device, false, false);
	world->setGravity(vector3df(0,-9.8f,0));

	Clock *clock = new Clock(device);

	while(device->run()){
		clock->count();

		world->stepSimulation(clock->getElapsed()*0.001f, 120);
		vid->beginScene(1,1,SColor(255,255,255,255));
		smgr->drawAll();
		vid->endScene();	
	}
	return 0;
}
it crashes at

Code: Select all

irrBulletWorld *world = createIrrBulletWorld(device, false, false);
and it opens a file called "mlock.c" saying there was an unhandled exception

EDIT2:
also, I'm using the 0.1.6 include files
Image
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

grumpymonkey: You'll have to tell me:
- What bullet libraries are you linking against (version; should be 2.75)?
- What irrBullet version are you linking against?
- Are you including the same version's headers?

I removed the include files for 0.1.65 because they are not needed. You can just include them from the source folder.
Josiah Hartzell
Image
grumpymonkey
Posts: 222
Joined: Mon Jan 19, 2009 10:03 pm
Location: Miami, Florida
Contact:

Post by grumpymonkey »

Ok I changed the headers I was using to the ones in the source folder and it fixed the first problem, but now I have another one... first heres an answer to your questions:
-I'm linking against everything you included in the lib folder and the one I built from the irrbullet source.
-I'm linking against 0.1.65
-Yes I'm using the same versions headers

The problem is that when I try to run the example in the first page of the doxygen docs, it crashes on world->addRigidBody();
MSVC says the following:
Windows has triggered a breakpoint in IrrlichtFPS.exe.

This may be due to a corruption of the heap, which indicates a bug in IrrlichtFPS.exe or any of the DLLs it has loaded.

This may also be due to the user pressing F12 while IrrlichtFPS.exe has focus.

The output window may have more diagnostic information.
I *think* it might be something wrong with my mesh, like maybe too many triangles or something like that. I'm not sure, but heres the code:

Code: Select all


    IMeshSceneNode *Node = smgr->addMeshSceneNode(smgr->getMesh("Media/Characters/Bug.obj")->getMesh(0));
    Node->setPosition(vector3df(0,0,0));
    Node->setMaterialFlag(video::EMF_LIGHTING, false);
	Node->setMaterialTexture(0,vid->getTexture("Media/Characters/Bug.bmp"));
    Node->getMesh()->setHardwareMappingHint(EHM_STATIC);
    ICollisionShape *shape = new IBvhTriangleMeshShape(Node, smgr->getMesh("Media/Characters/Bug.obj"), 0.0);
    shape->setMargin(0.07);
    IRigidBody *terrain = physicsWorld->addRigidBody(shape);
    terrain->setGravity(vector3df(0,0,0));
    shape->setLocalScaling(vector3df(4,4,4), ESP_BOTH);
    terrain->setCollisionFlags(ECF_STATIC_OBJECT);
I basically just copy and pasted everything and changed the Mesh locations and added a texture to the node.

EDIT:
also, my project compiles perfectly without that code there. Even after I instantiate a physicsWorld and step the simulation forward in the main game loop.
Image
Justei
Posts: 47
Joined: Fri Aug 20, 2010 11:20 am

Post by Justei »

For everyone trying to use this on VS08 and having trouble compiling etc with VS then here you go:

http://www.speedyshare.com/files/240191 ... etVS08.rar

(bullet libs + irrBullet libs)
Image
alalai
Posts: 2
Joined: Mon Aug 30, 2010 3:25 pm

would you give a step by step example?

Post by alalai »

under windows, VS2008, irrlicht 1.7.1 and irrBullet 0.1.65, a simple example just like "Creating a project from scratch" on Bullet website
http://bulletphysics.org/mediawiki-1.5. ... om_scratch
sudi
Posts: 1686
Joined: Fri Aug 26, 2005 8:38 pm

Post by sudi »

i was playing with your wrapper and where missing a raycast callback. well so i coded one. you might even wanna use it in your wrapper. your more than welcome to.

Code: Select all

class IRaycastCallback : public btCollisionWorld::RayResultCallback
{
public:
    struct SRayResult
    {
        SRayResult(void)
        {
            Object = 0;
            HitFraction = 0.f;
        }
        ICollisionObject* Object;
        irr::core::vector3df HitNormal;
        irr::core::vector3df HitPosition;
        irr::f32 HitFraction;
    };

    IRaycastCallback(void)
    {
        World = 0;
    }

    void init(irrBulletWorld* world, const irr::core::vector3df& from, const irr::core::vector3df& to)
    {
        World = world;
        m_rayFromWorld[0] = from.X;
        m_rayFromWorld[1] = from.Y;
        m_rayFromWorld[2] = from.Z;
        m_rayToWorld[0] = to.X;
        m_rayToWorld[1] = to.Y;
        m_rayToWorld[2] = to.Z;
    }

    btScalar addSingleResult(btCollisionWorld::LocalRayResult& rayResult,bool normalInWorldSpace)
    {
        if (rayResult.m_hitFraction <= m_closestHitFraction)
            m_closestHitFraction = rayResult.m_hitFraction;

        m_collisionObject = rayResult.m_collisionObject;
        if (normalInWorldSpace)
        {
            m_hitNormalWorld = rayResult.m_hitNormalLocal;
        }
        else
        {
            ///need to transform normal into worldspace
            m_hitNormalWorld = m_collisionObject->getWorldTransform().getBasis()*rayResult.m_hitNormalLocal;
        }
        m_hitPointWorld.setInterpolate3(m_rayFromWorld,m_rayToWorld,rayResult.m_hitFraction);

        SRayResult r;
        for (int i = 0;i<World->getNumCollisionObjects();++i)
        {
            if (World->getCollisionObject(i)->getPointer() == m_collisionObject)
            {
                r.Object = World->getCollisionObject(i);
                break;
            }
        }
        r.HitFraction = rayResult.m_hitFraction;
        r.HitNormal.X = m_hitNormalWorld[0];
        r.HitNormal.Y = m_hitNormalWorld[1];
        r.HitNormal.Z = m_hitNormalWorld[2];
        r.HitPosition.X = m_hitPointWorld[0];
        r.HitPosition.Y = m_hitPointWorld[1];
        r.HitPosition.Z = m_hitPointWorld[2];

        return addSingleResult(r);
    }

    //override this method to receive ray results. and return the current hitfraction so the caster knows where to continue
    virtual float addSingleResult(const SRayResult& rayResult)
    {
        return rayResult.HitFraction;
    }

    irrBulletWorld* World;
    btVector3 m_hitNormalWorld;
    btVector3 m_hitPointWorld;
    btVector3 m_rayFromWorld;
    btVector3 m_rayToWorld;
};

void irrBulletRayCast(irrBulletWorld* world, const irr::core::vector3df& from, const irr::core::vector3df& to, IRaycastCallback& callback)
{
    callback.init(world, from, to);

    world->getPointer()->rayTest(callback.m_rayFromWorld, callback.m_rayToWorld, callback);
}
the function irrBulletRayCast would become a member function of your irrBulletWorld class then it would be integrated.
We're programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We're not excited by renovation:tinkering,improving,planting flower beds.
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Hey Sudi. Nice work.

I will probably include this in irrBullet. Thanks. :)

You also might want to add collision masking to your raycasting. I will do that before I put it in irrBullet, unless you do it before.


To see how to do this, check raycastvehicle.cpp to see my custom vehicle raycaster which includes collision masking, unlike the default Bullet raycaster for vehicles.
Josiah Hartzell
Image
Leo [Teh one]
Posts: 6
Joined: Sun Sep 05, 2010 3:08 pm

Post by Leo [Teh one] »

Hello2everyone,
grumpymonkey wrote: it crashes at

Code: Select all

irrBulletWorld *world = createIrrBulletWorld(device, false, false);
and it opens a file called "mlock.c" saying there was an unhandled exception

EDIT2:
also, I'm using the 0.1.6 include files

I have the same problem - I've downloaded 0.1.65 package from sourceforge, and program crashes after this line:

Code: Select all

	irrBulletWorld* world = createIrrBulletWorld(device, false,false);
Is there any solution?

Included libraries:

irrbullet.lib (compiled by myself in VS2010, release mode)
libbulletdynamics.lib
libbulletsoftbody.lib
libGIMPACTUtils.lib
libbulletmath.lib
libbulletcollision.lib
libbulletmultithreaded.lib
libconvexdecomposition.lib


btw I'm using VS2010, irrbullet 0.1.65, irrlicht 1.7.1.
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Hi, Leo.

Did you make sure that the Irrlicht device pointer you gave to the function is actually valid? It has to be initialized before the Bullet world.
Josiah Hartzell
Image
sudi
Posts: 1686
Joined: Fri Aug 26, 2005 8:38 pm

Post by sudi »

EDIT: nevermind
Last edited by sudi on Mon Sep 06, 2010 2:49 am, edited 1 time in total.
We're programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We're not excited by renovation:tinkering,improving,planting flower beds.
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Sudi:

Code: Select all

ICollisionObject::includeNodeOnRemoval(bool b)
Set it to false, and then it will not drop the node when the rigid body is destroyed.

It doesn't grab it in the constructor, because when it drops it at the end, the node should be permanently destroyed. But this is, of course, optional.

The second problem sounds like you did something wrong in your code.
Josiah Hartzell
Image
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Sorry for the double post, but this is important:


All irrBullet users using a version < 0.1.7:

http://www.skyreignsoftware.net16.net/P ... tworld.cpp

Download this, replace the old one in irrBullet/source, and compile irrBullet.

This fixes a very important bug in which only every other object is removed from the world. I advise that you patch it immediately.


Thanks.
Josiah Hartzell
Image
Leo [Teh one]
Posts: 6
Joined: Sun Sep 05, 2010 3:08 pm

Post by Leo [Teh one] »

cobra wrote: Download this, replace the old one in irrBullet/source, and compile irrBullet.

This fixes a very important bug in which only every other object is removed from the world. I advise that you patch it immediately.
I've replaced this file on 0.1.65, and can't compile it anymore:

Code: Select all

1>------ Rebuild All started: Project: irrbullet, Configuration: Release Win32 ------
1>  boxshape.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>  bulletworld.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>d:\dev\sdk\example\include\bullet\source\raycastvehicle.h(40): warning C4099: 'SWheelInfo' : type name first seen using 'class' now seen using 'struct'
1>          d:\dev\sdk\example\include\bullet\source\common.h(15) : see declaration of 'SWheelInfo'
1>..\..\source\bulletworld.cpp(187): error C2511: 'IRaycastVehicle *irrBulletWorld::addRaycastVehicle(IRigidBody *,btVehicleRaycaster *,irr::core::vector3d<T>)' : overloaded member function not found in 'irrBulletWorld'
1>          with
1>          [
1>              T=irr::s32
1>          ]
1>          d:\dev\sdk\example\include\bullet\source\bulletworld.h(39) : see declaration of 'irrBulletWorld'
1>..\..\source\bulletworld.cpp(197): error C2143: syntax error : missing ';' before '*'
1>..\..\source\bulletworld.cpp(197): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>..\..\source\bulletworld.cpp(197): error C2039: 'addCharacterController' : is not a member of 'irrBulletWorld'
1>          d:\dev\sdk\example\include\bullet\source\bulletworld.h(39) : see declaration of 'irrBulletWorld'
1>..\..\source\bulletworld.cpp(198): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>..\..\source\bulletworld.cpp(199): error C2065: 'character' : undeclared identifier
1>..\..\source\bulletworld.cpp(199): error C2061: syntax error : identifier 'ICharacterControllerInterface'
1>..\..\source\bulletworld.cpp(201): error C2065: 'characters' : undeclared identifier
1>..\..\source\bulletworld.cpp(201): error C2228: left of '.push_back' must have class/struct/union
1>          type is ''unknown-type''
1>..\..\source\bulletworld.cpp(201): error C2065: 'character' : undeclared identifier
1>..\..\source\bulletworld.cpp(203): error C2227: left of '->addCollisionObject' must point to class/struct/union/generic type
1>          type is ''unknown-type''
1>..\..\source\bulletworld.cpp(203): error C2065: 'character' : undeclared identifier
1>..\..\source\bulletworld.cpp(203): error C2227: left of '->getGhostObject' must point to class/struct/union/generic type
1>          type is ''unknown-type''
1>..\..\source\bulletworld.cpp(203): error C3861: 'getPointer': identifier not found
1>..\..\source\bulletworld.cpp(206): error C2227: left of '->addAction' must point to class/struct/union/generic type
1>          type is ''unknown-type''
1>..\..\source\bulletworld.cpp(206): error C2065: 'character' : undeclared identifier
1>..\..\source\bulletworld.cpp(206): error C2227: left of '->getPointer' must point to class/struct/union/generic type
1>          type is ''unknown-type''
1>..\..\source\bulletworld.cpp(206): error C3861: 'getPointer': identifier not found
1>..\..\source\bulletworld.cpp(208): error C2065: 'character' : undeclared identifier
1>..\..\source\bulletworld.cpp(227): error C2039: 'getVehicleReference' : is not a member of 'IRigidBody'
1>          d:\dev\sdk\example\include\bullet\source\rigidbody.h(43) : see declaration of 'IRigidBody'
1>..\..\source\bulletworld.cpp(228): error C2039: 'getVehicleReference' : is not a member of 'IRigidBody'
1>          d:\dev\sdk\example\include\bullet\source\rigidbody.h(43) : see declaration of 'IRigidBody'
1>..\..\source\bulletworld.cpp(228): error C3861: 'removeRaycastVehicle': identifier not found
1>..\..\source\bulletworld.cpp(256): error C2039: 'removeRaycastVehicle' : is not a member of 'irrBulletWorld'
1>          d:\dev\sdk\example\include\bullet\source\bulletworld.h(39) : see declaration of 'irrBulletWorld'
1>..\..\source\bulletworld.cpp(261): error C2065: 'raycastVehicles' : undeclared identifier
1>..\..\source\bulletworld.cpp(261): error C2228: left of '.begin' must have class/struct/union
1>          type is ''unknown-type''
1>..\..\source\bulletworld.cpp(263): error C2065: 'raycastVehicles' : undeclared identifier
1>..\..\source\bulletworld.cpp(263): error C2228: left of '.end' must have class/struct/union
1>          type is ''unknown-type''
1>..\..\source\bulletworld.cpp(270): error C2227: left of '->removeVehicle' must point to class/struct/union/generic type
1>          type is ''unknown-type''
1>..\..\source\bulletworld.cpp(270): error C3861: 'getPointer': identifier not found
1>..\..\source\bulletworld.cpp(274): error C2065: 'raycastVehicles' : undeclared identifier
1>..\..\source\bulletworld.cpp(274): error C2228: left of '.erase' must have class/struct/union
1>          type is ''unknown-type''
1>..\..\source\bulletworld.cpp(284): error C2039: 'removeCharacterController' : is not a member of 'irrBulletWorld'
1>          d:\dev\sdk\example\include\bullet\source\bulletworld.h(39) : see declaration of 'irrBulletWorld'
1>..\..\source\bulletworld.cpp(284): error C2065: 'character' : undeclared identifier
1>..\..\source\bulletworld.cpp(285): error C2448: 'removeCharacterController' : function-style initializer appears to be a function definition
1>..\..\source\bulletworld.cpp(358): warning C4244: 'initializing' : conversion from 'irr::u32' to 'const irr::f32', possible loss of data
1>..\..\source\bulletworld.cpp(359): warning C4244: 'initializing' : conversion from 'const irr::f32' to 'const irr::s32', possible loss of data
1>..\..\source\bulletworld.cpp(420): error C2039: 'getNumCharacterControllers' : is not a member of 'irrBulletWorld'
1>          d:\dev\sdk\example\include\bullet\source\bulletworld.h(39) : see declaration of 'irrBulletWorld'
1>..\..\source\bulletworld.cpp(424): error C2059: syntax error : '>'
1>..\..\source\bulletworld.cpp(424): error C2039: 'Iterator' : is not a member of '`global namespace''
1>..\..\source\bulletworld.cpp(427): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(429): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(432): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(474): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(482): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(485): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(489): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(494): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(496): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(499): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(503): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(508): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(511): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(513): error C2039: 'getCharacterController' : is not a member of 'irrBulletWorld'
1>          d:\dev\sdk\example\include\bullet\source\bulletworld.h(39) : see declaration of 'irrBulletWorld'
1>..\..\source\bulletworld.cpp(514): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(515): error C2059: syntax error : '>'
1>..\..\source\bulletworld.cpp(515): error C2039: 'ConstIterator' : is not a member of '`global namespace''
1>..\..\source\bulletworld.cpp(522): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(526): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(527): error C2355: 'this' : can only be referenced inside non-static member functions
1>..\..\source\bulletworld.cpp(527): error C2143: syntax error : missing ',' before ')'
1>..\..\source\bulletworld.cpp(529): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(533): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(535): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(539): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(558): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(561): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(567): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(568): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(584): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(586): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(589): error C2143: syntax error : missing ';' before '{'
1>..\..\source\bulletworld.cpp(591): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(606): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(607): error C2143: syntax error : missing ';' before '}'
1>..\..\source\bulletworld.cpp(607): fatal error C1004: unexpected end-of-file found
1>  bvhtrianglemeshshape.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>  collisioncallbackinformation.cpp
1>  collisionobject.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>..\..\source\collisionobject.cpp(66): warning C4305: 'argument' : truncation from 'double' to 'btScalar'
1>..\..\source\collisionobject.cpp(67): warning C4244: 'argument' : conversion from 'double' to 'btScalar', possible loss of data
1>  collisionobjectaffector.cpp
1>  collisionobjectaffectordelete.cpp
1>  collisionshape.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>  common.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>d:\dev\sdk\example\include\bullet\source\raycastvehicle.h(40): warning C4099: 'SWheelInfo' : type name first seen using 'class' now seen using 'struct'
1>          d:\dev\sdk\example\include\bullet\source\common.h(15) : see declaration of 'SWheelInfo'
1>..\..\source\common.cpp(102): warning C4305: '*=' : truncation from 'double' to 'irr::f32'
1>  convexhullshape.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>  gimpactmeshshape.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>  irrbullet.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>d:\dev\sdk\example\include\bullet\source\raycastvehicle.h(40): warning C4099: 'SWheelInfo' : type name first seen using 'class' now seen using 'struct'
1>          d:\dev\sdk\example\include\bullet\source\common.h(15) : see declaration of 'SWheelInfo'
1>  motionstate.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>  physicsdebug.cpp
1>  raycastvehicle.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>d:\dev\sdk\example\include\bullet\source\raycastvehicle.h(40): warning C4099: 'SWheelInfo' : type name first seen using 'class' now seen using 'struct'
1>          d:\dev\sdk\example\include\bullet\source\common.h(15) : see declaration of 'SWheelInfo'
1>  rigidbody.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>  softbody.cpp
1>..\..\source\softbody.cpp(45): warning C4018: '<' : signed/unsigned mismatch
1>..\..\source\softbody.cpp(56): warning C4018: '<' : signed/unsigned mismatch
1>..\..\source\softbody.cpp(139): warning C4018: '<' : signed/unsigned mismatch
1>..\..\source\softbody.cpp(156): warning C4305: '=' : truncation from 'double' to 'btScalar'
1>..\..\source\softbody.cpp(157): warning C4305: '=' : truncation from 'double' to 'btScalar'
1>..\..\source\softbody.cpp(159): warning C4305: '=' : truncation from 'double' to 'btScalar'
1>..\..\source\softbody.cpp(162): warning C4305: '=' : truncation from 'double' to 'btScalar'
1>..\..\source\softbody.cpp(163): warning C4305: '=' : truncation from 'double' to 'btScalar'
1>..\..\source\softbody.cpp(164): warning C4305: '=' : truncation from 'double' to 'btScalar'
1>..\..\source\softbody.cpp(195): warning C4018: '<' : signed/unsigned mismatch
1>..\..\source\softbody.cpp(201): warning C4018: '<' : signed/unsigned mismatch
1>..\..\source\softbody.cpp(189): warning C4101: 'j' : unreferenced local variable
1>  sphereshape.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
1>..\..\source\sphereshape.cpp(31): warning C4244: 'initializing' : conversion from 'double' to 'const irr::f32', possible loss of data
1>  trianglemeshshape.cpp
1>d:\dev\sdk\example\include\bullet\source\common.h(18): warning C4099: 'btWheelInfo' : type name first seen using 'struct' now seen using 'class'
1>          d:\dev\sdk\example\include\bullet\source\bheaders\bullet\bulletdynamics\vehicle\btWheelInfo.h(38) : see declaration of 'btWheelInfo'
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

it's my fault or mb someone else has the same troubles too?

About device: yes, it's initialized before bulletworld, i've tried to call it after device creation and inside game code - not working :(
sudi
Posts: 1686
Joined: Fri Aug 26, 2005 8:38 pm

Post by sudi »

@Cobra:

your patch might work but the cpp file contains so much new stuff that it isn't compiling.......and cleaning that up yeah....
We're programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We're not excited by renovation:tinkering,improving,planting flower beds.
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Oh. Right.

I did forget to remove all the 0.1.7-specific things. I'll apply it to the 0.1.65 file and re-upload.

EDIT:

The file is now for 0.1.65, but is incompatible with 0.1.6.

Sorry about that.

http://www.skyreignsoftware.net16.net/P ... tworld.cpp
Josiah Hartzell
Image
Post Reply