Chipmunk 4.1.0 : moteur physique pour la 2D

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
eddy
Messages : 67
Inscription : mer. 09/avr./2008 2:08

Chipmunk 4.1.0 : moteur physique pour la 2D

Message par eddy »

lien : http://www.purebasic.fr/english/viewtop ... 515#274515
vidéo : http://fr.youtube.com/watch?v=sTHoWaTNJiA

Maintenant je cherche quelqu'un qui pourrait compiler la lib sur mac et linux
Anonyme

Message par Anonyme »

Linux ! :D


L'import est pas bon pour linux :

ImportC "..\Chipmunk\Chipmunk.so"

doit être :

ImportC "-lChipmunk.so"
eddy
Messages : 67
Inscription : mer. 09/avr./2008 2:08

Message par eddy »

Je peux pas le compiler sous linux
mais si tu as une version avec une correction, je peux l'ajouter dans le ZIP.

Est-ce que quelqu'un a testé la lib sur une machine 64bits ?
Dernière modification par eddy le sam. 17/janv./2009 15:02, modifié 1 fois.
Anonyme

Message par Anonyme »

Donne moi les dépendances du chipmunk si il y en a que je puisse voir se soir.
eddy
Messages : 67
Inscription : mer. 09/avr./2008 2:08

Message par eddy »

C'est ça dont tu as besoin ?

Code : Tout sélectionner

chipmunk.h
---
   cpVect.h
   cpBB.h
   cpBody.h
   cpArray.h
   cpHashSet.h
   cpSpaceHash.h
   cpShape.h
   cpPolyShape.h
   cpArbiter.h
   cpCollision.h
   cpJoint.h
   cpSpace.h
Anonyme

Message par Anonyme »

Le moteur Chipmunk compile sans problème avec les sources chopé sur le web , mais ton wrapper dois avoir des erreurs , impossible de compilé quoi que se soit , pourtant tout m'a l'air d'être correct.
je suppose que ca viens de l'édition de lien , comment Chipmubk affiche les objet ? avec OpenGL ? sdl , glut ?
eddy
Messages : 67
Inscription : mer. 09/avr./2008 2:08

Message par eddy »

Les sources sur le web compile un projet EXE.
C'est normal OPengl ne sert à rien pour un moteur physique. Ya que des fonctions dedans.

Tu as essayé de compiler sur quel machine ou OS ?
Anonyme

Message par Anonyme »

Les sources sur le web compile un projet EXE.

bah , non , je compile bien le .so (équavalent de ta lib)
C'est normal OPengl ne sert à rien pour un moteur physique. Ya que des fonctions dedans.
j'ai bien compris , c'est évident , mais je voulais savoir comment tu affiches le tout , avec Purebasic , ou chipmunk s'occupe du rendu ?

Tu as essayé de compiler sur quel machine ou OS ?
Ubuntu
eddy
Messages : 67
Inscription : mer. 09/avr./2008 2:08

Message par eddy »

Quel message d'erreur il t'affiche ?
Où est-ce qu'il plante ?

Tu peux tester ce code pour voir si au moins il trouve les fonctions dans ta lib.
Copie le fichier .SO dans ton répertoire et lance le code.

Code : Tout sélectionner

ImportC "chipmunk.so"
cpInitChipmunk()
EndImport

cpInitChipmunk(); test l'initialisation 
Anonyme

Message par Anonyme »

Le compilo fige au moment de l'inclusion de Chipmunk.pb , je regarde ou sa pêche , et je modifie pour que ca tourne , dès que c'est près , je te fait une archive.
Anonyme

Message par Anonyme »

La macro Const semble être à l'origine du problème elle sert a quoi ? 8O
Anonyme

Message par Anonyme »

idem ici :

Code : Tout sélectionner

Structure cpJoint
	*klass.cpJointClass
 	*a.cpBody: *b.cpBody
EndStructure

cpJointClass pose un probleme.
Anonyme

Message par Anonyme »

Demo1.pb

Code : Tout sélectionner

   *body=cpBodyNew(1.0, cpMomentForPoly(1.0, ArraySize(vecBox()), @vecBox(), cpvzero) )


invalid access memory.
Anonyme

Message par Anonyme »

ca ne fonctionnera jamais sous linux , le wrapper est trop complexe et trop "windozé" , c'est aussi pour cela que je te parlais de pointeur , plus simple a gerer... :wink:
eddy
Messages : 67
Inscription : mer. 09/avr./2008 2:08

Message par eddy »

Cpl.Bator a écrit :ca ne fonctionnera jamais sous linux , le wrapper est trop complexe et trop "windozé" , c'est aussi pour cela que je te parlais de pointeur , plus simple a gerer... :wink:
ca n'a rien à voir avec Windows, ya aucune API dedans et j'ai changé qu'une ligne dans le source.
Ton problème est lié au compilateur et à la version de ton code source.

Le code est complexe parce que les méthodes d'importation de PB sont limitées.
J'ai fait plein de macro pour palier à ce problème.

A tous les coups, c'est la manière dont il expose les paramètres de type structure qui change.

:arrow: voilà ce qui se passe dans ma version:

Code : Tout sélectionner

cpBodyNew(1.0, cpMomentForPoly(1.0, ArraySize(vecBox()), @vecBox(), cpvzero\x, cpvzero\y) )
:arrow: dans ta version ce serait ça:

Code : Tout sélectionner

cpBodyNew(1.0, cpMomentForPoly(1.0, ArraySize(vecBox()), @vecBox(), @cpvzero) )
Répondre