Page 12 of 29

Posted: Mon Jan 05, 2009 2:08 am
by Mel
Yeah, JP, you're very right, but still, i won't update, Windows now has over 2 years in my computer on an old HD (more than 5 years) and never has given me any troubles. If i installed anything over it, i fear that it could turn in disaster. Besides instead if updating XP, i'd move onto Vista, and to do that, better i build a new computer, and start from zero. I just don't want to touch anything which works well. Although it would be the best to update.

None the less. onto another matters. I got to compile IrrPhysx under DevCPP. Before the party begins, i must say it was to no avail, so i couldn't get anything functional. I can't point the source of the trouble though... It is probably that combining LINUX defines with WIN32 data has anthing to see with that, My fault, i know, but i just wanted to compile the wrapper, something i could do. I guess the rest is to figure what doesn work right, or what doesn't work at all.

I probably won't keep working on this, but if someone feels curiosity about the (Probably INMENSE) mistakes i've surelly commited to make the thing compile, just ask ^^U

Posted: Mon Jan 05, 2009 8:58 am
by JP
Steel Style, I've kept all of Physx's inner workings away from the user in IrrPhysx and so that means you don't have access to the Physx Actors.

If you want access then you would have to edit the IrrPhysx source yourself and then recompile it and use the new lib and headers. So i guess all you'd really need is to put a function getActor() in IPhysxObject (but note that not all sub classes of IPhysxObject can return an actor) and then you'd probably need the Physx includes in IrrPhysx.h and that may be all you'd require...

Posted: Mon Jan 05, 2009 9:27 am
by Steel Style
Yeah I ever added "NxActor.h" as include header in IPhysxObject and it's was seeming to me that you already create and getActor() function although it wasn't in the header so I try to put it on the header as a "inline virtual getActor();" but when I wanna compile my project I have a linder error with the function.

Posted: Mon Jan 05, 2009 10:15 am
by JP
There's probably a function of that name in CPhysxActor.... Not sure why making the one you're adding virtual doesn't work... are they different function signatures? What's the linker error?

Posted: Mon Jan 05, 2009 10:10 pm
by Steel Style
So that the header change.
IPhysxObject.h wrote:
/**
\brief Returns the angular damping of the object
\return a f32
*/
virtual f32 getAngularDamping() = 0;

inline virtual NxActor* getActor();
And the linker problem.
Linker error wrote: Erreur 6 error LNK2001: symbole externe non résolu "public: virtual class NxActor * __thiscall IrrPhysx::IPhysxObject::getActor(void)" (?getActor@IPhysxObject@IrrPhysx@@UAEPAVNxActor@@XZ) IrrPhysx.lib

Posted: Mon Jan 05, 2009 10:35 pm
by Dark_Kilauea
instead of modifying IPhysicsObject, why not cast it to CPhysicsObject and then access the actor?

Otherwise, you need to remove inline from both instances of getActor().

Posted: Tue Jan 06, 2009 9:46 am
by JP
I'm assuming you do actually implement the getActor() function somewhere? If not then how do you expect to get the actor from it?

I think Dark's suggestion of casting to CPhysxObject is actually a good idea, that way you're using the standard release of IrrPhysx so wouldn't have trouble if you wanted to update to a new version. Obviously you'd want to check that your IPhysxObject is actually a CPhysxObject before doing so though, if i remember correctly then the following object types are all CPhysxObjects:

EOT_BOX,
EOT_MULTISHAPE,
EOT_SPHERE,
EOT_CAPSULE,
EOT_PLANE,
EOT_HEIGHTFIELD

Posted: Tue Jan 06, 2009 10:31 am
by Steel Style
Oh seems that I forgot to send the message, so like Dark_Kilauea said I cast the IPhysxObject by CPhysxObjects and now it's seems good. Also I have needed to create a IrrPhysx->createJoint() instead of getting Scene.
Now I will try using Rag dolls

Posted: Tue Jan 06, 2009 10:37 am
by JP
That's cool man, if you get ragdolls working nicely then feel free to send me the code and i'll include it in the next release!

Posted: Sun Jan 18, 2009 10:00 pm
by Seven
does anyone have code for loading a quake 3 map using IrrPhysx?

Posted: Mon Jan 19, 2009 8:32 am
by JP
It's in the raycast example... There's some optimisations which could be done for sure but it works as-is. Basically it just uses the render model as the physics mesh but clearly you don't need that kind of accuracy for the physics so a lot of the polys could be reduced down into simpler, lower-poly shapes to improve the performance. I guess you could do that by loading the Q3 map into a modeller (do any modellers other than things like radiant accept Q3 maps?) and then make a lower poly version enclosing it and then use that as the physics representation instead.

Posted: Mon Jan 19, 2009 7:30 pm
by GameDude
Wow, nice project, I kinda overlooked this until now. I'll have to look more into it

Posted: Tue Jan 20, 2009 8:41 am
by JP
After the whole debacle with Sio2's IrrPhysx 0.3 release I think what we'll do is treat that as a preview of 0.3, as he hasn't released the source to it, just binaries (as far as i can tell). So hopefully at some point i'll get the source off him and make sure it's nicely done in the style i'd set out for IrrPhysx and then maybe add in Steel Style's ragdoll stuff (if he gets on ok with it) and anything else that i get round to doing myself.

Posted: Fri Jan 23, 2009 11:08 pm
by Seven
i gotta tell you, I love this wrapper :0

Posted: Sat Jan 24, 2009 1:27 am
by Studio7
Hey, I love your engine, but I've had a problem loading the Examples and my own fused with the Wrapper.

Code: Select all


1>fatal error C1900: Il mismatch between 'P1' version '20080116' and 'P2' version '20070207'
1>LINK : fatal error LNK1257: code generation failed

Any help with this problem would be of great help.

Thank You