apecs-physics 0.4.4 → 0.4.5
raw patch · 21 files changed
+177/−191 lines, 21 filesdep ~vectorPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: vector
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- Chipmunk2D/include/chipmunk/chipmunk.h +2/−2
- Chipmunk2D/include/chipmunk/chipmunk_private.h +5/−5
- Chipmunk2D/include/chipmunk/cpPolyline.h +1/−1
- Chipmunk2D/include/chipmunk/prime.h +0/−68
- Chipmunk2D/src/chipmunk.c +1/−1
- Chipmunk2D/src/cpArbiter.c +4/−2
- Chipmunk2D/src/cpBBTree.c +1/−1
- Chipmunk2D/src/cpBody.c +2/−2
- Chipmunk2D/src/cpCollision.c +2/−2
- Chipmunk2D/src/cpHashSet.c +7/−7
- Chipmunk2D/src/cpHastySpace.c +7/−1
- Chipmunk2D/src/cpMarch.c +2/−2
- Chipmunk2D/src/cpPolyShape.c +2/−1
- Chipmunk2D/src/cpShape.c +2/−1
- Chipmunk2D/src/cpSimpleMotor.c +2/−2
- Chipmunk2D/src/cpSpace.c +10/−9
- Chipmunk2D/src/cpSpaceHash.c +1/−1
- Chipmunk2D/src/cpSweep1D.c +1/−1
- Chipmunk2D/src/prime.h +68/−0
- apecs-physics.cabal +53/−82
CHANGELOG.md view
@@ -1,3 +1,7 @@+## [0.4.5]+### Changed+- (#78) Chipmunk bumped to `v7.0.3`, fixes the `sysctl.h` deprecation reported in #77+ ## [0.4.4] ### Changed - Increased upper bound `apecs` dependency
Chipmunk2D/include/chipmunk/chipmunk.h view
@@ -125,10 +125,10 @@ #include "cpSpace.h" -// Chipmunk 7.0.2+// Chipmunk 7.0.3 #define CP_VERSION_MAJOR 7 #define CP_VERSION_MINOR 0-#define CP_VERSION_RELEASE 2+#define CP_VERSION_RELEASE 3 /// Version string. CP_EXPORT extern const char *cpVersionString;
Chipmunk2D/include/chipmunk/chipmunk_private.h view
@@ -48,8 +48,8 @@ //MARK: cpHashSet -typedef cpBool (*cpHashSetEqlFunc)(void *ptr, void *elt);-typedef void *(*cpHashSetTransFunc)(void *ptr, void *data);+typedef cpBool (*cpHashSetEqlFunc)(const void *ptr, const void *elt);+typedef void *(*cpHashSetTransFunc)(const void *ptr, void *data); cpHashSet *cpHashSetNew(int size, cpHashSetEqlFunc eqlFunc); void cpHashSetSetDefaultValue(cpHashSet *set, void *default_value);@@ -57,9 +57,9 @@ void cpHashSetFree(cpHashSet *set); int cpHashSetCount(cpHashSet *set);-void *cpHashSetInsert(cpHashSet *set, cpHashValue hash, void *ptr, cpHashSetTransFunc trans, void *data);-void *cpHashSetRemove(cpHashSet *set, cpHashValue hash, void *ptr);-void *cpHashSetFind(cpHashSet *set, cpHashValue hash, void *ptr);+const void *cpHashSetInsert(cpHashSet *set, cpHashValue hash, const void *ptr, cpHashSetTransFunc trans, void *data);+const void *cpHashSetRemove(cpHashSet *set, cpHashValue hash, const void *ptr);+const void *cpHashSetFind(cpHashSet *set, cpHashValue hash, const void *ptr); typedef void (*cpHashSetIteratorFunc)(void *elt, void *data); void cpHashSetEach(cpHashSet *set, cpHashSetIteratorFunc func, void *data);
Chipmunk2D/include/chipmunk/cpPolyline.h view
@@ -23,7 +23,7 @@ /** Returns a copy of a polyline simplified by discarding "flat" vertexes.- This works well on straigt edged or angular shapes, not as well on smooth shapes.+ This works well on straight edged or angular shapes, not as well on smooth shapes. */ CP_EXPORT cpPolyline *cpPolylineSimplifyVertexes(cpPolyline *line, cpFloat tol);
− Chipmunk2D/include/chipmunk/prime.h
@@ -1,68 +0,0 @@-/* Copyright (c) 2013 Scott Lembcke and Howling Moon Software- * - * Permission is hereby granted, free of charge, to any person obtaining a copy- * of this software and associated documentation files (the "Software"), to deal- * in the Software without restriction, including without limitation the rights- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell- * copies of the Software, and to permit persons to whom the Software is- * furnished to do so, subject to the following conditions:- * - * The above copyright notice and this permission notice shall be included in- * all copies or substantial portions of the Software.- * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE- * SOFTWARE.- */--// Used for resizing hash tables.-// Values approximately double.-// http://planetmath.org/encyclopedia/GoodHashTablePrimes.html-static int primes[] = {- 5,- 13,- 23,- 47,- 97,- 193,- 389,- 769,- 1543,- 3079,- 6151,- 12289,- 24593,- 49157,- 98317,- 196613,- 393241,- 786433,- 1572869,- 3145739,- 6291469,- 12582917,- 25165843,- 50331653,- 100663319,- 201326611,- 402653189,- 805306457,- 1610612741,- 0,-};--static inline int-next_prime(int n)-{- int i = 0;- while(n > primes[i]){- i++;- cpAssertHard(primes[i], "Tried to resize a hash table to a size greater than 1610612741 O_o"); // realistically this should never happen- }- - return primes[i];-}
Chipmunk2D/src/chipmunk.c view
@@ -89,7 +89,7 @@ } cpFloat-cpMomentForPoly(cpFloat m, const int count, const cpVect *verts, cpVect offset, cpFloat r)+cpMomentForPoly(cpFloat m, int count, const cpVect *verts, cpVect offset, cpFloat r) { // TODO account for radius. if(count == 2) return cpMomentForSegment(m, verts[0], verts[1], 0.0f);
Chipmunk2D/src/cpArbiter.c view
@@ -231,9 +231,11 @@ cpArbiterGetShapes(const cpArbiter *arb, cpShape **a, cpShape **b) { if(arb->swapped){- (*a) = (cpShape *)arb->b, (*b) = (cpShape *)arb->a;+ (*a) = (cpShape *)arb->b;+ (*b) = (cpShape *)arb->a; } else {- (*a) = (cpShape *)arb->a, (*b) = (cpShape *)arb->b;+ (*a) = (cpShape *)arb->a;+ (*b) = (cpShape *)arb->b; } }
Chipmunk2D/src/cpBBTree.c view
@@ -24,7 +24,7 @@ #include "chipmunk_private.h" -static inline cpSpatialIndexClass *Klass();+static inline cpSpatialIndexClass *Klass(void); typedef struct Node Node; typedef struct Pair Pair;
Chipmunk2D/src/cpBody.c view
@@ -258,7 +258,7 @@ cpBodyActivate(body); body->m = mass;- body->m_inv = 1.0f/mass;+ body->m_inv = mass == 0.0f ? INFINITY : 1.0f/mass; cpAssertSaneBody(body); } @@ -275,7 +275,7 @@ cpBodyActivate(body); body->i = moment;- body->i_inv = 1.0f/moment;+ body->i_inv = moment == 0.0f ? INFINITY : 1.0f/moment; cpAssertSaneBody(body); }
Chipmunk2D/src/cpCollision.c view
@@ -200,7 +200,7 @@ ClosestT(const cpVect a, const cpVect b) { cpVect delta = cpvsub(b, a);- return -cpfclamp(cpvdot(delta, cpvadd(a, b))/cpvlengthsq(delta), -1.0f, 1.0f);+ return -cpfclamp(cpvdot(delta, cpvadd(a, b))/(cpvlengthsq(delta) + CPFLOAT_MIN), -1.0f, 1.0f); } // Basically the same as cpvlerp(), except t = [-1, 1]@@ -674,7 +674,7 @@ // If the closest points are nearer than the sum of the radii... if(points.d <= circle->r + poly->r){ cpVect n = info->n = points.n;- cpCollisionInfoPushContact(info, cpvadd(points.a, cpvmult(n, circle->r)), cpvadd(points.b, cpvmult(n, poly->r)), 0);+ cpCollisionInfoPushContact(info, cpvadd(points.a, cpvmult(n, circle->r)), cpvadd(points.b, cpvmult(n, -poly->r)), 0); } }
Chipmunk2D/src/cpHashSet.c view
@@ -149,8 +149,8 @@ return set->entries; } -void *-cpHashSetInsert(cpHashSet *set, cpHashValue hash, void *ptr, cpHashSetTransFunc trans, void *data)+const void *+cpHashSetInsert(cpHashSet *set, cpHashValue hash, const void *ptr, cpHashSetTransFunc trans, void *data) { cpHashValue idx = hash%set->size; @@ -175,8 +175,8 @@ return bin->elt; } -void *-cpHashSetRemove(cpHashSet *set, cpHashValue hash, void *ptr)+const void *+cpHashSetRemove(cpHashSet *set, cpHashValue hash, const void *ptr) { cpHashValue idx = hash%set->size; @@ -195,7 +195,7 @@ (*prev_ptr) = bin->next; set->entries--; - void *elt = bin->elt;+ const void *elt = bin->elt; recycleBin(set, bin); return elt;@@ -204,8 +204,8 @@ return NULL; } -void *-cpHashSetFind(cpHashSet *set, cpHashValue hash, void *ptr)+const void *+cpHashSetFind(cpHashSet *set, cpHashValue hash, const void *ptr) { cpHashValue idx = hash%set->size; cpHashSetBin *bin = set->table[idx];
Chipmunk2D/src/cpHastySpace.c view
@@ -7,8 +7,14 @@ //TODO: Move all the thread stuff to another file //#include <sys/param.h >-#ifndef _WIN32++#ifdef __APPLE__ #include <sys/sysctl.h>+#endif++#ifndef _WIN32+#include <pthread.h>+#elif defined(__MINGW32__) #include <pthread.h> #else #ifndef WIN32_LEAN_AND_MEAN
Chipmunk2D/src/cpMarch.c view
@@ -44,8 +44,8 @@ cpFloat x0 = cpflerp(bb.l, bb.r, (i+0)*x_denom); cpFloat x1 = cpflerp(bb.l, bb.r, (i+1)*x_denom); - a = b, b = buffer[i + 1];- c = d, d = sample(cpv(x1, y1), sample_data);+ a = b; b = buffer[i + 1];+ c = d; d = sample(cpv(x1, y1), sample_data); buffer[i + 1] = d; cell(t, a, b, c, d, x0, x1, y0, y1, segment, segment_data);
Chipmunk2D/src/cpPolyShape.c view
@@ -117,7 +117,8 @@ if(d < 0.0f) continue; cpFloat bn = cpvdot(b, n);- cpFloat t = d/(an - bn);+ // Avoid divide by zero. (d is always positive)+ cpFloat t = d/cpfmax(an - bn, CPFLOAT_MIN); if(t < 0.0f || 1.0f < t) continue; cpVect point = cpvlerp(a, b, t);
Chipmunk2D/src/cpShape.c view
@@ -303,7 +303,8 @@ cpFloat r = circle->r; info->shape = (cpShape *)circle;- info->point = cpvadd(circle->tc, cpvmult(delta, r/d)); // TODO: div/0+ cpFloat r_over_d = d > 0.0f ? r/d : r;+ info->point = cpvadd(circle->tc, cpvmult(delta, r_over_d)); // TODO: div/0 info->distance = d - r; // Use up for the gradient if the distance is very small.
Chipmunk2D/src/cpSimpleMotor.c view
@@ -110,14 +110,14 @@ cpFloat cpSimpleMotorGetRate(const cpConstraint *constraint) {- cpAssertHard(cpConstraintIsSimpleMotor(constraint), "Constraint is not a pin joint.");+ cpAssertHard(cpConstraintIsSimpleMotor(constraint), "Constraint is not a SimpleMotor."); return ((cpSimpleMotor *)constraint)->rate; } void cpSimpleMotorSetRate(cpConstraint *constraint, cpFloat rate) {- cpAssertHard(cpConstraintIsSimpleMotor(constraint), "Constraint is not a pin joint.");+ cpAssertHard(cpConstraintIsSimpleMotor(constraint), "Constraint is not a SimpleMotor."); cpConstraintActivateBodies(constraint); ((cpSimpleMotor *)constraint)->rate = rate; }
Chipmunk2D/src/cpSpace.c view
@@ -64,27 +64,27 @@ // Default collision functions. static cpBool-DefaultBegin(cpArbiter *arb, cpSpace *space, void *data){+DefaultBegin(cpArbiter *arb, cpSpace *space, cpDataPointer data){ cpBool retA = cpArbiterCallWildcardBeginA(arb, space); cpBool retB = cpArbiterCallWildcardBeginB(arb, space); return retA && retB; } static cpBool-DefaultPreSolve(cpArbiter *arb, cpSpace *space, void *data){+DefaultPreSolve(cpArbiter *arb, cpSpace *space, cpDataPointer data){ cpBool retA = cpArbiterCallWildcardPreSolveA(arb, space); cpBool retB = cpArbiterCallWildcardPreSolveB(arb, space); return retA && retB; } static void-DefaultPostSolve(cpArbiter *arb, cpSpace *space, void *data){+DefaultPostSolve(cpArbiter *arb, cpSpace *space, cpDataPointer data){ cpArbiterCallWildcardPostSolveA(arb, space); cpArbiterCallWildcardPostSolveB(arb, space); } static void-DefaultSeparate(cpArbiter *arb, cpSpace *space, void *data){+DefaultSeparate(cpArbiter *arb, cpSpace *space, cpDataPointer data){ cpArbiterCallWildcardSeparateA(arb, space); cpArbiterCallWildcardSeparateB(arb, space); }@@ -95,8 +95,8 @@ DefaultBegin, DefaultPreSolve, DefaultPostSolve, DefaultSeparate, NULL }; -static cpBool AlwaysCollide(cpArbiter *arb, cpSpace *space, void *data){return cpTrue;}-static void DoNothing(cpArbiter *arb, cpSpace *space, void *data){}+static cpBool AlwaysCollide(cpArbiter *arb, cpSpace *space, cpDataPointer data){return cpTrue;}+static void DoNothing(cpArbiter *arb, cpSpace *space, cpDataPointer data){} cpCollisionHandler cpCollisionHandlerDoNothing = { CP_WILDCARD_COLLISION_TYPE, CP_WILDCARD_COLLISION_TYPE,@@ -418,12 +418,13 @@ cpShape * cpSpaceAddShape(cpSpace *space, cpShape *shape) {- cpBody *body = shape->body;- cpAssertHard(shape->space != space, "You have already added this shape to this space. You must not add it a second time."); cpAssertHard(!shape->space, "You have already added this shape to another space. You cannot add it to a second.");-// cpAssertHard(body->space == space, "The shape's body must be added to the space before the shape.");+ cpAssertHard(shape->body, "The shape's body is not defined.");+ cpAssertHard(shape->body->space == space, "The shape's body must be added to the space before the shape."); cpAssertSpaceUnlocked(space);+ + cpBody *body = shape->body; cpBool isStatic = (cpBodyGetType(body) == CP_BODY_TYPE_STATIC); if(!isStatic) cpBodyActivate(body);
Chipmunk2D/src/cpSpaceHash.c view
@@ -168,7 +168,7 @@ hash->table = (cpSpaceHashBin **)cpcalloc(numcells, sizeof(cpSpaceHashBin *)); } -static inline cpSpatialIndexClass *Klass();+static inline cpSpatialIndexClass *Klass(void); cpSpatialIndex * cpSpaceHashInit(cpSpaceHash *hash, cpFloat celldim, int numcells, cpSpatialIndexBBFunc bbfunc, cpSpatialIndex *staticIndex)
Chipmunk2D/src/cpSweep1D.c view
@@ -21,7 +21,7 @@ #include "chipmunk_private.h" -static inline cpSpatialIndexClass *Klass();+static inline cpSpatialIndexClass *Klass(void); //MARK: Basic Structures
+ Chipmunk2D/src/prime.h view
@@ -0,0 +1,68 @@+/* Copyright (c) 2013 Scott Lembcke and Howling Moon Software+ * + * Permission is hereby granted, free of charge, to any person obtaining a copy+ * of this software and associated documentation files (the "Software"), to deal+ * in the Software without restriction, including without limitation the rights+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+ * copies of the Software, and to permit persons to whom the Software is+ * furnished to do so, subject to the following conditions:+ * + * The above copyright notice and this permission notice shall be included in+ * all copies or substantial portions of the Software.+ * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+ * SOFTWARE.+ */++// Used for resizing hash tables.+// Values approximately double.+// http://planetmath.org/encyclopedia/GoodHashTablePrimes.html+static int primes[] = {+ 5,+ 13,+ 23,+ 47,+ 97,+ 193,+ 389,+ 769,+ 1543,+ 3079,+ 6151,+ 12289,+ 24593,+ 49157,+ 98317,+ 196613,+ 393241,+ 786433,+ 1572869,+ 3145739,+ 6291469,+ 12582917,+ 25165843,+ 50331653,+ 100663319,+ 201326611,+ 402653189,+ 805306457,+ 1610612741,+ 0,+};++static inline int+next_prime(int n)+{+ int i = 0;+ while(n > primes[i]){+ i++;+ cpAssertHard(primes[i], "Tried to resize a hash table to a size greater than 1610612741 O_o"); // realistically this should never happen+ }+ + return primes[i];+}
apecs-physics.cabal view
@@ -1,50 +1,23 @@-name: apecs-physics-version: 0.4.4-synopsis: 2D physics for apecs-description: 2D physics for apecs. Uses Chipmunk physics library under the hood.-homepage: https://github.com/jonascarpay/apecs#readme-license: BSD3-license-file: LICENSE-author: Jonas Carpay-maintainer: jonascarpay@gmail.com-copyright: MIT-category: Web-build-type: Custom-cabal-version: >=1.10+name: apecs-physics+version: 0.4.5+synopsis: 2D physics for apecs+description:+ 2D physics for apecs. Uses Chipmunk physics library under the hood.++homepage: https://github.com/jonascarpay/apecs#readme+license: BSD3+license-file: LICENSE+author: Jonas Carpay+maintainer: jonascarpay@gmail.com+copyright: MIT+category: Web+build-type: Custom+cabal-version: >=1.10 extra-source-files:- README.md,- CHANGELOG.md,- Chipmunk2D/include/chipmunk/prime.h,- Chipmunk2D/include/chipmunk/chipmunk_private.h,- Chipmunk2D/include/chipmunk/chipmunk_types.h,- Chipmunk2D/include/chipmunk/cpSlideJoint.h,- Chipmunk2D/include/chipmunk/cpBB.h,- Chipmunk2D/include/chipmunk/cpPolyline.h,- Chipmunk2D/include/chipmunk/cpBody.h,- Chipmunk2D/include/chipmunk/chipmunk_unsafe.h,- Chipmunk2D/include/chipmunk/cpSimpleMotor.h,- Chipmunk2D/include/chipmunk/chipmunk.h,- Chipmunk2D/include/chipmunk/cpSpatialIndex.h,- Chipmunk2D/include/chipmunk/cpRobust.h,- Chipmunk2D/include/chipmunk/chipmunk_structs.h,- Chipmunk2D/include/chipmunk/cpMarch.h,- Chipmunk2D/include/chipmunk/cpTransform.h,- Chipmunk2D/include/chipmunk/cpShape.h,- Chipmunk2D/include/chipmunk/cpConstraint.h,- Chipmunk2D/include/chipmunk/cpGrooveJoint.h,- Chipmunk2D/include/chipmunk/cpHastySpace.h,- Chipmunk2D/include/chipmunk/cpGearJoint.h,- Chipmunk2D/include/chipmunk/chipmunk_ffi.h,- Chipmunk2D/include/chipmunk/cpRatchetJoint.h,- Chipmunk2D/include/chipmunk/cpRotaryLimitJoint.h,- Chipmunk2D/include/chipmunk/cpVect.h,- Chipmunk2D/include/chipmunk/cpArbiter.h,- Chipmunk2D/include/chipmunk/cpSpace.h,- Chipmunk2D/include/chipmunk/cpDampedRotarySpring.h,- Chipmunk2D/include/chipmunk/cpPinJoint.h,- Chipmunk2D/include/chipmunk/cpDampedSpring.h,- Chipmunk2D/include/chipmunk/cpPolyShape.h,- Chipmunk2D/include/chipmunk/cpPivotJoint.h+ CHANGELOG.md+ Chipmunk2D/include/chipmunk/*.h+ Chipmunk2D/src/prime.h+ README.md source-repository HEAD type: git@@ -52,56 +25,54 @@ custom-setup setup-depends:- base >= 4.9 && < 5,- Cabal >= 1.14+ base >=4.9 && <5+ , Cabal >=1.14 flag release- description: Release mode, better performance but no longer provides debug info on the command line.- Manual: True- default: False+ description:+ Release mode, better performance but no longer provides debug info on the command line. + manual: True+ default: False+ library- hs-source-dirs:- src- default-language:- Haskell2010- exposed-modules:- Apecs.Physics+ hs-source-dirs: src+ default-language: Haskell2010+ exposed-modules: Apecs.Physics other-modules:- Apecs.Physics.Body,- Apecs.Physics.Constraint,- Apecs.Physics.Collision,- Apecs.Physics.Geometry,- Apecs.Physics.Shape,- Apecs.Physics.Space,- Apecs.Physics.Types+ Apecs.Physics.Body+ Apecs.Physics.Collision+ Apecs.Physics.Constraint+ Apecs.Physics.Geometry Apecs.Physics.Query+ Apecs.Physics.Shape+ Apecs.Physics.Space+ Apecs.Physics.Types+ build-depends:- apecs >= 0.7 && < 0.10,- base >= 4.9 && < 5,- containers >= 0.5 && < 0.8,- inline-c >= 0.6 && < 1,- linear >= 1.20 && < 2,- template-haskell >= 2.12 && < 3,- vector >= 0.10 && < 0.13+ apecs >=0.7 && <0.10+ , base >=4.9 && <5+ , containers >=0.5 && <0.8+ , inline-c >=0.6 && <1+ , linear >=1.20 && <2+ , template-haskell >=2.12 && <3+ , vector >=0.10 && <0.13+ ghc-options:- -Wall- -O2- -Wno-orphans- -Wno-unused-do-bind- -Wno-name-shadowing- cc-options:- -std=c99+ -Wall -O2 -Wno-orphans -Wno-unused-do-bind -Wno-name-shadowing++ cc-options: -std=c99+ if flag(release) cc-options: -DNDEBUG- include-dirs:- Chipmunk2D/include/chipmunk++ include-dirs: Chipmunk2D/include/chipmunk c-sources: Chipmunk2D/src/chipmunk.c- Chipmunk2D/src/cpBody.c Chipmunk2D/src/cpArbiter.c Chipmunk2D/src/cpArray.c Chipmunk2D/src/cpBBTree.c+ Chipmunk2D/src/cpBody.c Chipmunk2D/src/cpCollision.c Chipmunk2D/src/cpConstraint.c Chipmunk2D/src/cpDampedRotarySpring.c@@ -113,8 +84,8 @@ Chipmunk2D/src/cpMarch.c Chipmunk2D/src/cpPinJoint.c Chipmunk2D/src/cpPivotJoint.c- Chipmunk2D/src/cpPolyShape.c Chipmunk2D/src/cpPolyline.c+ Chipmunk2D/src/cpPolyShape.c Chipmunk2D/src/cpRatchetJoint.c Chipmunk2D/src/cpRobust.c Chipmunk2D/src/cpRotaryLimitJoint.c