2D Physik Engine: Chipmunk 4.0.2

Advanced game related topics
User avatar
eddy
Addict
Addict
Posts: 1479
Joined: Mon May 26, 2003 3:07 pm
Location: Nantes

Post by eddy »

I scanned all DLL source files : http://www.purebasic.fr/english/viewtop ... 149#230149

below the result ....
Last edited by eddy on Wed Jan 30, 2008 4:16 am, edited 2 times in total.
Imagewin10 x64 5.72 | IDE | PB plugin | Tools | Sprite | JSON | visual tool
User avatar
eddy
Addict
Addict
Posts: 1479
Joined: Mon May 26, 2003 3:07 pm
Location: Nantes

Post by eddy »

DLL content :

Code: Select all


cpArbiter* cpArbiterAlloc(void)
void cpArbiterApplyImpulse(cpArbiter *arb)
void cpArbiterDestroy(cpArbiter *arb)
void cpArbiterFree(cpArbiter *arb)
cpArbiter* cpArbiterInit(cpArbiter *arb, cpShape *a, cpShape *b, int stamp)
void cpArbiterInject(cpArbiter *arb, cpContact *contacts, int numContacts)
cpArbiter* cpArbiterNew(cpShape *a, cpShape *b, int stamp)
void cpArbiterPreStep(cpArbiter *arb, cpFloat dt_inv)
cpArray *cpArrayAlloc(void)
int cpArrayContains(cpArray *arr, void *ptr)
void cpArrayDeleteIndex(cpArray *arr, int index)
void cpArrayDeleteObj(cpArray *arr, void *obj)
void cpArrayDestroy(cpArray *arr)
void cpArrayEach(cpArray *arr, cpArrayIter iterFunc, void *data)
void cpArrayFree(cpArray *arr)
cpArray *cpArrayInit(cpArray *arr, int size)
cpArray *cpArrayNew(int size)
void cpArrayPush(cpArray *arr, void *object)
cpVect cpBBClampVect(const cpBB bb, const cpVect v)
cpVect cpBBWrapVect(const cpBB bb, const cpVect v)
cpBody *cpBodyAlloc(void)
void cpBodyApplyForce(cpBody *body, cpVect f, cpVect r)
void cpBodyDestroy(cpBody *body)
void cpBodyFree(cpBody *body)
cpBody *cpBodyInit(cpBody *body, cpFloat m, cpFloat i)
cpBody *cpBodyNew(cpFloat m, cpFloat i)
void cpBodyResetForces(cpBody *body)
void cpBodySetAngle(cpBody *body, cpFloat a)
void cpBodySetMass(cpBody *body, cpFloat m)
void cpBodySetMoment(cpBody *body, cpFloat i)
void cpBodySlew(cpBody *body, cpVect pos, cpFloat dt)
void cpBodyUpdatePosition(cpBody *body, cpFloat dt)
void cpBodyUpdateVelocity(cpBody *body, cpVect gravity, cpFloat damping, cpFloat dt)
cpCircleShape *cpCircleShapeAlloc(void)
cpCircleShape *cpCircleShapeInit(cpCircleShape *circle, cpBody *body, cpFloat radius, cpVect offset)
cpShape *cpCircleShapeNew(cpBody *body, cpFloat radius, cpVect offset)
int cpCollideShapes(cpShape *a, cpShape *b, cpContact **arr)
cpContact* cpContactInit(cpContact *con, cpVect p, cpVect n, cpFloat dist, unsigned int hash)
cpVect cpContactsSumImpulses(cpContact *contacts, int numContacts)
cpVect cpContactsSumImpulsesWithFriction(cpContact *contacts, int numContacts)
void cpDampedSpring(cpBody *a, cpBody *b, cpVect anchr1, cpVect anchr2, cpFloat rlen, cpFloat k, cpFloat dmp, cpFloat dt)
cpGrooveJoint *cpGrooveJointAlloc(void)
cpGrooveJoint *cpGrooveJointInit(cpGrooveJoint *joint, cpBody *a, cpBody *b, cpVect groove_a, cpVect groove_b, cpVect anchr2)
cpJoint *cpGrooveJointNew(cpBody *a, cpBody *b, cpVect groove_a, cpVect groove_b, cpVect anchr2)
cpHashSet *cpHashSetAlloc(void)
void cpHashSetDestroy(cpHashSet *set)
void cpHashSetEach(cpHashSet *set, cpHashSetIterFunc func, void *data)
void *cpHashSetFind(cpHashSet *set, unsigned int hash, void *ptr)
void cpHashSetFree(cpHashSet *set)
cpHashSet *cpHashSetInit(cpHashSet *set, int size, cpHashSetEqlFunc eqlFunc, cpHashSetTransFunc trans)
void *cpHashSetInsert(cpHashSet *set, unsigned int hash, void *ptr, void *data)
cpHashSet *cpHashSetNew(int size, cpHashSetEqlFunc eqlFunc, cpHashSetTransFunc trans)
void cpHashSetReject(cpHashSet *set, cpHashSetRejectFunc func, void *data)
void *cpHashSetRemove(cpHashSet *set, unsigned int hash, void *ptr)
void cpInitChipmunk(void)
void cpInitChipmunk(void)
void cpJointDestroy(cpJoint *joint)
void cpJointFree(cpJoint *joint)
cpFloat cpMomentForCircle(cpFloat m, cpFloat r1, cpFloat r2, cpVect offset)
cpFloat cpMomentForPoly(cpFloat m, int numVerts, cpVect *verts, cpVect offset)
cpPinJoint *cpPinJointAlloc(void)
cpPinJoint *cpPinJointInit(cpPinJoint *joint, cpBody *a, cpBody *b, cpVect anchr1, cpVect anchr2)
cpJoint *cpPinJointNew(cpBody *a, cpBody *b, cpVect anchr1, cpVect anchr2)
cpPivotJoint *cpPivotJointAlloc(void)
cpPivotJoint *cpPivotJointInit(cpPivotJoint *joint, cpBody *a, cpBody *b, cpVect pivot)
cpJoint *cpPivotJointNew(cpBody *a, cpBody *b, cpVect pivot)
cpPolyShape *cpPolyShapeAlloc(void)
cpPolyShape *cpPolyShapeInit(cpPolyShape *poly, cpBody *body, int numVerts, cpVect *verts, cpVect offset)
cpShape *cpPolyShapeNew(cpBody *body, int numVerts, cpVect *verts, cpVect offset)
void cpResetShapeIdCounter(void)
cpSegmentShape* cpSegmentShapeAlloc(void)
cpSegmentShape* cpSegmentShapeInit(cpSegmentShape *seg, cpBody *body, cpVect a, cpVect b, cpFloat r)
cpShape* cpSegmentShapeNew(cpBody *body, cpVect a, cpVect b, cpFloat r)
cpBB cpShapeCacheBB(cpShape *shape)
void cpShapeDestroy(cpShape *shape)
void cpShapeFree(cpShape *shape)
cpShape* cpShapeInit(cpShape *shape, cpShapeType type, cpBody *body)
cpSlideJoint *cpSlideJointAlloc(void)
cpSlideJoint *cpSlideJointInit(cpSlideJoint *joint, cpBody *a, cpBody *b, cpVect anchr1, cpVect anchr2, cpFloat min, cpFloat max)
cpJoint *cpSlideJointNew(cpBody *a, cpBody *b, cpVect anchr1, cpVect anchr2, cpFloat min, cpFloat max)
void cpSpaceAddBody(cpSpace *space, cpBody *body)
void cpSpaceAddCollisionPairFunc(cpSpace *space, unsigned int a, unsigned int b,
cpCollFunc func, void *data)
void cpSpaceAddJoint(cpSpace *space, cpJoint *joint)
void cpSpaceAddShape(cpSpace *space, cpShape *shape)
void cpSpaceAddStaticShape(cpSpace *space, cpShape *shape)
cpSpace* cpSpaceAlloc(void)
void cpSpaceDestroy(cpSpace *space)
void cpSpaceEachBody(cpSpace *space, cpSpaceBodyIterator func, void *data)
void cpSpaceFree(cpSpace *space)
void cpSpaceFreeChildren(cpSpace *space)
cpSpaceHash *cpSpaceHashAlloc(void)
void cpSpaceHashDestroy(cpSpaceHash *hash)
void cpSpaceHashEach(cpSpaceHash *hash, cpSpaceHashIterator func, void *data)
void cpSpaceHashFree(cpSpaceHash *hash)
cpSpaceHash *cpSpaceHashInit(cpSpaceHash *hash, cpFloat celldim, int cells, cpSpaceHashBBFunc bbfunc)
void cpSpaceHashInsert(cpSpaceHash *hash, void *obj, unsigned int id, cpBB bb)
cpSpaceHash *cpSpaceHashNew(cpFloat celldim, int cells, cpSpaceHashBBFunc bbfunc)
void cpSpaceHashQuery(cpSpaceHash *hash, void *obj, cpBB bb, cpSpaceHashQueryFunc func, void *data)
void cpSpaceHashQueryRehash(cpSpaceHash *hash, cpSpaceHashQueryFunc func, void *data)
void cpSpaceHashRehash(cpSpaceHash *hash)
void cpSpaceHashRehashObject(cpSpaceHash *hash, void *obj, unsigned int id)
void cpSpaceHashRemove(cpSpaceHash *hash, void *obj, unsigned int id)
void cpSpaceHashResize(cpSpaceHash *hash, cpFloat celldim, int numcells)
cpSpace* cpSpaceInit(cpSpace *space)
cpSpace* cpSpaceNew(void)
void cpSpaceRehashStatic(cpSpace *space)
void cpSpaceRemoveBody(cpSpace *space, cpBody *body)
void cpSpaceRemoveCollisionPairFunc(cpSpace *space, unsigned int a, unsigned int b)
void cpSpaceRemoveJoint(cpSpace *space, cpJoint *joint)
void cpSpaceRemoveShape(cpSpace *space, cpShape *shape)
void cpSpaceRemoveStaticShape(cpSpace *space, cpShape *shape)
void cpSpaceResizeActiveHash(cpSpace *space, cpFloat dim, int count)
void cpSpaceResizeStaticHash(cpSpace *space, cpFloat dim, int count)
void cpSpaceSetDefaultCollisionPairFunc(cpSpace *space, cpCollFunc func, void *data)
void cpSpaceStep(cpSpace *space, cpFloat dt)
extern cpFloat cp_bias_coef
extern cpFloat cp_collision_slop
extern int cp_contact_persistence
extern cpFloat cp_joint_bias_coef
cpVect cpvforangle(const cpFloat a)
cpFloat cpvlength(const cpVect v)
cpFloat cpvlengthsq(const cpVect v)
cpVect cpvnormalize(const cpVect v)
char *cpvstr(const cpVect v)
cpFloat cpvtoangle(const cpVect v)

Imagewin10 x64 5.72 | IDE | PB plugin | Tools | Sprite | JSON | visual tool
User avatar
IceSoft
Addict
Addict
Posts: 1699
Joined: Thu Jun 24, 2004 8:51 am
Location: Germany

Post by IceSoft »

eddy wrote:But I don't know how to generate wrapper decls file for PB...
Maybe someone have time to write a wrapper?
I have to go offline for 4 weeks on february.
Belive! C++ version of Puzzle of Mystralia
Bug Planet
<Wrapper>4PB, PB<game>, =QONK=, PetriDish, Movie2Image, PictureManager,...
User avatar
Rook Zimbabwe
Addict
Addict
Posts: 4322
Joined: Tue Jan 02, 2007 8:16 pm
Location: Cypress TX
Contact:

Post by Rook Zimbabwe »

So far only 2 comments:

1. Chipmunk used to be the name of a BASIC I used to teach BASIC on Mac.

which I just wanted to say because of the name Chipmunk

2. I don't see how you can utilize a sprite with this engine without making changes to the engine itself. Perhaps it is because it is using primitives is the reason for the speed and smoothness of the engine? :D

But I claim esoteric ignorance of C#...
Binarily speaking... it takes 10 to Tango!!!

Image
http://www.bluemesapc.com/
User avatar
eddy
Addict
Addict
Posts: 1479
Joined: Mon May 26, 2003 3:07 pm
Location: Nantes

Post by eddy »

Work In Progress:
- return type
- hidden declaration for editor autocompletion

ToDo:
- add missing parameters
- define structures

Code: Select all

#ChipmunkDLL=0
DllFilename$="chipmunk-4.0.2.dll"

;OPEN library
If Not OpenLibrary(#ChipmunkDLL, DllFilename$) : End : EndIf
If Not IsLibrary(#ChipmunkDLL) : End : EndIf

;CLOSE library function
Procedure FreeChipmunk()
	 If IsLibrary(#ChipmunkDLL)
	 	 CloseLibrary(#ChipmunkDLL)
	 EndIf
EndProcedure

;hidden declarations for editor code autocompletion
CompilerIf 0
ProcedureC.l SHAPE_ID_COUNTER() ; Returns struct.unsigned_int
ProcedureC.l cpArbiterAlloc() ; Returns *struct.cpArbiter
ProcedureC.l cpArbiterApplyImpulse() ; Returns struct.void
ProcedureC.l cpArbiterDestroy() ; Returns struct.void
ProcedureC.l cpArbiterFree() ; Returns struct.void
ProcedureC.l cpArbiterInit() ; Returns *struct.cpArbiter
ProcedureC.l cpArbiterInject() ; Returns struct.void
ProcedureC.l cpArbiterNew() ; Returns *struct.cpArbiter
ProcedureC.l cpArbiterPreStep() ; Returns struct.void
ProcedureC.l cpArrayAlloc() ; Returns *struct.cpArray
ProcedureC.l cpArrayContains() ; Returns struct.int
ProcedureC.l cpArrayDeleteIndex() ; Returns struct.void
ProcedureC.l cpArrayDeleteObj() ; Returns struct.void
ProcedureC.l cpArrayDestroy() ; Returns struct.void
ProcedureC.l cpArrayEach() ; Returns struct.void
ProcedureC.l cpArrayFree() ; Returns struct.void
ProcedureC.l cpArrayInit() ; Returns *struct.cpArray
ProcedureC.l cpArrayNew() ; Returns *struct.cpArray
ProcedureC.l cpArrayPush() ; Returns struct.void
ProcedureC.l cpBBClampVect() ; Returns struct.cpVect
ProcedureC.l cpBBWrapVect() ; Returns struct.cpVect
ProcedureC.l cpBodyAlloc() ; Returns *struct.cpBody
ProcedureC.l cpBodyApplyForce() ; Returns struct.void
ProcedureC.l cpBodyDestroy() ; Returns struct.void
ProcedureC.l cpBodyFree() ; Returns struct.void
ProcedureC.l cpBodyInit() ; Returns *struct.cpBody
ProcedureC.l cpBodyNew() ; Returns *struct.cpBody
ProcedureC.l cpBodyResetForces() ; Returns struct.void
ProcedureC.l cpBodySetAngle() ; Returns struct.void
ProcedureC.l cpBodySetMass() ; Returns struct.void
ProcedureC.l cpBodySetMoment() ; Returns struct.void
ProcedureC.l cpBodySlew() ; Returns struct.void
ProcedureC.l cpBodyUpdatePosition() ; Returns struct.void
ProcedureC.l cpBodyUpdateVelocity() ; Returns struct.void
ProcedureC.l cpCircleShapeAlloc() ; Returns *struct.cpCircleShape
ProcedureC.l cpCircleShapeInit() ; Returns *struct.cpCircleShape
ProcedureC.l cpCircleShapeNew() ; Returns *struct.cpShape
ProcedureC.l cpCollideShapes() ; Returns struct.int
ProcedureC.l cpContactInit() ; Returns *struct.cpContact
ProcedureC.l cpContactsSumImpulses() ; Returns struct.cpVect
ProcedureC.l cpContactsSumImpulsesWithFriction() ; Returns struct.cpVect
ProcedureC.l cpDampedSpring() ; Returns struct.void
ProcedureC.l cpGrooveJointAlloc() ; Returns *struct.cpGrooveJoint
ProcedureC.l cpGrooveJointInit() ; Returns *struct.cpGrooveJoint
ProcedureC.l cpGrooveJointNew() ; Returns *struct.cpJoint
ProcedureC.l cpHashSetAlloc() ; Returns *struct.cpHashSet
ProcedureC.l cpHashSetDestroy() ; Returns struct.void
ProcedureC.l cpHashSetEach() ; Returns struct.void
ProcedureC.l cpHashSetFind() ; Returns *struct.void
ProcedureC.l cpHashSetFree() ; Returns struct.void
ProcedureC.l cpHashSetInit() ; Returns *struct.cpHashSet
ProcedureC.l cpHashSetInsert() ; Returns *struct.void
ProcedureC.l cpHashSetNew() ; Returns *struct.cpHashSet
ProcedureC.l cpHashSetReject() ; Returns struct.void
ProcedureC.l cpHashSetRemove() ; Returns *struct.void
ProcedureC.l cpInitChipmunk() ; Returns struct.void
ProcedureC.l cpInitCollisionFuncs() ; Returns struct.void
ProcedureC.l cpJointDestroy() ; Returns struct.void
ProcedureC.l cpJointFree() ; Returns struct.void
ProcedureC.l cpMomentForCircle() ; Returns struct.cpFloat
ProcedureC.l cpMomentForPoly() ; Returns struct.cpFloat
ProcedureC.l cpPinJointAlloc() ; Returns *struct.cpPinJoint
ProcedureC.l cpPinJointInit() ; Returns *struct.cpPinJoint
ProcedureC.l cpPinJointNew() ; Returns *struct.cpJoint
ProcedureC.l cpPivotJointAlloc() ; Returns *struct.cpPivotJoint
ProcedureC.l cpPivotJointInit() ; Returns *struct.cpPivotJoint
ProcedureC.l cpPivotJointNew() ; Returns *struct.cpJoint
ProcedureC.l cpPolyShapeAlloc() ; Returns *struct.cpPolyShape
ProcedureC.l cpPolyShapeInit() ; Returns *struct.cpPolyShape
ProcedureC.l cpPolyShapeNew() ; Returns *struct.cpShape
ProcedureC.l cpResetShapeIdCounter() ; Returns struct.void
ProcedureC.l cpSegmentShapeAlloc() ; Returns *struct.cpSegmentShape
ProcedureC.l cpSegmentShapeInit() ; Returns *struct.cpSegmentShape
ProcedureC.l cpSegmentShapeNew() ; Returns *struct.cpShape
ProcedureC.l cpShapeCacheBB() ; Returns struct.cpBB
ProcedureC.l cpShapeDestroy() ; Returns struct.void
ProcedureC.l cpShapeFree() ; Returns struct.void
ProcedureC.l cpShapeInit() ; Returns *struct.cpShape
ProcedureC.l cpSlideJointAlloc() ; Returns *struct.cpSlideJoint
ProcedureC.l cpSlideJointInit() ; Returns *struct.cpSlideJoint
ProcedureC.l cpSlideJointNew() ; Returns *struct.cpJoint
ProcedureC.l cpSpaceAddBody() ; Returns struct.void
ProcedureC.l cpSpaceAddCollisionPairFunc() ; Returns struct.void
ProcedureC.l cpSpaceAddJoint() ; Returns struct.void
ProcedureC.l cpSpaceAddShape() ; Returns struct.void
ProcedureC.l cpSpaceAddStaticShape() ; Returns struct.void
ProcedureC.l cpSpaceAlloc() ; Returns *struct.cpSpace
ProcedureC.l cpSpaceDestroy() ; Returns struct.void
ProcedureC.l cpSpaceEachBody() ; Returns struct.void
ProcedureC.l cpSpaceFree() ; Returns struct.void
ProcedureC.l cpSpaceFreeChildren() ; Returns struct.void
ProcedureC.l cpSpaceHashAlloc() ; Returns *struct.cpSpaceHash
ProcedureC.l cpSpaceHashDestroy() ; Returns struct.void
ProcedureC.l cpSpaceHashEach() ; Returns struct.void
ProcedureC.l cpSpaceHashFree() ; Returns struct.void
ProcedureC.l cpSpaceHashInit() ; Returns *struct.cpSpaceHash
ProcedureC.l cpSpaceHashInsert() ; Returns struct.void
ProcedureC.l cpSpaceHashNew() ; Returns *struct.cpSpaceHash
ProcedureC.l cpSpaceHashQuery() ; Returns struct.void
ProcedureC.l cpSpaceHashQueryRehash() ; Returns struct.void
ProcedureC.l cpSpaceHashRehash() ; Returns struct.void
ProcedureC.l cpSpaceHashRehashObject() ; Returns struct.void
ProcedureC.l cpSpaceHashRemove() ; Returns struct.void
ProcedureC.l cpSpaceHashResize() ; Returns struct.void
ProcedureC.l cpSpaceInit() ; Returns *struct.cpSpace
ProcedureC.l cpSpaceNew() ; Returns *struct.cpSpace
ProcedureC.l cpSpaceRehashStatic() ; Returns struct.void
ProcedureC.l cpSpaceRemoveBody() ; Returns struct.void
ProcedureC.l cpSpaceRemoveCollisionPairFunc() ; Returns struct.void
ProcedureC.l cpSpaceRemoveJoint() ; Returns struct.void
ProcedureC.l cpSpaceRemoveShape() ; Returns struct.void
ProcedureC.l cpSpaceRemoveStaticShape() ; Returns struct.void
ProcedureC.l cpSpaceResizeActiveHash() ; Returns struct.void
ProcedureC.l cpSpaceResizeStaticHash() ; Returns struct.void
ProcedureC.l cpSpaceSetDefaultCollisionPairFunc() ; Returns struct.void
ProcedureC.l cpSpaceStep() ; Returns struct.void
ProcedureC.l cp_bias_coef() ; Returns struct.cpFloat
ProcedureC.l cp_collision_slop() ; Returns struct.cpFloat
ProcedureC.l cp_contact_persistence() ; Returns struct.int
ProcedureC.l cp_joint_bias_coef() ; Returns struct.cpFloat
ProcedureC.l cpvforangle() ; Returns struct.cpVect
ProcedureC.l cpvlength() ; Returns struct.cpFloat
ProcedureC.l cpvlengthsq() ; Returns struct.cpFloat
ProcedureC.l cpvnormalize() ; Returns struct.cpVect
ProcedureC.l cpvstr() ; Returns *struct.char
ProcedureC.l cpvtoangle() ; Returns struct.cpFloat
CompilerEndIf



;Function prototypes
PrototypeC.l SHAPE_ID_COUNTER() ; Returns struct.unsigned_int
PrototypeC.l cpArbiterAlloc() ; Returns *struct.cpArbiter
PrototypeC.l cpArbiterApplyImpulse() ; Returns struct.void
PrototypeC.l cpArbiterDestroy() ; Returns struct.void
PrototypeC.l cpArbiterFree() ; Returns struct.void
PrototypeC.l cpArbiterInit() ; Returns *struct.cpArbiter
PrototypeC.l cpArbiterInject() ; Returns struct.void
PrototypeC.l cpArbiterNew() ; Returns *struct.cpArbiter
PrototypeC.l cpArbiterPreStep() ; Returns struct.void
PrototypeC.l cpArrayAlloc() ; Returns *struct.cpArray
PrototypeC.l cpArrayContains() ; Returns struct.int
PrototypeC.l cpArrayDeleteIndex() ; Returns struct.void
PrototypeC.l cpArrayDeleteObj() ; Returns struct.void
PrototypeC.l cpArrayDestroy() ; Returns struct.void
PrototypeC.l cpArrayEach() ; Returns struct.void
PrototypeC.l cpArrayFree() ; Returns struct.void
PrototypeC.l cpArrayInit() ; Returns *struct.cpArray
PrototypeC.l cpArrayNew() ; Returns *struct.cpArray
PrototypeC.l cpArrayPush() ; Returns struct.void
PrototypeC.l cpBBClampVect() ; Returns struct.cpVect
PrototypeC.l cpBBWrapVect() ; Returns struct.cpVect
PrototypeC.l cpBodyAlloc() ; Returns *struct.cpBody
PrototypeC.l cpBodyApplyForce() ; Returns struct.void
PrototypeC.l cpBodyDestroy() ; Returns struct.void
PrototypeC.l cpBodyFree() ; Returns struct.void
PrototypeC.l cpBodyInit() ; Returns *struct.cpBody
PrototypeC.l cpBodyNew() ; Returns *struct.cpBody
PrototypeC.l cpBodyResetForces() ; Returns struct.void
PrototypeC.l cpBodySetAngle() ; Returns struct.void
PrototypeC.l cpBodySetMass() ; Returns struct.void
PrototypeC.l cpBodySetMoment() ; Returns struct.void
PrototypeC.l cpBodySlew() ; Returns struct.void
PrototypeC.l cpBodyUpdatePosition() ; Returns struct.void
PrototypeC.l cpBodyUpdateVelocity() ; Returns struct.void
PrototypeC.l cpCircleShapeAlloc() ; Returns *struct.cpCircleShape
PrototypeC.l cpCircleShapeInit() ; Returns *struct.cpCircleShape
PrototypeC.l cpCircleShapeNew() ; Returns *struct.cpShape
PrototypeC.l cpCollideShapes() ; Returns struct.int
PrototypeC.l cpContactInit() ; Returns *struct.cpContact
PrototypeC.l cpContactsSumImpulses() ; Returns struct.cpVect
PrototypeC.l cpContactsSumImpulsesWithFriction() ; Returns struct.cpVect
PrototypeC.l cpDampedSpring() ; Returns struct.void
PrototypeC.l cpGrooveJointAlloc() ; Returns *struct.cpGrooveJoint
PrototypeC.l cpGrooveJointInit() ; Returns *struct.cpGrooveJoint
PrototypeC.l cpGrooveJointNew() ; Returns *struct.cpJoint
PrototypeC.l cpHashSetAlloc() ; Returns *struct.cpHashSet
PrototypeC.l cpHashSetDestroy() ; Returns struct.void
PrototypeC.l cpHashSetEach() ; Returns struct.void
PrototypeC.l cpHashSetFind() ; Returns *struct.void
PrototypeC.l cpHashSetFree() ; Returns struct.void
PrototypeC.l cpHashSetInit() ; Returns *struct.cpHashSet
PrototypeC.l cpHashSetInsert() ; Returns *struct.void
PrototypeC.l cpHashSetNew() ; Returns *struct.cpHashSet
PrototypeC.l cpHashSetReject() ; Returns struct.void
PrototypeC.l cpHashSetRemove() ; Returns *struct.void
PrototypeC.l cpInitChipmunk() ; Returns struct.void
PrototypeC.l cpInitCollisionFuncs() ; Returns struct.void
PrototypeC.l cpJointDestroy() ; Returns struct.void
PrototypeC.l cpJointFree() ; Returns struct.void
PrototypeC.l cpMomentForCircle() ; Returns struct.cpFloat
PrototypeC.l cpMomentForPoly() ; Returns struct.cpFloat
PrototypeC.l cpPinJointAlloc() ; Returns *struct.cpPinJoint
PrototypeC.l cpPinJointInit() ; Returns *struct.cpPinJoint
PrototypeC.l cpPinJointNew() ; Returns *struct.cpJoint
PrototypeC.l cpPivotJointAlloc() ; Returns *struct.cpPivotJoint
PrototypeC.l cpPivotJointInit() ; Returns *struct.cpPivotJoint
PrototypeC.l cpPivotJointNew() ; Returns *struct.cpJoint
PrototypeC.l cpPolyShapeAlloc() ; Returns *struct.cpPolyShape
PrototypeC.l cpPolyShapeInit() ; Returns *struct.cpPolyShape
PrototypeC.l cpPolyShapeNew() ; Returns *struct.cpShape
PrototypeC.l cpResetShapeIdCounter() ; Returns struct.void
PrototypeC.l cpSegmentShapeAlloc() ; Returns *struct.cpSegmentShape
PrototypeC.l cpSegmentShapeInit() ; Returns *struct.cpSegmentShape
PrototypeC.l cpSegmentShapeNew() ; Returns *struct.cpShape
PrototypeC.l cpShapeCacheBB() ; Returns struct.cpBB
PrototypeC.l cpShapeDestroy() ; Returns struct.void
PrototypeC.l cpShapeFree() ; Returns struct.void
PrototypeC.l cpShapeInit() ; Returns *struct.cpShape
PrototypeC.l cpSlideJointAlloc() ; Returns *struct.cpSlideJoint
PrototypeC.l cpSlideJointInit() ; Returns *struct.cpSlideJoint
PrototypeC.l cpSlideJointNew() ; Returns *struct.cpJoint
PrototypeC.l cpSpaceAddBody() ; Returns struct.void
PrototypeC.l cpSpaceAddCollisionPairFunc() ; Returns struct.void
PrototypeC.l cpSpaceAddJoint() ; Returns struct.void
PrototypeC.l cpSpaceAddShape() ; Returns struct.void
PrototypeC.l cpSpaceAddStaticShape() ; Returns struct.void
PrototypeC.l cpSpaceAlloc() ; Returns *struct.cpSpace
PrototypeC.l cpSpaceDestroy() ; Returns struct.void
PrototypeC.l cpSpaceEachBody() ; Returns struct.void
PrototypeC.l cpSpaceFree() ; Returns struct.void
PrototypeC.l cpSpaceFreeChildren() ; Returns struct.void
PrototypeC.l cpSpaceHashAlloc() ; Returns *struct.cpSpaceHash
PrototypeC.l cpSpaceHashDestroy() ; Returns struct.void
PrototypeC.l cpSpaceHashEach() ; Returns struct.void
PrototypeC.l cpSpaceHashFree() ; Returns struct.void
PrototypeC.l cpSpaceHashInit() ; Returns *struct.cpSpaceHash
PrototypeC.l cpSpaceHashInsert() ; Returns struct.void
PrototypeC.l cpSpaceHashNew() ; Returns *struct.cpSpaceHash
PrototypeC.l cpSpaceHashQuery() ; Returns struct.void
PrototypeC.l cpSpaceHashQueryRehash() ; Returns struct.void
PrototypeC.l cpSpaceHashRehash() ; Returns struct.void
PrototypeC.l cpSpaceHashRehashObject() ; Returns struct.void
PrototypeC.l cpSpaceHashRemove() ; Returns struct.void
PrototypeC.l cpSpaceHashResize() ; Returns struct.void
PrototypeC.l cpSpaceInit() ; Returns *struct.cpSpace
PrototypeC.l cpSpaceNew() ; Returns *struct.cpSpace
PrototypeC.l cpSpaceRehashStatic() ; Returns struct.void
PrototypeC.l cpSpaceRemoveBody() ; Returns struct.void
PrototypeC.l cpSpaceRemoveCollisionPairFunc() ; Returns struct.void
PrototypeC.l cpSpaceRemoveJoint() ; Returns struct.void
PrototypeC.l cpSpaceRemoveShape() ; Returns struct.void
PrototypeC.l cpSpaceRemoveStaticShape() ; Returns struct.void
PrototypeC.l cpSpaceResizeActiveHash() ; Returns struct.void
PrototypeC.l cpSpaceResizeStaticHash() ; Returns struct.void
PrototypeC.l cpSpaceSetDefaultCollisionPairFunc() ; Returns struct.void
PrototypeC.l cpSpaceStep() ; Returns struct.void
PrototypeC.l cp_bias_coef() ; Returns struct.cpFloat
PrototypeC.l cp_collision_slop() ; Returns struct.cpFloat
PrototypeC.l cp_contact_persistence() ; Returns struct.int
PrototypeC.l cp_joint_bias_coef() ; Returns struct.cpFloat
PrototypeC.l cpvforangle() ; Returns struct.cpVect
PrototypeC.l cpvlength() ; Returns struct.cpFloat
PrototypeC.l cpvlengthsq() ; Returns struct.cpFloat
PrototypeC.l cpvnormalize() ; Returns struct.cpVect
PrototypeC.l cpvstr() ; Returns *struct.char
PrototypeC.l cpvtoangle() ; Returns struct.cpFloat

;Function macro
Macro Quote
"
EndMacro
Macro DefineProc(name)
Global name#.name = GetFunction(#ChipmunkDLL,Quote#name#Quote)
EndMacro



;Function declarations
DefineProc(SHAPE_ID_COUNTER)
DefineProc(cpArbiterAlloc)
DefineProc(cpArbiterApplyImpulse)
DefineProc(cpArbiterDestroy)
DefineProc(cpArbiterFree)
DefineProc(cpArbiterInit)
DefineProc(cpArbiterInject)
DefineProc(cpArbiterNew)
DefineProc(cpArbiterPreStep)
DefineProc(cpArrayAlloc)
DefineProc(cpArrayContains)
DefineProc(cpArrayDeleteIndex)
DefineProc(cpArrayDeleteObj)
DefineProc(cpArrayDestroy)
DefineProc(cpArrayEach)
DefineProc(cpArrayFree)
DefineProc(cpArrayInit)
DefineProc(cpArrayNew)
DefineProc(cpArrayPush)
DefineProc(cpBBClampVect)
DefineProc(cpBBWrapVect)
DefineProc(cpBodyAlloc)
DefineProc(cpBodyApplyForce)
DefineProc(cpBodyDestroy)
DefineProc(cpBodyFree)
DefineProc(cpBodyInit)
DefineProc(cpBodyNew)
DefineProc(cpBodyResetForces)
DefineProc(cpBodySetAngle)
DefineProc(cpBodySetMass)
DefineProc(cpBodySetMoment)
DefineProc(cpBodySlew)
DefineProc(cpBodyUpdatePosition)
DefineProc(cpBodyUpdateVelocity)
DefineProc(cpCircleShapeAlloc)
DefineProc(cpCircleShapeInit)
DefineProc(cpCircleShapeNew)
DefineProc(cpCollideShapes)
DefineProc(cpContactInit)
DefineProc(cpContactsSumImpulses)
DefineProc(cpContactsSumImpulsesWithFriction)
DefineProc(cpDampedSpring)
DefineProc(cpGrooveJointAlloc)
DefineProc(cpGrooveJointInit)
DefineProc(cpGrooveJointNew)
DefineProc(cpHashSetAlloc)
DefineProc(cpHashSetDestroy)
DefineProc(cpHashSetEach)
DefineProc(cpHashSetFind)
DefineProc(cpHashSetFree)
DefineProc(cpHashSetInit)
DefineProc(cpHashSetInsert)
DefineProc(cpHashSetNew)
DefineProc(cpHashSetReject)
DefineProc(cpHashSetRemove)
DefineProc(cpInitChipmunk)
DefineProc(cpInitCollisionFuncs)
DefineProc(cpJointDestroy)
DefineProc(cpJointFree)
DefineProc(cpMomentForCircle)
DefineProc(cpMomentForPoly)
DefineProc(cpPinJointAlloc)
DefineProc(cpPinJointInit)
DefineProc(cpPinJointNew)
DefineProc(cpPivotJointAlloc)
DefineProc(cpPivotJointInit)
DefineProc(cpPivotJointNew)
DefineProc(cpPolyShapeAlloc)
DefineProc(cpPolyShapeInit)
DefineProc(cpPolyShapeNew)
DefineProc(cpResetShapeIdCounter)
DefineProc(cpSegmentShapeAlloc)
DefineProc(cpSegmentShapeInit)
DefineProc(cpSegmentShapeNew)
DefineProc(cpShapeCacheBB)
DefineProc(cpShapeDestroy)
DefineProc(cpShapeFree)
DefineProc(cpShapeInit)
DefineProc(cpSlideJointAlloc)
DefineProc(cpSlideJointInit)
DefineProc(cpSlideJointNew)
DefineProc(cpSpaceAddBody)
DefineProc(cpSpaceAddCollisionPairFunc)
DefineProc(cpSpaceAddJoint)
DefineProc(cpSpaceAddShape)
DefineProc(cpSpaceAddStaticShape)
DefineProc(cpSpaceAlloc)
DefineProc(cpSpaceDestroy)
DefineProc(cpSpaceEachBody)
DefineProc(cpSpaceFree)
DefineProc(cpSpaceFreeChildren)
DefineProc(cpSpaceHashAlloc)
DefineProc(cpSpaceHashDestroy)
DefineProc(cpSpaceHashEach)
DefineProc(cpSpaceHashFree)
DefineProc(cpSpaceHashInit)
DefineProc(cpSpaceHashInsert)
DefineProc(cpSpaceHashNew)
DefineProc(cpSpaceHashQuery)
DefineProc(cpSpaceHashQueryRehash)
DefineProc(cpSpaceHashRehash)
DefineProc(cpSpaceHashRehashObject)
DefineProc(cpSpaceHashRemove)
DefineProc(cpSpaceHashResize)
DefineProc(cpSpaceInit)
DefineProc(cpSpaceNew)
DefineProc(cpSpaceRehashStatic)
DefineProc(cpSpaceRemoveBody)
DefineProc(cpSpaceRemoveCollisionPairFunc)
DefineProc(cpSpaceRemoveJoint)
DefineProc(cpSpaceRemoveShape)
DefineProc(cpSpaceRemoveStaticShape)
DefineProc(cpSpaceResizeActiveHash)
DefineProc(cpSpaceResizeStaticHash)
DefineProc(cpSpaceSetDefaultCollisionPairFunc)
DefineProc(cpSpaceStep)
DefineProc(cp_bias_coef)
DefineProc(cp_collision_slop)
DefineProc(cp_contact_persistence)
DefineProc(cp_joint_bias_coef)
DefineProc(cpvforangle)
DefineProc(cpvlength)
DefineProc(cpvlengthsq)
DefineProc(cpvnormalize)
DefineProc(cpvstr)
DefineProc(cpvtoangle)

Imagewin10 x64 5.72 | IDE | PB plugin | Tools | Sprite | JSON | visual tool
Anonymous

Post by Anonymous »

this dll use Box2D ?
see my work here (run on Win32 & linux ) :

http://www.purebasic.fr/french/viewtopic.php?t=7465
Dare
Addict
Addict
Posts: 1965
Joined: Mon May 29, 2006 1:01 am
Location: Outback

Post by Dare »

Very nice.
Dare2 cut down to size
User avatar
Rook Zimbabwe
Addict
Addict
Posts: 4322
Joined: Tue Jan 02, 2007 8:16 pm
Location: Cypress TX
Contact:

Post by Rook Zimbabwe »

Bator where have you been... This is excellent. We need more cross communication between the boards... (and cross translation would be nice too!!!) :D
Binarily speaking... it takes 10 to Tango!!!

Image
http://www.bluemesapc.com/
Anonymous

Post by Anonymous »

My english is too poor for translate or present my work, sorry.
User avatar
IceSoft
Addict
Addict
Posts: 1699
Joined: Thu Jun 24, 2004 8:51 am
Location: Germany

Post by IceSoft »

Cpl.Bator wrote:My english is too poor for translate or present my work, sorry.
Better a poor english as there is nothing. :wink:
Belive! C++ version of Puzzle of Mystralia
Bug Planet
<Wrapper>4PB, PB<game>, =QONK=, PetriDish, Movie2Image, PictureManager,...
User avatar
Rook Zimbabwe
Addict
Addict
Posts: 4322
Joined: Tue Jan 02, 2007 8:16 pm
Location: Cypress TX
Contact:

Post by Rook Zimbabwe »

Corporal, take it from old SSG Ralphie or the Guard here... Nobody in America speaks English, I can't figure out why they expect the rest of the world to try! - You may quote me on that!

Besides there are many here that would love to help. I cannot because I am French Illiterate... (I speak Spanish and Chinese and Texan) but I can read some.

Everyone into the pool!!!! 8)
Binarily speaking... it takes 10 to Tango!!!

Image
http://www.bluemesapc.com/
Dare
Addict
Addict
Posts: 1965
Joined: Mon May 29, 2006 1:01 am
Location: Outback

Post by Dare »

IceSoft wrote:Better a poor english as there is nothing. :wink:
Well said.
Dare2 cut down to size
Baldrick
Addict
Addict
Posts: 860
Joined: Fri Jul 02, 2004 6:49 pm
Location: Australia

Post by Baldrick »

IceSoft wrote:
Better a poor english as there is nothing.


Well said.
+1
User avatar
Demivec
Addict
Addict
Posts: 4282
Joined: Mon Jul 25, 2005 3:51 pm
Location: Utah, USA

Post by Demivec »

eddy wrote:Work In Progress:
- return type
- hidden declaration for editor autocompletion

ToDo:
- add missing parameters
- define structures

Code: Select all

#ChipmunkDLL=0
DllFilename$="chipmunk-4.0.2.dll"

;OPEN library

If Not OpenLibrary(#ChipmunkDLL, DllFilename$) : End : EndIf
If Not IsLibrary(#ChipmunkDLL) : End : EndIf
@eddy: I can't get the Library to Open at all. I tested it with the code above, with using a full path in DllFilename$, with an OpenFileRequester and with a compiled exe version. None worked. Have you succesfully opened the library with the code above? To show a failure in the load I added a MessageRequester() informing me of the failure before ending the program, as well as Debugged the returns from the OpenLibrary().

I wanted to test parts of the wrapper for proper functioning. I've been working on this at the same time as you have. And wanted to seem if the parts I had completed worked, or if the portions you had completed worked. I'm not able to get that far because I can't get the above code to succeed. :cry:
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post by Num3 »

Cpl.Bator wrote:this dll use Box2D ?
see my work here (run on Win32 & linux ) :

http://www.purebasic.fr/french/viewtopic.php?t=7465
Can i post bugs? I don't wanna register in the french forum (can read it, but write i very badly)

Gonna create a thread here ;)
Post Reply