Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 06/30/24 02:01
Lapsa's very own thread
by Lapsa. 06/26/24 12:45
Executing Trades on Next Bar Open
by Zheka. 06/20/24 14:26
A simple game ...
by VoroneTZ. 06/18/24 10:50
Face player all the time ...
by bbn1982. 06/18/24 10:25
Zorro Beta 2.61: PyTorch
by jcl. 06/10/24 14:42
New FXCM FIX Plugin
by flink. 06/04/24 07:30
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (1 invisible), 1,143 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Mino, squik, AemStones, LucasJoshua, Baklazhan
19061 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 6 1 2 3 4 5 6
ackphysx.dll community version #385098
10/12/11 22:57
10/12/11 22:57
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline OP
Senior Expert
HeelX  Offline OP
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
Hi,
as some may have noticed, I needed to modify the ackphysx.dll to add some things which were not yet implemented, like prismatic joints ( see here ).

I made it working under Visual Studio 2005 and since I am working on a project that relies on PhysX, I am currently developing it further. I hosted it over at SourceForge, because since JCL released the source of the ackphysx.dll for free, I do so, too:

PhysX for A8 SourceForge page

If you want just the updated ackphysx.dll and the header, just go to https://sourceforge.net/projects/a8physx...0header%20file/ and download the latest archive.

If you just want to get the whole source, checkout with SVN via http://svn.code.sf.net/p/a8physx/code/

You can also contribute new features if you like, for this you have to have a user account on SourceForge and then you can checkout and commit via SVN from/to https://svn.code.sf.net/p/a8physx/code

Here are the current list of additions / bugfixes / whatever:

-new: prismatic joints
-fixed: inverted axis used for limits on slider/prismatic joints
- pXcon_getposition returned radians instead of degrees (fixed)
- added: BOOL pXconGetPrismaticLimits (ENTITY* e, VECTOR* vInit, VECTOR* vLimitForw, VECTOR* vLimitBackw), which fetches the position, in which the prismatic (!) constraint has been formed (vInit), the position, where the forward limit point has been set (vLimitForw) and where the backward limit point is (vLimitBackw). Returns false, if anything went wrong.
- bugfix: pXcon_add has been changed for PH_PRISMATIC joints, so that the global anchor is -always- defined for the position of the 1st entity. This way, the anchor is correctly returned with pXconGetPrismaticLimits and pXcon_getposition, so that is settled on the joint axis.
- added: helper function NxToVec, which transfers a NxVec3 correctly from PhysX domain into world space VECTOR, corresponding to PhX.NXSize
- added: helper function NxForVec, which transfers a VETCOR correctly from Gamestudio domain into world space PhysX NxVec3, corresponding to PhX.NXSize (this will replace in a long term NxforVEC, which doesn't scale by PhX.NXSize).

I want to underline that I am doing this for free and that the dll can, and most likely will not correspond with the official ackphysx.dll smile so don't expect that you can just copy over this one and everything works, please read the changelog to get to know what features went in and what changed wink

I post updates here, have fun!

Kind regards,
-Christian

Last edited by HeelX; 10/12/11 23:03.
Re: ackphysx.dll community version [Re: HeelX] #385113
10/13/11 07:00
10/13/11 07:00
Joined: Mar 2006
Posts: 1,993
Karlsruhe
PadMalcom Offline
Serious User
PadMalcom  Offline
Serious User

Joined: Mar 2006
Posts: 1,993
Karlsruhe
This is really nice, we can only hope that OPGroup picks up all the good features and finally implements it into the official dll.

Btw, I'm really looking forward to your current project!

AND I'm happy that you solve the physx-problems yourself, so more time for my new WED wink

Re: ackphysx.dll community version [Re: PadMalcom] #385116
10/13/11 08:05
10/13/11 08:05
Joined: May 2009
Posts: 5,370
Caucasus
3run Offline
Senior Expert
3run  Offline
Senior Expert

Joined: May 2009
Posts: 5,370
Caucasus
Great dude! Thank you laugh One question, will this work with A7?


Looking for free stuff?? Take a look here: http://badcom.at.ua
Support me on: https://boosty.to/3rung
Re: ackphysx.dll community version [Re: 3run] #385118
10/13/11 08:33
10/13/11 08:33
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline OP
Senior Expert
HeelX  Offline OP
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
Originally Posted By: PadMalcom
This is really nice, we can only hope that OPGroup picks up all the good features and finally implements it into the official dll.


Well, as long as I did no errors, you can of course also try this one smile

Originally Posted By: 3run
One question, will this work with A7?


I don't know... theoretically, yes, since both entity structs under A7 and A8 have a void* body; attribute for PhysX. But I think there are some reasons, why the physX_open function terminates, when not A8 is used. I guess it is related to on_level_load and on_ent_remove, are there existent in A7?

It would be great if you could try it out. Download the current dll and the current header and try to modify the functions in ackphysx.h...?

If it is just the events, I guess we can work it out by providing replacement functions for level_load, ent_remove and so on that trigger the same events.

Last edited by HeelX; 10/13/11 08:34.
Re: ackphysx.dll community version [Re: HeelX] #385120
10/13/11 08:48
10/13/11 08:48
Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Rei_Ayanami Offline
Expert
Rei_Ayanami  Offline
Expert

Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Well, you will need to recompile the dll, because there is a version check in one function (something like

If(v(version) < _VAR(8))
return _VAR(0);

(line 48 / physX_load() )

Last edited by Rei_Ayanami; 10/13/11 09:06.
Re: ackphysx.dll community version [Re: Rei_Ayanami] #385170
10/13/11 22:03
10/13/11 22:03
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline OP
Senior Expert
HeelX  Offline OP
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
- added constraint type identifiers and marked the old ones as deprecated (still valid): PH_SPHERICAL for PH_BALL, PH_REVOLUTE for PH_HINGE, PH_CYLINDRICAL for PH_SLIDER and PH_DISTANCE for PH_ROPE
- added constraint types for (yet unsupported): PH_FIXED, PH_POINTINPLANE, PH_POINTONLINE, PH_PULLEY (commented in the Lite-C header; available internally)
- added internal DLL function pXconGetJointData to remove overhead for joint functions; will reduce code in the future
- added internal DLL function int pXconGetType (ENTITY* e, int* refType) to retrieve constraint type in DLL scope (int); supports the unsupported constraints also (upward compatibility!)
- added external DLL function var pXconGetType (ENTITY* e), which returns the constraint type in Lite-C scope (var)

Last edited by HeelX; 10/13/11 22:03.
Re: ackphysx.dll community version [Re: HeelX] #385844
10/24/11 20:36
10/24/11 20:36
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline OP
Senior Expert
HeelX  Offline OP
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
  • removed version checking, should work for A7, theoretically
  • new: pXconGetAxis (returns the global axis of the constraint)
  • new: pXconGetLimits (returns the limiting scalar of 1D constraints, like PH_REVOLUTE or PH_PRISMATIC; including limits in degrees (PH_REVOLUTE) or quants (PH_PRISMATIC)).
  • refactoring: added new pXent.cpp and pXcon.cpp which will be the future home of all _ent and _con functionality
  • new: PH_NUM_JOINTTYPES indicates how much joint types are available; e.g. for array initializations
  • redefinitions for the old ODE functions were removed from ackphysx.h


checkout or download now!

Re: ackphysx.dll community version [Re: HeelX] #386017
10/26/11 22:05
10/26/11 22:05
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline OP
Senior Expert
HeelX  Offline OP
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
bugfix: if -360, 360 were passed to pXcon_setparams2 to make a free revolute (hinge) joint, the joint was still limited to -180, 180 degrees, though.

only on SVN for now

Re: ackphysx.dll community version [Re: HeelX] #386246
10/31/11 15:01
10/31/11 15:01
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline OP
Senior Expert
HeelX  Offline OP
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
LITE-C:
  • new: pXentScaleMass scales the mass of an entity by a scale factor
  • new: pXentIsWheel returns, if an entity is a wheel or not
  • new: pXconGetChassis (ENTITY* e) returns the chassis entity of an entity e that was assigned to the chassis entity with a wheel constraint
  • bugfix: each new added wheel/joint constraint to an entity was saved as a to-1 associations, so, old constraints were overwritten
  • new: pXconNumJoints/-Wheel returns the number of associated joints/wheels of an entity
  • new: pXconGetJoint/-Wheel.. functions return joints/wheels of an entity
  • new: pXconRemoveJoint/-Wheel... functions removes and releases joints/wheels of an entity

INTERNAL:
  • the JointUserData class got it's own cpp/h file
  • static JointUserData::fromEntity (ENTITY* e) returns the joint user data of an entity
  • JointUserData holds now unlimited joint & wheel constraints, with getter and setter functions
  • all legacy functions that accessed the Joint or Wheel member of JointUserData were refactored to get and use the first Joint/Wheel, but..
  • pXcon_remove releases all joints of an actor, of course, and
  • if pXcon_remove is used on a wheel, the association is removed in the chassis entity as well
  • void *Joint & *Wheel were removed from the JointUserData class
  • new helper: pXconReleaseJoint releases an NxJoint* joint (all associations remain)
  • new helper: pXconReleaseWheel releases a NxWheelShape* wheel (all associations remain)


download just the new dll and the header (ackphysx.20111031.dll.h.rar) or checkout via SVN from http://svn.code.sf.net/p/a8physx/code/

Re: ackphysx.dll community version [Re: HeelX] #386248
10/31/11 15:15
10/31/11 15:15
Joined: Dec 2008
Posts: 1,218
Germany
Rackscha Offline
Serious User
Rackscha  Offline
Serious User

Joined: Dec 2008
Posts: 1,218
Germany
Good work laugh.

I know you just started with it but are you planning on going to implement things like destruction in the future?


MY Website with news of my projects:
(for example my current
Muliplayer Bomberman,
GenesisPrecompiler for LiteC
and TileMaster, an easy to use Tile editor)
Sparetime-Development

Page 1 of 6 1 2 3 4 5 6

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1