annotate trunk/tests/ChipmunkDemos/samples/ChipmunkDemo.d @ 16:af2f61a96318

ported chipmunk demos
author Extrawurst
date Sat, 04 Dec 2010 02:02:29 +0100
parents
children ee7fa417266b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
1
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
2 // written in the D programming language
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
3
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
4 module samples.ChipmunkDemo;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
5
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
6 import chipmunkd.chipmunk;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
7
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
8 import drawSpace;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
9
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
10 import core.stdc.stdlib;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
11
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
12 alias cpSpace *function() demoInitFunc;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
13 alias void function(int ticks) demoUpdateFunc;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
14 alias void function()demoDestroyFunc;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
15
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
16 struct chipmunkDemo {
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
17 string name;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
18
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
19 const drawSpaceOptions *drawOptions;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
20
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
21 demoInitFunc initFunc;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
22 demoUpdateFunc updateFunc;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
23 demoDestroyFunc destroyFunc;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
24 }
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
25
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
26 static cpFloat
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
27 frand()
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
28 {
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
29 return cast(cpFloat)rand()/cast(cpFloat)RAND_MAX;
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
30 }
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
31
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
32 enum GRABABLE_MASK_BIT = (1<<31);
af2f61a96318 ported chipmunk demos
Extrawurst
parents:
diff changeset
33 enum NOT_GRABABLE_MASK = (~GRABABLE_MASK_BIT);