E.S.L (Extract Static Libs) = a wrapper generator

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

E.S.L (Extract Static Libs) = a wrapper generator

Beitrag von DrShrek »

So nun ist es endlich soweit, nach langer Entwicklungszeit (mit vielen Pausen zwischen drin) ist er jetzt nutzbar:

Mein E.S.L
E.S.L (Extract Static Libs) -> Nicht zu verwechseln mit den gleichnamigen Tier :wink:
Der Name 'E.S.L' wurde aber schon bewusst 'wie der Tiername' gewählt, weil mir E.S.L einiges an Arbeit beim erzeugen eines *4PB Wrappers abnimmt.

Hier mal ein Screenshot (Hier wird gerade Chipmunk 6.0.1 für den Chipmunk4PB Wrapper bearbeitet):
Bild
Zuletzt geändert von DrShrek am 18.08.2011 13:31, insgesamt 4-mal geändert.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: E.S.L (Extract Static Libs) = a wrapper generator

Beitrag von DarkDragon »

Gibt es dazu auch einen Downloadlink? :)
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.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: E.S.L (Extract Static Libs) = a wrapper generator

Beitrag von DrShrek »

DarkDragon hat geschrieben:Gibt es dazu auch einen Downloadlink? :)
Ja möglicherweise aber den E.S.L möchte ich nur lizensiert rausgegeben.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: E.S.L (Extract Static Libs) = a wrapper generator

Beitrag von DarkDragon »

DrShrek hat geschrieben:
DarkDragon hat geschrieben:Gibt es dazu auch einen Downloadlink? :)
Ja möglicherweise aber den E.S.L möchte ich nur lizensiert rausgegeben.
Gibt es wenigstens Informationen dazu?
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.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: E.S.L (Extract Static Libs) = a wrapper generator

Beitrag von DrShrek »

DarkDragon hat geschrieben:Gibt es wenigstens Informationen dazu?
JA gibt es:
Benötigt wird:
- Die Sourcen von dem Teil welches Du wrappen möchtest.
- noch eine Statische Lib von dem Teil
- und natürlich E.S.L

E.S.L generiert aus den gefunden Informationen (Source/statische lib) dann ein pbi include für PureBasic.
Diese pbi beinhaltet:
- Die Structuren aus den Sourcen (an PureBasic Syntax angepasst)
- Die Functionen die in der Statischen Lib gefunden wurden (an PureBasic Syntax angepasst)
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: E.S.L (Extract Static Libs) = a wrapper generator

Beitrag von DarkDragon »

DrShrek hat geschrieben:
DarkDragon hat geschrieben:Gibt es wenigstens Informationen dazu?
JA gibt es:
Benötigt wird:
- Die Sourcen von dem Teil welches Du wrappen möchtest.
- noch eine Statische Lib von dem Teil
- und natürlich E.S.L

E.S.L generiert aus den gefunden Informationen (Source/statische lib) dann ein pbi include für PureBasic.
Diese pbi beinhaltet:
- Die Structuren aus den Sourcen (an PureBasic Syntax angepasst)
- Die Functionen die in der Statischen Lib gefunden wurden (an PureBasic Syntax angepasst)
Na gut, dann halt nicht ... /:-> . Ich meinte Informationen zum Kauf einer Lizenz. :freak:
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.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: E.S.L (Extract Static Libs) = a wrapper generator

Beitrag von DrShrek »

DarkDragon hat geschrieben:]Na gut, dann halt nicht ... /:-> . Ich meinte Informationen zum Kauf einer Lizenz. :freak:
Gib mir bitte noch etwas Zeit.
Ich möchte erst noch, dass E.S.L auch DLLs untersucht und auch davon PureBasic Includes generiert.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
inc.
Beiträge: 348
Registriert: 27.10.2004 12:25

Re: E.S.L (Extract Static Libs) = a wrapper generator

Beitrag von inc. »

DrShrek hat geschrieben:
DarkDragon hat geschrieben:]Na gut, dann halt nicht ... /:-> . Ich meinte Informationen zum Kauf einer Lizenz. :freak:
Gib mir bitte noch etwas Zeit.
Ich möchte erst noch, dass E.S.L auch DLLs untersucht und auch davon PureBasic Includes generiert.
Warum hast Du es dann schon vorgestellt, wenn es zwar nutzbar aber (noch) nicht vertrieben wird?

Welche Lizenz soll es sein? Eine wie die LGPL oder die MIT?
Oder möchtest Du, dass man die Lizenz kostenpflichtig erwirbt?
Hier gibts die OOP Option für PureBasic.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: E.S.L (Extract Static Libs) = a wrapper generator

Beitrag von DrShrek »

Ja die Lizenz wird es nicht umsonst geben. Sorry.

Hier mal ein Ergebnis (generiert in ca 20sec) vollständig alleine durch E.S.L:

Code: Alles auswählen

;- - E.S.L (0.2.0) - -
; <wrapper>4P.pbi

;- - Macros - -

;- - Structures - -
;-  cpConstraint
Structure  cpConstraint
EndStructure
;-  cpLayers
Structure  cpLayers
EndStructure
;-  cpSegmentQueryInfo
Structure  cpSegmentQueryInfo
EndStructure
;-  cpShape
Structure  cpShape
EndStructure
;-  cpFlot
Structure  cpFlot
EndStructure
;-  cVect
Structure  cVect
EndStructure
;-  cpCollisionHandler
Structure  cpCollisionHandler
EndStructure
;-  cpSpaceHash
Structure  cpSpaceHash
EndStructure
;-  cpHashSet
Structure  cpHashSet
EndStructure
;-  cpSpatialIndex
Structure  cpSpatialIndex
EndStructure
;-  cpSegmentShape
Structure  cpSegmentShape
EndStructure
;-  cpPostStepFunc
Structure  cpPostStepFunc
EndStructure
;-  cpPostStepCallback
Structure  cpPostStepCallback
EndStructure
;-  cpPolyShape
Structure  cpPolyShape
EndStructure
;-  cpSpaceSegmentQueryFunc
Structure  cpSpaceSegmentQueryFunc
EndStructure
;-  cpSpaceConstraintIteratorFunc
Structure  cpSpaceConstraintIteratorFunc
EndStructure
;-  cpSpaceBodyIteratorFunc
Structure  cpSpaceBodyIteratorFunc
EndStructure
;-  cpVect
Structure  cpVect
EndStructure
;-  costcpVect
Structure  costcpVect
EndStructure
;-  cpBodyShapeIteratorFunc
Structure  cpBodyShapeIteratorFunc
EndStructure
;-  cpBodyArbiterIteratorFunc
Structure  cpBodyArbiterIteratorFunc
EndStructure
;-  cpConstraintClass
Structure  cpConstraintClass
EndStructure
;-  conscpFloa
Structure  conscpFloa
EndStructure
;-  cpSpace
Structure  cpSpace
EndStructure
;-  cpBody
Structure  cpBody
EndStructure
;-  cpSpatialIndexQueryFunc
Structure  cpSpatialIndexQueryFunc
EndStructure
;-  cpBBTree
Structure  cpBBTree
EndStructure
;-  cpArbiter
Structure  cpArbiter
EndStructure
;-  cpHashSetFilterFunc
Structure  cpHashSetFilterFunc
EndStructure
;-  cpSpaceShapeIteratorFunc
Structure  cpSpaceShapeIteratorFunc
EndStructure
;-  cpArray
Structure  cpArray
EndStructure
;-  cpFloat
Structure  cpFloat
EndStructure
;-  cpSweep1D
Structure  cpSweep1D
EndStructure
;-  cpHashSetEqlFunc
Structure  cpHashSetEqlFunc
EndStructure
;-  cpSpaceShapeQueryFunc
Structure  cpSpaceShapeQueryFunc
EndStructure
;-  cpContact
Structure  cpContact
EndStructure
;-  cpHashSetIteratorFunc
Structure  cpHashSetIteratorFunc
EndStructure
;-  cpBodyConstraintIteratorFunc
Structure  cpBodyConstraintIteratorFunc
EndStructure
;-  cpSpatialIndexIteratorFunc
Structure  cpSpatialIndexIteratorFunc
EndStructure
;-  cpSpatialIndexClass
Structure  cpSpatialIndexClass
EndStructure
;-  cpCircleShape
Structure  cpCircleShape
EndStructure
;-  cpHashSetTransFunc
Structure  cpHashSetTransFunc
EndStructure
;-  cpGroup
Structure  cpGroup
EndStructure
;-  cpSpaceBBQueryFunc
Structure  cpSpaceBBQueryFunc
EndStructure
;-  cpSpatialIndexSegmentQueryFunc
Structure  cpSpatialIndexSegmentQueryFunc
EndStructure
;-  cpHashValue
Structure  cpHashValue
EndStructure
;-  cpSpatialIndexBBFunc
Structure  cpSpatialIndexBBFunc
EndStructure


;- - Imports - -
ImportC "C:\Chipmunk_6.0.1\chipmunk.lib"
   cpArbiterApplyCachedImpulse(*arb.cpArbiter,dt_coef.cpFloat) As "?cpArbiterApplyCachedImpulse@@YAXPAUcpArbiter@@N@Z"
   cpArbiterApplyImpulse(*arb.cpArbiter) As "?cpArbiterApplyImpulse@@YAXPAUcpArbiter@@@Z"
   cpArbiterCallSeparate(*arb.cpArbiter,*space.cpSpace) As "?cpArbiterCallSeparate@@YAXPAUcpArbiter@@PAUcpSpace@@@Z"
   cpArbiterGetContactPointSet(*arb.cpArbiter) As "?cpArbiterGetContactPointSet@@YA?AUcpContactPointSet@@PBUcpArbiter@@@Z"
   cpArbiterGetCount(*arb.cpArbiter) As "?cpArbiterGetCount@@YAHPBUcpArbiter@@@Z"
   cpArbiterGetDepth(*arb.cpArbiter,i.nt) As "?cpArbiterGetDepth@@YANPBUcpArbiter@@H@Z"
   cpArbiterGetNormal(*arb.cpArbiter,i.nt) As "?cpArbiterGetNormal@@YA?AUcpVect@@PBUcpArbiter@@H@Z"
   cpArbiterGetPoint(*arb.cpArbiter,i.nt) As "?cpArbiterGetPoint@@YA?AUcpVect@@PBUcpArbiter@@H@Z"
   cpArbiterIgnore(*arb.cpArbiter) As "?cpArbiterIgnore@@YAXPAUcpArbiter@@@Z"
   cpArbiterInit(*arb.cpArbiter,*a.cpShape,*b.cpShape) As "?cpArbiterInit@@YAPAUcpArbiter@@PAU1@PAUcpShape@@1@Z"
   cpArbiterIsFirstContact(*arb.cpArbiter) As "?cpArbiterIsFirstContact@@YAHPBUcpArbiter@@@Z"
   cpArbiterPreStep(*arb.cpArbiter,dt.cpFloat,slop.cpFloat,bias.cpFloat) As "?cpArbiterPreStep@@YAXPAUcpArbiter@@NNN@Z"
   cpArbiterThreadForBody(*arb.cpArbiter,*body.cpBody) As "?cpArbiterThreadForBody@@YAPAUcpArbiterThread@@PAUcpArbiter@@PAUcpBody@@@Z"
   cpArbiterTotalImpulse(*arb.cpArbiter) As "?cpArbiterTotalImpulse@@YA?AUcpVect@@PBUcpArbiter@@@Z"
   cpArbiterTotalImpulseWithFriction(*arb.cpArbiter) As "?cpArbiterTotalImpulseWithFriction@@YA?AUcpVect@@PBUcpArbiter@@@Z"
   cpArbiterUnthread(*arb.cpArbiter) As "?cpArbiterUnthread@@YAXPAUcpArbiter@@@Z"
   cpArbiterUpdate(*arb.cpArbiter,*contacts.cpContact,numContacts.int,*handler.cpCollisionHandler,*a.cpShape,*b.cpShape) As "?cpArbiterUpdate@@YAXPAUcpArbiter@@PAUcpContact@@HPAUcpCollisionHandler@@PAUcpShape@@3@Z"
   cpAreaForCircle(r1.cpFloat,r2.cpFloat) As "?cpAreaForCircle@@YANNN@Z"
   cpAreaForPoly(numVerts.int,*verts.cpVect) As "?cpAreaForPoly@@YANHPBUcpVect@@@Z"
   cpAreaForSegment(a.cpVect,b.cpVect,r.cpFloat) As "?cpAreaForSegment@@YANUcpVect@@0N@Z"
   cpArrayContains(*arr.cpArray,*ptr.void) As "?cpArrayContains@@YAHPAUcpArray@@PAX@Z"
   cpArrayDeleteObj(*arr.cpArray,*obj.void) As "?cpArrayDeleteObj@@YAXPAUcpArray@@PAX@Z"
   cpArrayFree(*arr.cpArray) As "?cpArrayFree@@YAXPAUcpArray@@@Z"
   cpArrayFreeEach(*arr.cpArray,freeFunc.)*.void).) As "?cpArrayFreeEach@@YAXPAUcpArray@@P6AXPAX@Z@Z"
   cpArrayNew(size.int) As "?cpArrayNew@@YAPAUcpArray@@H@Z"
   cpArrayPop(*arr.cpArray) As "?cpArrayPop@@YAPAXPAUcpArray@@@Z"
   cpArrayPush(*arr.cpArray,*object.void) As "?cpArrayPush@@YAXPAUcpArray@@PAX@Z"
   cpBBArea(bb.cpBB) As "?cpBBArea@@YANUcpBB@@@Z"
   cpBBClampVect(bb.cpBB,v.cpVect) As "?cpBBClampVect@@YA?AUcpVect@@UcpBB@@U1@@Z"
   cpBBContainsBB(bb.,bb.) As "?cpBBContainsBB@@YAHUcpBB@@0@Z"
   cpBBContainsVect(bb.cpBB,v.cpVect) As "?cpBBContainsVect@@YAHUcpBB@@UcpVect@@@Z"
   cpBBExpand(bb.cpBB,v.cpVect) As "?cpBBExpand@@YA?AUcpBB@@U1@UcpVect@@@Z"
   cpBBIntersects(bb.,bb.) As "?cpBBIntersects@@YAHUcpBB@@0@Z"
   cpBBIntersectsSegment(bb.,a.,b.) As "?cpBBIntersectsSegment@@YAHUcpBB@@UcpVect@@1@Z"
   cpBBMerge(a.cpBB,b.cpBB) As "?cpBBMerge@@YA?AUcpBB@@U1@0@Z"
   cpBBMergedArea(a.cpBB,b.cpBB) As "?cpBBMergedArea@@YANUcpBB@@0@Z"
   cpBBTreeContains(*tree.cpBBTree,*obj.void,hashid.cpHashValue) As "?cpBBTreeContains@@YAHPAUcpBBTree@@PAXI@Z"
   cpBBTreeDestroy(*tree.cpBBTree) As "?cpBBTreeDestroy@@YAXPAUcpBBTree@@@Z"
   cpBBTreeEach(*tree.cpBBTree,func.cpSpatialIndexIteratorFunc,*data.void) As "?cpBBTreeEach@@YAXPAUcpBBTree@@P6AXPAX1@Z1@Z"
   cpBBTreeInsert(*tree.cpBBTree,*obj.void,hashid.cpHashValue) As "?cpBBTreeInsert@@YAXPAUcpBBTree@@PAXI@Z"
   cpBBTreeNew(bbfunc.cpSpatialIndexBBFunc,*staticIndex.cpSpatialIndex) As "?cpBBTreeNew@@YAPAUcpSpatialIndex@@P6A?AUcpBB@@PAX@ZPAU1@@Z"
   cpBBTreePointQuery(*tree.cpBBTree,point.cpVect,func.cpSpatialIndexQueryFunc,*data.void) As "?cpBBTreePointQuery@@YAXPAUcpBBTree@@UcpVect@@P6AXPAX22@Z2@Z"
   cpBBTreeQuery(*tree.cpBBTree,*obj.void,bb.cpBB,func.cpSpatialIndexQueryFunc,*data.void) As "?cpBBTreeQuery@@YAXPAUcpBBTree@@PAXUcpBB@@P6AX111@Z1@Z"
   cpBBTreeReindex(*tree.cpBBTree) As "?cpBBTreeReindex@@YAXPAUcpBBTree@@@Z"
   cpBBTreeReindexObject(*tree.cpBBTree,*obj.void,hashid.cpHashValue) As "?cpBBTreeReindexObject@@YAXPAUcpBBTree@@PAXI@Z"
   cpBBTreeRemove(*tree.cpBBTree,*obj.void,hashid.cpHashValue) As "?cpBBTreeRemove@@YAXPAUcpBBTree@@PAXI@Z"
   cpBBTreeSegmentQuery(*tree.cpBBTree,*obj.void,a.cpVect,b.cpVect,t_exit.cpFloat,func.cpSpatialIndexSegmentQueryFunc,*data.void) As "?cpBBTreeSegmentQuery@@YAXPAUcpBBTree@@PAXUcpVect@@2NP6AN111@Z1@Z"
   cpBBWrapVect(bb.cpBB,v.cpVect) As "?cpBBWrapVect@@YA?AUcpVect@@UcpBB@@U1@@Z"
   cpBodyActivate(.) As "?cpBodyActivate@@YAXPAUcpBody@@@Z"
   cpBodyAddShape(*body.cpBody,*shape.cpShape) As "?cpBodyAddShape@@YAXPAUcpBody@@PAUcpShape@@@Z"
   cpBodyApplyForce(*body.cpBody,force.cpVect,r.cpVect) As "?cpBodyApplyForce@@YAXPAUcpBody@@UcpVect@@1@Z"
   cpBodyApplyImpulse(*body.cpBody,j.cpVect,r.cpVect) As "?cpBodyApplyImpulse@@YAXPAUcpBody@@UcpVect@@1@Z"
   cpBodyEachArbiter(*body.cpBody,func.cpBodyArbiterIteratorFunc,*data.void) As "?cpBodyEachArbiter@@YAXPAUcpBody@@P6AX0PAUcpArbiter@@PAX@Z2@Z"
   cpBodyEachConstraint(*body.cpBody,func.cpBodyConstraintIteratorFunc,*data.void) As "?cpBodyEachConstraint@@YAXPAUcpBody@@P6AX0PAUcpConstraint@@PAX@Z2@Z"
   cpBodyEachShape(*body.cpBody,func.cpBodyShapeIteratorFunc,*data.void) As "?cpBodyEachShape@@YAXPAUcpBody@@P6AX0PAUcpShape@@PAX@Z2@Z"
   cpBodyFree(*body.cpBody) As "?cpBodyFree@@YAXPAUcpBody@@@Z"
   cpBodyIsRogue(*body.cpBody) As "?cpBodyIsRogue@@YAHPBUcpBody@@@Z"
   cpBodyIsSleeping(a.) As "?cpBodyIsSleeping@@YAHPBUcpBody@@@Z"
   cpBodyIsStatic(a.) As "?cpBodyIsStatic@@YAHPBUcpBody@@@Z"
   cpBodyKineticEnergy(*body.cpBody) As "?cpBodyKineticEnergy@@YANPBUcpBody@@@Z"
   cpBodyLocal2World(*body.cpBody,v.cpVect) As "?cpBodyLocal2World@@YA?AUcpVect@@PBUcpBody@@U1@@Z"
   cpBodyNew(m.cpFloat,i.cpFloat) As "?cpBodyNew@@YAPAUcpBody@@NN@Z"
   cpBodyNewStatic(.) As "?cpBodyNewStatic@@YAPAUcpBody@@XZ"
   cpBodyRemoveConstraint(*body.cpBody,*constraint.cpConstraint) As "?cpBodyRemoveConstraint@@YAXPAUcpBody@@PAUcpConstraint@@@Z"
   cpBodyRemoveShape(*body.cpBody,*shape.cpShape) As "?cpBodyRemoveShape@@YAXPAUcpBody@@PAUcpShape@@@Z"
   cpBodyResetForces(*body.cpBody) As "?cpBodyResetForces@@YAXPAUcpBody@@@Z"
   cpBodySetPos(*body.cpBody,pos.cpVect) As "?cpBodySetPos@@YAXPAUcpBody@@UcpVect@@@Z"
   cpBodySleep(*body.cpBody) As "?cpBodySleep@@YAXPAUcpBody@@@Z"
   cpBodyUpdatePosition(*body.cpBody,dt.cpFloat) As "?cpBodyUpdatePosition@@YAXPAUcpBody@@N@Z"
   cpBodyUpdateVelocity(*body.cpBody,gravity.cpVect,damping.cpFloat,dt.cpFloat) As "?cpBodyUpdateVelocity@@YAXPAUcpBody@@UcpVect@@NN@Z"
   cpBodyWorld2Local(*body.cpBody,v.cpVect) As "?cpBodyWorld2Local@@YA?AUcpVect@@PBUcpBody@@U1@@Z"
   cpBoxShapeNew2(*body.cpBody,box.cpBB) As "?cpBoxShapeNew2@@YAPAUcpShape@@PAUcpBody@@UcpBB@@@Z"
   cpBoxShapeNew(*body.cpBody,width.cpFloat,height.cpFloat) As "?cpBoxShapeNew@@YAPAUcpShape@@PAUcpBody@@NN@Z"
   cpCircleShapeCacheData(*circle.cpCircleShape,p.cVect,rot.cpVect) As "?cpCircleShapeCacheData@@YA?AUcpBB@@PAUcpCircleShape@@UcpVect@@1@Z"
   cpCircleShapeNew(*body.cpBody,radius.cpFloat,offset.cpVect) As "?cpCircleShapeNew@@YAPAUcpShape@@PAUcpBody@@NUcpVect@@@Z"
   cpCircleShapePointQuery(*circle.cpCircleShape,p.cVect) As "?cpCircleShapePointQuery@@YAHPAUcpCircleShape@@UcpVect@@@Z"
   cpCircleShapeSegmentQuery(*circle.cpCircleShape,a.cpVect,b.cpVect,*info.cpSegmentQueryInfo) As "?cpCircleShapeSegmentQuery@@YAXPAUcpCircleShape@@UcpVect@@1PAUcpSegmentQueryInfo@@@Z"
   cpCircleShapeSetOffset(*shape.cpShape,offset.cpVect) As "?cpCircleShapeSetOffset@@YAXPAUcpShape@@UcpVect@@@Z"
   cpCircleShapeSetRadius(*shape.cpShape,radius.cpFloat) As "?cpCircleShapeSetRadius@@YAXPAUcpShape@@N@Z"
   cpConstraintFree(*constraint.cpConstraint) As "?cpConstraintFree@@YAXPAUcpConstraint@@@Z"
   cpConstraintInit(*constraint.cpConstraint,*klass.cpConstraintClass,*a.cpBody,*b.cpBody) As "?cpConstraintInit@@YAXPAUcpConstraint@@PBUcpConstraintClass@@PAUcpBody@@2@Z"
   cpContactInit(*con.cpContact,p.cVect,n.cpVect,dist.cpFloat,hash.cpHashValue) As "?cpContactInit@@YAPAUcpContact@@PAU1@UcpVect@@1NI@Z"
   cpDampedRotarySpringNew(*a.cpBody,*b.cpBody,restAngle.cpFloat,stiffness.cpFloat,damping.cpFloat) As "?cpDampedRotarySpringNew@@YAPAUcpConstraint@@PAUcpBody@@0NNN@Z"
   cpDampedSpringNew(*a.cpBody,*b.cpBody,anchr1.cpVect,anchr2.cpVect,restLength.cpFloat,stiffness.cpFloat,damping.cpFloat) As "?cpDampedSpringNew@@YAPAUcpConstraint@@PAUcpBody@@0UcpVect@@1NNN@Z"
   cpGearJointNew(*a.cpBody,*b.cpBody,phase.cpFloat,ratio.cpFloat) As "?cpGearJointNew@@YAPAUcpConstraint@@PAUcpBody@@0NN@Z"
   cpGearJointSetRatio(*constraint.cpConstraint,value.cpFloat) As "?cpGearJointSetRatio@@YAXPAUcpConstraint@@N@Z"
   cpGrooveJointNew(*a.cpBody,*b.cpBody,groove_a.cpVect,groove_b.cpVect,anchr2.cpVect) As "?cpGrooveJointNew@@YAPAUcpConstraint@@PAUcpBody@@0UcpVect@@11@Z"
   cpGrooveJointSetGrooveA(*constraint.cpConstraint,value.cpVect) As "?cpGrooveJointSetGrooveA@@YAXPAUcpConstraint@@UcpVect@@@Z"
   cpGrooveJointSetGrooveB(*constraint.cpConstraint,value.cpVect) As "?cpGrooveJointSetGrooveB@@YAXPAUcpConstraint@@UcpVect@@@Z"
   cpHashSetCount(*set.cpHashSet) As "?cpHashSetCount@@YAHPAUcpHashSet@@@Z"
   cpHashSetEach(*set.cpHashSet,func.cpHashSetIteratorFunc,*data.void) As "?cpHashSetEach@@YAXPAUcpHashSet@@P6AXPAX1@Z1@Z"
   cpHashSetFilter(*set.cpHashSet,func.cpHashSetFilterFunc,*data.void) As "?cpHashSetFilter@@YAXPAUcpHashSet@@P6AHPAX1@Z1@Z"
   cpHashSetFind(*set.cpHashSet,hash.cpHashValue,*ptr.void) As "?cpHashSetFind@@YAPAXPAUcpHashSet@@IPAX@Z"
   cpHashSetFree(*set.cpHashSet) As "?cpHashSetFree@@YAXPAUcpHashSet@@@Z"
   cpHashSetInsert(*set.cpHashSet,hash.cpHashValue,*ptr.void,*data.void,trans.cpHashSetTransFunc) As "?cpHashSetInsert@@YAPAXPAUcpHashSet@@IPAX1P6APAX11@Z@Z"
   cpHashSetNew(size.int,eqlFunc.cpHashSetEqlFunc) As "?cpHashSetNew@@YAPAUcpHashSet@@HP6AHPAX0@Z@Z"
   cpHashSetRemove(*set.cpHashSet,hash.cpHashValue,*ptr.void) As "?cpHashSetRemove@@YAPAXPAUcpHashSet@@IPAX@Z"
   cpHashSetSetDefaultValue(*set.cpHashSet,*default_value.void) As "?cpHashSetSetDefaultValue@@YAXPAUcpHashSet@@PAX@Z"
   cpInitChipmunk(.) As "?cpInitChipmunk@@YAXXZ"
   cpMessage(*condition.char,*file.char,line.int,isError.int,*message.char,.) As "?cpMessage@@YAXPBD0HH0ZZ"
   cpMomentForBox2(m.cpFloat,box.cpBB) As "?cpMomentForBox2@@YANNUcpBB@@@Z"
   cpMomentForCircle(m.cpFloat,r1.cpFloat,r2.cpFloat,offset.cpVect) As "?cpMomentForCircle@@YANNNNUcpVect@@@Z"
   cpMomentForPoly(m.cpFloat,numVerts.int,*verts.cpVect,offset.cpVect) As "?cpMomentForPoly@@YANNHPBUcpVect@@U1@@Z"
   cpMomentForSegment(m.cpFloat,a.cpVect,b.cpVect) As "?cpMomentForSegment@@YANNUcpVect@@0@Z"
   cpPinJointNew(*a.cpBody,*b.cpBody,anchr1.cpVect,anchr2.cpVect) As "?cpPinJointNew@@YAPAUcpConstraint@@PAUcpBody@@0UcpVect@@1@Z"
   cpPivotJointNew(*a.cpBody,*b.cpBody,pivot.cpVect) As "?cpPivotJointNew@@YAPAUcpConstraint@@PAUcpBody@@0UcpVect@@@Z"
   cpPolyShapeCacheData(*poly.cpPolyShape,p.cVect,rot.cpVect) As "?cpPolyShapeCacheData@@YA?AUcpBB@@PAUcpPolyShape@@UcpVect@@1@Z"
   cpPolyShapeContainsVert(poly2.,v.) As "?cpPolyShapeContainsVert@@YAHPBUcpPolyShape@@UcpVect@@@Z"
   cpPolyShapeContainsVertPartial(poly2.,v.,n.) As "?cpPolyShapeContainsVertPartial@@YAHPBUcpPolyShape@@UcpVect@@1@Z"
   cpPolyShapeGetVert(*shape.cpShape,idx.int) As "?cpPolyShapeGetVert@@YA?AUcpVect@@PAUcpShape@@H@Z"
   cpPolyShapeNew(*body.cpBody,numVerts.int,*verts.cpVect,offset.cpVect) As "?cpPolyShapeNew@@YAPAUcpShape@@PAUcpBody@@HPAUcpVect@@U3@@Z"
   cpPolyShapePointQuery(*poly.cpPolyShape,p.cVect) As "?cpPolyShapePointQuery@@YAHPAUcpPolyShape@@UcpVect@@@Z"
   cpPolyShapeSegmentQuery(*poly.cpPolyShape,a.cpVect,b.cpVect,*info.cpSegmentQueryInfo) As "?cpPolyShapeSegmentQuery@@YAXPAUcpPolyShape@@UcpVect@@1PAUcpSegmentQueryInfo@@@Z"
   cpPolyShapeSetVerts(*shape.cpShape,numVerts.int,*verts.cpVect,offset.cpVect) As "?cpPolyShapeSetVerts@@YAXPAUcpShape@@HPAUcpVect@@U2@@Z"
   cpPolyShapeValueOnAxis(*poly.cpPolyShape,n.costcpVect,d.cpFloat) As "?cpPolyShapeValueOnAxis@@YANPBUcpPolyShape@@UcpVect@@N@Z"
   cpRatchetJointNew(*a.cpBody,*b.cpBody,phase.cpFloat,ratchet.cpFloat) As "?cpRatchetJointNew@@YAPAUcpConstraint@@PAUcpBody@@0NN@Z"
   cpRecenterPoly(numVerts.int,*verts.cpVect) As "?cpRecenterPoly@@YAXHPAUcpVect@@@Z"
   void.) As "?cpResetShapeIdCounter@@YAXXZ"
   cpRotaryLimitJointNew(*a.cpBody,*b.cpBody,min.cpFloat,max.cpFloat) As "?cpRotaryLimitJointNew@@YAPAUcpConstraint@@PAUcpBody@@0NN@Z"
   cpSegmentShapeCacheData(*seg.cpSegmentShape,p.cVect,rot.cpVect) As "?cpSegmentShapeCacheData@@YA?AUcpBB@@PAUcpSegmentShape@@UcpVect@@1@Z"
   cpSegmentShapeNew(*body.cpBody,a.cpVect,b.cpVect,r.cpFloat) As "?cpSegmentShapeNew@@YAPAUcpShape@@PAUcpBody@@UcpVect@@1N@Z"
   cpSegmentShapePointQuery(*seg.cpSegmentShape,p.cVect) As "?cpSegmentShapePointQuery@@YAHPAUcpSegmentShape@@UcpVect@@@Z"
   cpSegmentShapeSegmentQuery(*seg.cpSegmentShape,a.cpVect,b.cpVect,*info.cpSegmentQueryInfo) As "?cpSegmentShapeSegmentQuery@@YAXPAUcpSegmentShape@@UcpVect@@1PAUcpSegmentQueryInfo@@@Z"
   cpSegmentShapeSetEndpoints(*shape.cpShape,a.cpVect,b.cpVect) As "?cpSegmentShapeSetEndpoints@@YAXPAUcpShape@@UcpVect@@1@Z"
   cpSegmentShapeSetRadius(*shape.cpShape,radius.cpFloat) As "?cpSegmentShapeSetRadius@@YAXPAUcpShape@@N@Z"
   cpShapeActive(*shape.cpShape) As "?cpShapeActive@@YAHPAUcpShape@@@Z"
   cpShapeCacheBB(*shape.cpShape) As "?cpShapeCacheBB@@YA?AUcpBB@@PAUcpShape@@@Z"
   cpShapeFree(*shape.cpShape) As "?cpShapeFree@@YAXPAUcpShape@@@Z"
   cpShapePointQuery(shape.,*point.) As "?cpShapePointQuery@@YAHPAUcpShape@@UcpVect@@@Z"
   cpShapeSegmentQuery(shape.,start.,End.,info.) As "?cpShapeSegmentQuery@@YAHPAUcpShape@@UcpVect@@1PAUcpSegmentQueryInfo@@@Z"
   cpShapeSetBody(*shape.cpShape,*body.cpBody) As "?cpShapeSetBody@@YAXPAUcpShape@@PAUcpBody@@@Z"
   cpShapeUpdateFunc(*shape.cpShape,*unused.void) As "?cpShapeUpdateFunc@@YAXPAUcpShape@@PAX@Z"
   cpSimpleMotorNew(*a.cpBody,*b.cpBody,rate.cpFloat) As "?cpSimpleMotorNew@@YAPAUcpConstraint@@PAUcpBody@@0N@Z"
   cpSlideJointNew(*a.cpBody,*b.cpBody,anchr1.cpVect,anchr2.cpVect,min.cpFloat,max.cpFloat) As "?cpSlideJointNew@@YAPAUcpConstraint@@PAUcpBody@@0UcpVect@@1NN@Z"
   cpSpaceActivateShapesTouchingShape(*space.cpSpace,*shape.cpShape) As "?cpSpaceActivateShapesTouchingShape@@YAXPAUcpSpace@@PAUcpShape@@@Z"
   cpSpaceAddBody(*space.cpSpace,*body.cpBody) As "?cpSpaceAddBody@@YAPAUcpBody@@PAUcpSpace@@PAU1@@Z"
   cpSpaceAddCollisionHandler(. As "?cpSpaceAddCollisionHandler@@YAXPAUcpSpace@@IIP6AHPAUcpArbiter@@0PAX@Z3P6AX102@Z42@Z"
   cpSpaceAddConstraint(*space.cpSpace,*constraint.cpConstraint) As "?cpSpaceAddConstraint@@YAPAUcpConstraint@@PAUcpSpace@@PAU1@@Z"
   cpSpaceAddPostStepCallback(*space.cpSpace,func.cpPostStepFunc,*obj.void,*data.void) As "?cpSpaceAddPostStepCallback@@YAXPAUcpSpace@@P6AX0PAX1@Z11@Z"
   cpSpaceAddShape(*space.cpSpace,*shape.cpShape) As "?cpSpaceAddShape@@YAPAUcpShape@@PAUcpSpace@@PAU1@@Z"
   cpSpaceArbiterSetFilter(*arb.cpArbiter,*space.cpSpace) As "?cpSpaceArbiterSetFilter@@YAHPAUcpArbiter@@PAUcpSpace@@@Z"
   cpSpaceArbiterSetTrans(**shapes.cpShape,*space.cpSpace) As "?cpSpaceArbiterSetTrans@@YAPAXPAPAUcpShape@@PAUcpSpace@@@Z"
   cpSpaceBBQuery(*space.cpSpace,bb.cpBB,layers.cpLayers,group.cpGroup,func.cpSpaceBBQueryFunc,*data.void) As "?cpSpaceBBQuery@@YAXPAUcpSpace@@UcpBB@@IIP6AXPAUcpShape@@PAX@Z3@Z"
   cpSpaceContainsBody(space.,body.) As "?cpSpaceContainsBody@@YAHPAUcpSpace@@PAUcpBody@@@Z"
   cpSpaceContainsConstraint(space.,constraint.) As "?cpSpaceContainsConstraint@@YAHPAUcpSpace@@PAUcpConstraint@@@Z"
   cpSpaceContainsShape(space.,shape.) As "?cpSpaceContainsShape@@YAHPAUcpSpace@@PAUcpShape@@@Z"
   cpSpaceEachBody(*space.cpSpace,func.cpSpaceBodyIteratorFunc,*data.void) As "?cpSpaceEachBody@@YAXPAUcpSpace@@P6AXPAUcpBody@@PAX@Z2@Z"
   cpSpaceEachConstraint(*space.cpSpace,func.cpSpaceConstraintIteratorFunc,*data.void) As "?cpSpaceEachConstraint@@YAXPAUcpSpace@@P6AXPAUcpConstraint@@PAX@Z2@Z"
   cpSpaceEachShape(*space.cpSpace,func.cpSpaceShapeIteratorFunc,*data.void) As "?cpSpaceEachShape@@YAXPAUcpSpace@@P6AXPAUcpShape@@PAX@Z2@Z"
   cpSpaceFree(*space.cpSpace) As "?cpSpaceFree@@YAXPAUcpSpace@@@Z"
   cpSpaceGetPostStepData(*space.cpSpace,*obj.void) As "?cpSpaceGetPostStepData@@YAPAXPAUcpSpace@@PAX@Z"
   cpSpaceHashContains(*hash.cpSpaceHash,*obj.void,hashid.cpHashValue) As "?cpSpaceHashContains@@YAHPAUcpSpaceHash@@PAXI@Z"
   cpSpaceHashCount(*hash.cpSpaceHash) As "?cpSpaceHashCount@@YAHPAUcpSpaceHash@@@Z"
   cpSpaceHashDestroy(*hash.cpSpaceHash) As "?cpSpaceHashDestroy@@YAXPAUcpSpaceHash@@@Z"
   cpSpaceHashEach(*hash.cpSpaceHash,func.cpSpatialIndexIteratorFunc,*data.void) As "?cpSpaceHashEach@@YAXPAUcpSpaceHash@@P6AXPAX1@Z1@Z"
   cpSpaceHashNew(celldim.cpFloat,cells.int,bbfunc.cpSpatialIndexBBFunc,*staticIndex.cpSpatialIndex) As "?cpSpaceHashNew@@YAPAUcpSpatialIndex@@NHP6A?AUcpBB@@PAX@ZPAU1@@Z"
   cpSpaceHashPointQuery(*hash.cpSpaceHash,point.cpVect,func.cpSpatialIndexQueryFunc,*data.void) As "?cpSpaceHashPointQuery@@YAXPAUcpSpaceHash@@UcpVect@@P6AXPAX22@Z2@Z"
   cpSpaceHashQuery(*hash.cpSpaceHash,*obj.void,bb.cpBB,func.cpSpatialIndexQueryFunc,*data.void) As "?cpSpaceHashQuery@@YAXPAUcpSpaceHash@@PAXUcpBB@@P6AX111@Z1@Z"
   cpSpaceHashRehash(*hash.cpSpaceHash) As "?cpSpaceHashRehash@@YAXPAUcpSpaceHash@@@Z"
   cpSpaceHashRehashObject(*hash.cpSpaceHash,*obj.void,hashid.cpHashValue) As "?cpSpaceHashRehashObject@@YAXPAUcpSpaceHash@@PAXI@Z"
   cpSpaceHashReindexQuery(*hash.cpSpaceHash,func.cpSpatialIndexQueryFunc,*data.void) As "?cpSpaceHashReindexQuery@@YAXPAUcpSpaceHash@@P6AXPAX11@Z1@Z"
   cpSpaceHashRemove(*hash.cpSpaceHash,*obj.void,hashid.cpHashValue) As "?cpSpaceHashRemove@@YAXPAUcpSpaceHash@@PAXI@Z"
   cpSpaceHashSegmentQuery(*hash.cpSpaceHash,*obj.void,a.cpVect,b.cpVect,t_exit.cpFloat,func.cpSpatialIndexSegmentQueryFunc,*data.void) As "?cpSpaceHashSegmentQuery@@YAXPAUcpSpaceHash@@PAXUcpVect@@2NP6AN111@Z1@Z"
   void.) As "?cpSpaceNew@@YAPAUcpSpace@@XZ"
   cpSpacePointQueryFirst(*space.cpSpace,point.cpVect,layers.cpLayers,group.cpGroup) As "?cpSpacePointQueryFirst@@YAPAUcpShape@@PAUcpSpace@@UcpVect@@II@Z"
   cpSpacePostStepCallbackSetIter(*callback.cpPostStepCallback,*space.cpSpace) As "?cpSpacePostStepCallbackSetIter@@YAXPAUcpPostStepCallback@@PAUcpSpace@@@Z"
   cpSpaceProcessComponents(*space.cpSpace,dt.cpFloat) As "?cpSpaceProcessComponents@@YAXPAUcpSpace@@N@Z"
   cpSpaceReindexShapesForBody(*space.cpSpace,*body.cpBody) As "?cpSpaceReindexShapesForBody@@YAXPAUcpSpace@@PAUcpBody@@@Z"
   cpSpaceReindexStatic(*space.cpSpace) As "?cpSpaceReindexStatic@@YAXPAUcpSpace@@@Z"
   cpSpaceRemoveBody(*space.cpSpace,*body.cpBody) As "?cpSpaceRemoveBody@@YAXPAUcpSpace@@PAUcpBody@@@Z"
   cpSpaceRemoveConstraint(*space.cpSpace,*constraint.cpConstraint) As "?cpSpaceRemoveConstraint@@YAXPAUcpSpace@@PAUcpConstraint@@@Z"
   cpSpaceRemoveShape(*space.cpSpace,*shape.cpShape) As "?cpSpaceRemoveShape@@YAXPAUcpSpace@@PAUcpShape@@@Z"
   cpSpaceSegmentQuery(*space.cpSpace,start.cpVect,End.cpVect,layers.cpLayers,group.cpGroup,func.cpSpaceSegmentQueryFunc,*data.void) As "?cpSpaceSegmentQuery@@YAXPAUcpSpace@@UcpVect@@1IIP6AXPAUcpShape@@N1PAX@Z3@Z"
   cpSpaceSegmentQueryFirst(*space.cpSpace,start.cpVect,End.cpVect,layers.cpLayers,group.cpGroup,*out.cpSegmentQueryInfo) As "?cpSpaceSegmentQueryFirst@@YAPAUcpShape@@PAUcpSpace@@UcpVect@@1IIPAUcpSegmentQueryInfo@@@Z"
   cpSpaceSetDefaultCollisionHandler(. As "?cpSpaceSetDefaultCollisionHandler@@YAXPAUcpSpace@@P6AHPAUcpArbiter@@0PAX@Z3P6AX102@Z42@Z"
   cpSpaceShapeQuery(*space.cpSpace,*shape.cpShape,func.cpSpaceShapeQueryFunc,*data.void) As "?cpSpaceShapeQuery@@YAHPAUcpSpace@@PAUcpShape@@P6AX1PAUcpContactPointSet@@PAX@Z3@Z"
   cpSpaceStep(.) As "?cpSpaceStep@@YAXPAUcpSpace@@N@Z"
   cpSpaceUncacheArbiter(*space.cpSpace,*arb.cpArbiter) As "?cpSpaceUncacheArbiter@@YAXPAUcpSpace@@PAUcpArbiter@@@Z"
   cpSpaceUseSpatialHash(*space.cpSpace,Dim.cpFloat,count.int) As "?cpSpaceUseSpatialHash@@YAXPAUcpSpace@@NH@Z"
   cpSpatialIndexCollideStatic(*dynamicIndex.cpSpatialIndex,*staticIndex.cpSpatialIndex,func.cpSpatialIndexQueryFunc,*data.void) As "?cpSpatialIndexCollideStatic@@YAXPAUcpSpatialIndex@@0P6AXPAX11@Z1@Z"
   cpSpatialIndexCount(staticIndex.) As "?cpSpatialIndexCount@@YAHPAUcpSpatialIndex@@@Z"
   cpSpatialIndexDestroy(*index.cpSpatialIndex) As "?cpSpatialIndexDestroy@@YAXPAUcpSpatialIndex@@@Z"
   cpSpatialIndexEach(*index.cpSpatialIndex,func.cpSpatialIndexIteratorFunc,*data.void) As "?cpSpatialIndexEach@@YAXPAUcpSpatialIndex@@P6AXPAX1@Z1@Z"
   cpSpatialIndexFree(*index.cpSpatialIndex) As "?cpSpatialIndexFree@@YAXPAUcpSpatialIndex@@@Z"
   cpSpatialIndexInit(*index.cpSpatialIndex,*klass.cpSpatialIndexClass,bbfunc.cpSpatialIndexBBFunc,*staticIndex.cpSpatialIndex) As "?cpSpatialIndexInit@@YAPAUcpSpatialIndex@@PAU1@PAUcpSpatialIndexClass@@P6A?AUcpBB@@PAX@Z0@Z"
   cpSpatialIndexInsert(*index.cpSpatialIndex,*obj.void,hashid.cpHashValue) As "?cpSpatialIndexInsert@@YAXPAUcpSpatialIndex@@PAXI@Z"
   cpSpatialIndexPointQuery(*index.cpSpatialIndex,point.cpVect,func.cpSpatialIndexQueryFunc,*data.void) As "?cpSpatialIndexPointQuery@@YAXPAUcpSpatialIndex@@UcpVect@@P6AXPAX22@Z2@Z"
   cpSpatialIndexQuery(*index.cpSpatialIndex,*obj.void,bb.cpBB,func.cpSpatialIndexQueryFunc,*data.void) As "?cpSpatialIndexQuery@@YAXPAUcpSpatialIndex@@PAXUcpBB@@P6AX111@Z1@Z"
   cpSpatialIndexReindex(*index.cpSpatialIndex) As "?cpSpatialIndexReindex@@YAXPAUcpSpatialIndex@@@Z"
   cpSpatialIndexReindexObject(*index.cpSpatialIndex,*obj.void,hashid.cpHashValue) As "?cpSpatialIndexReindexObject@@YAXPAUcpSpatialIndex@@PAXI@Z"
   cpSpatialIndexReindexQuery(*index.cpSpatialIndex,func.cpSpatialIndexQueryFunc,*data.void) As "?cpSpatialIndexReindexQuery@@YAXPAUcpSpatialIndex@@P6AXPAX11@Z1@Z"
   cpSpatialIndexRemove(*index.cpSpatialIndex,*obj.void,hashid.cpHashValue) As "?cpSpatialIndexRemove@@YAXPAUcpSpatialIndex@@PAXI@Z"
   cpSpatialIndexSegmentQuery(*index.cpSpatialIndex,*obj.void,a.cpVect,b.cpVect,t_exit.cpFloat,func.cpSpatialIndexSegmentQueryFunc,*data.void) As "?cpSpatialIndexSegmentQuery@@YAXPAUcpSpatialIndex@@PAXUcpVect@@2NP6AN111@Z1@Z"
   cpSweep1DContains(*sweep.cpSweep1D,*obj.void,hashid.cpHashValue) As "?cpSweep1DContains@@YAHPAUcpSweep1D@@PAXI@Z"
   cpSweep1DCount(*sweep.cpSweep1D) As "?cpSweep1DCount@@YAHPAUcpSweep1D@@@Z"
   cpSweep1DDestroy(*sweep.cpSweep1D) As "?cpSweep1DDestroy@@YAXPAUcpSweep1D@@@Z"
   cpSweep1DEach(*sweep.cpSweep1D,func.cpSpatialIndexIteratorFunc,*data.void) As "?cpSweep1DEach@@YAXPAUcpSweep1D@@P6AXPAX1@Z1@Z"
   cpSweep1DInsert(*sweep.cpSweep1D,*obj.void,hashid.cpHashValue) As "?cpSweep1DInsert@@YAXPAUcpSweep1D@@PAXI@Z"
   cpSweep1DNew(bbfunc.cpSpatialIndexBBFunc,*staticIndex.cpSpatialIndex) As "?cpSweep1DNew@@YAPAUcpSpatialIndex@@P6A?AUcpBB@@PAX@ZPAU1@@Z"
   cpSweep1DPointQuery(*sweep.cpSweep1D,point.cpVect,func.cpSpatialIndexQueryFunc,*data.void) As "?cpSweep1DPointQuery@@YAXPAUcpSweep1D@@UcpVect@@P6AXPAX22@Z2@Z"
   cpSweep1DReindex(*sweep.cpSweep1D) As "?cpSweep1DReindex@@YAXPAUcpSweep1D@@@Z"
   cpSweep1DReindexObject(*sweep.cpSweep1D,*obj.void,hashid.cpHashValue) As "?cpSweep1DReindexObject@@YAXPAUcpSweep1D@@PAXI@Z"
   cpSweep1DReindexQuery(*sweep.cpSweep1D,func.cpSpatialIndexQueryFunc,*data.void) As "?cpSweep1DReindexQuery@@YAXPAUcpSweep1D@@P6AXPAX11@Z1@Z"
   cpSweep1DRemove(*sweep.cpSweep1D,*obj.void,hashid.cpHashValue) As "?cpSweep1DRemove@@YAXPAUcpSweep1D@@PAXI@Z"
   cpSweep1DSegmentQuery(*sweep.cpSweep1D,*obj.void,a.cpVect,b.cpVect,t_exit.cpFloat,func.cpSpatialIndexSegmentQueryFunc,*data.void) As "?cpSweep1DSegmentQuery@@YAXPAUcpSweep1D@@PAXUcpVect@@2NP6AN111@Z1@Z"
   cpfabs(f.cpFloat) As "?cpfabs@@YANN@Z"
   cpfcompare(*a.cpFloat,*b.cpFloat) As "?cpfcompare@@YAHPBN0@Z"
   cpvcross(v1.cpVect,v2.cpVect) As "?cpvcross@@YANUcpVect@@0@Z"
   cpvdist(v1.cpVect,v2.cpVect) As "?cpvdist@@YANUcpVect@@0@Z"
   cpvforangle(a.cpFlot) As "?cpvforangle@@YA?AUcpVect@@N@Z"
   cpvlength(v.cpVect) As "?cpvlength@@YANUcpVect@@@Z"
   cpvlerp(v1.cpVect,v2.cpVect,t.conscpFloa) As "?cpvlerp@@YA?AUcpVect@@U1@0N@Z"
   cpvnear(v1.cpVect,v2.cpVect,dist.cpFloat) As "?cpvnear@@YAHUcpVect@@0N@Z"
   cpvneg(v.cpVect) As "?cpvneg@@YA?AUcpVect@@U1@@Z"
   cpvperp(v.cpVect) As "?cpvperp@@YA?AUcpVect@@U1@@Z"
   cpvproject(v1.cpVect,v2.cpVect) As "?cpvproject@@YA?AUcpVect@@U1@0@Z"
   cpvrotate(v1.cpVect,v2.cpVect) As "?cpvrotate@@YA?AUcpVect@@U1@0@Z"
   cpvslerpconst(v1.cpVect,v2.cpVect,a.cpFlot) As "?cpvslerpconst@@YA?AUcpVect@@U1@0N@Z"
   cpvstr(v.cpVect) As "?cpvstr@@YAPADUcpVect@@@Z"
   cpvtoangle(v.cpVect) As "?cpvtoangle@@YANUcpVect@@@Z"
   cpvunrotate(v1.cpVect,v2.cpVect) As "?cpvunrotate@@YA?AUcpVect@@U1@0@Z"
EndImport
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
mpz
Beiträge: 497
Registriert: 14.06.2005 15:53
Computerausstattung: Win 10 Pro, 16 GB Ram, Intel I5 CPU und TI1070 Grafikkarte, PB 5.73 / 6.00 beta4
Wohnort: Berlin, Tempelhof

Re: E.S.L (Extract Static Libs) = a wrapper generator

Beitrag von mpz »

Hi,

sieht schon mal gut aus (besonders da ich mir auch schon mal diese lib angeschaut habe). Wenn jetzt noch die Structuren und Interface automatisch erkannt und reingeschrieben werden wäre ich wunschlos glücklich und kann meine C Kentnisse einmotten und verstauben lassen.

Ist so etwas den technisch denkbar und geplant?

Gruß Michael
Working on - MP3D Engine -
Antworten