 ! Copyright (C) 2010 Erik Charlebois
 ! See http:// factorcode.org/license.txt for BSD license.
-USING: accessors chipmunk classes.struct game.loop game.worlds gpu
-gpu.util.wasd kernel literals locals math method-chains opengl.gl
-random sequences specialized-arrays
-specialized-arrays.instances.alien.c-types.void* ui.gadgets.worlds
+USING: accessors chipmunk classes.struct game.worlds kernel locals
+math method-chains opengl.gl random sequences specialized-arrays
+specialized-arrays.instances.alien.c-types.void* ui ui.gadgets.worlds
 ui.pixel-formats ;
 IN: chipmunk.demo
 

    [ cpSpaceFreeChildren ]
    [ cpSpaceFree ] bi ;

M: chipmunk-world wasd-movement-speed drop 1/160. ;
M: chipmunk-world wasd-near-plane drop 1/32. ;
M: chipmunk-world wasd-far-plane drop 256.0 ;

GAME: chipmunk-demo {
        { world-class chipmunk-world }
        { title "Chipmunk Physics Demo" }
        { pixel-format-attributes {
            windowed
            double-buffered
            T{ depth-bits { value 24 } }
        } }
        { grab-input? t }
        { use-game-input? t }
        { pref-dim { 640 480 } }
        { tick-interval-micros $[ 60 fps ] }
    } ;


M:: chipmunk-world begin-game-world ( world -- )
    cpInitChipmunk

    cpSpaceAlloc cpSpaceInit cpSpace memory>struct :> space

