chipmunk 5.3.4.5 → 6.1.3.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ext/chipmunk/chipmunk.c +199 -28
- data/ext/chipmunk/chipmunk.h +123 -68
- data/ext/chipmunk/chipmunk_ffi.h +129 -11
- data/ext/chipmunk/chipmunk_private.h +232 -16
- data/ext/chipmunk/chipmunk_types.h +94 -30
- data/ext/chipmunk/chipmunk_unsafe.h +12 -3
- data/ext/chipmunk/constraints/cpConstraint.h +90 -34
- data/ext/chipmunk/{cpDampedRotarySpring.h → constraints/cpDampedRotarySpring.h} +18 -8
- data/ext/chipmunk/{cpDampedSpring.h → constraints/cpDampedSpring.h} +27 -16
- data/ext/chipmunk/constraints/cpGearJoint.h +17 -7
- data/ext/chipmunk/constraints/cpGrooveJoint.h +19 -10
- data/ext/chipmunk/constraints/cpPinJoint.h +17 -8
- data/ext/chipmunk/constraints/cpPivotJoint.h +18 -9
- data/ext/chipmunk/constraints/cpRatchetJoint.h +17 -8
- data/ext/chipmunk/constraints/cpRotaryLimitJoint.h +16 -7
- data/ext/chipmunk/{cpSimpleMotor.h → constraints/cpSimpleMotor.h} +15 -6
- data/ext/chipmunk/constraints/cpSlideJoint.h +18 -9
- data/ext/chipmunk/constraints/util.h +36 -44
- data/ext/chipmunk/cpArbiter.c +159 -94
- data/ext/chipmunk/cpArbiter.h +135 -129
- data/ext/chipmunk/cpArray.c +37 -56
- data/ext/chipmunk/cpBB.c +1 -12
- data/ext/chipmunk/cpBB.h +80 -18
- data/ext/chipmunk/cpBBTree.c +891 -0
- data/ext/chipmunk/cpBody.c +185 -47
- data/ext/chipmunk/cpBody.h +156 -124
- data/ext/chipmunk/cpCollision.c +126 -115
- data/ext/chipmunk/cpConstraint.c +10 -6
- data/ext/chipmunk/cpDampedRotarySpring.c +26 -17
- data/ext/chipmunk/cpDampedSpring.c +25 -18
- data/ext/chipmunk/cpGearJoint.c +23 -17
- data/ext/chipmunk/cpGrooveJoint.c +26 -22
- data/ext/chipmunk/cpHashSet.c +51 -51
- data/ext/chipmunk/cpPinJoint.c +26 -19
- data/ext/chipmunk/cpPivotJoint.c +23 -19
- data/ext/chipmunk/cpPolyShape.c +93 -69
- data/ext/chipmunk/cpPolyShape.h +33 -69
- data/ext/chipmunk/cpRatchetJoint.c +26 -21
- data/ext/chipmunk/cpRotaryLimitJoint.c +28 -22
- data/ext/chipmunk/cpShape.c +122 -133
- data/ext/chipmunk/cpShape.h +146 -95
- data/ext/chipmunk/cpSimpleMotor.c +24 -17
- data/ext/chipmunk/cpSlideJoint.c +28 -26
- data/ext/chipmunk/cpSpace.c +251 -196
- data/ext/chipmunk/cpSpace.h +173 -103
- data/ext/chipmunk/cpSpaceComponent.c +236 -159
- data/ext/chipmunk/cpSpaceHash.c +259 -159
- data/ext/chipmunk/cpSpaceQuery.c +127 -59
- data/ext/chipmunk/cpSpaceStep.c +235 -197
- data/ext/chipmunk/cpSpatialIndex.c +69 -0
- data/ext/chipmunk/cpSpatialIndex.h +227 -0
- data/ext/chipmunk/cpSweep1D.c +254 -0
- data/ext/chipmunk/cpVect.c +11 -26
- data/ext/chipmunk/cpVect.h +76 -71
- data/ext/chipmunk/extconf.rb +4 -31
- data/ext/chipmunk/prime.h +1 -1
- data/ext/chipmunk/rb_chipmunk.c +36 -45
- data/ext/chipmunk/rb_chipmunk.h +6 -3
- data/ext/chipmunk/rb_cpArbiter.c +2 -2
- data/ext/chipmunk/rb_cpBB.c +116 -35
- data/ext/chipmunk/rb_cpBody.c +5 -12
- data/ext/chipmunk/rb_cpConstraint.c +144 -9
- data/ext/chipmunk/rb_cpShape.c +69 -78
- data/ext/chipmunk/rb_cpSpace.c +81 -76
- metadata +61 -61
- data/LICENSE +0 -22
- data/README +0 -110
- data/Rakefile +0 -102
- data/ext/chipmunk/cpArray.h +0 -49
- data/ext/chipmunk/cpCollision.h +0 -28
- data/ext/chipmunk/cpHashSet.h +0 -82
- data/ext/chipmunk/cpSpaceHash.h +0 -110
- data/lib/chipmunk.rb +0 -194
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chipmunk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 6.1.3.0.rc1
|
5
|
+
prerelease: 8
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
-
- Scott Lembcke, Beoran, John Mair (banisterfiend)
|
8
|
+
- Scott Lembcke, Beoran, John Mair (banisterfiend), Shawn Anderson
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-04-30 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: ! 'Enhanced ruby bindings for the chipmunk 5.3.4 game physics engine. '
|
15
15
|
email: beoran@rubyforge.org
|
@@ -18,77 +18,74 @@ extensions:
|
|
18
18
|
- ext/chipmunk/extconf.rb
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
|
-
-
|
22
|
-
-
|
23
|
-
- LICENSE
|
24
|
-
- lib/chipmunk.rb
|
25
|
-
- ext/chipmunk/extconf.rb
|
26
|
-
- ext/chipmunk/cpSimpleMotor.h
|
27
|
-
- ext/chipmunk/cpHashSet.h
|
28
|
-
- ext/chipmunk/cpDampedRotarySpring.h
|
21
|
+
- ext/chipmunk/chipmunk.h
|
22
|
+
- ext/chipmunk/chipmunk_ffi.h
|
29
23
|
- ext/chipmunk/chipmunk_private.h
|
30
24
|
- ext/chipmunk/chipmunk_types.h
|
31
|
-
- ext/chipmunk/prime.h
|
32
25
|
- ext/chipmunk/chipmunk_unsafe.h
|
33
|
-
- ext/chipmunk/
|
34
|
-
- ext/chipmunk/
|
35
|
-
- ext/chipmunk/
|
36
|
-
- ext/chipmunk/
|
37
|
-
- ext/chipmunk/cpBody.h
|
38
|
-
- ext/chipmunk/cpVect.h
|
39
|
-
- ext/chipmunk/cpSpaceHash.h
|
40
|
-
- ext/chipmunk/constraints/cpRotaryLimitJoint.h
|
26
|
+
- ext/chipmunk/constraints/cpConstraint.h
|
27
|
+
- ext/chipmunk/constraints/cpDampedRotarySpring.h
|
28
|
+
- ext/chipmunk/constraints/cpDampedSpring.h
|
29
|
+
- ext/chipmunk/constraints/cpGearJoint.h
|
41
30
|
- ext/chipmunk/constraints/cpGrooveJoint.h
|
42
|
-
- ext/chipmunk/constraints/cpPivotJoint.h
|
43
31
|
- ext/chipmunk/constraints/cpPinJoint.h
|
44
|
-
- ext/chipmunk/constraints/
|
45
|
-
- ext/chipmunk/constraints/cpSlideJoint.h
|
46
|
-
- ext/chipmunk/constraints/cpConstraint.h
|
32
|
+
- ext/chipmunk/constraints/cpPivotJoint.h
|
47
33
|
- ext/chipmunk/constraints/cpRatchetJoint.h
|
48
|
-
- ext/chipmunk/constraints/
|
49
|
-
- ext/chipmunk/
|
50
|
-
- ext/chipmunk/
|
34
|
+
- ext/chipmunk/constraints/cpRotaryLimitJoint.h
|
35
|
+
- ext/chipmunk/constraints/cpSimpleMotor.h
|
36
|
+
- ext/chipmunk/constraints/cpSlideJoint.h
|
37
|
+
- ext/chipmunk/constraints/util.h
|
38
|
+
- ext/chipmunk/cpArbiter.h
|
51
39
|
- ext/chipmunk/cpBB.h
|
52
|
-
- ext/chipmunk/
|
53
|
-
- ext/chipmunk/cpArray.h
|
54
|
-
- ext/chipmunk/chipmunk.h
|
40
|
+
- ext/chipmunk/cpBody.h
|
55
41
|
- ext/chipmunk/cpPolyShape.h
|
56
|
-
- ext/chipmunk/
|
57
|
-
- ext/chipmunk/
|
58
|
-
- ext/chipmunk/
|
59
|
-
- ext/chipmunk/
|
60
|
-
- ext/chipmunk/
|
61
|
-
- ext/chipmunk/
|
62
|
-
- ext/chipmunk/
|
63
|
-
- ext/chipmunk/cpVect.c
|
64
|
-
- ext/chipmunk/cpPivotJoint.c
|
65
|
-
- ext/chipmunk/rb_cpShape.c
|
66
|
-
- ext/chipmunk/cpRatchetJoint.c
|
42
|
+
- ext/chipmunk/cpShape.h
|
43
|
+
- ext/chipmunk/cpSpace.h
|
44
|
+
- ext/chipmunk/cpSpatialIndex.h
|
45
|
+
- ext/chipmunk/cpVect.h
|
46
|
+
- ext/chipmunk/prime.h
|
47
|
+
- ext/chipmunk/rb_chipmunk.h
|
48
|
+
- ext/chipmunk/chipmunk.c
|
67
49
|
- ext/chipmunk/cpArbiter.c
|
68
|
-
- ext/chipmunk/cpSlideJoint.c
|
69
|
-
- ext/chipmunk/rb_cpConstraint.c
|
70
|
-
- ext/chipmunk/rb_cpVect.c
|
71
|
-
- ext/chipmunk/rb_cpArbiter.c
|
72
50
|
- ext/chipmunk/cpArray.c
|
73
|
-
- ext/chipmunk/
|
74
|
-
- ext/chipmunk/
|
75
|
-
- ext/chipmunk/rb_cpSpace.c
|
76
|
-
- ext/chipmunk/cpSpace.c
|
77
|
-
- ext/chipmunk/cpDampedRotarySpring.c
|
78
|
-
- ext/chipmunk/cpHashSet.c
|
79
|
-
- ext/chipmunk/cpCollision.c
|
51
|
+
- ext/chipmunk/cpBB.c
|
52
|
+
- ext/chipmunk/cpBBTree.c
|
80
53
|
- ext/chipmunk/cpBody.c
|
54
|
+
- ext/chipmunk/cpCollision.c
|
81
55
|
- ext/chipmunk/cpConstraint.c
|
56
|
+
- ext/chipmunk/cpDampedRotarySpring.c
|
82
57
|
- ext/chipmunk/cpDampedSpring.c
|
83
|
-
- ext/chipmunk/
|
58
|
+
- ext/chipmunk/cpGearJoint.c
|
84
59
|
- ext/chipmunk/cpGrooveJoint.c
|
60
|
+
- ext/chipmunk/cpHashSet.c
|
61
|
+
- ext/chipmunk/cpPinJoint.c
|
62
|
+
- ext/chipmunk/cpPivotJoint.c
|
63
|
+
- ext/chipmunk/cpPolyShape.c
|
64
|
+
- ext/chipmunk/cpRatchetJoint.c
|
65
|
+
- ext/chipmunk/cpRotaryLimitJoint.c
|
66
|
+
- ext/chipmunk/cpShape.c
|
67
|
+
- ext/chipmunk/cpSimpleMotor.c
|
68
|
+
- ext/chipmunk/cpSlideJoint.c
|
69
|
+
- ext/chipmunk/cpSpace.c
|
85
70
|
- ext/chipmunk/cpSpaceComponent.c
|
86
|
-
- ext/chipmunk/
|
71
|
+
- ext/chipmunk/cpSpaceHash.c
|
87
72
|
- ext/chipmunk/cpSpaceQuery.c
|
88
|
-
- ext/chipmunk/
|
89
|
-
- ext/chipmunk/
|
73
|
+
- ext/chipmunk/cpSpaceStep.c
|
74
|
+
- ext/chipmunk/cpSpatialIndex.c
|
75
|
+
- ext/chipmunk/cpSweep1D.c
|
76
|
+
- ext/chipmunk/cpVect.c
|
77
|
+
- ext/chipmunk/rb_chipmunk.c
|
78
|
+
- ext/chipmunk/rb_cpArbiter.c
|
79
|
+
- ext/chipmunk/rb_cpBB.c
|
80
|
+
- ext/chipmunk/rb_cpBody.c
|
81
|
+
- ext/chipmunk/rb_cpConstraint.c
|
82
|
+
- ext/chipmunk/rb_cpShape.c
|
83
|
+
- ext/chipmunk/rb_cpSpace.c
|
84
|
+
- ext/chipmunk/rb_cpVect.c
|
85
|
+
- ext/chipmunk/extconf.rb
|
90
86
|
homepage: https://github.com/beoran/chipmunk
|
91
|
-
licenses:
|
87
|
+
licenses:
|
88
|
+
- MIT
|
92
89
|
post_install_message:
|
93
90
|
rdoc_options: []
|
94
91
|
require_paths:
|
@@ -99,15 +96,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
99
96
|
- - ! '>='
|
100
97
|
- !ruby/object:Gem::Version
|
101
98
|
version: '0'
|
99
|
+
segments:
|
100
|
+
- 0
|
101
|
+
hash: -4521143806321433034
|
102
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
103
|
none: false
|
104
104
|
requirements:
|
105
|
-
- - ! '
|
105
|
+
- - ! '>'
|
106
106
|
- !ruby/object:Gem::Version
|
107
|
-
version:
|
107
|
+
version: 1.3.1
|
108
108
|
requirements: []
|
109
109
|
rubyforge_project:
|
110
|
-
rubygems_version: 1.8.
|
110
|
+
rubygems_version: 1.8.25
|
111
111
|
signing_key:
|
112
112
|
specification_version: 3
|
113
113
|
summary: Enhanced ruby bindings for the chipmunk 5.3.4 game physics engine.
|
data/LICENSE
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
/* Copyright (c) 2007 Scott Lembcke
|
2
|
-
* Copyright (c) 2010-2011 John Mair
|
3
|
-
* Copyright (c) 2010-2011 Beoran (beoran@rubyforge.org)
|
4
|
-
*
|
5
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
* of this software and associated documentation files (the "Software"), to deal
|
7
|
-
* in the Software without restriction, including without limitation the rights
|
8
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
* copies of the Software, and to permit persons to whom the Software is
|
10
|
-
* furnished to do so, subject to the following conditions:
|
11
|
-
*
|
12
|
-
* The above copyright notice and this permission notice shall be included in
|
13
|
-
* all copies or substantial portions of the Software.
|
14
|
-
*
|
15
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
-
* SOFTWARE.
|
22
|
-
*/
|
data/README
DELETED
@@ -1,110 +0,0 @@
|
|
1
|
-
Ruby Bindings to Chipmunk Physics Version 5.3.4
|
2
|
-
|
3
|
-
(C) Scott Lembcke, Beoran and John Mair (banisterfiend)
|
4
|
-
|
5
|
-
IMPORTANT NOTICE:
|
6
|
-
This is version 5.3.4.3 of the bindings for MRI Ruby 1.8.x and 1.9.x to
|
7
|
-
Chipmunk version 5.3.4.
|
8
|
-
|
9
|
-
(1) 1/10/09 Cross-Platform Gem built by John Mair (banisterfiend)
|
10
|
-
* Just go: gem install chipmunk
|
11
|
-
|
12
|
-
FORUM:
|
13
|
-
http://www.slembcke.net/forums
|
14
|
-
|
15
|
-
CONTACT:
|
16
|
-
slembcke@gmail.com (also on Google Talk) for Chipmunk.
|
17
|
-
beoran@rubyforge.org for these bindings to Ruby.
|
18
|
-
|
19
|
-
ABOUT CHIPMUNK:
|
20
|
-
Chipmunk is a simple, lightweight and fast 2D rigid body physics library
|
21
|
-
written in C by Slembcke. It's licensed under the unrestrictive, OSI approved
|
22
|
-
MIT license.
|
23
|
-
|
24
|
-
ABOUT THESE RUBY BINDINGS:
|
25
|
-
Although chipmunk comes with ruby bindings, they are not always up to date
|
26
|
-
with regards to the functionality of the C library, and historically, they
|
27
|
-
have been incompatible with recent versions of Ruby.
|
28
|
-
|
29
|
-
Therefore, these bindings are intended to as an enhanced version with more
|
30
|
-
features and better compatibility with recent versions of Ruby. They are also
|
31
|
-
intended to be an alternative to the chipmunk-ffi bindings when performance
|
32
|
-
is of the utmost importance, as it may be for games.
|
33
|
-
|
34
|
-
The intent is for these bindings to be mostly source code compatible with the
|
35
|
-
FFI bindings. Main exceptions are when it did not support the functionality I
|
36
|
-
added yet. All this is documented by specs and by the html documentation.
|
37
|
-
|
38
|
-
If you have any problems with these bindings, please contact the maintainer at
|
39
|
-
beoran@rubyforge.org, or report the issue on the issue tracker:
|
40
|
-
https://github.com/beoran/chipmunk/issues
|
41
|
-
|
42
|
-
INSTALLATION
|
43
|
-
Clone this repository, go into the ext directory and do:
|
44
|
-
|
45
|
-
ruby extconf.rb ; make ; make install
|
46
|
-
|
47
|
-
There is also a gem available for Linux and OS/X, and a binary gem for Windows,
|
48
|
-
which you can try to install with:
|
49
|
-
|
50
|
-
gem install chipmunk
|
51
|
-
|
52
|
-
However, due to incompatilties in the latest versions of
|
53
|
-
Rake, Rake-Compiler and rubygems, the gem method of installation may fail for
|
54
|
-
you. This will be solved when these incompatibilities are solved by these
|
55
|
-
upstream tools.
|
56
|
-
|
57
|
-
These bindings vendor Chipmunk 5.3.4 with a few extra patches, so you don't
|
58
|
-
need to have it installed.
|
59
|
-
|
60
|
-
DOCUMENTATION:
|
61
|
-
Full handcrafted documentation based on the C documentation is available at:
|
62
|
-
http://beoran.github.com/chipmunk/
|
63
|
-
|
64
|
-
CHANGES:
|
65
|
-
* Since 5.3.4.4: Vendored chipmunk again, uncleanly. should compile well now.
|
66
|
-
* Version 5.3.4.2 and 5.3.4.3 are broken, don't use them.
|
67
|
-
* Since 5.3.4.1: Vendored chipmunk again, cleanly. Several bugfixes.
|
68
|
-
* Since 5.1.0 : Much more of Chipmunk's functionality is wrapped. Unvendored
|
69
|
-
chipmunk. More specs and documentation.
|
70
|
-
|
71
|
-
VERSIONING POLICY:
|
72
|
-
Since 5.3.4.0 these bindings follow the version of chipmunk, followed by an
|
73
|
-
extra number for the version of the bindings. All major releases will be
|
74
|
-
backwards compatible in their API. The API may be enhanced in minor releases.
|
75
|
-
The next planned release that is expected to partialy break backwards
|
76
|
-
compatibility with the 5.3.4 API will be 6.x.x.0, which will be based on
|
77
|
-
the upstream C Chipmunk library version 6.x.x after that leaves beta.
|
78
|
-
|
79
|
-
KNOWN BUGS:
|
80
|
-
* There are no bindings to SpaceHash since I think they are not so useful
|
81
|
-
anymore since Chipmunk supports BB queries.
|
82
|
-
* Some methods may crash with a segentation violation in case they are not
|
83
|
-
used correctly, according to the underlying requirements of the C library.
|
84
|
-
|
85
|
-
CONTRACTING:
|
86
|
-
Howling Moon Software (Slembke's company) is available for contracting if you
|
87
|
-
want to make the physics in your game really stand out. Feel free to contact
|
88
|
-
them through their webpage: http://howlingmoonsoftware.com/contracting.php
|
89
|
-
|
90
|
-
TODO:
|
91
|
-
* Allow several constructors to be more flexible and take nil as a default
|
92
|
-
argument.
|
93
|
-
* Try to prevent segfauts on incorrect use of certain methods, if possible.
|
94
|
-
* Get ready for chipmunk 5.3.5 and 6.x when they come out.
|
95
|
-
* Some more specs.
|
96
|
-
* Fix the gem when the upstream tools get fixed.
|
97
|
-
|
98
|
-
INFO FOR MAINTAINERS:
|
99
|
-
|
100
|
-
(1) 1/10/09 Cross-Platform Gem built by John Mair (banisterfiend)
|
101
|
-
* Just go: gem install chipmunk
|
102
|
-
|
103
|
-
(2) Patched for 1.9.1 by Beoran (beoran@rubyforge.org)
|
104
|
-
|
105
|
-
(3) How to build the gems? (maintainers only)
|
106
|
-
* Install rake-compiler (http://github.com/luislavena/rake-compiler)
|
107
|
-
* Install 1.9.1 and 1.8.6 mingw ruby versions (instructions above)
|
108
|
-
* Type: rake cross native gem RUBY_CC_VERSION=1.8.6:1.9.1
|
109
|
-
* Upload new gems to rubyforge and gemcutter.
|
110
|
-
|
data/Rakefile
DELETED
@@ -1,102 +0,0 @@
|
|
1
|
-
# Rakefile added by John Mair (banisterfiend)
|
2
|
-
|
3
|
-
# require 'psych'
|
4
|
-
require 'rake'
|
5
|
-
require 'rake/clean'
|
6
|
-
require 'rubygems'
|
7
|
-
require 'rubygems/package_task'
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
begin
|
12
|
-
require 'rake/extensiontask'
|
13
|
-
rescue LoadError
|
14
|
-
puts "rake-compiler not found! Please install the rake-compiler gem!"
|
15
|
-
# `/bin/bash -l -c "gem1.9 install rake-compiler"`
|
16
|
-
# require 'rake/extensiontask'
|
17
|
-
# puts "...done!"
|
18
|
-
end
|
19
|
-
|
20
|
-
CHIPMUNK_VERSION = "5.3.4.5"
|
21
|
-
VENDORED_CHIPMUNK = 'chipmunk-5.3.4'
|
22
|
-
VENDORED_SRC_DIR = File.join('vendor', VENDORED_CHIPMUNK, 'src')
|
23
|
-
VENDORED_SRC_DIR2 = File.join('vendor', VENDORED_CHIPMUNK, 'src', 'constraints')
|
24
|
-
VENDORED_INCLUDE_DIR = File.join('vendor', VENDORED_CHIPMUNK, 'include', 'chipmunk')
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
dlext = Config::CONFIG['DLEXT']
|
29
|
-
|
30
|
-
CLEAN.include("ext/**/*.#{dlext}", "ext/**/.log", "ext/**/.o", "ext/**/*~", "ext/**/*#*", "ext/**/.obj", "ext/**/.def", "ext/**/.pdb")
|
31
|
-
CLOBBER.include("**/*.#{dlext}", "**/*~", "**/*#*", "**/*.log", "**/*.o", "doc/**")
|
32
|
-
|
33
|
-
|
34
|
-
def apply_spec_defaults(s)
|
35
|
-
s.name = "chipmunk"
|
36
|
-
s.summary = "Enhanced ruby bindings for the chipmunk 5.3.4 game physics engine."
|
37
|
-
s.description = s.summary + " "
|
38
|
-
s.version = CHIPMUNK_VERSION
|
39
|
-
s.author = "Scott Lembcke, Beoran, John Mair (banisterfiend)"
|
40
|
-
s.email = 'beoran@rubyforge.org'
|
41
|
-
s.date = Time.now.strftime '%Y-%m-%d'
|
42
|
-
s.require_path = 'lib'
|
43
|
-
s.homepage = "https://github.com/beoran/chipmunk"
|
44
|
-
end
|
45
|
-
|
46
|
-
FILES = ["Rakefile", "README", "LICENSE", "lib/chipmunk.rb"] +
|
47
|
-
FileList["spec/*.rb", "ext/**/extconf.rb", "ext/**/*.h", "ext/**/*.c"].to_a
|
48
|
-
|
49
|
-
# common tasks
|
50
|
-
task :compile => :clean
|
51
|
-
|
52
|
-
# platform dependent tasks
|
53
|
-
if RUBY_PLATFORM =~ /darwin/
|
54
|
-
|
55
|
-
spec = Gem::Specification.new do |s|
|
56
|
-
apply_spec_defaults(s)
|
57
|
-
s.platform = Gem::Platform::CURRENT
|
58
|
-
s.files = ["Rakefile", "README", "LICENSE", "lib/chipmunk.rb", "lib/1.8/chipmunk.#{dlext}", "lib/1.9/chipmunk.#{dlext}"] +
|
59
|
-
FileList["ext/**/extconf.rb", "ext/**/*.h", "ext/**/*.c"].to_a
|
60
|
-
end
|
61
|
-
|
62
|
-
Rake::ExtensionTask.new('chipmunk') do |ext|
|
63
|
-
ext.ext_dir = "ext"
|
64
|
-
ext.lib_dir = "lib/#{RUBY_VERSION[0..2]}"
|
65
|
-
ext.config_script = 'extconf.rb'
|
66
|
-
ext.config_options << '--enable-macosx'
|
67
|
-
end
|
68
|
-
|
69
|
-
task :compile_multi => :clean do
|
70
|
-
`/bin/bash -l -c "rvm 1.8.6,1.9.2 rake compile"`
|
71
|
-
end
|
72
|
-
|
73
|
-
task :gem => :compile_multi
|
74
|
-
Gem::PackageTask.new(spec) do |pkg|
|
75
|
-
pkg.need_zip = false
|
76
|
-
pkg.need_tar = false
|
77
|
-
end
|
78
|
-
|
79
|
-
else
|
80
|
-
|
81
|
-
spec = Gem::Specification.new do |s|
|
82
|
-
apply_spec_defaults(s)
|
83
|
-
s.platform = Gem::Platform::RUBY
|
84
|
-
s.extensions = FileList["ext/**/extconf.rb"]
|
85
|
-
s.files = ["Rakefile", "README", "LICENSE", "lib/chipmunk.rb"] +
|
86
|
-
FileList["ext/**/extconf.rb", "ext/**/*.h", "ext/**/*.c"].to_a
|
87
|
-
end
|
88
|
-
|
89
|
-
# add your default gem packing task
|
90
|
-
Gem::PackageTask.new(spec) do |pkg|
|
91
|
-
pkg.need_zip = false
|
92
|
-
pkg.need_tar = false
|
93
|
-
end
|
94
|
-
|
95
|
-
Rake::ExtensionTask.new('chipmunk', spec) do |ext|
|
96
|
-
ext.config_script = 'extconf.rb'
|
97
|
-
ext.cross_compile = true
|
98
|
-
ext.cross_platform = 'i586-mingw32'
|
99
|
-
# ext.cross_platform = 'i386-mswin32'
|
100
|
-
end
|
101
|
-
|
102
|
-
end
|
data/ext/chipmunk/cpArray.h
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
/* Copyright (c) 2007 Scott Lembcke
|
2
|
-
*
|
3
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
-
* of this software and associated documentation files (the "Software"), to deal
|
5
|
-
* in the Software without restriction, including without limitation the rights
|
6
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
-
* copies of the Software, and to permit persons to whom the Software is
|
8
|
-
* furnished to do so, subject to the following conditions:
|
9
|
-
*
|
10
|
-
* The above copyright notice and this permission notice shall be included in
|
11
|
-
* all copies or substantial portions of the Software.
|
12
|
-
*
|
13
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
19
|
-
* SOFTWARE.
|
20
|
-
*/
|
21
|
-
|
22
|
-
// NOTE: cpArray is rarely used and will probably go away.
|
23
|
-
|
24
|
-
typedef struct cpArray{
|
25
|
-
CP_PRIVATE(int num);
|
26
|
-
CP_PRIVATE(int max);
|
27
|
-
CP_PRIVATE(void **arr);
|
28
|
-
} cpArray;
|
29
|
-
|
30
|
-
typedef void (*cpArrayIter)(void *ptr, void *data);
|
31
|
-
|
32
|
-
cpArray *cpArrayAlloc(void);
|
33
|
-
cpArray *cpArrayInit(cpArray *arr, int size);
|
34
|
-
cpArray *cpArrayNew(int size);
|
35
|
-
|
36
|
-
void cpArrayDestroy(cpArray *arr);
|
37
|
-
void cpArrayFree(cpArray *arr);
|
38
|
-
|
39
|
-
void cpArrayClear(cpArray *arr);
|
40
|
-
|
41
|
-
void cpArrayPush(cpArray *arr, void *object);
|
42
|
-
void *cpArrayPop(cpArray *arr);
|
43
|
-
void cpArrayDeleteIndex(cpArray *arr, int idx);
|
44
|
-
void cpArrayDeleteObj(cpArray *arr, void *obj);
|
45
|
-
|
46
|
-
void cpArrayAppend(cpArray *arr, cpArray *other);
|
47
|
-
|
48
|
-
void cpArrayEach(cpArray *arr, cpArrayIter iterFunc, void *data);
|
49
|
-
cpBool cpArrayContains(cpArray *arr, void *ptr);
|