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

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
User avatar
IceSoft
Addict
Addict
Posts: 1695
Joined: Thu Jun 24, 2004 8:51 am
Location: Germany

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

Post by IceSoft »

After a long development time with many interupts it is working now:

E.S.L
E.S.L (Extract Static Libs)
(In German E.S.L sounds like the name of the animal donkey.)

It is called E.S.L because it makes a lot of work for me when I write a <wrapper>4PB Wrapper like as the donkey for people in real life too.

Here a screenshot (E.S.L is working on Chipmunk 6.0.1 for the Chipmunk4PB Wrapper):
Image
Belive! C++ version of Puzzle of Mystralia
Bug Planet
<Wrapper>4PB, PB<game>, =QONK=, PetriDish, Movie2Image, PictureManager,...
Zach
Addict
Addict
Posts: 1676
Joined: Sun Dec 12, 2010 12:36 am
Location: Somewhere in the midwest
Contact:

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

Post by Zach »

So...in theory you plug this into any (C based??) DLL and it writes the imports and such you need, and you can just call the commands ?
User avatar
IceSoft
Addict
Addict
Posts: 1695
Joined: Thu Jun 24, 2004 8:51 am
Location: Germany

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

Post by IceSoft »

Zach wrote:So...in theory you plug this into any (C based??) DLL and it writes the imports and such you need, and you can just call the commands ?
Yes but I need also the sources. And it works currently only with static libs

/edit:
Here are an example created with E.S.L from Chipmunk 6.0.1 (needs only 20sec):

Code: Select all

;- - 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
Belive! C++ version of Puzzle of Mystralia
Bug Planet
<Wrapper>4PB, PB<game>, =QONK=, PetriDish, Movie2Image, PictureManager,...
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

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

Post by SFSxOI »

Looks nice. So... this is the feedback section, where can this generator be d/l'd so we can give you some feedback on it?
The advantage of a 64 bit operating system over a 32 bit operating system comes down to only being twice the headache.
Post Reply