<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[GMan's Mods & Stuff — Strange rotation]]></title>
	<link rel="self" href="https://gprogs.com/extern.php?action=feed&amp;tid=240&amp;type=atom" />
	<updated>2007-06-14T08:54:48Z</updated>
	<generator>PunBB</generator>
	<id>https://gprogs.com/viewtopic.php?id=240</id>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=1009#p1009" />
			<content type="html"><![CDATA[<p>Hi gman, I&#039;ve been told to show you this function, it may help solve this problem.&nbsp; It transforms Euler to Quat.<br /></p><div class="codebox"><pre><code>Quat RotationQuat = 
        Quat( Vec3( 0, Sin(degToRad(yaw*0.5)),0 ), - Cos(degToRad(yaw*0.5))) * 
        Quat( Vec3(Sin(degToRad(-pitch*0.5)),0,0 ), - Cos(degToRad(-pitch*0.5))) * 
        Quat( Vec3( 0,0, Sin(degToRad(-roll*0.5))), - Cos(degToRad(-roll*0.5)));</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Slaine]]></name>
				<uri>https://gprogs.com/profile.php?id=144</uri>
			</author>
			<updated>2007-06-14T08:54:48Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=1009#p1009</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=1000#p1000" />
			<content type="html"><![CDATA[<p>Ah, that worked. The results are pretty strange, it counts from 0.0 to -0.99999 then back again.&nbsp; This could be why we cant see anything, it&#039;s only rotating to 1 degree, but at the same time it&#039;s still bouncing back not carrying on rotating, even if it is only getting to 1 degree.</p>]]></content>
			<author>
				<name><![CDATA[Slaine]]></name>
				<uri>https://gprogs.com/profile.php?id=144</uri>
			</author>
			<updated>2007-06-08T08:50:39Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=1000#p1000</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=999#p999" />
			<content type="html"><![CDATA[<p>just do:<br /></p><div class="codebox"><pre><code>DebugLog(pxBodyGetRotationQuatX(sphereBody)+&quot; | &quot;+pxBodyGetRotationQuatY(sphereBody)+&quot; | &quot;+pxBodyGetRotationQuatZ(sphereBody))</code></pre></div><p>be sure your compiling in debug mode.&nbsp; lets make sure those functions are returning values.</p>]]></content>
			<author>
				<name><![CDATA[gman]]></name>
				<uri>https://gprogs.com/profile.php?id=2</uri>
			</author>
			<updated>2007-06-07T21:46:37Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=999#p999</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=998#p998" />
			<content type="html"><![CDATA[<p>I&#039;m not sure how to output it yet, it&#039;s not like<br /></p><div class="codebox"><pre><code>pitch = getrotationPitch(body)
DeBug pitch</code></pre></div><p>I&#039;ll have to figure out how to adjust your code tomorrow to return the angles.</p>]]></content>
			<author>
				<name><![CDATA[Slaine]]></name>
				<uri>https://gprogs.com/profile.php?id=144</uri>
			</author>
			<updated>2007-06-07T21:05:35Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=998#p998</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=997#p997" />
			<content type="html"><![CDATA[<p>well the overall problem from what ive read is the use of eulers to rotate the node.&nbsp; supposedly you can rotate using quats and its supposed to resolve rotation issues.&nbsp; what is the output of the getrotationquat functions?</p>]]></content>
			<author>
				<name><![CDATA[gman]]></name>
				<uri>https://gprogs.com/profile.php?id=2</uri>
			</author>
			<updated>2007-06-07T18:50:22Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=997#p997</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=996#p996" />
			<content type="html"><![CDATA[<p>I&#039;ve tried the above code but again the sphere doesn&#039;t rotate.&nbsp; Do you think it is definatly something to do with the translation between PhysX and Irrlicht?</p>]]></content>
			<author>
				<name><![CDATA[Slaine]]></name>
				<uri>https://gprogs.com/profile.php?id=144</uri>
			</author>
			<updated>2007-06-07T18:23:59Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=996#p996</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=995#p995" />
			<content type="html"><![CDATA[<p>i just noticed that since that tutorial, there is now a toEuler() method on the Irrlicht quaternion class.&nbsp; this makes things easier.&nbsp; so try this (untested):<br /></p><div class="codebox"><pre><code>Local quat:Quaternion = ..
    Quaternion.createFrom4Vals(pxBodyGetRotationQuatX(sphereBody),pxBodyGetRotationQuatY(sphereBody),pxBodyGetRotationQuatZ(sphereBody))
Local euler:Vector3df = _VECTOR3DF()

quat.toEuler(euler)

sphere_node.setRotation(euler)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[gman]]></name>
				<uri>https://gprogs.com/profile.php?id=2</uri>
			</author>
			<updated>2007-06-07T18:10:48Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=995#p995</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=994#p994" />
			<content type="html"><![CDATA[<p>i wont have time for several hours yet to look at this, but here is the C++ code from the ODE tutorial that converts an ODE quat to the eulers needed by Irrlicht.&nbsp; the process should be pretty much the same for PhysX.&nbsp; just need to pass the euler vector3df into setRotation.<br /></p><div class="codebox"><pre><code>void Bounceable::QuaternionToEuler(const dQuaternion quaternion, vector3df &amp;euler){
  dReal w,x,y,z;
  w=quaternion[0];
  x=quaternion[1];
  y=quaternion[2];
  z=quaternion[3];
  double sqw = w*w;    
  double sqx = x*x;    
  double sqy = y*y;    
  double sqz = z*z; 
  
  euler.Z = (irr::f32) (atan2(2.0 * (x*y + z*w),(sqx - sqy - sqz + sqw))
                        *irr::core::GRAD_PI);
  
  euler.X = (irr::f32) (atan2(2.0 * (y*z + x*w),(-sqx - sqy + sqz + sqw))
                        *irr::core::GRAD_PI);  
  
  euler.Y = (irr::f32) (asin(-2.0 * (x*z - y*w))
                        *irr::core::GRAD_PI);
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[gman]]></name>
				<uri>https://gprogs.com/profile.php?id=2</uri>
			</author>
			<updated>2007-06-07T17:55:50Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=994#p994</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=993#p993" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>pxBodyGetRotationQuatX(sphereBody)
pxBodyGetRotationQuatY(sphereBody)
pxBodyGetRotationQuatZ(sphereBody)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Slaine]]></name>
				<uri>https://gprogs.com/profile.php?id=144</uri>
			</author>
			<updated>2007-06-07T13:54:17Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=993#p993</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=992#p992" />
			<content type="html"><![CDATA[<p>I did at one time create a euler to quat function, but that didn&#039;t seem to change anything.&nbsp; But at the moment the getpitch roll and yaw functions that PhysX returns as a Float.&nbsp; I dont fully understand quats and euler so the results it was returning didn&#039;t really make much sense to me, so I dismissed it.</p>]]></content>
			<author>
				<name><![CDATA[Slaine]]></name>
				<uri>https://gprogs.com/profile.php?id=144</uri>
			</author>
			<updated>2007-06-05T20:34:48Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=992#p992</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=991#p991" />
			<content type="html"><![CDATA[<p>is there a way to get the rotation from PhysX as a quat?&nbsp; if so there is a solution out there that would be easy to implement (from the ODE tutorial).</p>]]></content>
			<author>
				<name><![CDATA[gman]]></name>
				<uri>https://gprogs.com/profile.php?id=2</uri>
			</author>
			<updated>2007-06-05T20:21:35Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=991#p991</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=990#p990" />
			<content type="html"><![CDATA[<p>Thanks gman, I too have spent so much time researchng this, the irrlicht forum has been very unhelpfull with little to no straight forward solution, I can only seem to get close with the current code I&#039;ve supplied, it&#039;s the multi angle slope which is causing problems, as in mixing more than one direction to the rotation.&nbsp; It&#039;s a shame really because Irrlicht and your wrapper seem to be the best out there.&nbsp; I cant use ODE, it&#039;s way to complicated to get going with oop structuring, PhysX is extremely simple to use and very powerfull, it&#039;s showing great potential, the actual c++ version is a direct competitor to Havok and has one awards in the games industry, I have a feeling this is the only problem that will arrise with Irrlicht and PhysX.&nbsp; I hope we can solve it.</p>]]></content>
			<author>
				<name><![CDATA[Slaine]]></name>
				<uri>https://gprogs.com/profile.php?id=144</uri>
			</author>
			<updated>2007-06-05T20:07:50Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=990#p990</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=989#p989" />
			<content type="html"><![CDATA[<p>thx for the code.&nbsp; i will try to run it tonight.&nbsp; meanwhile last night i spent significant time researching on the irrlicht forums.&nbsp; seems that lots of folks have problems with physics systems and applying rotation.&nbsp; i never really found a good solution unfortunately.&nbsp; for ODE, the rotations are provided in quaternions and there is a routine someone wrote that appears to function.</p>]]></content>
			<author>
				<name><![CDATA[gman]]></name>
				<uri>https://gprogs.com/profile.php?id=2</uri>
			</author>
			<updated>2007-06-05T12:26:55Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=989#p989</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=988#p988" />
			<content type="html"><![CDATA[<p>Also, it appears that I have the pitch and roll working, with this code<br /></p><div class="codebox"><pre><code>If eYaw =-180 And eRoll=180
          ePitch = 180 - ePitch
    eRoll = 0
       EndIf

    If eYaw =180 And eRoll=-180
          ePitch = -180 - ePitch
    eRoll = 0
       EndIf</code></pre></div><p>But if I mix two direction on the slope, so the sphere is falling at a 45 degree angle, the rotations are wrong again, it&#039;s almost like Irrlicht is getting confused, so you need code like above to govern it.</p>]]></content>
			<author>
				<name><![CDATA[Slaine]]></name>
				<uri>https://gprogs.com/profile.php?id=144</uri>
			</author>
			<updated>2007-06-05T08:27:06Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=988#p988</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Strange rotation]]></title>
			<link rel="alternate" href="https://gprogs.com/viewtopic.php?pid=987#p987" />
			<content type="html"><![CDATA[<p>Okay thanks gman, here you go.<br /></p><div class="codebox"><pre><code>&#039; PhysX wrapper functions
&#039; For BlitzMax
&#039; Author - Render


Extern &quot;win32&quot;
 Function FindWindowA:Int(class:Int,title$z)
 Function LoadLibraryA(lib$z)
 Function GetProcAddress:Byte Ptr(lib%,fname$z)
End Extern


Global pxBodyCreatePlane%(x#, y#, z#) &quot;win32&quot;
Global pxBodyCreateCube%(dx#, dy#, dz#, mass#) &quot;win32&quot;
Global pxBodyCreateSphere%(radius#, mass#) &quot;win32&quot;
Global pxBodyCreateCapsule%(height#, radius#, mass#) &quot;win32&quot;
Global pxBodyCreateCylinder%(radius#, height#, nbEdge%, mass#) &quot;win32&quot;
Global pxBodyCreateHull%(vbank:Byte Ptr, nvert%,mass#) &quot;win32&quot;
Global pxBodyCreateHullFromSSM%(surf%, mass#) &quot;win32&quot;
  
Global pxCreateTriMeshPmap%(vbank:Byte Ptr, fbank:Byte Ptr, MESH_NBVERTICES%, MESH_NBFACES%, file_name:Byte Ptr, pMap%) &quot;win32&quot;
Global pxCreateTriMeshFromPmap%(triangleMesh%, mass#) &quot;win32&quot;
Global pxCreateTriMesh%(vbank:Byte Ptr, fbank:Byte Ptr, MESH_NBVERTICES%, MESH_NBFACES%, mass#) &quot;win32&quot;
Global pxCreateTerrain%(nSize%, bank:Byte Ptr, scale_x#, scale_y#, scale_z#) &quot;win32&quot;
Global pxCreateTerrainFromMesh%(vbank:Byte Ptr, fbank:Byte Ptr, MESH_NBVERTICES%, MESH_NBFACES%, axis#) &quot;win32&quot;
Global pxCreateTerrainPmap(vbank:Byte Ptr, fbank:Byte Ptr, MESH_NBVERTICES%, MESH_NBFACES%, axis#, file_name:Byte Ptr, pMap%) &quot;win32&quot;
Global pxTestTriMesh%(entity%, mass#) &quot;win32&quot;
Global pxCreateTriMeshToFile%(vbank:Byte Ptr, fbank:Byte Ptr, MESH_NBVERTICES%, MESH_NBFACES%, fname:Byte Ptr) &quot;win32&quot;
Global pxCreateTriMeshFromFile%(fname:Byte Ptr, mass#) &quot;win32&quot;
  
  
  
Global pxParticleCreateEmitter%() &quot;win32&quot;
Global pxParticleEmitSetAngDamping(pEmitter, damp) &quot;win32&quot;
Global pxParticleEmitSetLinDamping(pEmitter, damp) &quot;win32&quot;
Global pxParticleEmitSetMass(pEmitter%, mass#) &quot;win32&quot;
Global pxParticleEmitSetRadius(pEmitter%, radius#) &quot;win32&quot;
Global pxParticleEmitSetPosition(pEmitter%, x#, y#, z#) &quot;win32&quot;
Global pxParticleEmitSetRotation(pEmitter%, pitch#, yaw#, roll#) &quot;win32&quot;
Global pxParticleEmitSetRandRadius(pEmitter%, radius#) &quot;win32&quot;
Global pxParticleEmitSetStartSpeed(pEmitter%, minv#, maxv#) &quot;win32&quot;
Global pxParticleEmitSetTDAcceleration(pEmitter%, x#, y#, z#) &quot;win32&quot;
Global pxParticleEmitSetScaleFactor(pEmitter%, radius#, rate#) &quot;win32&quot;
Global pxParticleEmitDeleteFirstParticle%(pEmitter%) &quot;win32&quot;
Global pxParticleEmitDeleteParticle(pEmitter%, particle%) &quot;win32&quot;
  
Global pxParticleEmitGetAngDamping#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetLinDamping#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetMass#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetRadius#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetPositionX#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetPositionY#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetPositionZ#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetRotationPitch#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetRotationYaw#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetRotationRoll#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetRandRadius#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetStartSpeedMax#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetStartSpeedMin#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetTDAccelerationX#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetTDAccelerationY#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetTDAccelerationZ#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetScaleFactorRadius#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetScaleFactorRate#(pEmitter%) &quot;win32&quot;
Global pxParticleEmitGetNumberParticles%(pEmitter%) &quot;win32&quot;
  
Global pxParticleEmitAddParticle%(pEmitter%, entity%) &quot;win32&quot;
Global pxParticleEmitDelete(pEmitter%) &quot;win32&quot;
Global pxParticleUpdateEmitter(pEmitter%) &quot;win32&quot;
Global pxParticleGetEntity%(particle%) &quot;win32&quot;
Global pxParticleGetBody%(particle%) &quot;win32&quot;
Global pxParticleGetradius#(particle%) &quot;win32&quot;
  
  
Global pxKinematicSet(body%) &quot;win32&quot;
Global pxKinematicClear(body%) &quot;win32&quot;
Global pxKinematicMove(body%, x#, y#, z#) &quot;win32&quot;
Global pxKinematicSetPosition(body%, x#, y#, z#) &quot;win32&quot;
Global pxKinematicSetRotation(body%, pitch#, yaw#, roll#) &quot;win32&quot;
  
  
Global pxCreateMagnet%(minvforce#, middleforce#, maxforce#) &quot;win32&quot;
Global pxMagnetActivate(mdata%, mmode%, fmode%) &quot;win32&quot;
Global pxMagnetSetPosition(mdata%, pos_x#, pos_y#, pos_z#) &quot;win32&quot;
Global pxMagnetSetMaxRadius(mdata%, radius#) &quot;win32&quot;
Global pxMagnetSetMinRadius(mdata%, radius#) &quot;win32&quot;
Global pxMagnetSetMaxForce(mdata%, force#) &quot;win32&quot;
Global pxMagnetSetMidForce(mdata%, force#) &quot;win32&quot;
Global pxMagnetSetMinForce(mdata%, force#) &quot;win32&quot;
Global pxMagnetSetMask(mdata%, mask%) &quot;win32&quot;
Global pxMagnetGetPositionX#(mdata) &quot;win32&quot;
Global pxMagnetGetPositionY#(mdata) &quot;win32&quot;
Global pxMagnetGetPositionZ#(mdata) &quot;win32&quot;
Global pxMagnetGetMaxRadius#(mdata%) &quot;win32&quot;
Global pxMagnetGetMinRadius#(mdata%) &quot;win32&quot;
Global pxMagnetGetMaxForce#(mdata%) &quot;win32&quot;
Global pxMagnetGetMidForce#(mdata%) &quot;win32&quot;
Global pxMagnetGetMinForce#(mdata%) &quot;win32&quot;
Global pxMagnetGetMask%(mdata%) &quot;win32&quot;
Global pxMagnetDelete(mdata%) &quot;win32&quot;
  
  
Global pxCreateWaterCirPlane%(radius#, depth#) &quot;win32&quot;
Global pxCreateWaterRectPlane%(width#, height#, depth#) &quot;win32&quot;
Global pxCreateWaterInfinPlane%(depth#) &quot;win32&quot;
Global pxWaterSetDimension(water%, width#, height#) &quot;win32&quot;
Global pxWaterSetRadius(water%, radius#) &quot;win32&quot;
Global pxWaterSetPosition(water%, pos_x#, pos_y#, pos_z#) &quot;win32&quot;
Global pxWaterSetRotation(water%, angle#) &quot;win32&quot;
Global pxWaterSetFluxion(water%, fl_x#, fl_y#, fl_z#) &quot;win32&quot;
Global pxWaterGetWidth#(water%) &quot;win32&quot;
Global pxWaterGetHeight#(water%) &quot;win32&quot;
Global pxWaterGetRadius#(water%) &quot;win32&quot;
Global pxWaterGetPositionX#(water%) &quot;win32&quot;
Global pxWaterGetPositionY#(water%) &quot;win32&quot;
Global pxWaterGetPositionZ#(water%) &quot;win32&quot;
Global pxWaterGetRotation#(water%) &quot;win32&quot;
Global pxWaterGetDepth#(water%) &quot;win32&quot;
Global pxWaterDelete(water%) &quot;win32&quot;
  
Global pxCreateKep%(buo#, radius#, maxvdis#) &quot;win32&quot;
Global pxKepAddToBody(kdata%, body%) &quot;win32&quot;
Global pxKepSetLocalPosition(kdata%, pos_x#, pos_y#, pos_z#) &quot;win32&quot;
Global pxKepSetGlobalPosition(kdata%, pos_x#, pos_y#, pos_z#) &quot;win32&quot;
Global pxKepSetAngularDamping(kdata%, angdamp#) &quot;win32&quot;
Global pxKepSetLinearDamping(kdata%, lindamp#) &quot;win32&quot;
Global pxWaterUpdate(water%) &quot;win32&quot;
Global pxKepGetPosX#(kdata%) &quot;win32&quot;
Global pxKepGetPosY#(kdata%) &quot;win32&quot;
Global pxKepGetPosZ#(kdata%) &quot;win32&quot;
Global pxKepGetNumber%(body%) &quot;win32&quot;
Global pxKepGetKepFromBody%(body%, num%) &quot;win32&quot;
  
  
Global pxTriggerCreateCube%(dx#, dy#, dz#) &quot;win32&quot;
Global pxTriggerCreateSphere%(radius#) &quot;win32&quot;
Global pxTriggerCreateCapsule%(height#, radius#) &quot;win32&quot;
Global pxTriggerCreateCylinder%(radius#, height#, nbEdge%) &quot;win32&quot;
Global pxTriggerCreateHull%(vbank:Byte Ptr, nvert%) &quot;win32&quot;
Global pxTriggerSetPosition(body%, x#, y#, z#) &quot;win32&quot;
Global pxTriggerSetRotation(body%, pitch#, yaw#, roll#) &quot;win32&quot;
Global pxTriggerGetNumBody%(trigger%) &quot;win32&quot;
Global pxTriggerGetBody%(trigger%, num%) &quot;win32&quot;
Global pxTriggerGetBodyTrigger%(body%) &quot;win32&quot;
Global pxUpdateTriggers() &quot;win32&quot;
  
  
Global pxCreateCompoundDesc%() &quot;win32&quot;
Global pxCompoundAddCubeShape%(compoundDesc%, dx#, dy#, dz#) &quot;win32&quot;
Global pxCompoundAddSphereShape%(compoundDesc%, radius#) &quot;win32&quot;
Global pxCompoundAddCapsuleShape%(compoundDesc%, radius#, height#) &quot;win32&quot;
Global pxCompoundAddCylinderShape%(compoundDesc%, radius#, height#, nbEdge%) &quot;win32&quot;
Global pxCompoundAddHullShape%(compoundDesc%, vbank:Byte Ptr, nvert%) &quot;win32&quot;
Global pxCompoundSetShapePos(shape%, x#, y#, z#) &quot;win32&quot;
Global pxCompoundSetShapeRot(shape%, pitch#, yaw#, roll#) &quot;win32&quot;
Global pxCreateCompound%(compoundDesc%, mass#) &quot;win32&quot;
Global pxCreateStaticCompound%(compoundDesc%, mass#) &quot;win32&quot;
  
  
Global pxCreateCloth%(entity%, surf%) &quot;win32&quot;
Global pxCreateTearableCloth%(entity%, surf%) &quot;win32&quot;
Global pxCreateMetalCloth%(entity%, surf%, coreActor%, impThr#, depth#) &quot;win32&quot;
Global pxCreateClothSpec%(vbank:Byte Ptr, fbank:Byte Ptr, MESH_NBVERTICES%, MESH_NBFACES%) &quot;win32&quot;
Global pxCreateMetalClothSpec%(vbank:Byte Ptr, fbank:Byte Ptr, MESH_NBVERTICES%,MESH_NBFACES%, coreActor%, impThr#, depth#) &quot;win32&quot;
  
Global pxClothGetAttachmentResponseCoefficient#(Cloth%) &quot;win32&quot;
Global pxClothGetAttachmentTearFactor#(Cloth%) &quot;win32&quot;
Global pxClothGetBendingStiffness#(Cloth%) &quot;win32&quot;
Global pxClothGetCollisionResponseCoefficient#(Cloth%) &quot;win32&quot;
Global pxClothGetDampingCoefficient#(Cloth%) &quot;win32&quot;
Global pxClothGetDensity#(Cloth%) &quot;win32&quot;
Global pxClothGetFriction#(Cloth%) &quot;win32&quot;
Global pxClothGetPressure#(Cloth%) &quot;win32&quot;
Global pxClothGetSleepLinearVelocity#(Cloth%) &quot;win32&quot;
Global pxClothGetStretchingStiffness#(Cloth%) &quot;win32&quot;
Global pxClothGetTearFactor#(Cloth%) &quot;win32&quot;
Global pxClothGetThickness#(Cloth%) &quot;win32&quot;
Global pxClothGetNumVertices%(Cloth%) &quot;win32&quot;
Global pxClothIsSleeping%(Cloth%) &quot;win32&quot;
Global pxClothGetEntity%(Cloth%) &quot;win32&quot;
Global pxClothGetUserData%(Cloth%) &quot;win32&quot;
Global pxClothPutToSleep(Cloth%) &quot;win32&quot;
Global pxClothWakeUp(Cloth%) &quot;win32&quot;
  
Global pxClothSetTeareble(Cloth%) &quot;win32&quot;
Global pxClothSetTearFactor(Cloth%, coef#) &quot;win32&quot;
  
Global pxClothSetAttachmentResponseCoefficient#(Cloth%, coef#) &quot;win32&quot;
Global pxClothSetAttachmentTearFactor#(Cloth%, coef#) &quot;win32&quot;
Global pxClothSetBending(Cloth%) &quot;win32&quot;
Global pxClothSetBendingStiffness#(Cloth%, coef#) &quot;win32&quot;
Global pxClothSetCollisionResponseCoefficient#(Cloth%, coef#) &quot;win32&quot;
Global pxClothSetDampingCoefficient#(Cloth%, coef#) &quot;win32&quot;
Global pxClothSetComDampingCoefficient#(Cloth%, coef#) &quot;win32&quot;
Global pxClothSetFriction#(Cloth%, coef#) &quot;win32&quot;
Global pxClothSetPressure#(Cloth%, coef#) &quot;win32&quot;
Global pxClothSetSleepLinearVelocity#(Cloth%, coef#) &quot;win32&quot;
Global pxClothSetStretchingStiffness#(Cloth%, coef#) &quot;win32&quot;
Global pxClothSetThickness#(Cloth%, coef#) &quot;win32&quot;
Global pxClothSetUserData(Cloth%, userdata%) &quot;win32&quot;
Global pxClothMaskSet(Cloth%, mask%) &quot;win32&quot;
Global pxClothMaskCombineSet(Cloth%, mask%) &quot;win32&quot;
  
Global pxClothSetVertexPos(Cloth%, vbank:Byte Ptr, numVert%) &quot;win32&quot;
Global pxClothGetVertexPos(Cloth%, vbank:Byte Ptr, numVert%) &quot;win32&quot;
Global pxClothGetNormals(Cloth%, nbank:Byte Ptr) &quot;win32&quot;
  
Global pxClothAttachVertexToPos(Cloth%, vID%, pos_x#, pos_y#, pos_z#) &quot;win32&quot;
Global pxClothAttachToCollidingShapes(Cloth%) &quot;win32&quot;
Global pxClothAddForceAtPos(Cloth%, pos_x#, pos_y#, pos_z#, magnitude#, radius#) &quot;win32&quot;
Global pxClothAddForceAtVertex(Cloth%, nx#, ny#, nz#, vID%) &quot;win32&quot;
Global pxUpdateCloth() &quot;win32&quot;
Global pxClothDelete(Cloth%) &quot;win32&quot;
  
  
Global pxCreateSpringAndDamperEffector%(body1%, body2%) &quot;win32&quot;
Global pxSetLinearSpring(spring%, SpringRelaxed#, CompressForce#, CompressSaturate#, StretchForce#, StretchSaturate#) &quot;win32&quot;
Global pxSetLinearDamper(spring%, CompressForce#, CompressSaturate#, StretchForce#, StretchSaturate#) &quot;win32&quot;
Global pxDeleteEffector(effector%) &quot;win32&quot;
  
  
Global pxWheelAddToBody%(body%, pos_x#, pos_y#, pos_z#) &quot;win32&quot;
Global pxWheelSetRadius(wheel%, radius#) &quot;win32&quot;
Global pxWheelSetRotation(wheel%, pitch#, yaw#, roll#) &quot;win32&quot;
Global pxWheelSetMotorTorque(wheel%, torque#) &quot;win32&quot;
Global pxWheelSetSteerAngle(wheel%, angle#) &quot;win32&quot;
Global pxWheelSetBrakeTorque(wheel%, torque#) &quot;win32&quot;
Global pxWheelSetSuspension(wheel%, susp#, rest#, damping#) &quot;win32&quot;
Global pxWheelSetFrictionToSide(wheel%, friction#) &quot;win32&quot;
Global pxWheelSetFrictionToFront(wheel%, friction#) &quot;win32&quot;
Global pxWheelSetCollisionGroup(wheel%, group%) &quot;win32&quot;
  
Global pxWheelGetSteerAngle#(wheel%) &quot;win32&quot;
Global pxWheelGetAxleSpeed#(wheel%) &quot;win32&quot;
Global pxWheelGetRadius#(wheel%) &quot;win32&quot;
Global pxWheelGetSuspensionTravel#(wheel%) &quot;win32&quot;
Global pxWheelGetSuspensionRestitution#(wheel%) &quot;win32&quot;
Global pxWheelGetSuspensionDamping#(wheel%) &quot;win32&quot;
  
Global pxWheelGetPositionX#(wheel%) &quot;win32&quot;
Global pxWheelGetPositionY#(wheel%) &quot;win32&quot;
Global pxWheelGetPositionZ#(wheel%) &quot;win32&quot;
Global pxWheelUpdateSpec(wheel%, mode%) &quot;win32&quot;
Global pxWheelGetPositionXSpec#(wheel%) &quot;win32&quot;
Global pxWheelGetPositionYSpec#(wheel%) &quot;win32&quot;
Global pxWheelGetPositionZSpec#(wheel%) &quot;win32&quot;
Global pxWheelGetRotationPitchSpec#(wheel%) &quot;win32&quot;
Global pxWheelGetRotationYawSpec#(wheel%) &quot;win32&quot;
Global pxWheelGetRotationRollSpec#(wheel%) &quot;win32&quot;
  
Global pxWheelGetContactX#(wheel%) &quot;win32&quot;
Global pxWheelGetContactY#(wheel%) &quot;win32&quot;
Global pxWheelGetContactZ#(wheel%) &quot;win32&quot;
Global pxWheelGetContactForce#(wheel%) &quot;win32&quot;
Global pxWheelGetContactLatDirectionX#(wheel%) &quot;win32&quot;
Global pxWheelGetContactLatDirectionY#(wheel%) &quot;win32&quot;
Global pxWheelGetContactLatDirectionZ#(wheel%) &quot;win32&quot;
Global pxWheelGetContactLatImpulse#(wheel%) &quot;win32&quot;
Global pxWheelGetContactLonDirectionX#(wheel%) &quot;win32&quot;
Global pxWheelGetContactLonDirectionY#(wheel%) &quot;win32&quot;
Global pxWheelGetContactLonDirectionZ#(wheel%) &quot;win32&quot;
Global pxWheelGetContactLonImpulse#(wheel%) &quot;win32&quot;
Global pxWheelGetContactMaterial%(wheel%) &quot;win32&quot;
Global pxWheelGetFrictionToSide#(wheel%) &quot;win32&quot;
Global pxWheelGetFrictionToFront#(wheel%) &quot;win32&quot;
  
Global pxWheelSetMask(wheel%, mask%) &quot;win32&quot;
Global pxWheelSetMaskCombine(wheel%, mask%) &quot;win32&quot;
Global pxWheelClearMask(wheel%) &quot;win32&quot;
Global pxWheelDelete(wheel%) &quot;win32&quot;
  
  
Global pxJointCreateSuspFront%(body0%, body1%, x#, y#, z#) &quot;win32&quot;
Global pxJointCreateSuspBack%(body0%, body1%, x#, y#, z#) &quot;win32&quot;
Global pxJointSuspSetSteerN(joint%, x#, y#, z#) &quot;win32&quot;
Global pxJointSuspSetTurnN(joint%, x#, y#, z#) &quot;win32&quot;
Global pxJointSuspSetLinLimit(joint%, lim#) &quot;win32&quot;
Global pxJointSuspSetLinParameter(joint%, spring#, rest#, damp#) &quot;win32&quot;
Global pxJointSuspSetAngLimit(joint%, lim#) &quot;win32&quot;
Global pxJointSuspSetAngParameter(joint%, spring#, rest#, damp#) &quot;win32&quot;
Global pxJointSuspSetAngle(joint%, angle#) &quot;win32&quot;
Global pxJointSuspSetSpeed(joint%, speed#) &quot;win32&quot;
Global pxJointSuspSetBrake(joint%, mode%) &quot;win32&quot;
  
  
Global pxCCDSkeletonEnable(mode%) &quot;win32&quot;
Global pxCCDSkeletonSetEpsilon(eps#) &quot;win32&quot;
Global pxBodySetCCDSkeleton(body%, x#, y#, z#) &quot;win32&quot;
Global pxBodySetCCDSkeletonThreshold(body%, thres#) &quot;win32&quot;
Global pxBodySetFlagCCDSkeletonDynamic(body%) &quot;win32&quot;
Global pxBodyGetCCDSkeleton%(body%) &quot;win32&quot;
Global pxBodyDeleteCCDSkeleton(ccd%) &quot;win32&quot;
  
  
Global pxCreateRay%() &quot;win32&quot;
Global pxRaySetDir(ray%, nx#, ny#, nz#) &quot;win32&quot;
Global pxRaySetPosition(ray%, x#, y#, z#) &quot;win32&quot;
Global pxRayGetDistance#(ray%, mode%) &quot;win32&quot;
Global pxRayGetBody%(ray%, mode%) &quot;win32&quot;
Global pxRayGetMaterial%(ray%, mode%) &quot;win32&quot;
Global pxRayGetPickX#(ray%, mode%) &quot;win32&quot;
Global pxRayGetPickY#(ray%, mode%) &quot;win32&quot;
Global pxRayGetPickZ#(ray%, mode%) &quot;win32&quot;
Global pxRayGetPickNX#(ray%, mode%) &quot;win32&quot;
Global pxRayGetPickNY#(ray%, mode%) &quot;win32&quot;
Global pxRayGetPickNZ#(ray%, mode%) &quot;win32&quot;
  
  
Global pxRegWriteDriverPath%(str:Byte Ptr) &quot;win32&quot;
Global pxRegWriteString%(RootKey%, Path:Byte Ptr, Name:Byte Ptr, Data:Byte Ptr) &quot;win32&quot;
Global pxRegWriteInt%(RootKey%, Path:Byte Ptr, Name:Byte Ptr, Data%) &quot;win32&quot;
Global pxRegReadInt%(RootKey%, Path:Byte Ptr, Name:Byte Ptr) &quot;win32&quot;
Global pxRegReadString:Byte Ptr(RootKey%, Path:Byte Ptr, Name:Byte Ptr) &quot;win32&quot;
Global pxRegDeleteValue%(RootKey%, Path:Byte Ptr, Name:Byte Ptr) &quot;win32&quot;
Global pxRegDeleteKey%(RootKey%, Path:Byte Ptr, Name:Byte Ptr) &quot;win32&quot;
  
  
Global pxGetContacts%(body%) &quot;win32&quot;
Global pxContactGetBody%(body%, coll%) &quot;win32&quot;
Global pxContactGetPointX#(body%, coll%) &quot;win32&quot;
Global pxContactGetPointY#(body%, coll%) &quot;win32&quot;
Global pxContactGetPointZ#(body%, coll%) &quot;win32&quot;
Global pxContactGetPointNX#(body%, coll%) &quot;win32&quot;
Global pxContactGetPointNY#(body%, coll%) &quot;win32&quot;
Global pxContactGetPointNZ#(body%, coll%) &quot;win32&quot;
Global pxContactGetForceN#(body%, coll%) &quot;win32&quot;
Global pxContactGetForceNX#(body%, coll%) &quot;win32&quot;
Global pxContactGetForceNY#(body%, coll%) &quot;win32&quot;
Global pxContactGetForceNZ#(body%, coll%) &quot;win32&quot;
Global pxContactGetForceT#(body%, coll%) &quot;win32&quot;
Global pxContactGetForceTX#(body%, coll%) &quot;win32&quot;
Global pxContactGetForceTY#(body%, coll%) &quot;win32&quot;
Global pxContactGetForceTZ#(body%, coll%) &quot;win32&quot;
Global pxContactEventsOnStartTouch%(body%) &quot;win32&quot;
Global pxContactEventsOnEndTouch%(body%) &quot;win32&quot;
  
  
Global pxMaskSet(body%, mask%) &quot;win32&quot;
Global pxMaskCombineSet(body%, mask%) &quot;win32&quot;
Global pxMaskClear(body%) &quot;win32&quot;
Global pxBodySetCollisionGroup(body%, group%) &quot;win32&quot;
Global pxBodySetCollisionGroupPair(group1%, group2%) &quot;win32&quot;
Global pxBodySetCollisionGroupFlag(group1%, group2%, flag%) &quot;win32&quot;
Global pxBodySetMagnetMask(body%, mask%) &quot;win32&quot;
Global pxBodyGetMagnetMask%(body%) &quot;win32&quot;
  
  
Global pxBodySetFrozen(body%, stat%) &quot;win32&quot;
Global pxBodySetFrozenRotX(body%, stat%) &quot;win32&quot;
Global pxBodySetFrozenRotY(body%, stat%) &quot;win32&quot;
Global pxBodySetFrozenRotZ(body%, stat%) &quot;win32&quot;
Global pxBodySetFrozenRot(body%, stat%) &quot;win32&quot;
Global pxBodySetFrozenPosX(body%, stat%) &quot;win32&quot;
Global pxBodySetFrozenPosY(body%, stat%) &quot;win32&quot;
Global pxBodySetFrozenPosZ(body%, stat%) &quot;win32&quot;
Global pxBodySetFrozenPos(body%, stat%) &quot;win32&quot;
Global pxBodySetFlagGravity(body%, stat%) &quot;win32&quot;
Global pxBodySetFlagCollision(body%, stat%) &quot;win32&quot;
Global pxBodySetFlagResponse(body%, stat%) &quot;win32&quot;
Global pxBodySetFlagContacttable(body%, stat%) &quot;win32&quot;
Global pxBodySetFlagMagniteble(body%, stat%) &quot;win32&quot;
Global pxBodySetFlagTriggertable(body%, stat%) &quot;win32&quot;
Global pxBodySetFlagRayCast(body%, stat%) &quot;win32&quot;
  
  
Global pxDeleteBody(num%) &quot;win32&quot;
Global pxDeleteJoint(joint%) &quot;win32&quot;
  
  
Global pxJointCreateHinge%(body1%, body2%, x#, y#, z#, nx#, ny#, nz#) &quot;win32&quot;
Global pxJointCreateSpherical%(body1%, body2%, x#, y#, z#, nx#, ny#, nz#) &quot;win32&quot;
Global pxJointCreateDistance%(body1%, body2%, p1_x#, p1_y#, p1_z#, p2_x#, p2_y#, p2_z#) &quot;win32&quot;
Global pxJointCreateFixed%(body1%, body2%) &quot;win32&quot;
Global pxJointCreateCylindrical%(body1%, body2%, x#, y#, z#, nx#, ny#, nz#, minv_limit#, maxv_limit#) &quot;win32&quot;
Global pxJointCreatePrismatic%(body1%, body2%, x#, y#, z#, nx#, ny#, nz#, minv_limit#, maxv_limit#) &quot;win32&quot;
Global pxJointCreateOnLine%(body1%, x#, y#, z#, nx#, ny#, nz#) &quot;win32&quot;
Global pxJointCreateInPlane%(body1%, x#, y#, z#, nx#, ny#, nz#) &quot;win32&quot;
Global pxJointCreatePulley%(body1%, body2%, distance#, stiff#, k_ratio#) &quot;win32&quot;
  
Global pxJointCreateD6Joint%(body1%, body2%, x#, y#, z#, nx#, ny#, nz#) &quot;win32&quot;
Global pxD6JointSetPosMotion(joint%, xMot%, yMot%, zMot%) &quot;win32&quot;
Global pxD6JointSetAngleMotion(joint%, twistMot%, swing1Mot%, swing2Mot%) &quot;win32&quot;
Global pxD6JointSetLinearLimit(joint%, lim#) &quot;win32&quot;
Global pxD6JointSetSwingLimit(joint%, swing1Lim#, swing2Lim#) &quot;win32&quot;
Global pxD6JointSetTwistLimit(joint%, lowLim#, heighLim#) &quot;win32&quot;
  
Global pxJointHingeSetLimit(joint%, minv#, maxv#) &quot;win32&quot;
Global pxJointHingeSetSpring(joint%, spr#, targetVal#) &quot;win32&quot;
Global pxJointSphericalSetLimitAngle(joint%, angle#, hardn#, restit#) &quot;win32&quot;
Global pxJointSphericalSetLimitTwist(joint%, minvtwist#, maxvtwist#, spr#, damp#, targetVal#) &quot;win32&quot;
Global pxJointSphericalSetLimitSpring(joint%, spr#, damp#, targetVal#) &quot;win32&quot;
Global pxJointDistanceSetPoint(joint%, minvdist#, maxvdist#) &quot;win32&quot;
Global pxJointDistanceSetSpring(joint%, spr#, damp#) &quot;win32&quot;
Global pxJointAddLimitPlane(joint%, x#, y#, z#, nx#, ny#, nz#) &quot;win32&quot;
Global pxJointPulleySetAnchor(joint%, x1#, y1#, z1#, x2#, y2#, z2#) &quot;win32&quot;
Global pxJointPulleySetLocalAttachBody(joint%, x1#, y1#, z1#, x2#, y2#, z2#) &quot;win32&quot;
Global pxJointHingeSetMotor(joint%, force#, velTarget#) &quot;win32&quot;
Global pxJointSetBreakable(joint%, force#, torque#) &quot;win32&quot;
Global pxJointIsBroken%(joint%) &quot;win32&quot;
Global pxJointHingeSetCollision(joint%) &quot;win32&quot;
Global pxJointSphericalSetCollision(joint%) &quot;win32&quot;
Global pxJointDistanceSetCollision(joint%) &quot;win32&quot;
Global pxJointCylindricalSetCollision(joint%) &quot;win32&quot;
  
  
Global pxSetGravity(gx#, gy#, gz#) &quot;win32&quot;
Global pxBodySetMass(num%, mass#) &quot;win32&quot;
Global pxBodySetCMassLocalPosition(num%, x#, y#, z#) &quot;win32&quot;
Global pxBodySetCMassGlobalPosition(num%, x#, y#, z#) &quot;win32&quot;
Global pxBodySetMassSpaceInertiaTensor(num%, x#, y#, z#) &quot;win32&quot;
Global pxBodyGetCMassGlobalPositionX#(body%) &quot;win32&quot;
Global pxBodyGetCMassGlobalPositionY#(body%) &quot;win32&quot;
Global pxBodyGetCMassGlobalPositionZ#(body%) &quot;win32&quot;
Global pxBodyGetCMassLocalPositionX#(body%) &quot;win32&quot;
Global pxBodyGetCMassLocalPositionY#(body%) &quot;win32&quot;
Global pxBodyGetCMassLocalPositionZ#(body%) &quot;win32&quot;
Global pxBodyGetMass#(body%) &quot;win32&quot;
  
  
Global pxBodySetMyForce(body%, lx#, ly#, lz#) &quot;win32&quot;
Global pxBodyAddForce(num%, vx#, vy#, vz#, mode%) &quot;win32&quot;
Global pxBodyAddForceAtPos(num%, vx#, vy#, vz#, px#, py#, pz#, mode%) &quot;win32&quot;
Global pxBodyAddForceAtLocalPos(body%, vx#, vy#, vz#, px#, py#, pz#, mode%) &quot;win32&quot;
Global pxBodyAddLocalForce(num%, vx#, vy#, vz#, mode%) &quot;win32&quot;
Global pxBodyAddLocalForceAtPos(num%, vx#, vy#, vz#, px#, py#, pz#, mode%) &quot;win32&quot;
Global pxBodyAddLocalForceAtLocalPos(body%, vx#, vy#, vz#, px#, py#, pz#, mode%) &quot;win32&quot;
  
Global pxBodyAddTorque(body%, vx#, vy#, vz#, mode%) &quot;win32&quot;
Global pxBodyAddLocalTorque(body%, vx#, vy#, vz#, mode%) &quot;win32&quot;
Global pxBodySetAngularSpeed(body%, ax#, ay#, az#) &quot;win32&quot;
Global pxBodySetLinearSpeed(body%, lx#, ly#, lz#) &quot;win32&quot;
Global pxBodySetLocalLinearSpeed(body%, lx#, ly#, lz#) &quot;win32&quot;
Global pxBodySetLocalAngularSpeed(body%, lx#, ly#, lz#) &quot;win32&quot;
Global pxBodySetAngularDamping(body%, angDamp#) &quot;win32&quot;
Global pxBodySetLinearDamping(body%, linDamp#) &quot;win32&quot;
Global pxBodySetAngularMomentum(body%, ax#, ay#, az#) &quot;win32&quot;
Global pxBodySetLinearMomentum(body%, lx#, ly#, lz#) &quot;win32&quot;
Global pxBodySetMaxAngularSpeed(body%, speed#) &quot;win32&quot;
Global pxBodySetSleepEnergyThreshold(body%, tres#) &quot;win32&quot;
Global pxBodySetSleepAngularVelocity(body%, tres#) &quot;win32&quot;
Global pxBodySetSleepLinearVelocity(body%, tres#) &quot;win32&quot;
Global pxBodySetSleepWakeUp(body%, wakeCounterValue#) &quot;win32&quot;
Global pxBodySetSleepPut(body%) &quot;win32&quot;
Global pxBodySetSolverIterationCount(body%, itercount%) &quot;win32&quot;
Global pxBodySetBodyName(body%, name:Byte Ptr) &quot;win32&quot;
Global pxBodySetBodyEntity(body%, entity%) &quot;win32&quot;
Global pxBodySetBodyUserData(body%, userdata%) &quot;win32&quot;
Global pxMoveBodyToPoint(body%, maxvspeed#, x#, y#, z#) &quot;win32&quot;
Global pxAddBodytoBody(body1%, body2%) &quot;win32&quot;
Global pxCopyBody%(body%) &quot;win32&quot;
  
  
Global pxCreateMaterial%() &quot;win32&quot;
Global pxMaterialSetToBody(body%, mat%) &quot;win32&quot;
Global pxMaterialSetRestitution(mat%, rest#) &quot;win32&quot;
Global pxMaterialSetRestitutionCombineMode(mat%, mode%) &quot;win32&quot;
Global pxMaterialSetStFriction(mat%, fric#) &quot;win32&quot;
Global pxMaterialSetDyFriction(mat%, fric#) &quot;win32&quot;
Global pxMaterialSetFrictionV(mat%, sfric#, dfric#) &quot;win32&quot;
Global pxMaterialSetFrictionCombineMode(mat%, mode%) &quot;win32&quot;
Global pxCreateAnisotripicMaterial%(nx#, ny#, nz#) &quot;win32&quot;
Global pxMaterialSetFlagStrongFriction(mat%) &quot;win32&quot;
Global pxGetMaterial%(body%) &quot;win32&quot;
  
  
Global pxBodySetPosition(num%, pos_x#, pos_y#, pos_z#) &quot;win32&quot;
Global pxBodySetRotation(num%, pitch#, yaw#, roll#) &quot;win32&quot;
  
Global pxBodyGetPositionX#(num%) &quot;win32&quot;
Global pxBodyGetPositionY#(num%) &quot;win32&quot;
Global pxBodyGetPositionZ#(num%) &quot;win32&quot;
Global pxBodyGetRotationPitch#(num%) &quot;win32&quot;
Global pxBodyGetRotationYaw#(num%) &quot;win32&quot;
Global pxBodyGetRotationRoll#(num%) &quot;win32&quot;
Global pxBodyGetAngularSpeed#(num%) &quot;win32&quot;
Global pxBodyGetAngularSpeedX#(num%) &quot;win32&quot;
Global pxBodyGetAngularSpeedY#(num%) &quot;win32&quot;
Global pxBodyGetAngularSpeedZ#(num%) &quot;win32&quot;
Global pxBodyGetLinearSpeed#(num%) &quot;win32&quot;
Global pxBodyGetLinearSpeedX#(num%) &quot;win32&quot;
Global pxBodyGetLinearSpeedY#(num%) &quot;win32&quot;
Global pxBodyGetLinearSpeedZ#(num%) &quot;win32&quot;
Global pxBodyGetLocalLinearSpeedX#(body%) &quot;win32&quot;
Global pxBodyGetLocalLinearSpeedY#(body%) &quot;win32&quot;
Global pxBodyGetLocalLinearSpeedZ#(body%) &quot;win32&quot;
Global pxBodyGetLinearVecSpeedX#(num%) &quot;win32&quot;
Global pxBodyGetLinearVecSpeedY#(num%) &quot;win32&quot;
Global pxBodyGetLinearVecSpeedZ#(num%) &quot;win32&quot;
Global pxBodyGetLocalPointSpeed(body%, x#, y#, z#) &quot;win32&quot;
Global pxBodyGetLocalPointSpeedX(body%, x#, y#, z#) &quot;win32&quot;
Global pxBodyGetLocalPointSpeedY(body%, x#, y#, z#) &quot;win32&quot;
Global pxBodyGetLocalPointSpeedZ(body%, x#, y#, z#) &quot;win32&quot;
  
  
Global pxBodyGetAngularDamping#(body%) &quot;win32&quot;
Global pxBodyGetLinearDamping#(body%) &quot;win32&quot;
Global pxBodyGetAngularMomentum#(body%) &quot;win32&quot;
Global pxBodyGetLinearMomentum#(body%) &quot;win32&quot;
Global pxBodyGetMaxAngularVelocity#(body%) &quot;win32&quot;
Global pxGetBodyName:Byte Ptr(body%) &quot;win32&quot;
Global pxGetBodyEntity%(body%) &quot;win32&quot;
Global pxGetBodyUserData%(body%) &quot;win32&quot;
Global pxBodyGetSleepAngularVelocity#(body%) &quot;win32&quot;
Global pxBodyGetSleepLinearVelocity#(body%) &quot;win32&quot;
Global pxBodyIsDynamic%(body%) &quot;win32&quot;
Global pxBodyIsSleeping%(body%) &quot;win32&quot;
  
  
Global pxGetNumberAllBody%() &quot;win32&quot;
Global pxCreateWorld%(plane%, password:Byte Ptr) &quot;win32&quot;
Global pxDestroyWorld() &quot;win32&quot;
Global pxRenderPhysic(time#, sinc%) &quot;win32&quot;
Global pxSetTiming(maxTimeStep#, maxIter%, StepMethod%) &quot;win32&quot;
Global pxSDKSetParameter(param#) &quot;win32&quot;
Global pxSetPause(pause%) &quot;win32&quot;
Global pxChekPPU%() &quot;win32&quot;
Global pxChekPPUMode%() &quot;win32&quot;
Global pxSetHardwareSimulation(mode%) &quot;win32&quot;
  
Global pxCreateScene%() &quot;win32&quot;
Global pxSceneChange(scene) &quot;win32&quot;
  
  
Global pxBodyAddEntity(entity%,body%) &quot;win32&quot;
  
Global peeksint%(addr%) &quot;win32&quot;
  
Global pxGetAngleBetweenVec#(v1x#, v1y#, v1z#, v2x#, v2y#, v2z#) &quot;win32&quot;



Global lib% = LoadLibraryA(&quot;Blitzpx.dll&quot;)
If lib%

pxBodyCreatePlane=GetProcAddress(lib,&quot;_pxBodyCreatePlane@12&quot;)
pxBodyCreateCube=GetProcAddress(lib,&quot;_pxBodyCreateCube@16&quot;)
pxBodyCreateSphere=GetProcAddress(lib,&quot;_pxBodyCreateSphere@8&quot;)
pxBodyCreateCapsule=GetProcAddress(lib,&quot;_pxBodyCreateCapsule@12&quot;)
pxBodyCreateCylinder=GetProcAddress(lib,&quot;_pxBodyCreateCylinder@16&quot;)
pxBodyCreateHull=GetProcAddress(lib,&quot;_pxBodyCreateHull@12&quot;)
pxBodyCreateHullFromSSM=GetProcAddress(lib,&quot;_pxBodyCreateHullFromSSM@8&quot;)
 
pxCreateTriMeshPmap=GetProcAddress(lib,&quot;_pxCreateTriMeshPmap@24&quot;)
pxCreateTriMeshFromPmap=GetProcAddress(lib,&quot;_pxCreateTriMeshFromPmap@8&quot;)
pxCreateTriMesh=GetProcAddress(lib,&quot;_pxCreateTriMesh@20&quot;)
pxCreateTerrain=GetProcAddress(lib,&quot;_pxCreateTerrain@20&quot;)
pxCreateTerrainFromMesh=GetProcAddress(lib,&quot;_pxCreateTerrainFromMesh@20&quot;)
pxCreateTerrainPmap=GetProcAddress(lib,&quot;_pxCreateTerrainPmap@28&quot;)
pxTestTriMesh=GetProcAddress(lib,&quot;_pxTestTriMesh@8&quot;)
pxCreateTriMeshToFile=GetProcAddress(lib,&quot;_pxCreateTriMeshToFile@20&quot;)
pxCreateTriMeshFromFile=GetProcAddress(lib,&quot;_pxCreateTriMeshFromFile@8&quot;)
 
 
 
pxParticleCreateEmitter=GetProcAddress(lib,&quot;_pxParticleCreateEmitter@0&quot;)
pxParticleEmitSetAngDamping=GetProcAddress(lib,&quot;_pxParticleEmitSetAngDamping@8&quot;)
pxParticleEmitSetLinDamping=GetProcAddress(lib,&quot;_pxParticleEmitSetLinDamping@8&quot;)
pxParticleEmitSetMass=GetProcAddress(lib,&quot;_pxParticleEmitSetMass@8&quot;)
pxParticleEmitSetRadius=GetProcAddress(lib,&quot;_pxParticleEmitSetRadius@8&quot;)
pxParticleEmitSetPosition=GetProcAddress(lib,&quot;_pxParticleEmitSetPosition@16&quot;)
pxParticleEmitSetRotation=GetProcAddress(lib,&quot;_pxParticleEmitSetRotation@16&quot;)
pxParticleEmitSetRandRadius=GetProcAddress(lib,&quot;_pxParticleEmitSetRandRadius@8&quot;)
pxParticleEmitSetStartSpeed=GetProcAddress(lib,&quot;_pxParticleEmitSetStartSpeed@12&quot;)
pxParticleEmitSetTDAcceleration=GetProcAddress(lib,&quot;_pxParticleEmitSetTDAcceleration@16&quot;)
pxParticleEmitSetScaleFactor=GetProcAddress(lib,&quot;_pxParticleEmitSetScaleFactor@12&quot;)
pxParticleEmitDeleteFirstParticle=GetProcAddress(lib,&quot;_pxParticleEmitDeleteFirstParticle@4&quot;)
pxParticleEmitDeleteParticle=GetProcAddress(lib,&quot;_pxParticleEmitDeleteParticle@8&quot;)
 
pxParticleEmitGetAngDamping=GetProcAddress(lib,&quot;_pxParticleEmitGetAngDamping@4&quot;)
pxParticleEmitGetLinDamping=GetProcAddress(lib,&quot;_pxParticleEmitGetLinDamping@4&quot;)
pxParticleEmitGetMass=GetProcAddress(lib,&quot;_pxParticleEmitGetMass@4&quot;)
pxParticleEmitGetRadius=GetProcAddress(lib,&quot;_pxParticleEmitGetRadius@4&quot;)
pxParticleEmitGetPositionX=GetProcAddress(lib,&quot;_pxParticleEmitGetPositionX@4&quot;)
pxParticleEmitGetPositionY=GetProcAddress(lib,&quot;_pxParticleEmitGetPositionY@4&quot;)
pxParticleEmitGetPositionZ=GetProcAddress(lib,&quot;_pxParticleEmitGetPositionZ@4&quot;)
pxParticleEmitGetRotationPitch=GetProcAddress(lib,&quot;_pxParticleEmitGetRotationPitch@4&quot;)
pxParticleEmitGetRotationYaw=GetProcAddress(lib,&quot;_pxParticleEmitGetRotationYaw@4&quot;)
pxParticleEmitGetRotationRoll=GetProcAddress(lib,&quot;_pxParticleEmitGetRotationRoll@4&quot;)
pxParticleEmitGetRandRadius=GetProcAddress(lib,&quot;_pxParticleEmitGetRandRadius@4&quot;)
pxParticleEmitGetStartSpeedMax=GetProcAddress(lib,&quot;_pxParticleEmitGetStartSpeedMax@4&quot;)
pxParticleEmitGetStartSpeedMin=GetProcAddress(lib,&quot;_pxParticleEmitGetStartSpeedMin@4&quot;)
pxParticleEmitGetTDAccelerationX=GetProcAddress(lib,&quot;_pxParticleEmitGetTDAccelerationX@4&quot;)
pxParticleEmitGetTDAccelerationY=GetProcAddress(lib,&quot;_pxParticleEmitGetTDAccelerationY@4&quot;)
pxParticleEmitGetTDAccelerationZ=GetProcAddress(lib,&quot;_pxParticleEmitGetTDAccelerationZ@4&quot;)
pxParticleEmitGetScaleFactorRadius=GetProcAddress(lib,&quot;_pxParticleEmitGetScaleFactorRadius@4&quot;)
pxParticleEmitGetScaleFactorRate=GetProcAddress(lib,&quot;_pxParticleEmitGetScaleFactorRate@4&quot;)
pxParticleEmitGetNumberParticles=GetProcAddress(lib,&quot;_pxParticleEmitGetNumberParticles@4&quot;)
 
pxParticleEmitAddParticle=GetProcAddress(lib,&quot;_pxParticleEmitAddParticle@8&quot;)
pxParticleEmitDelete=GetProcAddress(lib,&quot;_pxParticleEmitDelete@4&quot;)
pxParticleUpdateEmitter=GetProcAddress(lib,&quot;_pxParticleUpdateEmitter@4&quot;)
pxParticleGetEntity=GetProcAddress(lib,&quot;_pxParticleGetEntity@4&quot;)
pxParticleGetBody=GetProcAddress(lib,&quot;_pxParticleGetBody@4&quot;)
pxParticleGetradius=GetProcAddress(lib,&quot;_pxParticleGetradius@4&quot;)
 
 
pxKinematicSet=GetProcAddress(lib,&quot;_pxKinematicSet@4&quot;)
pxKinematicClear=GetProcAddress(lib,&quot;_pxKinematicClear@4&quot;)
pxKinematicMove=GetProcAddress(lib,&quot;_pxKinematicMove@16&quot;)
pxKinematicSetPosition=GetProcAddress(lib,&quot;_pxKinematicSetPosition@16&quot;)
pxKinematicSetRotation=GetProcAddress(lib,&quot;_pxKinematicSetRotation@16&quot;)
 
 
pxCreateMagnet=GetProcAddress(lib,&quot;_pxCreateMagnet@12&quot;)
pxMagnetActivate=GetProcAddress(lib,&quot;_pxMagnetActivate@12&quot;)
pxMagnetSetPosition=GetProcAddress(lib,&quot;_pxMagnetSetPosition@16&quot;)
pxMagnetSetMaxRadius=GetProcAddress(lib,&quot;_pxMagnetSetMaxRadius@8&quot;)
pxMagnetSetMinRadius=GetProcAddress(lib,&quot;_pxMagnetSetMinRadius@8&quot;)
pxMagnetSetMaxForce=GetProcAddress(lib,&quot;_pxMagnetSetMaxForce@8&quot;)
pxMagnetSetMidForce=GetProcAddress(lib,&quot;_pxMagnetSetMidForce@8&quot;)
pxMagnetSetMinForce=GetProcAddress(lib,&quot;_pxMagnetSetMinForce@8&quot;)
pxMagnetSetMask=GetProcAddress(lib,&quot;_pxMagnetSetMask@8&quot;)
pxMagnetGetPositionX=GetProcAddress(lib,&quot;_pxMagnetGetPositionX@4&quot;)
pxMagnetGetPositionY=GetProcAddress(lib,&quot;_pxMagnetGetPositionY@4&quot;)
pxMagnetGetPositionZ=GetProcAddress(lib,&quot;_pxMagnetGetPositionZ@4&quot;)
pxMagnetGetMaxRadius=GetProcAddress(lib,&quot;_pxMagnetGetMaxRadius@4&quot;)
pxMagnetGetMinRadius=GetProcAddress(lib,&quot;_pxMagnetGetMinRadius@4&quot;)
pxMagnetGetMaxForce=GetProcAddress(lib,&quot;_pxMagnetGetMaxForce@4&quot;)
pxMagnetGetMidForce=GetProcAddress(lib,&quot;_pxMagnetGetMidForce@4&quot;)
pxMagnetGetMinForce=GetProcAddress(lib,&quot;_pxMagnetGetMinForce@4&quot;)
pxMagnetGetMask=GetProcAddress(lib,&quot;_pxMagnetGetMask@4&quot;)
pxMagnetDelete=GetProcAddress(lib,&quot;_pxMagnetDelete@4&quot;)
 
 
pxCreateWaterCirPlane=GetProcAddress(lib,&quot;_pxCreateWaterCirPlane@8&quot;)
pxCreateWaterRectPlane=GetProcAddress(lib,&quot;_pxCreateWaterRectPlane@12&quot;)
pxCreateWaterInfinPlane=GetProcAddress(lib,&quot;_pxCreateWaterInfinPlane@4&quot;)
pxWaterSetDimension=GetProcAddress(lib,&quot;_pxWaterSetDimension@12&quot;)
pxWaterSetRadius=GetProcAddress(lib,&quot;_pxWaterSetRadius@8&quot;)
pxWaterSetPosition=GetProcAddress(lib,&quot;_pxWaterSetPosition@16&quot;)
pxWaterSetRotation=GetProcAddress(lib,&quot;_pxWaterSetRotation@8&quot;)
pxWaterSetFluxion=GetProcAddress(lib,&quot;_pxWaterSetFluxion@16&quot;)
pxWaterGetWidth=GetProcAddress(lib,&quot;_pxWaterGetWidth@4&quot;)
pxWaterGetHeight=GetProcAddress(lib,&quot;_pxWaterGetHeight@4&quot;)
pxWaterGetRadius=GetProcAddress(lib,&quot;_pxWaterGetRadius@4&quot;)
pxWaterGetPositionX=GetProcAddress(lib,&quot;_pxWaterGetPositionX@4&quot;)
pxWaterGetPositionY=GetProcAddress(lib,&quot;_pxWaterGetPositionY@4&quot;)
pxWaterGetPositionZ=GetProcAddress(lib,&quot;_pxWaterGetPositionZ@4&quot;)
pxWaterGetRotation=GetProcAddress(lib,&quot;_pxWaterGetRotation@4&quot;)
pxWaterGetDepth=GetProcAddress(lib,&quot;_pxWaterGetDepth@4&quot;)
pxWaterDelete=GetProcAddress(lib,&quot;_pxWaterDelete@4&quot;)
 
pxCreateKep=GetProcAddress(lib,&quot;_pxCreateKep@12&quot;)
pxKepAddToBody=GetProcAddress(lib,&quot;_pxKepAddToBody@8&quot;)
pxKepSetLocalPosition=GetProcAddress(lib,&quot;_pxKepSetLocalPosition@16&quot;)
pxKepSetGlobalPosition=GetProcAddress(lib,&quot;_pxKepSetGlobalPosition@16&quot;)
pxKepSetAngularDamping=GetProcAddress(lib,&quot;_pxKepSetAngularDamping@8&quot;)
pxKepSetLinearDamping=GetProcAddress(lib,&quot;_pxKepSetLinearDamping@8&quot;)
pxWaterUpdate=GetProcAddress(lib,&quot;_pxWaterUpdate@4&quot;)
pxKepGetPosX=GetProcAddress(lib,&quot;_pxKepGetPosX@4&quot;)
pxKepGetPosY=GetProcAddress(lib,&quot;_pxKepGetPosY@4&quot;)
pxKepGetPosZ=GetProcAddress(lib,&quot;_pxKepGetPosZ@4&quot;)
pxKepGetNumber=GetProcAddress(lib,&quot;_pxKepGetNumber@4&quot;)
pxKepGetKepFromBody=GetProcAddress(lib,&quot;_pxKepGetKepFromBody@8&quot;)
 
 
pxTriggerCreateCube=GetProcAddress(lib,&quot;_pxTriggerCreateCube@12&quot;)
pxTriggerCreateSphere=GetProcAddress(lib,&quot;_pxTriggerCreateSphere@4&quot;)
pxTriggerCreateCapsule=GetProcAddress(lib,&quot;_pxTriggerCreateCapsule@8&quot;)
pxTriggerCreateCylinder=GetProcAddress(lib,&quot;_pxTriggerCreateCylinder@12&quot;)
pxTriggerCreateHull=GetProcAddress(lib,&quot;_pxTriggerCreateHull@8&quot;)
pxTriggerSetPosition=GetProcAddress(lib,&quot;_pxTriggerSetPosition@16&quot;)
pxTriggerSetRotation=GetProcAddress(lib,&quot;_pxTriggerSetRotation@16&quot;)
pxTriggerGetNumBody=GetProcAddress(lib,&quot;_pxTriggerGetNumBody@4&quot;)
pxTriggerGetBody=GetProcAddress(lib,&quot;_pxTriggerGetBody@8&quot;)
pxTriggerGetBodyTrigger=GetProcAddress(lib,&quot;_pxTriggerGetBodyTrigger@4&quot;)
pxUpdateTriggers=GetProcAddress(lib,&quot;_pxUpdateTriggers@0&quot;)
 
 
pxCreateCompoundDesc=GetProcAddress(lib,&quot;_pxCreateCompoundDesc@0&quot;)
pxCompoundAddCubeShape=GetProcAddress(lib,&quot;_pxCompoundAddCubeShape@16&quot;)
pxCompoundAddSphereShape=GetProcAddress(lib,&quot;_pxCompoundAddSphereShape@8&quot;)
pxCompoundAddCapsuleShape=GetProcAddress(lib,&quot;_pxCompoundAddCapsuleShape@12&quot;)
pxCompoundAddCylinderShape=GetProcAddress(lib,&quot;_pxCompoundAddCylinderShape@16&quot;)
pxCompoundAddHullShape=GetProcAddress(lib,&quot;_pxCompoundAddHullShape@12&quot;)
pxCompoundSetShapePos=GetProcAddress(lib,&quot;_pxCompoundSetShapePos@16&quot;)
pxCompoundSetShapeRot=GetProcAddress(lib,&quot;_pxCompoundSetShapeRot@16&quot;)
pxCreateCompound=GetProcAddress(lib,&quot;_pxCreateCompound@8&quot;)
pxCreateStaticCompound=GetProcAddress(lib,&quot;_pxCreateStaticCompound@8&quot;)
 
 
pxCreateCloth=GetProcAddress(lib,&quot;_pxCreateCloth@8&quot;)
pxCreateTearableCloth=GetProcAddress(lib,&quot;_pxCreateTearableCloth@8&quot;)
pxCreateMetalCloth=GetProcAddress(lib,&quot;_pxCreateMetalCloth@20&quot;)
pxCreateClothSpec=GetProcAddress(lib,&quot;_pxCreateClothSpec@16&quot;)
pxCreateMetalClothSpec=GetProcAddress(lib,&quot;_pxCreateMetalClothSpec@28&quot;)
 
pxClothGetAttachmentResponseCoefficient=GetProcAddress(lib,&quot;_pxClothGetAttachmentResponseCoefficient@4&quot;)
pxClothGetAttachmentTearFactor=GetProcAddress(lib,&quot;_pxClothGetAttachmentTearFactor@4&quot;)
pxClothGetBendingStiffness=GetProcAddress(lib,&quot;_pxClothGetBendingStiffness@4&quot;)
pxClothGetCollisionResponseCoefficient=GetProcAddress(lib,&quot;_pxClothGetCollisionResponseCoefficient@4&quot;)
pxClothGetDampingCoefficient=GetProcAddress(lib,&quot;_pxClothGetDampingCoefficient@4&quot;)
pxClothGetDensity=GetProcAddress(lib,&quot;_pxClothGetDensity@4&quot;)
pxClothGetFriction=GetProcAddress(lib,&quot;_pxClothGetFriction@4&quot;)
pxClothGetPressure=GetProcAddress(lib,&quot;_pxClothGetPressure@4&quot;)
pxClothGetSleepLinearVelocity=GetProcAddress(lib,&quot;_pxClothGetSleepLinearVelocity@4&quot;)
pxClothGetStretchingStiffness=GetProcAddress(lib,&quot;_pxClothGetStretchingStiffness@4&quot;)
pxClothGetTearFactor=GetProcAddress(lib,&quot;_pxClothGetTearFactor@4&quot;)
pxClothGetThickness=GetProcAddress(lib,&quot;_pxClothGetThickness@4&quot;)
pxClothGetNumVertices=GetProcAddress(lib,&quot;_pxClothGetNumVertices@4&quot;)
pxClothIsSleeping=GetProcAddress(lib,&quot;_pxClothIsSleeping@4&quot;)
pxClothGetEntity=GetProcAddress(lib,&quot;_pxClothGetEntity@4&quot;)
pxClothGetUserData=GetProcAddress(lib,&quot;_pxClothGetUserData@4&quot;)
pxClothPutToSleep=GetProcAddress(lib,&quot;_pxClothPutToSleep@4&quot;)
pxClothWakeUp=GetProcAddress(lib,&quot;_pxClothWakeUp@4&quot;)
 
pxClothSetTeareble=GetProcAddress(lib,&quot;_pxClothSetTeareble@4&quot;)
pxClothSetTearFactor=GetProcAddress(lib,&quot;_pxClothSetTearFactor@8&quot;)
 
pxClothSetAttachmentResponseCoefficient=GetProcAddress(lib,&quot;_pxClothSetAttachmentResponseCoefficient@8&quot;)
pxClothSetAttachmentTearFactor=GetProcAddress(lib,&quot;_pxClothSetAttachmentTearFactor@8&quot;)
pxClothSetBending=GetProcAddress(lib,&quot;_pxClothSetBending@4&quot;)
pxClothSetBendingStiffness=GetProcAddress(lib,&quot;_pxClothSetBendingStiffness@8&quot;)
pxClothSetCollisionResponseCoefficient=GetProcAddress(lib,&quot;_pxClothSetCollisionResponseCoefficient@8&quot;)
pxClothSetDampingCoefficient=GetProcAddress(lib,&quot;_pxClothSetDampingCoefficient@8&quot;)
pxClothSetComDampingCoefficient=GetProcAddress(lib,&quot;_pxClothSetComDampingCoefficient@8&quot;)
pxClothSetFriction=GetProcAddress(lib,&quot;_pxClothSetFriction@8&quot;)
pxClothSetPressure=GetProcAddress(lib,&quot;_pxClothSetPressure@8&quot;)
pxClothSetSleepLinearVelocity=GetProcAddress(lib,&quot;_pxClothSetSleepLinearVelocity@8&quot;)
pxClothSetStretchingStiffness=GetProcAddress(lib,&quot;_pxClothSetStretchingStiffness@8&quot;)
pxClothSetThickness=GetProcAddress(lib,&quot;_pxClothSetThickness@8&quot;)
pxClothSetUserData=GetProcAddress(lib,&quot;_pxClothSetUserData@8&quot;)
pxClothMaskSet=GetProcAddress(lib,&quot;_pxClothMaskSet@8&quot;)
pxClothMaskCombineSet=GetProcAddress(lib,&quot;_pxClothMaskCombineSet@8&quot;)
 
pxClothSetVertexPos=GetProcAddress(lib,&quot;_pxClothSetVertexPos@12&quot;)
pxClothGetVertexPos=GetProcAddress(lib,&quot;_pxClothGetVertexPos@12&quot;)
pxClothGetNormals=GetProcAddress(lib,&quot;_pxClothGetNormals@8&quot;)
 
pxClothAttachVertexToPos=GetProcAddress(lib,&quot;_pxClothAttachVertexToPos@20&quot;)
pxClothAttachToCollidingShapes=GetProcAddress(lib,&quot;_pxClothAttachToCollidingShapes@4&quot;)
pxClothAddForceAtPos=GetProcAddress(lib,&quot;_pxClothAddForceAtPos@24&quot;)
pxClothAddForceAtVertex=GetProcAddress(lib,&quot;_pxClothAddForceAtVertex@20&quot;)
pxUpdateCloth=GetProcAddress(lib,&quot;_pxUpdateCloth@0&quot;)
pxClothDelete=GetProcAddress(lib,&quot;_pxClothDelete@4&quot;)
 
 
pxCreateSpringAndDamperEffector=GetProcAddress(lib,&quot;_pxCreateSpringAndDamperEffector@8&quot;)
pxSetLinearSpring=GetProcAddress(lib,&quot;_pxSetLinearSpring@24&quot;)
pxSetLinearDamper=GetProcAddress(lib,&quot;_pxSetLinearDamper@20&quot;)
pxDeleteEffector=GetProcAddress(lib,&quot;_pxDeleteEffector@4&quot;)
 
 
pxWheelAddToBody=GetProcAddress(lib,&quot;_pxWheelAddToBody@16&quot;)
pxWheelSetRadius=GetProcAddress(lib,&quot;_pxWheelSetRadius@8&quot;)
pxWheelSetRotation=GetProcAddress(lib,&quot;_pxWheelSetRotation@16&quot;)
pxWheelSetMotorTorque=GetProcAddress(lib,&quot;_pxWheelSetMotorTorque@8&quot;)
pxWheelSetSteerAngle=GetProcAddress(lib,&quot;_pxWheelSetSteerAngle@8&quot;)
pxWheelSetBrakeTorque=GetProcAddress(lib,&quot;_pxWheelSetBrakeTorque@8&quot;)
pxWheelSetSuspension=GetProcAddress(lib,&quot;_pxWheelSetSuspension@16&quot;)
pxWheelSetFrictionToSide=GetProcAddress(lib,&quot;_pxWheelSetFrictionToSide@8&quot;)
pxWheelSetFrictionToFront=GetProcAddress(lib,&quot;_pxWheelSetFrictionToFront@8&quot;)
pxWheelSetCollisionGroup=GetProcAddress(lib,&quot;_pxWheelSetCollisionGroup@8&quot;)
 
pxWheelGetSteerAngle=GetProcAddress(lib,&quot;_pxWheelGetSteerAngle@4&quot;)
pxWheelGetAxleSpeed=GetProcAddress(lib,&quot;_pxWheelGetAxleSpeed@4&quot;)
pxWheelGetRadius=GetProcAddress(lib,&quot;_pxWheelGetRadius@4&quot;)
pxWheelGetSuspensionTravel=GetProcAddress(lib,&quot;_pxWheelGetSuspensionTravel@4&quot;)
pxWheelGetSuspensionRestitution=GetProcAddress(lib,&quot;_pxWheelGetSuspensionRestitution@4&quot;)
pxWheelGetSuspensionDamping=GetProcAddress(lib,&quot;_pxWheelGetSuspensionDamping@4&quot;)
 
pxWheelGetPositionX=GetProcAddress(lib,&quot;_pxWheelGetPositionX@4&quot;)
pxWheelGetPositionY=GetProcAddress(lib,&quot;_pxWheelGetPositionY@4&quot;)
pxWheelGetPositionZ=GetProcAddress(lib,&quot;_pxWheelGetPositionZ@4&quot;)
pxWheelUpdateSpec=GetProcAddress(lib,&quot;_pxWheelUpdateSpec@8&quot;)
pxWheelGetPositionXSpec=GetProcAddress(lib,&quot;_pxWheelGetPositionXSpec@4&quot;)
pxWheelGetPositionYSpec=GetProcAddress(lib,&quot;_pxWheelGetPositionYSpec@4&quot;)
pxWheelGetPositionZSpec=GetProcAddress(lib,&quot;_pxWheelGetPositionZSpec@4&quot;)
pxWheelGetRotationPitchSpec=GetProcAddress(lib,&quot;_pxWheelGetRotationPitchSpec@4&quot;)
pxWheelGetRotationYawSpec=GetProcAddress(lib,&quot;_pxWheelGetRotationYawSpec@4&quot;)
pxWheelGetRotationRollSpec=GetProcAddress(lib,&quot;_pxWheelGetRotationRollSpec@4&quot;)
 
pxWheelGetContactX=GetProcAddress(lib,&quot;_pxWheelGetContactX@4&quot;)
pxWheelGetContactY=GetProcAddress(lib,&quot;_pxWheelGetContactY@4&quot;)
pxWheelGetContactZ=GetProcAddress(lib,&quot;_pxWheelGetContactZ@4&quot;)
pxWheelGetContactForce=GetProcAddress(lib,&quot;_pxWheelGetContactForce@4&quot;)
pxWheelGetContactLatDirectionX=GetProcAddress(lib,&quot;_pxWheelGetContactLatDirectionX@4&quot;)
pxWheelGetContactLatDirectionY=GetProcAddress(lib,&quot;_pxWheelGetContactLatDirectionY@4&quot;)
pxWheelGetContactLatDirectionZ=GetProcAddress(lib,&quot;_pxWheelGetContactLatDirectionZ@4&quot;)
pxWheelGetContactLatImpulse=GetProcAddress(lib,&quot;_pxWheelGetContactLatImpulse@4&quot;)
pxWheelGetContactLonDirectionX=GetProcAddress(lib,&quot;_pxWheelGetContactLonDirectionX@4&quot;)
pxWheelGetContactLonDirectionY=GetProcAddress(lib,&quot;_pxWheelGetContactLonDirectionY@4&quot;)
pxWheelGetContactLonDirectionZ=GetProcAddress(lib,&quot;_pxWheelGetContactLonDirectionZ@4&quot;)
pxWheelGetContactLonImpulse=GetProcAddress(lib,&quot;_pxWheelGetContactLonImpulse@4&quot;)
pxWheelGetContactMaterial=GetProcAddress(lib,&quot;_pxWheelGetContactMaterial@4&quot;)
pxWheelGetFrictionToSide=GetProcAddress(lib,&quot;_pxWheelGetFrictionToSide@4&quot;)
pxWheelGetFrictionToFront=GetProcAddress(lib,&quot;_pxWheelGetFrictionToFront@4&quot;)
 
pxWheelSetMask=GetProcAddress(lib,&quot;_pxWheelSetMask@8&quot;)
pxWheelSetMaskCombine=GetProcAddress(lib,&quot;_pxWheelSetMaskCombine@8&quot;)
pxWheelClearMask=GetProcAddress(lib,&quot;_pxWheelClearMask@4&quot;)
pxWheelDelete=GetProcAddress(lib,&quot;_pxWheelDelete@4&quot;)
 
 
pxJointCreateSuspFront=GetProcAddress(lib,&quot;_pxJointCreateSuspFront@20&quot;)
pxJointCreateSuspBack=GetProcAddress(lib,&quot;_pxJointCreateSuspBack@20&quot;)
pxJointSuspSetSteerN=GetProcAddress(lib,&quot;_pxJointSuspSetSteerN@16&quot;)
pxJointSuspSetTurnN=GetProcAddress(lib,&quot;_pxJointSuspSetTurnN@16&quot;)
pxJointSuspSetLinLimit=GetProcAddress(lib,&quot;_pxJointSuspSetLinLimit@8&quot;)
pxJointSuspSetLinParameter=GetProcAddress(lib,&quot;_pxJointSuspSetLinParameter@16&quot;)
pxJointSuspSetAngLimit=GetProcAddress(lib,&quot;_pxJointSuspSetAngLimit@8&quot;)
pxJointSuspSetAngParameter=GetProcAddress(lib,&quot;_pxJointSuspSetAngParameter@16&quot;)
pxJointSuspSetAngle=GetProcAddress(lib,&quot;_pxJointSuspSetAngle@8&quot;)
pxJointSuspSetSpeed=GetProcAddress(lib,&quot;_pxJointSuspSetSpeed@8&quot;)
pxJointSuspSetBrake=GetProcAddress(lib,&quot;_pxJointSuspSetBrake@8&quot;)
 
 
pxCCDSkeletonEnable=GetProcAddress(lib,&quot;_pxCCDSkeletonEnable@4&quot;)
pxCCDSkeletonSetEpsilon=GetProcAddress(lib,&quot;_pxCCDSkeletonSetEpsilon@4&quot;)
pxBodySetCCDSkeleton=GetProcAddress(lib,&quot;_pxBodySetCCDSkeleton@16&quot;)
pxBodySetCCDSkeletonThreshold=GetProcAddress(lib,&quot;_pxBodySetCCDSkeletonThreshold@8&quot;)
pxBodySetFlagCCDSkeletonDynamic=GetProcAddress(lib,&quot;_pxBodySetFlagCCDSkeletonDynamic@4&quot;)
pxBodyGetCCDSkeleton=GetProcAddress(lib,&quot;_pxBodyGetCCDSkeleton@4&quot;)
pxBodyDeleteCCDSkeleton=GetProcAddress(lib,&quot;_pxBodyDeleteCCDSkeleton@4&quot;)
 
 
pxCreateRay=GetProcAddress(lib,&quot;_pxCreateRay@0&quot;)
pxRaySetDir=GetProcAddress(lib,&quot;_pxRaySetDir@16&quot;)
pxRaySetPosition=GetProcAddress(lib,&quot;_pxRaySetPosition@16&quot;)
pxRayGetDistance=GetProcAddress(lib,&quot;_pxRayGetDistance@8&quot;)
pxRayGetBody=GetProcAddress(lib,&quot;_pxRayGetBody@8&quot;)
pxRayGetMaterial=GetProcAddress(lib,&quot;_pxRayGetMaterial@8&quot;)
pxRayGetPickX=GetProcAddress(lib,&quot;_pxRayGetPickX@8&quot;)
pxRayGetPickY=GetProcAddress(lib,&quot;_pxRayGetPickY@8&quot;)
pxRayGetPickZ=GetProcAddress(lib,&quot;_pxRayGetPickZ@8&quot;)
pxRayGetPickNX=GetProcAddress(lib,&quot;_pxRayGetPickNX@8&quot;)
pxRayGetPickNY=GetProcAddress(lib,&quot;_pxRayGetPickNY@8&quot;)
pxRayGetPickNZ=GetProcAddress(lib,&quot;_pxRayGetPickNZ@8&quot;)
 
 
pxRegWriteDriverPath=GetProcAddress(lib,&quot;_pxRegWriteDriverPath@4&quot;)
pxRegWriteString=GetProcAddress(lib,&quot;_pxRegWriteString@16&quot;)
pxRegWriteInt=GetProcAddress(lib,&quot;_pxRegWriteInt@16&quot;)
pxRegReadInt=GetProcAddress(lib,&quot;_pxRegReadInt@12&quot;)
pxRegReadString=GetProcAddress(lib,&quot;_pxRegReadString@12&quot;)
pxRegDeleteValue=GetProcAddress(lib,&quot;_pxRegDeleteValue@12&quot;)
pxRegDeleteKey=GetProcAddress(lib,&quot;_pxRegDeleteKey@12&quot;)
 
 
pxGetContacts=GetProcAddress(lib,&quot;_pxGetContacts@4&quot;)
pxContactGetBody=GetProcAddress(lib,&quot;_pxContactGetBody@8&quot;)
pxContactGetPointX=GetProcAddress(lib,&quot;_pxContactGetPointX@8&quot;)
pxContactGetPointY=GetProcAddress(lib,&quot;_pxContactGetPointY@8&quot;)
pxContactGetPointZ=GetProcAddress(lib,&quot;_pxContactGetPointZ@8&quot;)
pxContactGetPointNX=GetProcAddress(lib,&quot;_pxContactGetPointNX@8&quot;)
pxContactGetPointNY=GetProcAddress(lib,&quot;_pxContactGetPointNY@8&quot;)
pxContactGetPointNZ=GetProcAddress(lib,&quot;_pxContactGetPointNZ@8&quot;)
pxContactGetForceN=GetProcAddress(lib,&quot;_pxContactGetForceN@8&quot;)
pxContactGetForceNX=GetProcAddress(lib,&quot;_pxContactGetForceNX@8&quot;)
pxContactGetForceNY=GetProcAddress(lib,&quot;_pxContactGetForceNY@8&quot;)
pxContactGetForceNZ=GetProcAddress(lib,&quot;_pxContactGetForceNZ@8&quot;)
pxContactGetForceT=GetProcAddress(lib,&quot;_pxContactGetForceT@8&quot;)
pxContactGetForceTX=GetProcAddress(lib,&quot;_pxContactGetForceTX@8&quot;)
pxContactGetForceTY=GetProcAddress(lib,&quot;_pxContactGetForceTY@8&quot;)
pxContactGetForceTZ=GetProcAddress(lib,&quot;_pxContactGetForceTZ@8&quot;)
pxContactEventsOnStartTouch=GetProcAddress(lib,&quot;_pxContactEventsOnStartTouch@4&quot;)
pxContactEventsOnEndTouch=GetProcAddress(lib,&quot;_pxContactEventsOnEndTouch@4&quot;)
 
 
pxMaskSet=GetProcAddress(lib,&quot;_pxMaskSet@8&quot;)
pxMaskCombineSet=GetProcAddress(lib,&quot;_pxMaskCombineSet@8&quot;)
pxMaskClear=GetProcAddress(lib,&quot;_pxMaskClear@4&quot;)
pxBodySetCollisionGroup=GetProcAddress(lib,&quot;_pxBodySetCollisionGroup@8&quot;)
pxBodySetCollisionGroupPair=GetProcAddress(lib,&quot;_pxBodySetCollisionGroupPair@8&quot;)
pxBodySetCollisionGroupFlag=GetProcAddress(lib,&quot;_pxBodySetCollisionGroupFlag@12&quot;)
pxBodySetMagnetMask=GetProcAddress(lib,&quot;_pxBodySetMagnetMask@8&quot;)
pxBodyGetMagnetMask=GetProcAddress(lib,&quot;_pxBodyGetMagnetMask@4&quot;)
 
 
pxBodySetFrozen=GetProcAddress(lib,&quot;_pxBodySetFrozen@8&quot;)
pxBodySetFrozenRotX=GetProcAddress(lib,&quot;_pxBodySetFrozenRotX@8&quot;)
pxBodySetFrozenRotY=GetProcAddress(lib,&quot;_pxBodySetFrozenRotY@8&quot;)
pxBodySetFrozenRotZ=GetProcAddress(lib,&quot;_pxBodySetFrozenRotZ@8&quot;)
pxBodySetFrozenRot=GetProcAddress(lib,&quot;_pxBodySetFrozenRot@8&quot;)
pxBodySetFrozenPosX=GetProcAddress(lib,&quot;_pxBodySetFrozenPosX@8&quot;)
pxBodySetFrozenPosY=GetProcAddress(lib,&quot;_pxBodySetFrozenPosY@8&quot;)
pxBodySetFrozenPosZ=GetProcAddress(lib,&quot;_pxBodySetFrozenPosZ@8&quot;)
pxBodySetFrozenPos=GetProcAddress(lib,&quot;_pxBodySetFrozenPos@8&quot;)
pxBodySetFlagGravity=GetProcAddress(lib,&quot;_pxBodySetFlagGravity@8&quot;)
pxBodySetFlagCollision=GetProcAddress(lib,&quot;_pxBodySetFlagCollision@8&quot;)
pxBodySetFlagResponse=GetProcAddress(lib,&quot;_pxBodySetFlagResponse@8&quot;)
pxBodySetFlagContacttable=GetProcAddress(lib,&quot;_pxBodySetFlagContacttable@8&quot;)
pxBodySetFlagMagniteble=GetProcAddress(lib,&quot;_pxBodySetFlagMagniteble@8&quot;)
pxBodySetFlagTriggertable=GetProcAddress(lib,&quot;_pxBodySetFlagTriggertable@8&quot;)
pxBodySetFlagRayCast=GetProcAddress(lib,&quot;_pxBodySetFlagRayCast@8&quot;)
 
 
pxDeleteBody=GetProcAddress(lib,&quot;_pxDeleteBody@4&quot;)
pxDeleteJoint=GetProcAddress(lib,&quot;_pxDeleteJoint@4&quot;)
 
 
pxJointCreateHinge=GetProcAddress(lib,&quot;_pxJointCreateHinge@32&quot;)
pxJointCreateSpherical=GetProcAddress(lib,&quot;_pxJointCreateSpherical@32&quot;)
pxJointCreateDistance=GetProcAddress(lib,&quot;_pxJointCreateDistance@32&quot;)
pxJointCreateFixed=GetProcAddress(lib,&quot;_pxJointCreateFixed@8&quot;)
pxJointCreateCylindrical=GetProcAddress(lib,&quot;_pxJointCreateCylindrical@40&quot;)
pxJointCreatePrismatic=GetProcAddress(lib,&quot;_pxJointCreatePrismatic@40&quot;)
pxJointCreateOnLine=GetProcAddress(lib,&quot;_pxJointCreateOnLine@28&quot;)
pxJointCreateInPlane=GetProcAddress(lib,&quot;_pxJointCreateInPlane@28&quot;)
pxJointCreatePulley=GetProcAddress(lib,&quot;_pxJointCreatePulley@20&quot;)
 
pxJointCreateD6Joint=GetProcAddress(lib,&quot;_pxJointCreateD6Joint@32&quot;)
pxD6JointSetPosMotion=GetProcAddress(lib,&quot;_pxD6JointSetPosMotion@16&quot;)
pxD6JointSetAngleMotion=GetProcAddress(lib,&quot;_pxD6JointSetAngleMotion@16&quot;)
pxD6JointSetLinearLimit=GetProcAddress(lib,&quot;_pxD6JointSetLinearLimit@8&quot;)
pxD6JointSetSwingLimit=GetProcAddress(lib,&quot;_pxD6JointSetSwingLimit@12&quot;)
pxD6JointSetTwistLimit=GetProcAddress(lib,&quot;_pxD6JointSetTwistLimit@12&quot;)
 
pxJointHingeSetLimit=GetProcAddress(lib,&quot;_pxJointHingeSetLimit@12&quot;)
pxJointHingeSetSpring=GetProcAddress(lib,&quot;_pxJointHingeSetSpring@12&quot;)
pxJointSphericalSetLimitAngle=GetProcAddress(lib,&quot;_pxJointSphericalSetLimitAngle@16&quot;)
pxJointSphericalSetLimitTwist=GetProcAddress(lib,&quot;_pxJointSphericalSetLimitTwist@24&quot;)
pxJointSphericalSetLimitSpring=GetProcAddress(lib,&quot;_pxJointSphericalSetLimitSpring@16&quot;)
pxJointDistanceSetPoint=GetProcAddress(lib,&quot;_pxJointDistanceSetPoint@12&quot;)
pxJointDistanceSetSpring=GetProcAddress(lib,&quot;_pxJointDistanceSetSpring@12&quot;)
pxJointAddLimitPlane=GetProcAddress(lib,&quot;_pxJointAddLimitPlane@28&quot;)
pxJointPulleySetAnchor=GetProcAddress(lib,&quot;_pxJointPulleySetAnchor@28&quot;)
pxJointPulleySetLocalAttachBody=GetProcAddress(lib,&quot;_pxJointPulleySetLocalAttachBody@28&quot;)
pxJointHingeSetMotor=GetProcAddress(lib,&quot;_pxJointHingeSetMotor@12&quot;)
pxJointSetBreakable=GetProcAddress(lib,&quot;_pxJointSetBreakable@12&quot;)
pxJointIsBroken=GetProcAddress(lib,&quot;_pxJointIsBroken@4&quot;)
pxJointHingeSetCollision=GetProcAddress(lib,&quot;_pxJointHingeSetCollision@4&quot;)
pxJointSphericalSetCollision=GetProcAddress(lib,&quot;_pxJointSphericalSetCollision@4&quot;)
pxJointDistanceSetCollision=GetProcAddress(lib,&quot;_pxJointDistanceSetCollision@4&quot;)
pxJointCylindricalSetCollision=GetProcAddress(lib,&quot;_pxJointCylindricalSetCollision@4&quot;)
 
 
pxSetGravity=GetProcAddress(lib,&quot;_pxSetGravity@12&quot;)
pxBodySetMass=GetProcAddress(lib,&quot;_pxBodySetMass@8&quot;)
pxBodySetCMassLocalPosition=GetProcAddress(lib,&quot;_pxBodySetCMassLocalPosition@16&quot;)
pxBodySetCMassGlobalPosition=GetProcAddress(lib,&quot;_pxBodySetCMassGlobalPosition@16&quot;)
pxBodySetMassSpaceInertiaTensor=GetProcAddress(lib,&quot;_pxBodySetMassSpaceInertiaTensor@16&quot;)
pxBodyGetCMassGlobalPositionX=GetProcAddress(lib,&quot;_pxBodyGetCMassGlobalPositionX@4&quot;)
pxBodyGetCMassGlobalPositionY=GetProcAddress(lib,&quot;_pxBodyGetCMassGlobalPositionY@4&quot;)
pxBodyGetCMassGlobalPositionZ=GetProcAddress(lib,&quot;_pxBodyGetCMassGlobalPositionZ@4&quot;)
pxBodyGetCMassLocalPositionX=GetProcAddress(lib,&quot;_pxBodyGetCMassLocalPositionX@4&quot;)
pxBodyGetCMassLocalPositionY=GetProcAddress(lib,&quot;_pxBodyGetCMassLocalPositionY@4&quot;)
pxBodyGetCMassLocalPositionZ=GetProcAddress(lib,&quot;_pxBodyGetCMassLocalPositionZ@4&quot;)
pxBodyGetMass=GetProcAddress(lib,&quot;_pxBodyGetMass@4&quot;)
 
 
pxBodySetMyForce=GetProcAddress(lib,&quot;_pxBodySetMyForce@16&quot;)
pxBodyAddForce=GetProcAddress(lib,&quot;_pxBodyAddForce@20&quot;)
pxBodyAddForceAtPos=GetProcAddress(lib,&quot;_pxBodyAddForceAtPos@32&quot;)
pxBodyAddForceAtLocalPos=GetProcAddress(lib,&quot;_pxBodyAddForceAtLocalPos@32&quot;)
pxBodyAddLocalForce=GetProcAddress(lib,&quot;_pxBodyAddLocalForce@20&quot;)
pxBodyAddLocalForceAtPos=GetProcAddress(lib,&quot;_pxBodyAddLocalForceAtPos@32&quot;)
pxBodyAddLocalForceAtLocalPos=GetProcAddress(lib,&quot;_pxBodyAddLocalForceAtLocalPos@32&quot;)
 
pxBodyAddTorque=GetProcAddress(lib,&quot;_pxBodyAddTorque@20&quot;)
pxBodyAddLocalTorque=GetProcAddress(lib,&quot;_pxBodyAddLocalTorque@20&quot;)
pxBodySetAngularSpeed=GetProcAddress(lib,&quot;_pxBodySetAngularSpeed@16&quot;)
pxBodySetLinearSpeed=GetProcAddress(lib,&quot;_pxBodySetLinearSpeed@16&quot;)
pxBodySetLocalLinearSpeed=GetProcAddress(lib,&quot;_pxBodySetLocalLinearSpeed@16&quot;)
pxBodySetLocalAngularSpeed=GetProcAddress(lib,&quot;_pxBodySetLocalAngularSpeed@16&quot;)
pxBodySetAngularDamping=GetProcAddress(lib,&quot;_pxBodySetAngularDamping@8&quot;)
pxBodySetLinearDamping=GetProcAddress(lib,&quot;_pxBodySetLinearDamping@8&quot;)
pxBodySetAngularMomentum=GetProcAddress(lib,&quot;_pxBodySetAngularMomentum@16&quot;)
pxBodySetLinearMomentum=GetProcAddress(lib,&quot;_pxBodySetLinearMomentum@16&quot;)
pxBodySetMaxAngularSpeed=GetProcAddress(lib,&quot;_pxBodySetMaxAngularSpeed@8&quot;)
pxBodySetSleepEnergyThreshold=GetProcAddress(lib,&quot;_pxBodySetSleepEnergyThreshold@8&quot;)
pxBodySetSleepAngularVelocity=GetProcAddress(lib,&quot;_pxBodySetSleepAngularVelocity@8&quot;)
pxBodySetSleepLinearVelocity=GetProcAddress(lib,&quot;_pxBodySetSleepLinearVelocity@8&quot;)
pxBodySetSleepWakeUp=GetProcAddress(lib,&quot;_pxBodySetSleepWakeUp@8&quot;)
pxBodySetSleepPut=GetProcAddress(lib,&quot;_pxBodySetSleepPut@4&quot;)
pxBodySetSolverIterationCount=GetProcAddress(lib,&quot;_pxBodySetSolverIterationCount@8&quot;)
pxBodySetBodyName=GetProcAddress(lib,&quot;_pxBodySetBodyName@8&quot;)
pxBodySetBodyEntity=GetProcAddress(lib,&quot;_pxBodySetBodyEntity@8&quot;)
pxBodySetBodyUserData=GetProcAddress(lib,&quot;_pxBodySetBodyUserData@8&quot;)
pxMoveBodyToPoint=GetProcAddress(lib,&quot;_pxMoveBodyToPoint@20&quot;)
pxAddBodytoBody=GetProcAddress(lib,&quot;_pxAddBodytoBody@8&quot;)
pxCopyBody=GetProcAddress(lib,&quot;_pxCopyBody@4&quot;)
 
 
pxCreateMaterial=GetProcAddress(lib,&quot;_pxCreateMaterial@0&quot;)
pxMaterialSetToBody=GetProcAddress(lib,&quot;_pxMaterialSetToBody@8&quot;)
pxMaterialSetRestitution=GetProcAddress(lib,&quot;_pxMaterialSetRestitution@8&quot;)
pxMaterialSetRestitutionCombineMode=GetProcAddress(lib,&quot;_pxMaterialSetRestitutionCombineMode@8&quot;)
pxMaterialSetStFriction=GetProcAddress(lib,&quot;_pxMaterialSetStFriction@8&quot;)
pxMaterialSetDyFriction=GetProcAddress(lib,&quot;_pxMaterialSetDyFriction@8&quot;)
pxMaterialSetFrictionV=GetProcAddress(lib,&quot;_pxMaterialSetFrictionV@12&quot;)
pxMaterialSetFrictionCombineMode=GetProcAddress(lib,&quot;_pxMaterialSetFrictionCombineMode@8&quot;)
pxCreateAnisotripicMaterial=GetProcAddress(lib,&quot;_pxCreateAnisotripicMaterial@12&quot;)
pxMaterialSetFlagStrongFriction=GetProcAddress(lib,&quot;_pxMaterialSetFlagStrongFriction@4&quot;)
pxGetMaterial=GetProcAddress(lib,&quot;_pxGetMaterial@4&quot;)
 
 
pxBodySetPosition=GetProcAddress(lib,&quot;_pxBodySetPosition@16&quot;)
pxBodySetRotation=GetProcAddress(lib,&quot;_pxBodySetRotation@16&quot;)
 
pxBodyGetPositionX=GetProcAddress(lib,&quot;_pxBodyGetPositionX@4&quot;)
pxBodyGetPositionY=GetProcAddress(lib,&quot;_pxBodyGetPositionY@4&quot;)
pxBodyGetPositionZ=GetProcAddress(lib,&quot;_pxBodyGetPositionZ@4&quot;)
pxBodyGetRotationPitch=GetProcAddress(lib,&quot;_pxBodyGetRotationPitch@4&quot;)
pxBodyGetRotationYaw=GetProcAddress(lib,&quot;_pxBodyGetRotationYaw@4&quot;)
pxBodyGetRotationRoll=GetProcAddress(lib,&quot;_pxBodyGetRotationRoll@4&quot;)
pxBodyGetAngularSpeed=GetProcAddress(lib,&quot;_pxBodyGetAngularSpeed@4&quot;)
pxBodyGetAngularSpeedX=GetProcAddress(lib,&quot;_pxBodyGetAngularSpeedX@4&quot;)
pxBodyGetAngularSpeedY=GetProcAddress(lib,&quot;_pxBodyGetAngularSpeedY@4&quot;)
pxBodyGetAngularSpeedZ=GetProcAddress(lib,&quot;_pxBodyGetAngularSpeedZ@4&quot;)
pxBodyGetLinearSpeed=GetProcAddress(lib,&quot;_pxBodyGetLinearSpeed@4&quot;)
pxBodyGetLinearSpeedX=GetProcAddress(lib,&quot;_pxBodyGetLinearSpeedX@4&quot;)
pxBodyGetLinearSpeedY=GetProcAddress(lib,&quot;_pxBodyGetLinearSpeedY@4&quot;)
pxBodyGetLinearSpeedZ=GetProcAddress(lib,&quot;_pxBodyGetLinearSpeedZ@4&quot;)
pxBodyGetLocalLinearSpeedX=GetProcAddress(lib,&quot;_pxBodyGetLocalLinearSpeedX@4&quot;)
pxBodyGetLocalLinearSpeedY=GetProcAddress(lib,&quot;_pxBodyGetLocalLinearSpeedY@4&quot;)
pxBodyGetLocalLinearSpeedZ=GetProcAddress(lib,&quot;_pxBodyGetLocalLinearSpeedZ@4&quot;)
pxBodyGetLinearVecSpeedX=GetProcAddress(lib,&quot;_pxBodyGetLinearVecSpeedX@4&quot;)
pxBodyGetLinearVecSpeedY=GetProcAddress(lib,&quot;_pxBodyGetLinearVecSpeedY@4&quot;)
pxBodyGetLinearVecSpeedZ=GetProcAddress(lib,&quot;_pxBodyGetLinearVecSpeedZ@4&quot;)
pxBodyGetLocalPointSpeed=GetProcAddress(lib,&quot;_pxBodyGetLocalPointSpeed@12&quot;)
pxBodyGetLocalPointSpeedX=GetProcAddress(lib,&quot;_pxBodyGetLocalPointSpeedX@12&quot;)
pxBodyGetLocalPointSpeedY=GetProcAddress(lib,&quot;_pxBodyGetLocalPointSpeedY@12&quot;)
pxBodyGetLocalPointSpeedZ=GetProcAddress(lib,&quot;_pxBodyGetLocalPointSpeedZ@12&quot;)
 
 
pxBodyGetAngularDamping=GetProcAddress(lib,&quot;_pxBodyGetAngularDamping@4&quot;)
pxBodyGetLinearDamping=GetProcAddress(lib,&quot;_pxBodyGetLinearDamping@4&quot;)
pxBodyGetAngularMomentum=GetProcAddress(lib,&quot;_pxBodyGetAngularMomentum@4&quot;)
pxBodyGetLinearMomentum=GetProcAddress(lib,&quot;_pxBodyGetLinearMomentum@4&quot;)
pxBodyGetMaxAngularVelocity=GetProcAddress(lib,&quot;_pxBodyGetMaxAngularVelocity@4&quot;)
pxGetBodyName=GetProcAddress(lib,&quot;_pxGetBodyName@4&quot;)
pxGetBodyEntity=GetProcAddress(lib,&quot;_pxGetBodyEntity@4&quot;)
pxGetBodyUserData=GetProcAddress(lib,&quot;_pxGetBodyUserData@4&quot;)
pxBodyGetSleepAngularVelocity=GetProcAddress(lib,&quot;_pxBodyGetSleepAngularVelocity@4&quot;)
pxBodyGetSleepLinearVelocity=GetProcAddress(lib,&quot;_pxBodyGetSleepLinearVelocity@4&quot;)
pxBodyIsDynamic=GetProcAddress(lib,&quot;_pxBodyIsDynamic@4&quot;)
pxBodyIsSleeping=GetProcAddress(lib,&quot;_pxBodyIsSleeping@4&quot;)
 
 
pxGetNumberAllBody=GetProcAddress(lib,&quot;_pxGetNumberAllBody@0&quot;)
pxCreateWorld=GetProcAddress(lib,&quot;_pxCreateWorld@8&quot;)
pxDestroyWorld=GetProcAddress(lib,&quot;_pxDestroyWorld@0&quot;)
pxRenderPhysic=GetProcAddress(lib,&quot;_pxRenderPhysic@8&quot;)
pxSetTiming=GetProcAddress(lib,&quot;_pxSetTiming@12&quot;)
pxSDKSetParameter=GetProcAddress(lib,&quot;_pxSDKSetParameter@4&quot;)
pxSetPause=GetProcAddress(lib,&quot;_pxSetPause@4&quot;)
pxChekPPU=GetProcAddress(lib,&quot;_pxChekPPU@0&quot;)
pxChekPPUMode=GetProcAddress(lib,&quot;_pxChekPPUMode@0&quot;)
pxSetHardwareSimulation=GetProcAddress(lib,&quot;_pxSetHardwareSimulation@4&quot;)
 
pxCreateScene=GetProcAddress(lib,&quot;_pxCreateScene@0&quot;)
pxSceneChange=GetProcAddress(lib,&quot;_pxSceneChange@4&quot;)
 
 
pxBodyAddEntity=GetProcAddress(lib,&quot;_pxBodyAddEntity@8&quot;)
 
peeksint=GetProcAddress(lib,&quot;_peeksint@4&quot;)
 
pxGetAngleBetweenVec=GetProcAddress(lib,&quot;_pxGetAngleBetweenVec@24&quot;)

Else
End
EndIf</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Slaine]]></name>
				<uri>https://gprogs.com/profile.php?id=144</uri>
			</author>
			<updated>2007-06-05T08:23:16Z</updated>
			<id>https://gprogs.com/viewtopic.php?pid=987#p987</id>
		</entry>
</feed>
