irrBullet 0.1.8 - Bullet physics wrapper

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Hi Sudi.

Thanks for your suggestions, but I already found these and fixed them last weekend for the next version that is coming in early February.

The second bug was actually a typo, as you can see:

Code: Select all

const irr::core::stringc& getName() { return name = shape->getName(); return name; };
I meant to remove the first "return," but I didn't.

ISoftBody also had a non-virtual destructor, which I have fixed.

If anyone finds more bugs, please let me know, because the 0.1.71 bug-fix release will be out soon. (It will be at least a week, because I am waiting on the makefile from Lo.)

P.S.:
The bug fixes and latest changes since 0.1.7 are available at
https://irrbullet.svn.sourceforge.net/s ... llet/trunk
Josiah Hartzell
Image
polylux
Posts: 267
Joined: Thu Aug 27, 2009 12:39 pm
Location: EU

Post by polylux »

Yep, as Sudi already stated, there is quite a bunch of functions in the code that return a reference on temporary data. I guess you should also get the warnings on the windows version of GCC.
beer->setMotivationCallback(this);
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Hi Polylux. Could you give me the function names?

If there's more than one, it happened when I did a quick check of the methods right before releasing 0.1.7 to see where I could improve the const correctness. This was probably not a good idea to do it minutes before packaging the release. Shortly after, I regretted it, but it was too late, as I had saved it all and closed the project. :) I assure you, it wasn't intentional/lack of knowledge. ;)

If you can tell me where you found them, I'll fix them for 0.1.71.
Josiah Hartzell
Image
polylux
Posts: 267
Joined: Thu Aug 27, 2009 12:39 pm
Location: EU

Post by polylux »

I totally understand you, this happens quite easily!

Aside from many "unused variable" warnings, this one caught my attention:

Code: Select all

const irr::core::stringc& getName() const { return (irr::core::stringc)shape->getName(); };
- Where the typecast basically makes it a temp variable you return the reference for.

Code: Select all

IRigidBody* const addRigidBody(ICollisionShape* const shape);
Similar warnings at some other pos as well.
- Warns that the qualifier is basically without effect.

Hope that helps. :)

p.
beer->setMotivationCallback(this);
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Hi Polylux.

It seems as though you're not even using 0.1.7 (I think this because getName() was fixed between 0.1.65 and 0.1.7, minus the typo that came with it; see above). Which version are you using?

These two problems you mentioned have already been fixed (for getName(), the typo in which I somehow forgot to remove the first "return," which came with the fix included for 0.1.7) since I updated the SVN version of 0.1.7 about a week ago.

For instance, the getName() fix has been in the trunk and 0.1.7 branch for quite some time now:

Code: Select all

const irr::core::stringc& getName() { name = shape->getName(); return name; };
And I just looked at addRigidBody(), and it doesn't return a const pointer.
(I think I changed that just before releasing 0.1.7)

Anyway, thanks for the report. :)
Josiah Hartzell
Image
polylux
Posts: 267
Joined: Thu Aug 27, 2009 12:39 pm
Location: EU

Post by polylux »

Hey cobra!

I can only tell you, my folder reads "irrBullet-0.1.7". Maybe I picked it in a moment when you were updating your sourceforge repo.
If you've already taken care of these issues my post can safely be disregarded :)

Cheers,
p.
beer->setMotivationCallback(this);
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Ah, yes.

I did update the official SDK download once after 27 people had downloaded.

Perhaps you were one of the 27. :)


Did you get my PM about the Linux build targets? Anyway, I got them included.


Thanks again.

- Josiah
Josiah Hartzell
Image
Whirled Peas
Posts: 47
Joined: Mon Jan 10, 2011 8:01 pm
Location: SoCal

Post by Whirled Peas »

Hit a bug here, probably something simple and stupid. I managed to load the project up in code:blocks, and got all the libraries and headers linked up, but when I compile the program it gives me this error:
You must select a host application to "run" a library...

Why am I "running" a library? most searches that I have done for this error have turned up people trying to debug one thing or another, all I wanna do is build and run the program. What host application do I need to select to "run" the library?

I know that you can do that by going into Project->Set Program Arguments->Host application and then browsing the for the program. But I dunno what program I need. any ideas?


EDIT: UPDATE, So I did a little digging and thinking and then figured to use 'rundll32' as the host application, being that it is meant to 'run' a dll file. however when I did that it still didn't do anything, although it did get rid of the error message.

I get this info from the build log:
Checking for existence: C:\...\...\Documents\irrBullet-0.1.7\source\msvc\2008\.lib.lib
Executing: "C:\...\System32\rundll32.exe" (in C:\Users\Sean\Documents\irrBullet-0.1.7\source\msvc\2008\)
Process terminated with status 0 (0 minutes, 0 seconds)
so I'm not much better off, other than figuring out how to get rid of the darned error message from before.
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Whirled Peas:
You get this error because you're trying to run a library that is meant to be linked in with an executable.

Since you already built irrBullet, just build some of the examples (full rebuild) and then run those. :)
Josiah Hartzell
Image
Whirled Peas
Posts: 47
Joined: Mon Jan 10, 2011 8:01 pm
Location: SoCal

Post by Whirled Peas »

ah, I see, so I'm supposed to build and run the c++ files found in the 'examples' folders?
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Yes. Right now there are no MSVC project files for the examples, but I'll try and include them as soon as I can.


Be sure to read the FAQ when you come upon a problem, for it might already be answered there.
Josiah Hartzell
Image
Whirled Peas
Posts: 47
Joined: Mon Jan 10, 2011 8:01 pm
Location: SoCal

Post by Whirled Peas »

well, here's a bit of a problem that I've run into, on the collision example I've run into this error:

error: 'time' was not declared in this scope
which was in reference to line 114:

Code: Select all

        srand ( time(NULL) );
which kind of makes sense because 'time' as far as I can tell has not been declared prior to that reference. Although I'm not sure why it didn't give me an 'undeclared identifier' error in stead. Is 'time' supposed to be a class from one of the bullet header files? Although I did double check my linker and all of the .a files were included in the right order, and the search directories have all been selected properly.


and before you ask, I did check the FAQ already


thanks in advance.
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Whirled Peas:

time() is part of the C time library.

Replace "time(NULL)" with "device->getTimer()->getTime()" instead. (this change has already been made for irrBullet 0.1.71)

Good luck.

- Josiah
Josiah Hartzell
Image
Whirled Peas
Posts: 47
Joined: Mon Jan 10, 2011 8:01 pm
Location: SoCal

Post by Whirled Peas »

thanks

I'm wondering why it wasn't updated in the version I got then, I downloaded v 0.1.7.7

EDIT: doy, that's not 0.1.7.7, that's 0.1.7.7z, I misread the file extension as part of the name :lol:
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

irrBullet 0.1.71 is packaged and ready for release.

The last step is to have Lo do some Linux build tests.

Expect the release announcement on February 11th (tomorrow).
Josiah Hartzell
Image
Post Reply