Chipmunk 4.1.0 : moteur physique pour la 2D
c'est la dernière version 4.1.0
Code : Tout sélectionner
// chipmunk.h
typedef float cpFloat
voila maintenant j'ai
Dans le wrapp , j'ai fait cela pour la classe Cpjoint:
j'ai virer aussi tout les appels a la macro CONST qui visiblement ne sert a rien.
Chipmunk-4.1.0-win32/Purebasic$ ./demo1
Erreur de segmentation
Dans le wrapp , j'ai fait cela pour la classe Cpjoint:
Code : Tout sélectionner
CompilerIf #PB_Compiler_OS = #PB_OS_Windows
*klass.cpJointClass
CompilerEndIf
CompilerIf #PB_Compiler_OS = #PB_OS_Linux
*klass.i
CompilerEndIf
Pourquoi as tu récris les fonctions :
sans sa marche aussi.
L'erreur de segmentation viens de la fonction de dessin.
je cherche pourquoi maintenant.
Code : Tout sélectionner
CompilerIf 0
Procedure cpInitChipmunk ()
EndProcedure
Procedure.f cpMomentForCircle (m.f, r1.f, r2.f, offset.cpVect)
EndProcedure
etc...
L'erreur de segmentation viens de la fonction de dessin.
je cherche pourquoi maintenant.
j'avance j'avance 
le coupable :

le coupable :
Code : Tout sélectionner
cpSpaceHashEach(*space\activeShapes, @DrawShape(), *datas)
J'ai torturé , la dernière fonction , elle ne savait pas grand chose , elle m'a balancer un nom :
Ce nouveau coupable a vite craché le nom du complice , DrawPolyShape()
et ce dernier sous la torture nous dit que :
Invalid access memory
Code : Tout sélectionner
DrawShape()
et ce dernier sous la torture nous dit que :
Code : Tout sélectionner
Circle(*poly\shape\body\p\x, *poly\shape\body\p\y, 2, RGB(0, 0, 255))
J'ai mis à jour ma version.
J'ai finalement plus besoin de modifié le typedef, je le laisse à DOUBLE.
J'ai trouvé ce qui manquait dans le chipmunk.H pour la compatibilité avec PB :
J'ai finalement plus besoin de modifié le typedef, je le laisse à DOUBLE.
J'ai trouvé ce qui manquait dans le chipmunk.H pour la compatibilité avec PB :
Code : Tout sélectionner
/// compatibility with PB structure alignment (1 byte)
#pragma pack(1)
/// conversion to PB type (enum => long)
#pragma enum(4)