Seite 1 von 1

Welche 3D Physik Engine als PB Wrapper?

Verfasst: 29.06.2010 08:12
von DrShrek
Bitte auch begründen.

Re: Welche 3D Physik Engine als PB Wrapper?

Verfasst: 29.06.2010 13:09
von Thorium
Warum kein PhysX? Hab noch ne PhysX-Karte hier. ^^

Re: Welche 3D Physik Engine als PB Wrapper?

Verfasst: 29.06.2010 15:09
von ralle
Und was ist mit der hier?

Code: Alles auswählen

Syntax
EnableWorldPhysics(Status)

Beschreibung
Aktiviert oder deaktiviert die Physik-Engine innerhalb der Welt.

Re: Welche 3D Physik Engine als PB Wrapper?

Verfasst: 29.06.2010 16:07
von DrShrek
Thorium hat geschrieben:Warum kein PhysX? Hab noch ne PhysX-Karte hier. ^^
Soweit mir bekannt ist PhysX nur mit NVidia (oder PhysX) Karten nutzbar.
Thorium hat geschrieben:EnableWorldPhysics(Status)

Re: Welche 3D Physik Engine als PB Wrapper?

Verfasst: 29.06.2010 16:07
von DrShrek
Thorium hat geschrieben:Warum kein PhysX? Hab noch ne PhysX-Karte hier. ^^
Soweit mir bekannt ist PhysX nur mit NVidia (oder PhysX) Karten nutzbar.
ralle hat geschrieben:EnableWorldPhysics(Status)
Das wäre dann die PB Wrapper Syntax.

Re: Welche 3D Physik Engine als PB Wrapper?

Verfasst: 29.06.2010 16:16
von ralle
DrShrek hat geschrieben:Das wäre dann die PB Wrapper Syntax.
Naja, es ist halt der PB eigene Befehl, der schon in der Hilfe drin steht. Also nehme ich an, dass bei der Engine3D von PB schon eine PhysikEngine dabei ist.

Re: Welche 3D Physik Engine als PB Wrapper?

Verfasst: 29.06.2010 17:27
von Thorium
DrShrek hat geschrieben:
Thorium hat geschrieben:Warum kein PhysX? Hab noch ne PhysX-Karte hier. ^^
Soweit mir bekannt ist PhysX nur mit NVidia (oder PhysX) Karten nutzbar.
Nein, PhysX kann auch ganz normal über die CPU gerechnet werden, egal was für ne Grafikkarte im System ist. Möchte man die Sache Hardwarebeschleunigt haben, braucht man ne nVidia Karte.

Re: Welche 3D Physik Engine als PB Wrapper?

Verfasst: 29.06.2010 19:24
von DarkDragon
ralle hat geschrieben:
DrShrek hat geschrieben:Das wäre dann die PB Wrapper Syntax.
Naja, es ist halt der PB eigene Befehl, der schon in der Hilfe drin steht. Also nehme ich an, dass bei der Engine3D von PB schon eine PhysikEngine dabei ist.
ODE ist in PB Ogre integriert.
DrShrek hat geschrieben:
Thorium hat geschrieben:Warum kein PhysX? Hab noch ne PhysX-Karte hier. ^^
Soweit mir bekannt ist PhysX nur mit NVidia (oder PhysX) Karten nutzbar.
Wie Thorium schon sagte: PhysX geht auch mit CPU emulation.

---

Btw. es heißt Havok, nicht Hawok.
Tokamak ist recht simpel gehalten, genauso wie Newton. Nur ich würde lieber Tokamak verwenden als Newton. Newton setzt direkt bei 3DGameStudio an und ist auch lizenztechnisch glaube ich auch daran gebunden falls ich mich recht erinnere.

Re: Welche 3D Physik Engine als PB Wrapper?

Verfasst: 02.07.2010 19:07
von Codusa
Ich wäre für Newton, die macht auf mich den besten Eindruck.
Und ich bin kein echter Fan von dem in PB standartmäßig integriertem Zeugs, daher
würde ich mich riesig freuen :bounce:

Re: Welche 3D Physik Engine als PB Wrapper?

Verfasst: 01.03.2011 22:05
von grapy
Hi,

falls jemand etwas mit Tokamak experimentieren möchte.
Hab das heute mal schnell zusammengestrickt. Ist also nicht perfekt, aber funktioniert.
Was man dazu braucht kann man bei den 2 Downloadlinks runterladen.

Code: Alles auswählen

; http://www.tokamakphysics.com/download/tokamak_lib_1_2_5.zip
; http://www.svenberra.net/twrapperv071.zip
;.lib "tokamakwrapper.dll"

; *** Simulator ***
; If the values below isn't set before you create the simulator,
; default values will be used. 
 
Prototype TOKSIM_SetRigidBodiesCount(Count.l)
;Default = 50

Prototype TOKSIM_SetAnimatedBodiesCount(Count.l)
;Default = 50

Prototype TOKSIM_SetRigidParticleCount(Count.l)
;Default = 50

Prototype TOKSIM_SetControllersCount(Count.l)
;Default = 50

Prototype TOKSIM_SetOverlappedPairsCount(Count.l)
;Default = 1225 = (TBodies*(TBodies-1))/2 where TBodies is the total number
;of Rigid & Animated bodies

Prototype TOKSIM_SetGeometriesCount(Count.l)
;Default = 50

Prototype TOKSIM_SetConstraintsCount(Count.l)
;Default = 100

Prototype TOKSIM_SetConstraintSetsCount(Count.l)
;Default = 100

Prototype TOKSIM_SetConstraintBufferSize(Count.l)
;Default = 2000

Prototype TOKSIM_SetStaticMeshNodesStartCount(Count.l)
;Default = 200

Prototype TOKSIM_SetStaticMeshNodesGrowByCount(Count.l)
;Default = -1 = The nodecount will increase by 100.l when growing.

Prototype.l TOKSIM_CreateSimulator(GravityX.f,GravityY.f,GravityZ.f)
Prototype TOKSIM_DestroySimulator()
Prototype TOKSIM_Advance(timestep.f,SubSteps.l)
Prototype TOKSIM_Advance2(timestep.f,minTimeStep.f,maxTimeStep.f)
Prototype.f TOKSIM_GetPhysicsTime()
Prototype TOKSIM_SetStaticMesh(*Vertices,VertexCount.l,*Triangles,TriangleCount.l)
Prototype TOKSIM_FreeStaticMesh()
Prototype TOKSIM_SetMaterial(Index.l,Friction.f,Restitution.f)
Prototype.f TOKSIM_GetMaterialFriction(Index.l)
Prototype.f TOKSIM_GetMaterialRestitution(Index.l)

Prototype TOKSIM_SetCInfoBank(*CInfoBank)
Prototype TOKSIM_SetCollisionResponse(CollisionID1.l,CollisionID2.l,Response.l)
Prototype.l TOKSIM_GetCollisionCount()

Prototype TOKSIM_SetGravity(GravityX.f,GravityY.f,GravityZ.f)
Prototype.f TOKSIM_GetGravityX()
Prototype.f TOKSIM_GetGravityY()
Prototype.f TOKSIM_GetGravityZ()

; *** Rigid Body *** 
Prototype.l TOKRB_Create()
Prototype.l TOKRB_CreateParticle()
Prototype TOKRB_Free(RigidBody.l)
Prototype TOKRB_SetCollisionID(RigidBody.l,ColID.l)
Prototype.l TOKRB_GetCollisionID(RigidBody.l)
Prototype.f TOKRB_GetX(RigidBody.l)
Prototype.f TOKRB_GetY(RigidBody.l)
Prototype.f TOKRB_GetZ(RigidBody.l)
Prototype TOKRB_SetPosition(RigidBody.l,X.f,Y.f,Z.f)
Prototype.f TOKRB_GetPitch(RigidBody.l)
Prototype.f TOKRB_GetYaw(RigidBody.l)
Prototype.f TOKRB_GetRoll(RigidBody.l)
Prototype TOKRB_SetRotation(RigidBody.l,Pitch.f,Yaw.f,Roll.f)
Prototype.l TOKRB_AddBox(RigidBody.l,Width.f,Height.f,Depth.f)
Prototype.l TOKRB_AddSphere(RigidBody.l,Diameter.f)
Prototype.l TOKRB_AddCylinder(RigidBody.l,Diameter.f,Height.f)
Prototype.l TOKRB_AddConvex(RigidBody.l,*Bank,BankSize.l)
Prototype TOKRB_UpdateBoundingInfo(RigidBody.l)
Prototype TOKRB_SetBoxInertiaTensor(RigidBody.l,Width.f,Height.f,Depth.f,Mass.f)
Prototype TOKRB_SetSphereInertiaTensor(RigidBody.l,Diameter.f,Mass.f)
Prototype TOKRB_SetCylinderInertiaTensor(RigidBody.l,Diameter.f,Height.f,Mass.f)
Prototype TOKRB_SetMass(RigidBody.l,Mass.f)
Prototype TOKRB_SetLinearDamping(RigidBody.l,Damping.f)
Prototype TOKRB_SetAngularDamping(RigidBody.l,Damping.f)
Prototype.l TOKRB_IsIdle(RigidBody.l)
Prototype TOKRB_CollideConnected(RigidBody.l,Connected.l)
;Prototype TOKRB_CollideDirectlyConnected(RigidBody.l,Connected.l)
Prototype TOKRB_SetSleepingParameter(RigidBody.l,sleepparam.f)
Prototype TOKRB_Active(RigidBody.l,Active.l)
Prototype.l TOKRB_IsActive(RigidBody.l)
Prototype TOKRB_GravityEnable(RigidBody.l,Enable.l)
Prototype.l TOKRB_IsGravityEnabled(RigidBody.l)
Prototype TOKRB_ApplyImpulse(RigidBody.l,X.f,Y.f,Z.f)
Prototype TOKRB_ApplyImpulse2(RigidBody.l,X.f,Y.f,Z.f,XPos.f,YPos.f,ZPos.f)
Prototype TOKRB_ApplyTwist(RigidBody.l,X.f,Y.f,Z.f)
Prototype TOKRB_SetForce(RigidBody.l,X.f,Y.f,Z.f)
Prototype TOKRB_SetForce2(RigidBody.l,X.f,Y.f,Z.f,XPos.f,YPos.f,ZPos.f)
Prototype TOKRB_SetTorque(RigidBody.l,X.f,Y.f,Z.f)
Prototype TOKRB_SetVelocity(RigidBody.l,X.f,Y.f,Z.f)
Prototype TOKRB_SetAngularMomentum(RigidBody.l,X.f,Y.f,Z.f)
Prototype.f TOKRB_GetVelocityX(RigidBody.l)
Prototype.f TOKRB_GetVelocityY(RigidBody.l)
Prototype.f TOKRB_GetVelocityZ(RigidBody.l)
Prototype.f TOKRB_GetAngularMomentumX(RigidBody.l)
Prototype.f TOKRB_GetAngularMomentumY(RigidBody.l)
Prototype.f TOKRB_GetAngularMomentumZ(RigidBody.l)
Prototype.f TOKRB_GetAngularVelocityX(RigidBody.l)
Prototype.f TOKRB_GetAngularVelocityY(RigidBody.l)
Prototype.f TOKRB_GetAngularVelocityZ(RigidBody.l)
Prototype.f TOKRB_GetVelocityAtPointX(RigidBody.l,X.f,Y.f,Z.f)
Prototype.f TOKRB_GetVelocityAtPointY(RigidBody.l,X.f,Y.f,Z.f)
Prototype.f TOKRB_GetVelocityAtPointZ(RigidBody.l,X.f,Y.f,Z.f)
Prototype TOKRB_RemoveGeometry(RigidBody.l,Geometry.l)
Prototype.l TOKRB_GetGeometryCount(RigidBody.l)
Prototype TOKRB_BeginIterateGeometry(RigidBody.l)
Prototype.l TOKRB_GetNextGeometry(RigidBody.l)

Prototype.l TOKRB_AddSensor(RigidBody.l,PosX.f,PosY.f,PosZ.f,DirX.f,DirY.f,DirZ.f)
Prototype TOKRB_BeginIterateSensor(RigidBody.l)
Prototype.l TOKRB_GetNextSensor(RigidBody.l)
Prototype TOKRB_RemoveSensor(RigidBody.l,Sensor.l)
Prototype TOKRB_SetUserData(RigidBody.l,UserData.l)
Prototype.l TOKRB_GetUserData(RigidBody.l)

; *** Animated Body ***
Prototype.l TOKAB_Create()
Prototype TOKAB_Free(AnimatedBody.l)
Prototype TOKAB_SetCollisionID(AnimatedBody.l,ColID.l)
Prototype.l TOKAB_GetCollisionID(AnimatedBody.l)
Prototype TOKAB_SetPosition(AnimatedBody.l,X.f,Y.f,Z.f)
Prototype TOKAB_SetRotation(AnimatedBody.l,Pitch.f,Yaw.f,Roll.f)
Prototype.f TOKAB_GetX(AnimatedBody.l)
Prototype.f TOKAB_GetY(AnimatedBody.l)
Prototype.f TOKAB_GetZ(AnimatedBody.l)
Prototype.f TOKAB_GetPitch(AnimatedBody.l)
Prototype.f TOKAB_GetYaw(AnimatedBody.l)
Prototype.f TOKAB_GetRoll(AnimatedBody.l)
Prototype.l TOKAB_AddBox(AnimatedBody.l,Width.f,Height.f,Depth.f)
Prototype.l TOKAB_AddSphere(AnimatedBody.l,Diameter.f)
Prototype.l TOKAB_AddCylinder(AnimatedBody.l,Diameter.f,Height.f)
Prototype.l TOKAB_AddConvex(AnimatedBody.l,*Bank,BankSize.l)
Prototype TOKAB_UpdateBoundingInfo(AnimatedBody.l)
Prototype TOKAB_RemoveGeometry(AnimatedBody.l,Geometry.l)
Prototype.l TOKAB_GetGeometryCount(AnimatedBody.l)
Prototype TOKAB_BeginIterateGeometry(AnimatedBody.l)
Prototype.l TOKAB_GetNextGeometry(AnimatedBody.l)
Prototype TOKAB_CollideConnected(AnimatedBody.l,Connected.l)
;Prototype TOKAB_CollideDirectlyConnected(AnimatedBody.l,Connected.l)
Prototype TOKAB_SetUserData(AnimatedBody.l,UserData.l)
Prototype.l TOKAB_GetUserData(AnimatedBody.l)

; *** Geometry ***
Prototype TOKGEOM_SetPositionAndRotation(Geometry.l,X.f,Y.f,Z.f,Pitch.f,Yaw.f,Roll.f)
Prototype TOKGEOM_SetMaterialIndex(Geometry.l,Index.l)
Prototype.l TOKGEOM_GetMaterialIndex(Geometry.l)
Prototype TOKGEOM_SetUserData(Geometry.l,UserData.l)
Prototype.l TOKGEOM_GetUserData(Geometry.l)

; *** Joint ***
Prototype.l TOKJOINT_Create(ConnectionType.l,BodyA.l,BodyB.l)
Prototype.l TOKJOINT_Free(Joint.l)
Prototype TOKJOINT_SetType(Joint.l,JointType.l)
Prototype TOKJOINT_SetPositionAndRotationWorld(Joint.l,X.f,Y.f,Z.f,Pitch.f,Yaw.f,Roll.f)
Prototype TOKJOINT_SetPositionAndRotationFrameA(Joint.l,X.f,Y.f,Z.f,Pitch.f,Yaw.f,Roll.f)
Prototype TOKJOINT_SetPositionAndRotationFrameB(Joint.l,X.f,Y.f,Z.f,Pitch.f,Yaw.f,Roll.f)
Prototype TOKJOINT_SetJointLength(Joint.l,Length.f)
Prototype.f TOKJOINT_GetJointLength(Joint.l)
Prototype TOKJOINT_Enable(Joint.l,Enable)
Prototype.l TOKJOINT_IsEnabled(Joint.l)
Prototype TOKJOINT_SetUpperLimit(Joint.l,Limit.f)
Prototype TOKJOINT_SetLowerLimit(Joint.l,Limit.f)
Prototype TOKJOINT_SetUpperLimit2(Joint.l,Limit.f)
Prototype TOKJOINT_SetLowerLimit2(Joint.l,Limit.f)
Prototype.f TOKJOINT_GetUpperLimit(Joint.l)
Prototype.f TOKJOINT_GetLowerLimit(Joint.l)
Prototype.f TOKJOINT_GetUpperLimit2(Joint.l)
Prototype.f TOKJOINT_GetLowerLimit2(Joint.l)
Prototype TOKJOINT_EnableLimit(Joint.l,Enabled.l)
Prototype TOKJOINT_EnableLimit2(Joint.l,Enabled.l)
Prototype.l TOKJOINT_IsLimitEnabled(Joint.l)
Prototype.l TOKJOINT_IsLimit2Enabled(Joint.l)
Prototype TOKJOINT_SetEpsilon(Joint.l,Epsilon.f)
Prototype TOKJOINT_SetIterations(Joint.l,Iterations.l)
Prototype.f TOKJOINT_GetEpsilon(Joint.l)
Prototype.l TOKJOINT_GetIterations(Joint.l)
Prototype.f TOKJOINT_GetFrameAX(Joint.l)
Prototype.f TOKJOINT_GetFrameAY(Joint.l)
Prototype.f TOKJOINT_GetFrameAZ(Joint.l)
Prototype.f TOKJOINT_GetFrameBX(Joint.l)
Prototype.f TOKJOINT_GetFrameBY(Joint.l)
Prototype.f TOKJOINT_GetFrameBZ(Joint.l)
Prototype.f TOKJOINT_GetFrameAPitch(Joint.l)
Prototype.f TOKJOINT_GetFrameAYaw(Joint.l)
Prototype.f TOKJOINT_GetFrameARoll(Joint.l)
Prototype.f TOKJOINT_GetFrameBPitch(Joint.l)
Prototype.f TOKJOINT_GetFrameBYaw(Joint.l)
Prototype.f TOKJOINT_GetFrameBRoll(Joint.l)
Prototype TOKJOINT_SetDampingFactor(Joint.l,Damping.f)
Prototype.f TOKJOINT_GetDampingFactor(Joint.l)
Prototype TOKJOINT_EnableMotor(Joint.l,Enabled.l)
Prototype.l TOKJOINT_IsMotorEnabled(Joint.l)
Prototype TOKJOINT_SetMotorSpeed(Joint.l,DesiredForce.f,MaxForce.f)
Prototype TOKJOINT_EnableMotor2(Joint.l,Enabled.l)
Prototype.l TOKJOINT_IsMotor2Enabled(Joint.l)
Prototype TOKJOINT_SetMotor2Speed(Joint.l,DesiredForce.f,MaxForce.f)

; *** Sensor ***
Prototype TOKSENSOR_SetLineSensor(Sensor.l,PosX.f,PosY.f,PosZ.f,DirX.f,DirY.f,DirZ.f)
Prototype.f TOKSENSOR_GetLineVectorX(Sensor.l)
Prototype.f TOKSENSOR_GetLineVectorY(Sensor.l)
Prototype.f TOKSENSOR_GetLineVectorZ(Sensor.l)
Prototype.f TOKSENSOR_GetLineUnitVectorX(Sensor.l)
Prototype.f TOKSENSOR_GetLineUnitVectorY(Sensor.l)
Prototype.f TOKSENSOR_GetLineUnitVectorZ(Sensor.l)
Prototype.f TOKSENSOR_GetLinePosX(Sensor.l)
Prototype.f TOKSENSOR_GetLinePosY(Sensor.l)
Prototype.f TOKSENSOR_GetLinePosZ(Sensor.l)
Prototype.f TOKSENSOR_GetDetectDepth(Sensor.l)
Prototype.f TOKSENSOR_GetDetectNormalX(Sensor.l)
Prototype.f TOKSENSOR_GetDetectNormalY(Sensor.l)
Prototype.f TOKSENSOR_GetDetectNormalZ(Sensor.l)
Prototype.f TOKSENSOR_GetDetectContactPointX(Sensor.l)
Prototype.f TOKSENSOR_GetDetectContactPointY(Sensor.l)
Prototype.f TOKSENSOR_GetDetectContactPointZ(Sensor.l)
Prototype.l TOKSENSOR_GetDetectRigidBody(Sensor.l)
Prototype.l TOKSENSOR_GetDetectAnimatedBody(Sensor.l)
Prototype.l TOKSENSOR_GetDetectMaterial(Sensor.l)
Prototype TOKSENSOR_SetUserData(Sensor.l,UserData.l)
Prototype.l TOKSENSOR_GetUserData(Sensor.l)

If OpenLibrary(0, "tokamakwrapper.dll")
  
;lib "tokamakwrapper.dll"

; *** Simulator ***
; If the values below isn't set before you create the simulator,
; default values will be used. 

TOKSIM_SetRigidBodiesCount.TOKSIM_SetRigidBodiesCount = GetFunction(0, "_TOKSIM_SetRigidBodiesCount@4")
;Default = 50

TOKSIM_SetAnimatedBodiesCount.TOKSIM_SetAnimatedBodiesCount = GetFunction(0, "_TOKSIM_SetAnimatedBodiesCount@4")
;Default = 50

TOKSIM_SetRigidParticleCount.TOKSIM_SetRigidParticleCount = GetFunction(0, "_TOKSIM_SetRigidParticleCount@4")
;Default = 50

TOKSIM_SetControllersCount.TOKSIM_SetControllersCount = GetFunction(0, "_TOKSIM_SetControllersCount@4")
;Default = 50

TOKSIM_SetOverlappedPairsCount.TOKSIM_SetOverlappedPairsCount = GetFunction(0, "_TOKSIM_SetOverlappedPairsCount@4")
;Default = 1225 = (TBodies*(TBodies-1))/2 where TBodies is the total number
;of Rigid & Animated bodies

TOKSIM_SetGeometriesCount.TOKSIM_SetGeometriesCount = GetFunction(0, "_TOKSIM_SetGeometriesCount@4")
;Default = 50

TOKSIM_SetConstraintsCount.TOKSIM_SetConstraintsCount = GetFunction(0, "_TOKSIM_SetConstraintsCount@4")
;Default = 100

TOKSIM_SetConstraintSetsCount.TOKSIM_SetConstraintSetsCount = GetFunction(0, "_TOKSIM_SetConstraintSetsCount@4")
;Default = 100

TOKSIM_SetConstraintBufferSize.TOKSIM_SetConstraintBufferSize = GetFunction(0, "_TOKSIM_SetConstraintBufferSize@4")
;Default = 2000

TOKSIM_SetStaticMeshNodesStartCount.TOKSIM_SetStaticMeshNodesStartCount = GetFunction(0, "_TOKSIM_SetStaticMeshNodesStartCount@4")
;Default = 200

TOKSIM_SetStaticMeshNodesGrowByCount.TOKSIM_SetStaticMeshNodesGrowByCount = GetFunction(0, "_TOKSIM_SetStaticMeshNodesGrowByCount@4")
;Default = -1 = The nodecount will increase by 100 when growing.  

TOKSIM_CreateSimulator.TOKSIM_CreateSimulator = GetFunction(0, "_TOKSIM_CreateSimulator@12")
TOKSIM_DestroySimulator.TOKSIM_DestroySimulator = GetFunction(0, "_TOKSIM_DestroySimulator@0")
TOKSIM_Advance.TOKSIM_Advance = GetFunction(0, "_TOKSIM_Advance@8")
TOKSIM_Advance2.TOKSIM_Advance2 = GetFunction(0, "_TOKSIM_Advance@12")
TOKSIM_GetPhysicsTime.TOKSIM_GetPhysicsTime = GetFunction(0, "_TOKSIM_GetPhysicsTime@0")
TOKSIM_SetStaticMesh.TOKSIM_SetStaticMesh = GetFunction(0, "_TOKSIM_SetStaticMesh@16")
TOKSIM_FreeStaticMesh.TOKSIM_FreeStaticMesh = GetFunction(0, "_TOKSIM_FreeStaticMesh@0")
TOKSIM_SetMaterial.TOKSIM_SetMaterial = GetFunction(0, "_TOKSIM_SetMaterial@12")
TOKSIM_GetMaterialFriction.TOKSIM_GetMaterialFriction = GetFunction(0, "_TOKSIM_GetMaterialFriction@4")
TOKSIM_GetMaterialRestitution.TOKSIM_GetMaterialRestitution = GetFunction(0, "_TOKSIM_GetMaterialRestitution@4")

TOKSIM_SetCInfoBank.TOKSIM_SetCInfoBank = GetFunction(0, "_TOKSIM_SetCInfoBank@4")
TOKSIM_SetCollisionResponse.TOKSIM_SetCollisionResponse = GetFunction(0, "_TOKSIM_SetCollisionResponse@12")
TOKSIM_GetCollisionCount.TOKSIM_GetCollisionCount = GetFunction(0, "_TOKSIM_GetCollisionCount@0")

TOKSIM_SetGravity.TOKSIM_SetGravity = GetFunction(0, "_TOKSIM_SetGravity@12")
TOKSIM_GetGravityX.TOKSIM_GetGravityX = GetFunction(0, "_TOKSIM_GravityX@0")
TOKSIM_GetGravityY.TOKSIM_GetGravityY = GetFunction(0, "_TOKSIM_GravityY@0")
TOKSIM_GetGravityZ.TOKSIM_GetGravityZ = GetFunction(0, "_TOKSIM_GravityZ@0")

; *** Rigid Body *** 
TOKRB_Create.TOKRB_Create = GetFunction(0, "_TOKRB_Create@0")
TOKRB_CreateParticle.TOKRB_CreateParticle = GetFunction(0, "_TOKRB_CreateParticle@0")
TOKRB_Free.TOKRB_Free = GetFunction(0, "_TOKRB_Free@4")
TOKRB_SetCollisionID.TOKRB_SetCollisionID = GetFunction(0, "_TOKRB_SetCollisionID@8")
TOKRB_GetCollisionID.TOKRB_GetCollisionID = GetFunction(0, "_TOKRB_GetCollisionID@4")
TOKRB_GetX.TOKRB_GetX = GetFunction(0, "_TOKRB_GetX@4")
TOKRB_GetY.TOKRB_GetY = GetFunction(0, "_TOKRB_GetY@4")
TOKRB_GetZ.TOKRB_GetZ = GetFunction(0, "_TOKRB_GetZ@4")
TOKRB_SetPosition.TOKRB_SetPosition = GetFunction(0, "_TOKRB_SetPosition@16")
TOKRB_GetPitch.TOKRB_GetPitch = GetFunction(0, "_TOKRB_GetPitch@4")
TOKRB_GetYaw.TOKRB_GetYaw = GetFunction(0, "_TOKRB_GetYaw@4")
TOKRB_GetRoll.TOKRB_GetRoll = GetFunction(0, "_TOKRB_GetRoll@4")
TOKRB_SetRotation.TOKRB_SetRotation = GetFunction(0, "_TOKRB_SetRotation@16")
TOKRB_AddBox.TOKRB_AddBox = GetFunction(0, "_TOKRB_AddBox@16")
TOKRB_AddSphere.TOKRB_AddSphere = GetFunction(0, "_TOKRB_AddSphere@8")
TOKRB_AddCylinder.TOKRB_AddCylinder = GetFunction(0, "_TOKRB_AddCylinder@12")
TOKRB_AddConvex.TOKRB_AddConvex = GetFunction(0, "_TOKRB_AddConvex@12")
TOKRB_UpdateBoundingInfo.TOKRB_UpdateBoundingInfo = GetFunction(0, "_TOKRB_UpdateBoundingInfo@4")
TOKRB_SetBoxInertiaTensor.TOKRB_SetBoxInertiaTensor = GetFunction(0, "_TOKRB_SetBoxInertiaTensor@20")
TOKRB_SetSphereInertiaTensor.TOKRB_SetSphereInertiaTensor = GetFunction(0, "_TOKRB_SetSphereInertiaTensor@12")
TOKRB_SetCylinderInertiaTensor.TOKRB_SetCylinderInertiaTensor = GetFunction(0, "_TOKRB_SetCylinderInertiaTensor@16")
TOKRB_SetMass.TOKRB_SetMass = GetFunction(0, "_TOKRB_SetMass@8")
TOKRB_SetLinearDamping.TOKRB_SetLinearDamping = GetFunction(0, "_TOKRB_SetLinearDamping@8")
TOKRB_SetAngularDamping.TOKRB_SetAngularDamping = GetFunction(0, "_TOKRB_SetAngularDamping@8")
TOKRB_IsIdle.TOKRB_IsIdle = GetFunction(0, "_TOKRB_IsIdle@4")
TOKRB_CollideConnected.TOKRB_CollideConnected = GetFunction(0, "_TOKRB_CollideConnected@8")
;TOKRB_CollideDirectlyConnected.TOKRB_CollideDirectlyConnected = GetFunction(0, "_TOKRB_CollideDirectlyConnected@8")
TOKRB_SetSleepingParameter.TOKRB_SetSleepingParameter = GetFunction(0, "_TOKRB_SetSleepingParameter@8")
TOKRB_Active.TOKRB_Active = GetFunction(0, "_TOKRB_Active@8")
TOKRB_IsActive.TOKRB_IsActive = GetFunction(0, "_TOKRB_IsActive@4")
TOKRB_GravityEnable.TOKRB_GravityEnable = GetFunction(0, "_TOKRB_GravityEnable@8")
TOKRB_IsGravityEnabled.TOKRB_IsGravityEnabled = GetFunction(0, "_TOKRB_IsGravityEnabled@4")
TOKRB_ApplyImpulse.TOKRB_ApplyImpulse = GetFunction(0, "_TOKRB_ApplyImpulse@16")
TOKRB_ApplyImpulse2.TOKRB_ApplyImpulse2 = GetFunction(0, "_TOKRB_ApplyImpulse2@28")
TOKRB_ApplyTwist.TOKRB_ApplyTwist = GetFunction(0, "_TOKRB_ApplyTwist@16")
TOKRB_SetForce.TOKRB_SetForce = GetFunction(0, "_TOKRB_SetForce@16")
TOKRB_SetForce2.TOKRB_SetForce2 = GetFunction(0, "_TOKRB_SetForce2@28")
TOKRB_SetTorque.TOKRB_SetTorque = GetFunction(0, "_TOKRB_SetTorque@16")
TOKRB_SetVelocity.TOKRB_SetVelocity = GetFunction(0, "_TOKRB_SetVelocity@16")
TOKRB_SetAngularMomentum.TOKRB_SetAngularMomentum = GetFunction(0, "_TOKRB_SetAngularMomentum@16")
TOKRB_GetVelocityX.TOKRB_GetVelocityX = GetFunction(0, "_TOKRB_GetVelocityX@4")
TOKRB_GetVelocityY.TOKRB_GetVelocityY = GetFunction(0, "_TOKRB_GetVelocityY@4")
TOKRB_GetVelocityZ.TOKRB_GetVelocityZ = GetFunction(0, "_TOKRB_GetVelocityZ@4")
TOKRB_GetAngularMomentumX.TOKRB_GetAngularMomentumX = GetFunction(0, "_TOKRB_GetAngularMomentumX@4")
TOKRB_GetAngularMomentumY.TOKRB_GetAngularMomentumY = GetFunction(0, "_TOKRB_GetAngularMomentumY@4")
TOKRB_GetAngularMomentumZ.TOKRB_GetAngularMomentumZ = GetFunction(0, "_TOKRB_GetAngularMomentumZ@4")
TOKRB_GetAngularVelocityX.TOKRB_GetAngularVelocityX = GetFunction(0, "_TOKRB_GetAngularVelocityX@4")
TOKRB_GetAngularVelocityY.TOKRB_GetAngularVelocityY = GetFunction(0, "_TOKRB_GetAngularVelocityY@4")
TOKRB_GetAngularVelocityZ.TOKRB_GetAngularVelocityZ = GetFunction(0, "_TOKRB_GetAngularVelocityZ@4")
TOKRB_GetVelocityAtPointX.TOKRB_GetVelocityAtPointX = GetFunction(0, "_TOKRB_GetVelocityAtPointX@16")
TOKRB_GetVelocityAtPointY.TOKRB_GetVelocityAtPointY = GetFunction(0, "_TOKRB_GetVelocityAtPointY@16")
TOKRB_GetVelocityAtPointZ.TOKRB_GetVelocityAtPointZ = GetFunction(0, "_TOKRB_GetVelocityAtPointZ@16")
TOKRB_RemoveGeometry.TOKRB_RemoveGeometry = GetFunction(0, "_TOKRB_RemoveGeometry@8")
TOKRB_GetGeometryCount.TOKRB_GetGeometryCount = GetFunction(0, "_TOKRB_GetGeometryCount@4")
TOKRB_BeginIterateGeometry.TOKRB_BeginIterateGeometry = GetFunction(0, "_TOKRB_BeginIterateGeometry@4")
TOKRB_GetNextGeometry.TOKRB_GetNextGeometry = GetFunction(0, "_TOKRB_GetNextGeometry@4")

TOKRB_AddSensor.TOKRB_AddSensor = GetFunction(0, "_TOKRB_AddSensor@28")
TOKRB_BeginIterateSensor.TOKRB_BeginIterateSensor = GetFunction(0, "_TOKRB_BeginIterateSensor@4")
TOKRB_GetNextSensor.TOKRB_GetNextSensor = GetFunction(0, "_TOKRB_GetNextSensor@4")
TOKRB_RemoveSensor.TOKRB_RemoveSensor = GetFunction(0, "_TOKRB_RemoveSensor@8")
TOKRB_SetUserData.TOKRB_SetUserData = GetFunction(0, "_TOKRB_SetUserData@8")
TOKRB_GetUserData.TOKRB_GetUserData = GetFunction(0, "_TOKRB_GetUserData@4")

; *** Animated Body ***
TOKAB_Create.TOKAB_Create = GetFunction(0, "_TOKAB_Create@0")
TOKAB_Free.TOKAB_Free = GetFunction(0, "_TOKAB_Free@4")
TOKAB_SetCollisionID.TOKAB_SetCollisionID = GetFunction(0, "_TOKAB_SetCollisionID@8")
TOKAB_GetCollisionID.TOKAB_GetCollisionID = GetFunction(0, "_TOKAB_GetCollisionID@4")
TOKAB_SetPosition.TOKAB_SetPosition = GetFunction(0, "_TOKAB_SetPosition@16")
TOKAB_SetRotation.TOKAB_SetRotation = GetFunction(0, "_TOKAB_SetRotation@16")
TOKAB_GetX.TOKAB_GetX = GetFunction(0, "_TOKAB_GetX@4")
TOKAB_GetY.TOKAB_GetY = GetFunction(0, "_TOKAB_GetY@4")
TOKAB_GetZ.TOKAB_GetZ = GetFunction(0, "_TOKAB_GetZ@4")
TOKAB_GetPitch.TOKAB_GetPitch = GetFunction(0, "_TOKAB_GetPitch@4")
TOKAB_GetYaw.TOKAB_GetYaw = GetFunction(0, "_TOKAB_GetYaw@4")
TOKAB_GetRoll.TOKAB_GetRoll = GetFunction(0, "_TOKAB_GetRoll@4")
TOKAB_AddBox.TOKAB_AddBox = GetFunction(0, "_TOKAB_AddBox@16")
TOKAB_AddSphere.TOKAB_AddSphere = GetFunction(0, "_TOKAB_AddSphere@8")
TOKAB_AddCylinder.TOKAB_AddCylinder = GetFunction(0, "_TOKAB_AddCylinder@12")
TOKAB_AddConvex.TOKAB_AddConvex = GetFunction(0, "_TOKAB_AddConvex@12")
TOKAB_UpdateBoundingInfo.TOKAB_UpdateBoundingInfo = GetFunction(0, "_TOKAB_UpdateBoundingInfo@4")
TOKAB_RemoveGeometry.TOKAB_RemoveGeometry = GetFunction(0, "_TOKAB_RemoveGeometry@8")
TOKAB_GetGeometryCount.TOKAB_GetGeometryCount = GetFunction(0, "_TOKAB_GetGeometryCount@4")
TOKAB_BeginIterateGeometry.TOKAB_BeginIterateGeometry = GetFunction(0, "_TOKAB_BeginIterateGeometry@4")
TOKAB_GetNextGeometry.TOKAB_GetNextGeometry = GetFunction(0, "_TOKAB_GetNextGeometry@4")
TOKAB_CollideConnected.TOKAB_CollideConnected = GetFunction(0, "_TOKAB_CollideConnected@8")
;TOKAB_CollideDirectlyConnected.TOKAB_CollideDirectlyConnected = GetFunction(0, "_TOKAB_CollideDirectlyConnected@8")
TOKAB_SetUserData.TOKAB_SetUserData = GetFunction(0, "_TOKAB_SetUserData@8")
TOKAB_GetUserData.TOKAB_GetUserData = GetFunction(0, "_TOKAB_GetUserData@4")

; *** Geometry ***
TOKGEOM_SetPositionAndRotation.TOKGEOM_SetPositionAndRotation = GetFunction(0, "_TOKGEOM_SetPositionAndRotation@28")
TOKGEOM_SetMaterialIndex.TOKGEOM_SetMaterialIndex = GetFunction(0, "_TOKGEOM_SetMaterialIndex@8")
TOKGEOM_GetMaterialIndex.TOKGEOM_GetMaterialIndex = GetFunction(0, "_TOKGEOM_GetMaterialIndex@4")
TOKGEOM_SetUserData.TOKGEOM_SetUserData = GetFunction(0, "_TOKGEOM_SetUserData@8")
TOKGEOM_GetUserData.TOKGEOM_GetUserData = GetFunction(0, "_TOKGEOM_GetUserData@4")

; *** Joint ***
TOKJOINT_Create.TOKJOINT_Create = GetFunction(0, "_TOKJOINT_Create@12")
TOKJOINT_Free.TOKJOINT_Free = GetFunction(0, "_TOKJOINT_Free@4")
TOKJOINT_SetType.TOKJOINT_SetType = GetFunction(0, "_TOKJOINT_SetType@8")
TOKJOINT_SetPositionAndRotationWorld.TOKJOINT_SetPositionAndRotationWorld = GetFunction(0, "_TOKJOINT_SetPositionWorld@28")
TOKJOINT_SetPositionAndRotationFrameA.TOKJOINT_SetPositionAndRotationFrameA = GetFunction(0, "_TOKJOINT_SetPositionFrameA@28")
TOKJOINT_SetPositionAndRotationFrameB.TOKJOINT_SetPositionAndRotationFrameB = GetFunction(0, "_TOKJOINT_SetPositionFrameB@28")
TOKJOINT_SetJointLength.TOKJOINT_SetJointLength = GetFunction(0, "_TOKJOINT_SetJointLength@8")
TOKJOINT_GetJointLength.TOKJOINT_GetJointLength = GetFunction(0, "_TOKJOINT_GetJointLength@4")
TOKJOINT_Enable.TOKJOINT_Enable = GetFunction(0, "_TOKJOINT_Enable@8")
TOKJOINT_IsEnabled.TOKJOINT_IsEnabled = GetFunction(0, "_TOKJOINT_IsEnabled@4")
TOKJOINT_SetUpperLimit.TOKJOINT_SetUpperLimit = GetFunction(0, "_TOKJOINT_SetUpperLimit@8")
TOKJOINT_SetLowerLimit.TOKJOINT_SetLowerLimit = GetFunction(0, "_TOKJOINT_SetLowerLimit@8")
TOKJOINT_SetUpperLimit2.TOKJOINT_SetUpperLimit2 = GetFunction(0, "_TOKJOINT_SetUpperLimit2@8")
TOKJOINT_SetLowerLimit2.TOKJOINT_SetLowerLimit2 = GetFunction(0, "_TOKJOINT_SetLowerLimit2@8")
TOKJOINT_GetUpperLimit.TOKJOINT_GetUpperLimit = GetFunction(0, "_TOKJOINT_GetUpperLimit@4")
TOKJOINT_GetLowerLimit.TOKJOINT_GetLowerLimit = GetFunction(0, "_TOKJOINT_GetLowerLimit@4")
TOKJOINT_GetUpperLimit2.TOKJOINT_GetUpperLimit2 = GetFunction(0, "_TOKJOINT_GetUpperLimit2@4")
TOKJOINT_GetLowerLimit2.TOKJOINT_GetLowerLimit2 = GetFunction(0, "_TOKJOINT_GetLowerLimit2@4")
TOKJOINT_EnableLimit.TOKJOINT_EnableLimit = GetFunction(0, "_TOKJOINT_EnableLimit@8")
TOKJOINT_EnableLimit2.TOKJOINT_EnableLimit2 = GetFunction(0, "_TOKJOINT_EnableLimit2@8")
TOKJOINT_IsLimitEnabled.TOKJOINT_IsLimitEnabled = GetFunction(0, "_TOKJOINT_IsLimitEnabled@4")
TOKJOINT_IsLimit2Enabled.TOKJOINT_IsLimit2Enabled = GetFunction(0, "_TOKJOINT_IsLimit2Enabled@4")
TOKJOINT_SetEpsilon.TOKJOINT_SetEpsilon = GetFunction(0, "_TOKJOINT_SetEpsilon@8")
TOKJOINT_SetIterations.TOKJOINT_SetIterations = GetFunction(0, "_TOKJOINT_SetIterations@8")
TOKJOINT_GetEpsilon.TOKJOINT_GetEpsilon = GetFunction(0, "_TOKJOINT_GetEpsilon@4")
TOKJOINT_GetIterations.TOKJOINT_GetIterations = GetFunction(0, "_TOKJOINT_GetIterations@4")
TOKJOINT_GetFrameAX.TOKJOINT_GetFrameAX = GetFunction(0, "_TOKJOINT_GetFrameAX@4")
TOKJOINT_GetFrameAY.TOKJOINT_GetFrameAY = GetFunction(0, "_TOKJOINT_GetFrameAY@4")
TOKJOINT_GetFrameAZ.TOKJOINT_GetFrameAZ = GetFunction(0, "_TOKJOINT_GetFrameAZ@4")
TOKJOINT_GetFrameBX.TOKJOINT_GetFrameBX = GetFunction(0, "_TOKJOINT_GetFrameBX@4")
TOKJOINT_GetFrameBY.TOKJOINT_GetFrameBY = GetFunction(0, "_TOKJOINT_GetFrameBY@4")
TOKJOINT_GetFrameBZ.TOKJOINT_GetFrameBZ = GetFunction(0, "_TOKJOINT_GetFrameBZ@4")
TOKJOINT_GetFrameAPitch.TOKJOINT_GetFrameAPitch = GetFunction(0, "_TOKJOINT_GetFrameAPitch@4")
TOKJOINT_GetFrameAYaw.TOKJOINT_GetFrameAYaw = GetFunction(0, "_TOKJOINT_GetFrameAYaw@4")
TOKJOINT_GetFrameARoll.TOKJOINT_GetFrameARoll = GetFunction(0, "_TOKJOINT_GetFrameARoll@4")
TOKJOINT_GetFrameBPitch.TOKJOINT_GetFrameBPitch = GetFunction(0, "_TOKJOINT_GetFrameBPitch@4")
TOKJOINT_GetFrameBYaw.TOKJOINT_GetFrameBYaw = GetFunction(0, "_TOKJOINT_GetFrameBYaw@4")
TOKJOINT_GetFrameBRoll.TOKJOINT_GetFrameBRoll = GetFunction(0, "_TOKJOINT_GetFrameBRoll@4")
TOKJOINT_SetDampingFactor.TOKJOINT_SetDampingFactor = GetFunction(0, "_TOKJOINT_SetDampingFactor@8")
TOKJOINT_GetDampingFactor.TOKJOINT_GetDampingFactor = GetFunction(0, "_TOKJOINT_GetDampingFactor@4")
TOKJOINT_EnableMotor.TOKJOINT_EnableMotor = GetFunction(0, "_TOKJOINT_EnableMotor@8")
TOKJOINT_IsMotorEnabled.TOKJOINT_IsMotorEnabled = GetFunction(0, "_TOKJOINT_IsMotorEnabled@4")
TOKJOINT_SetMotorSpeed.TOKJOINT_SetMotorSpeed = GetFunction(0, "_TOKJOINT_SetMotorSpeed@12")
TOKJOINT_EnableMotor2.TOKJOINT_EnableMotor2 = GetFunction(0, "_TOKJOINT_EnableMotor2@8")
TOKJOINT_IsMotor2Enabled.TOKJOINT_IsMotor2Enabled = GetFunction(0, "_TOKJOINT_IsMotor2Enabled@4")
TOKJOINT_SetMotor2Speed.TOKJOINT_SetMotor2Speed = GetFunction(0, "_TOKJOINT_SetMotor2Speed@12")

; *** Sensor ***
TOKSENSOR_SetLineSensor.TOKSENSOR_SetLineSensor = GetFunction(0, "_TOKSENSOR_SetLineSensor@28")
TOKSENSOR_GetLineVectorX.TOKSENSOR_GetLineVectorX = GetFunction(0, "_TOKSENSOR_GetLineVectorX@4")
TOKSENSOR_GetLineVectorY.TOKSENSOR_GetLineVectorY = GetFunction(0, "_TOKSENSOR_GetLineVectorY@4")
TOKSENSOR_GetLineVectorZ.TOKSENSOR_GetLineVectorZ = GetFunction(0, "_TOKSENSOR_GetLineVectorZ@4")
TOKSENSOR_GetLineUnitVectorX.TOKSENSOR_GetLineUnitVectorX = GetFunction(0, "_TOKSENSOR_GetLineUnitVectorX@4")
TOKSENSOR_GetLineUnitVectorY.TOKSENSOR_GetLineUnitVectorY = GetFunction(0, "_TOKSENSOR_GetLineUnitVectorY@4")
TOKSENSOR_GetLineUnitVectorZ.TOKSENSOR_GetLineUnitVectorZ = GetFunction(0, "_TOKSENSOR_GetLineUnitVectorZ@4")
TOKSENSOR_GetLinePosX.TOKSENSOR_GetLinePosX = GetFunction(0, "_TOKSENSOR_GetLinePosX@4")
TOKSENSOR_GetLinePosY.TOKSENSOR_GetLinePosY = GetFunction(0, "_TOKSENSOR_GetLinePosY@4")
TOKSENSOR_GetLinePosZ.TOKSENSOR_GetLinePosZ = GetFunction(0, "_TOKSENSOR_GetLinePosZ@4")
TOKSENSOR_GetDetectDepth.TOKSENSOR_GetDetectDepth = GetFunction(0, "_TOKSENSOR_GetDetectDepth@4")
TOKSENSOR_GetDetectNormalX.TOKSENSOR_GetDetectNormalX = GetFunction(0, "_TOKSENSOR_GetDetectNormalX@4")
TOKSENSOR_GetDetectNormalY.TOKSENSOR_GetDetectNormalY = GetFunction(0, "_TOKSENSOR_GetDetectNormalY@4")
TOKSENSOR_GetDetectNormalZ.TOKSENSOR_GetDetectNormalZ = GetFunction(0, "_TOKSENSOR_GetDetectNormalZ@4")
TOKSENSOR_GetDetectContactPointX.TOKSENSOR_GetDetectContactPointX = GetFunction(0, "_TOKSENSOR_GetDetectContactPointX@4")
TOKSENSOR_GetDetectContactPointY.TOKSENSOR_GetDetectContactPointY = GetFunction(0, "_TOKSENSOR_GetDetectContactPointY@4")
TOKSENSOR_GetDetectContactPointZ.TOKSENSOR_GetDetectContactPointZ = GetFunction(0, "_TOKSENSOR_GetDetectContactPointZ@4")
TOKSENSOR_GetDetectRigidBody.TOKSENSOR_GetDetectRigidBody = GetFunction(0, "_TOKSENSOR_GetDetectRigidBody@4")
TOKSENSOR_GetDetectAnimatedBody.TOKSENSOR_GetDetectAnimatedBody = GetFunction(0, "_TOKSENSOR_GetDetectAnimatedBody@4")
TOKSENSOR_GetDetectMaterial.TOKSENSOR_GetDetectMaterial = GetFunction(0, "_TOKSENSOR_GetDetectMaterial@4")
TOKSENSOR_SetUserData.TOKSENSOR_SetUserData = GetFunction(0, "_TOKSENSOR_SetUserData@8")
TOKSENSOR_GetUserData.TOKSENSOR_GetUserData = GetFunction(0, "_TOKSENSOR_GetUserData@4")

EndIf
Gruß grapy :mrgreen: