Welche 3D Physik Engine als PB Wrapper?
Welche 3D Physik Engine als PB Wrapper?
Bitte auch begründen.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Re: Welche 3D Physik Engine als PB Wrapper?
Warum kein PhysX? Hab noch ne PhysX-Karte hier. ^^
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Re: Welche 3D Physik Engine als PB Wrapper?
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?
Soweit mir bekannt ist PhysX nur mit NVidia (oder PhysX) Karten nutzbar.Thorium hat geschrieben:Warum kein PhysX? Hab noch ne PhysX-Karte hier. ^^
Thorium hat geschrieben:EnableWorldPhysics(Status)
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Re: Welche 3D Physik Engine als PB Wrapper?
Soweit mir bekannt ist PhysX nur mit NVidia (oder PhysX) Karten nutzbar.Thorium hat geschrieben:Warum kein PhysX? Hab noch ne PhysX-Karte hier. ^^
Das wäre dann die PB Wrapper Syntax.ralle hat geschrieben:EnableWorldPhysics(Status)
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Re: Welche 3D Physik Engine als PB Wrapper?
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.DrShrek hat geschrieben:Das wäre dann die PB Wrapper Syntax.
Re: Welche 3D Physik Engine als PB Wrapper?
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.DrShrek hat geschrieben:Soweit mir bekannt ist PhysX nur mit NVidia (oder PhysX) Karten nutzbar.Thorium hat geschrieben:Warum kein PhysX? Hab noch ne PhysX-Karte hier. ^^
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
-
- Beiträge: 6267
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: Welche 3D Physik Engine als PB Wrapper?
ODE ist in PB Ogre integriert.ralle hat geschrieben: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.DrShrek hat geschrieben:Das wäre dann die PB Wrapper Syntax.
Wie Thorium schon sagte: PhysX geht auch mit CPU emulation.DrShrek hat geschrieben:Soweit mir bekannt ist PhysX nur mit NVidia (oder PhysX) Karten nutzbar.Thorium hat geschrieben:Warum kein PhysX? Hab noch ne PhysX-Karte hier. ^^
---
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.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Re: Welche 3D Physik Engine als PB Wrapper?
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
Und ich bin kein echter Fan von dem in PB standartmäßig integriertem Zeugs, daher
würde ich mich riesig freuen
"I became insane, with long intervals of horrible sanity." - Edgar A. Poe
Re: Welche 3D Physik Engine als PB Wrapper?
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.Gruß grapy
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